О чем я хочу поговорить с мурычем
Основной тезис: "Мурыч - это виндертон 2.0".
Что делал виндертон:
1. Сначала снимал хорошие технические ролики по спеке Си (уровня сеньера)
2. Далее канал получил развитие и Виндертон начал приписывать себе опыт и "хуесосить" других инженеров
3. Завел Patreon
4. Начал продавать пданы
Что делает мурыч:
1. Сначала снимал ролики по JS
2. Начал приписывать себе знания архитектуры, ФП, ООП и другой теории, оскорбляет других инженеров
3. Завел патреон
4. Планы?
Рассмотрения требует п. 2 - приписывание опыта
1. Предпосылки
Знания - не бинарная оценка, а градиент, поэтому нужно оценивать не их наличие или отсутствие, а насколько
они глубоки.
Мурыч, раздает бинарные оценки "может/не может", "знает/не знает", "должен/не должен", однако на свои
ошибки закрывает глаза, почему же учит людей, если сам ошибается?
2. Компетенция (теория, которую мурыч не знает или не рассказывает)
Утверждения мурыча, которые противоречат теории ниже:
1. В редьюсерах функция математически доказуема, в for нет
2. Типы не нужны (тайпскрип - говно)
3. BigO - фигня (он готов котенка убивать, за каждое упоминание BigO)
4. Утверждение, что ФП базируется исключительно на лямбда
5. Утверждение, что лямбда изначально создавалась для создания алгоритмов (вообще, рассмотрение лямбды как языка программирования)
2.1 лямбда исчичление
2.1.1 проблема вычислимости
2.1.2 проблема разрешения
2.1.3 лямбда-исчисление как основа вычислений (книга "Теория вычислений для программистов")
2.1.4 Лямбда и машина тьюринга
2.2. Как лямбда-используется в ФП
Основное утверждение Соера: "правильно типизированный лямбда терм завершается".
ФП - лямда + Категория типов + теория категорий
Пример, категория Хаск (которая не совсем категория)
- Типы как решение проблем корректности программ (Пирс "Типы в языках программирования")
- Соответствие Карри-Говарда (конструктивная логика)
- Алгоритм Хиндли-Милнера
- Полиморфизм в значении типов
- Операционная и денатационная семантика
- Невозможность проверить семантику
- Структура != не семантика (поговорить в чем разница)
- Корректность - продвижение и сохранение
- классы эквивалентности (как не указав класс эквивалентности сравнивать const [ a, b] = value и const {0: a, 1: b} = value, ломается на генераторах)
2.3 Алгоритмы (книга Кормена "Алгоритмы")
- проеб мурыча с мемоизацией (Динамическое программирование)
- проеб мурыча с Мерой Хэмминга
- проеб с "оптимизацией" на leetcode
- Теорема Райса и невозможность создать универасльный алгоритм оптимизации
- доказательство алгоритмов с for (индукция, инвариант)
2.4. Анализ сайта Соера (что не увидел мурыч):
- Защиту через неясность (Security through obscurity)
- Access + Refresh токены
- Fingerprint
- Рэйт лимиты
- Заголовки безопасности (как способ косвенного анализа используемых инструментов)
- Разницу Web1.0 и Web2.0
- современные архитектуры сервисной/микросервисной организации
3. Практика (что есть у Соера, а что у мурыча, что он делает вывод о некомпетенции Соера в создании сайтов?)
Достижения Соера:
3.1 Красивый код, но что за ужас на стримах показывает мурыч? Это фп, структурный подход или что?
3.2 Метархия:
- интегрировал PassportJS для Oauth
- сделал свою реализацию Metacom
- создал небольшой проект на Метархии (obsoverlay)
- сделал Issue с ошибкой обработки параметров
3.3. Сделал учебный проект (бесплатный) через который прошли более 160 человек за Год
3.4. Архитектурные стримы, воркшопы
3.5. Видео на канале (см. ниже)
3.6. XDonate
3.7. ObsOverlay
Достижения Мурыча:
3.1 Сайт не доделан
3.2. На сайте какие-то залипушные Cache и ленивая загрузка картинок
3.3. Пустой гитхаб
3.4. Делал что-то для метархии, но что?
3.5. Что вообще заставляет мурыча считать, что он хорош в практике?
4. Иженерные увлечения (что заставляет говорить мурыча, что Соер не шарит?)
Соер: