Лаборатория Математики и Программирования Сергея Бобровского – Telegram
Лаборатория Математики и Программирования Сергея Бобровского
1.29K subscribers
1.18K photos
24 videos
929 links
ЛаМПовое с Бобровским
Download Telegram
Продолжаю работу с курсантами 🤓

...Как оказалось, ряд настроек, которые я задавал в прошлый раз не отработали, так как использую самые свежие версии Patroni и PostgreSQL по сравнению с предыдущими заданиями курса.
...В последних версиях PostgreSQL пароли по умолчанию создаются не в md5, а в scram-sha-256.

...У меня так и не получилось это сделать, постоянно ловил ошибку, что два провайдера для логирования. Перепробовал все нагугленные варианты, ошибка не уходила.
Ирония в том, что на работе я уже прикручивал логирование к сервисам…
Сейчас захотел всё откатить с нуля и попробовать заново, но у меня слетели зависимости и не поднимается приложение совсем теперь. Сейчас пытаюсь хотя бы просто восстановить работоспособность приложения.

....Во времена когда мы жили на Pydantic первой верссии, мне пришлось парсер писать чтобы валидировать типы сабсета, потом мы переехали на вторую версию и мой код выкинули :)
Наверное, с точки зрения теории категорий параметризацию типом можно рассматривать как композицию функций, и если я прав - то пример хороший.

...Данная задача простая, но по своей невнимательности я понял её не так, решение мне понятно. Надо быть внимательнее.

...При работе над задачей по отслеживанию изменений в полях моделей пришлось отрефакторить весь проект.

...Итого - в очередной раз убеждаюсь, что грамотная система типов решает кучу проблем.

...Раньше я думал, что логи нужны только для отладки. Теперь я вижу, что структурированные логи — это настоящая машина времени для системы.
Теперь я понимаю, почему Git, Kafka, базы данных строятся вокруг идей free object. Возможность отката системы в прошлое не просто удобна, а делает код более гибким.

...В этот вторник у меня по плану во всем доме собирались отключать свет с 9 до 17, но в итоге отключили всего на час. На работу я выходить не стал.)
Посидел и подумал о том что у меня вообще происходит. Расставил приоритеты. Понял что курсы важнее и у меня впереди весь день и я уже достаточно затянул с этим. В полной тишине за весь день сделал 4 задания. Было прям очень круто.

...у моей текущей компании фин. сложности (да и глупый менеджмент) и мне нужно как можно быстрее искать новую работу.

Темой карьеры конечно надо заниматься регулярно, а не когда уже горит. Поэтому в Школе есть конкретные цели по карьере, в частности:
- идеально оформленное резюме постоянно в общем доступе в статусе "рассматриваю варианты"
- 2 хороших знакомых, с которыми вы регулярно общаетесь, и которые могут сразу взять вас к себе
- каждый календарный месяц: одно успешное собеседование с оффером.
и т.д.
🔥47👍17❤‍🔥21😁1
Прекрасное, дико уважаю:

"Фундаментальная математика — теория всего в IT и не только. Теория типов и формализация в Coq"

Такой уровень и есть наша примерная цель. Делаю постепенно курс по HoTT для программистов, и курс "Ясные системы" (как быстро и легко писать простой и понятный код систем ultra-larfe-scale), этой весной постараюсь сосредоточиться только на этом.

Например, если вы изучили и поняли концепцию зависимых типов (а еще лучше, видите что это морфизмы в моноидальной категории:), то едва завидя код

fun f(x: X) {...}
fun f(y: Y) {...}
fun f(z: Z) {...}

вы тут же бросаетесь его переписывать с помощью контекстных ресиверов:

context(Specifics<T>) fun <T>f(a: T){...}

Но даже если и без завтипов, видна аналогия с тайп-классами, linear types, имплицитными параметрами, effect systems из ФП.

В котлине конечно классно это сделано; трейты в Rust?
Так то даже в F# придётся помучиться:

let f<'T when 'T :> ContextHandler<'T>> (a: 'T) =
.... let context = Activator.CreateInstance<'T>()
.... (context :> ContextHandler<'T>).Handle(a)

А вот питон как всегда красавчик )))

@ contextmanager
def context():
print("Начало контекста")
yield
print("Конец контекста")

with context(): print("Работа внутри контекста")
37🫡138🔥6🏆1
Очередное чудо в перьях : Mercury Coder
The first commercial-scale diffusion large language model

Повёлся на хайп, впустую потратил на него полчаса времени.
Попросил совсем элементарную вещь: визуализировать html/js двоичное дерево поиска. Он сперва выдал пустой экран, где сбоку наполовину выглядывал кружок-узел, а когда я попросил добавить в дерево 23 случайных узла, скрипт поломался, и после пяти безуспешных попыток его пофиксить ретроградный Меркурий-кодер был отправлен туда, где ему и положено быть, со всеми остальными жпт.

Из плюсов, бесплатный, русский понимает, и код пишет невероятно быстро )))
Только что толку.
😁4110👍42🫡1
This media is not supported in your browser
VIEW IN TELEGRAM
Прекрасный пол с Весной! ❤️❤️❤️

Девушки -- лучшие ученицы, жаль что их у меня всего где-то 10%.
Программирование очень хорошо подходит как раз женщинам: внимательность, тщательность, выдержка. Просто выполняют задания, и получают результат. Кто-то быстро доучивается до уровня "на работу", кто-то растёт по карьере и так далее.

В честь Дня женской эмансипации для моих дам скидка 30% на текущий/следующий курс. Только сами напомните пожалуйста.

(На текущий -- потому что на основных занятиях у меня оплата только после завершения любого курса, чтобы не париться с возвратом денег. Я очень люблю выгонять нерадивых и плохо занимающихся; если никого не забаню за несколько дней, прям плохо себя чувствую :)

Это пацаны регулярно ноют, жалуются, сомневаются. А из девушек за последние годы бросила заниматься только одна: пропала почему-то на следующий день после свадьбы ))) Впрочем, это тоже неплохой результат.

Но в целом кстати именно женщинам порекомендую расти в айти не столько в техническом плане, сколько в карьерном: тимлидерка, техдирка, CTO.

Дамы, вы самые ЛУЧШИЕ во всём мире!!!
❤‍🔥62🎉16👍13💯43
Практически всё массовое обучение ИТ, во всём мире, с рекламной стороны выглядит как конструктор лего: вам дают базовые кубики конструктора (волшебные и божественные кусочки архитектуры например), каждый из которых по отдельности изучить достаточно просто, и потом по готовым инструкциям вам удаётся собрать Звезду Смерти. Однако едва вы потом попробуете самостоятельно собрать что-то вроде маленького Экскаватора из 33 деталек, на выходе почему-то постоянно будет получаться кусок бесформенного говна.

А когда онлайн-курсы или менторы начинают вдобавок козырять приставками "ИИ-", то это практически 100% гарантия, что в итоге вы просто нахватаетесь поверхностных знаний и готовых инструкций, которые подобраны от балды. Их ученики всегда будут бедными.

Независимо от того, используются или нет в обучении всяческие "нейро", главный критерий правильного учебного процесса -- когда занимающемуся приходится в 90% думать своим собственным мозгом, на медленном мышлении S2 (тяжёлом и дискомфортном).

"...Я предвижу грязь, бесконечную строевую подготовку, громкие команды офицеров, будущее напряжение, боль, обескураженность. Я представляю, как будет тяжело. Один из офицеров выходит вперед и встает перед нами. Он рявкает несколько коротких указаний, и мы загружаемся в автомобили. Следующая остановка — ад.
Несколько дней спустя: «Бег в полевых условиях. Держаться желтой разметки. Не останавливаться». Инструкции просты, но у нас все равно остается масса вопросов. Как долго придется бежать? Как далеко? Что будет происходить по дороге?"
"На пределе", Эрик Ларссен
49👍175🙏3🔥1
"Врать нехорошо! Накрутка опыта, трудиться на нескольких работах - ай-я-яй!" - нравоучительно поучают они нас, сами придумывая при этом 401-й способ относительно честного отъёма денег у работяг.

3-го марта я выложил в паблике (для донов only) материал
"Как делать в три раза больше?
Стратегия №1: Работайте в 3 раза усерднее.
Увеличьте количество рабочих часов в три раза — вместо 8 часов в день работайте по 24 часа в сутки. ТРЕНИРУЙТЕСЬ!
...Итак. Вот настоящая формула роста в 3 раза.
Стратегия №2: Вместо того чтобы работать по 24 часа в сутки ..."


А на следующий день Лукашенко, прочитав мой пост, заявил на всю страну:

"Поэтому в три раза больше надо нагружаться, загружаться, а не ныть, что у нас не хватает кого-то. У нас всего хватает, просто шевелиться надо, чтобы заработную плату нормальную иметь". 💯

Я чётко это и имел в виду: вместо того, чтобы тратить 100% времени на работу, где у тебя воруют прибавочную стоимость, составляющую 98% реальной стоимости, которую ты приносишь своему рабовладельцу-вруну, повышаем свою продуктивность и нагружаемся в три раза, работаем 25-30% тут + примерно столько же на двух других работах, ровно "чтобы заработную плату нормальную иметь".
14319😁11💯54
Регистрируюсь блоггером РКН. Так-то мне пофиг, делаю это только ради вас — ровно потому, что наказывать штрафами по 500 тыс будут не меня, а тех, кто меня репостит.
Ну и в итоге это инициатива здорово ударяет по всем авторам в целом: люди просто будут бояться репостить.

"Могу со знанием дела отметить, что вся эта задумка с реестром блогеров это тупое говно тупого говна, сделанное людьми, не разбирающимися в искусстве государственного управления от слова совсем.
...Скидки по налогам? Льготная ипотека? Возможности цифровые какие-нибудь? Биржу госрекламы? Биржу рекламы от госкорпораций? Думали ли создатели этих правил, как оно вообще будет работать?
А ни хера вы не думали."


"Русская Православная Церковь считает недопустимыми любые формы принуждения граждан к использованию электронных идентификаторов (особенно принудительных и безальтернативных)"
👍47💯137🫡5🤔4
Отчёт за неделю.

- Основной паблик:

Выжимка из выжимок из выжимок DDD.

Любой, кто говорит, что программисты останутся без работы из-за AI, упускает суть того, что представляет собой айтишка в 2025-м году.


- Для донов-начинающих + по саморазвитию:
GTD — это легендарная методика Дэвида Аллена по организации и отслеживанию задач. ...В заметке на хабре делается акцент на ключевых элементах: контроль, перспективность, календарь, контекстные списки, еженедельные обзоры.
Но более строгий её формат состоит из пяти менее известных шагов...

База по карьере, серия 11:
Может быть, вы жаждете разбогатеть. Вы фантазируете о карьере, в которой вы зарабатываете миллион в месяц, и чувствуете огромное стремление воплотить это в жизнь. Все пять субличностей могут испытывать желание богатства при определённых обстоятельствах, каждое по своим причинам ...

- Для донов-неначинающих:
4 важных свойства хорошего кода.
Если для того, чтобы проверить, работает ли программа правильно, нужно приложить максимум усилий, то, скорее всего, она работает неправильно.
Но при работе с хорошим кодом думать почти не нужно.

Как делать в три раза больше?
Стратегия №2: Вместо того чтобы работать по 24 часа в сутки ...

=

- Бусти:

Заходим в ML-инженеры. Шаги 3-4

Майндмапа книги "Technology Strategy Patterns: Architecture as Strategy"

Майндмапа книги "Coding an Architecture Style"

=

Курс "Ясные Системы": как быстро и легко писать ПРОСТОЙ код масштаба ultra-large-scale.
Систематизированной набор различных эвристик, которые достаточно применять механически, и всё будет супер.
Суть в том, чтобы улучшить результат, не улучшая навыки.
Сейчас 10 эвристик, как наберётся 42, дам курсантам доступ.

Курс "Программирование для начинающих ч.3" - последний на обновлённом треке занимающихся с полного нуля; готов на 50%
(донам-начинающим - на неделе будет набор)

Курс "Гомотопическая теория типов для программистов" - пока на фазе обдумывания :)
👍42🔥1232🫡1
Кого считаем правильным тимлидом/техдиром? Это тот, который не нудит постоянно про большую дисциплину одними манипуляциями ("ну вы же профессионалы!"), а создаёт такую экосреду программирования, которая легко и естественно способствует best practices программной инженерии. Но вы когда-нибудь такого видали? Я - нет.

При том, что так-то вроде бы все стороны согласны, что это было бы хорошо и полезно.

"Если ты говоришь, что ты "примерно понимаешь", то ты говоришь бессмыслицу".
-- Наджрани
52👍9💯3🔥2
Классический скилл программирования "снизу-вверх" (в школе научился писать кое-как работающий код на 100 строк по алгоритмическим задачкам, и так и тянешь это кривейшее "интуитивное" понимание на взрослые проекты) плох тем, что он не упругий.

Например, все понимают, что файл с тысячами строк кода -- плохая идея. Трудно работать с функциями, которые занимают сотни строк. Такие кодовые базы сильно усложняют работу команды. Но если все это понимают, то почему так происходит?
Потому что практически всё, что создаётся в мэйнстриме, никак не руководится и управляется "сверху" -- через внедрение продуктивной экосистемы разработки (собственно это и есть одна из основных характеристик мэйнстрима). И как только задачи немного усложняются, технический долг стремительно растёт и становится очень трудно навёрстывать упущенное.
Если бы CTO и CEO знали, что реально творится в их кодовой базе, и как они теряют на этом сотни процентов дохода, они бы сгорели от стыда 🙈

Я в этом плане следую святому Кенту Беку, который рассказывал, как разработал экстремальное программирование -- через поиск методов/эвристик, которые реально работают, и доведении их до крайности, насколько это только возможно.

Для десятков команд, с которыми я общался, даже никакого чек-листа не надо, бардак вообще везде, и ни разу не было исключений. Самый первый мега-чек, актуальный для 100% проэктов, хорошо знают те, кто проходил мой курс "Ясное Легаси": он на самой первой страничке курса прямо наглядно выделен 👊
👍584
Я получил "блоггер id" 666 5256887776, который подтверждает, что Сергей Бобровский с госуслуг, верифицированный аккаунт ВК "Сергей Бобровский", VKPay привязан к карте Сергея Бобровского, единственный одмин и овнер паблика "Высшая школа программирования Сергея Бобровского" — действительно тот самый Сергей Бобровский, за кого себя выдаёт.

"Никому нельзя будет ни покупать, ни продавать, кроме тех, кто имеет это начертание, или имя зверя, или число имени его".
Апокалипсис Иоанна Богослова (Откр., 13, 17)
😁59117🔥71
Единственный способ управлять сложностью в ultra-large-scale системах -- это функциональное программирование, потому что только оно одно из всех стилей учит мыслить композицией.
51👍9💯7🤔2
Сколь не изучай гомотопическую теорию типов, в итоге, по закону Годвина, всё равно выходишь на темку постквантовой криптографии :) Нельзя рассуждать о будущем ultra-large-scale систем, если прежде всего в них не будет реализована устойчивость к квантовым атакам. Прежде всего это lattice-based алгоритмы, однако в прошлом годе эталонная реализация (на Си!) механизма инкапсуляции ключей Kyber была скомпрометирована просто потому, что оказалась кривой. Ну немудрено. А компилятор лишь подбавил новых проблем.

Без формального доказательства безопасности и корректности (не только реализации, ну и компилятора и исполнимой части) любой криптографический протокол -- просто красивая идея.

/kino классный сериал сейчас выходит "Опасные числа", очень рекомендую.
204
👍4812❤‍🔥3😁3
Шок! в Москве (по данным NF Group) заканчиваются коворкинги!
Спрос растёт ежегодно более чем на треть.

Действительно, чем арендовать за жуткие цены пустой "офис" с просиженными стульями в какой-нибудь помоечной промзоне на окраине, куда мало кто специалистов согласиться ехать, проще просто взять всё готовое в почасовом режиме в уютном центре.

Это такая промежуточная компромиссная фаза между полной удалёнкой, которой итоге в айтишке всё и закончится, абсолютно уверен. Писал уже не раз, что сегодня стремительно увеличивается разрыв между элитой, которая, владея мощными архитектурными скиллами, проектированием и software design, уже успешно использует АI-агентов с x10-x100 продуктивностью, правильно организуя их работу и выдавая продвинутые промпты -- и всей остальной мейнстримовской тусовкой.

Будущее за инди-хакерами, однозначно. Один продвинутый чел уже сегодня легко порвёт типовую команду из 3-5 разработчиков, а стоить будет существенно дешевле и по зарплате, и по отсутствию офиса.

"Бля, я в Москве живу уже 4 года. То что вы считаете успехом в небольшом городе, тут нищебродство
Я не напрягаюсь, ни в создании контента, рилсов, разборов, эфиров. Я вообще не готовлюсь. У меня есть всё в голове. И не сомневаюсь в том, что делаю. Да, могу где-то ошибиться, но глобально самая большая ошибка это не внедрять."

— Константин Григорьев

"Спрашивают за Москву. Москва была топ городом одно время, но сейчас это просто клоака вонючая. Перенаселенная, шумная, вечно в пробках, даже на тротуаре вас может сбить курьер на самокате. Люди злые и говнистые. Да, есть сервис, развлечения, метро. Но xyz я когда спущусь в это метро, это жуткое место. Половина интересных рестиков закрылась, на их месте открылись очередные чайханы и калики.
Цены при этом настолько неадекватные, что уже и зарплата в 500к маленькая. Москву сейчас может выбрать только полный идиот, город скатился и стал сточной ямой. Не советую переезжать. Жить будете в оверпрайс пиковской коробке, а во всех соседних квартирах будет по 20 иностранных специалистов. Из европейских к Москве по помойности ближе всего Париж. Берлин на втором месте."
— Мэдисон
(пруф не даю, потому что он иностранный шпиён :)
(хотя мало кто пишет про Россию так патриотично, как он, без иронии)


=

"The Gorge" - классный фильм про одичавших удалёщиков, и с какими эпическими bugs и токсичными менеджерами им приходится сражаться в одиночку, рекомендую.
Хотя это больше похоже на коворкинг, когда рядом с тобой симпатичная одинокая девушка тоже пишет код :)

спойлер! однако, всё в итоге заканчивается офлайн-бизнесом в виде рестика на берегу океана.
👍43😁1972
"... в Московской антидопинговой лаборатории, до конца 2015 года работавшей под руководством Григория Родченкова, была создана своя, рукописная, система учета на связке PHP/MySQL через веб-интерфейс.
Шифрования в хранении данных не использовалось, в базу они писались в открытом виде. Двухфакторная авторизация отсутствовала, защита по IP — тоже. В систему можно было зайти откуда угодно, зная логин и пароль. Именно поэтому, после того как Григорий Родченков покинул Россию, он и бывшие сотрудники лаборатории все еще имели возможность проникать в LIMS."


Ну ок, для 2015-го это было норм -- какой-нибудь первокурсник (племянник босса) запилил на коленке рукописный проэкт на пыхе, а бабло "на компьютеризацию лаборатории" распилили. Я лично такое встречал неоднократно, и на весьма высоких уровнях. Но почему их логины и пароли-то не были закрыты сразу, когда они уехали? Полное раздолбайство менеджеров :)

"...Как российская сторона попыталась объяснить расхождения в данных: утверждалось, что муж нынешнего директора Московской лаборатории совершил ошибку в процессе переноса данных с сервера на свой компьютер, указав дату в американском формате, то есть 01/08/2019, а не 8.01.2019.
Но для любого человека, который работал с базами данных, очевидно, что дата — это не просто строка, а формат записи. Если определен формат 08.01.2019, то попытка вставить туда запись 01/08/2019 вызовет сообщение об ошибке, и ничего не получится. В общем — объяснение выглядело нелепо, и никто его серьезно не воспринял. "


Разве? На мой взгляд, что 8 января, что 1 августа, легко и просто вводится в абсолютно любом формате. Или там имеется в виду, что разделители разные использовались? Как-то мутно. И зачем вообще мужу нынешнего директора для экспорта базы надо было дату указывать? И почему он в американском формате её указывал? И с какой стати этим он сам занимался, а не попросил айтишника сделать всё правильно? И почему вообще у потенциального ламера, который видимо мог просто и удалить базу, был такой рут-доступ?

💯 всех серьёзных фейлов в мировом ИТ -- 💯 вина исключительно начальников и менеджеров всех уровней.
💯61👍15🤔411
VS Code - это редактор кода, а не IDE!! Ради бога, поймите разницу!!1

При том, что когда вы набираете в нём фактически простой текст, этот редактор разворачивается на многие гигабайты оперативки, да и в целом захватывая попутно все остальные ресурсы компьютера :)

На днях вышло нечто, называемое Google IDX Studio - типа, полноценная IDE в браузере.

В частности здорово, что там много готовых шаблонов под типовые стеки, и вы можете например создать в ней мобильное приложение. Эмулятор из Android Studio локально грузит комп просто ужасающе, а тут в браузере вообще не тормозит.
Мгновенная загрузка проекта с гитхаба, мгновенная индексация всего кода, и везде AI.

Но, да, только Gemini конечно. Совершенно очевидно, что какую бы другую свою модель они не использовали в своей IDX, она всё равно не может сравниться с Claude 3.7.

Не знаю насчёт Курсора, пока в целом склоняюсь к Windsurf.
👍3977🤔3🫡1
Курсант сегодня пишет:

"Не успел вовремя сделать пятнадцатое задание из дипломного проекта во время, так как случайно удалил все таблицы из базы."

$ ./drop_db.sh
This will drop database `production`.
To confirm, type y: [y/N]
?

Проблема в том, что если я буду часто выполнять это в своей локальной среде, я создам мышечную память для автоматического нажатия y, что испортит мне день/месяц/год, когда я сделаю то же самое в prod.

Правильно было бы так:

$ ./drop_db.sh
This will drop database `production`.
To confirm, type `production`:

Полной страховки не даст, но хотя бы 80%.
👍559🤔96🔥6
Продолжаю работу с курсантами 🤓

...Начал замечать, что я часто похож на рационального ослика: при выборе из двух равных решений я впадаю в ступор :)

...По поводу дипломного проекта:
В нём у меня к сожалению толстые контроллеры. Выделить из них логику в новый слой получится, на нынешней работе научился так разделять :)

...тогда нужно закончить курс по Js, я такое просто видел, только на работе, но там react и ужасная реализация,

...Требований от заказчика обычно два – хорошо делай, плохо не делай. Переписывания и бесконечная эволюция неизбежны, вопрос только в затраченном на это времени.

...Проследил за тратой своего времени в течение недели с помощью упражнения "Хронометраж". Конкретный анализ еще не провел, но даже беглым взглядом осмотрев, понял, что работаю я не так усердно, как хочется. Работаю над дисциплиной, распорядком отдыха и работы...
Горит проект, который делаю для знакомых. Надо было сначала Сомнеза прочитать и более аккуратно входить в проект вместе с основной работой. Сильно недооценил по трудозатратам(и ценник собственно поставил сильно маленький). Остается только дожим, есть вариант сойти с дистанции, но пока дожимаю

... Хорошее ТЗ – результат моей насмотренности, опыта в предметной области, логику которой программирую. TDD и BDD это способы упорядочения хаоса. Но источник хаоса лежит этажом выше, в компетенциях заказчика и исполнителя.
Да, раз заказчик внятно не может сформулировать, делаете в буквальном смысле то что написано, дословно, а если потом начнётся "Я имел в виду другое...", отвечайте "Я не умею читать мысли".

...Все сказанное в пункте верно для наших команд. Ревью проходит в доброжелательной атмосфере, даже если на одном PR создано уже более 100 тредов с комментариями).
...К сожалению, без кнута, мы пока не видим способа, как сделать процесс ревью более качественным.

...Задание мною выполнено абсолютно неверно по части детализации анализируемых метрик
Не понимаю, при каких обстоятельствах я мог сделать его правильно на 100 процентов
❤‍🔥37👍222
Отчёт за неделю.

Закончил полностью автоматический трек (три курса) для начинающих с полного нуля на Python. С него ко мне в спокойном режиме приходит где-то 2-3 человека в месяц, кто получил самые базовые знания и хочет продолжать, мне больше и не надо (я исключаю из Школы больше:).

Для донов-начинающих + по саморазвитию:

-- База по карьере, серия 12:
Вполне возможно что вы уже на данном шаге получили хороший прогресс, но мы только начинаем. Как только у вас сложится достаточно ясная картина этого всего, вы можете приступить к настоящей работе, которая происходит на другом уровне вашего подсознания -- в подвале подвала. В камере допросов ...


Для донов-неначинающих:

-- Дополнительно даю более технический материал (с платного медиума) "You don’t Need a Book to Know DDD".

-- Продолжение трека "Элитный программист": Используйте соцсети в своих интересах.
Соцсети сегодня -- серьёзное препятствие на вашем пути к успешной карьере. Алгоритмы, разработанные для того, чтобы завладеть как можно большей частью вашего внимания, могут помешать вам выработать продуктивные привычки, и сделают глубокую работу крайне сложной, а она абсолютно необходима для хорошего успеха в ИТ. Однако эти же алгоритмы можно использовать и в своих интересах...

-- Начали третий сериал СильныхИдей (второй сериал скоро выложу на бусти).
Он конкретно про SOLID + несколько ключевых паттернов ООП. По SOLID написано 100500 статей, на моих курсах по ООАП мы её в частности изучаем, так как спрашивать об этом могут на любом собесе, но мы как обычно пойдём в данном случае глубже: рассмотрим эту темку с точки зрения функционального программирования, а потом немного её похейтим :) Ну, потому что немало её принципов были актуальны примерно лет 30-40 назад.
Принцип DRY — не абсолютная истина
Принцип DRY десятилетиями представляется как один из нерушимых столпов программирования. Есть такое "правило трёх": если вам приходится кодить одну и ту же задачу три раза, "автоматизируйте" её (выделите в функцию например). Однако этот подход может быть вредным, а иногда и откровенно неправильным, особенно если применять его догматически...

=

Дальше, берусь конкретно за курс "Гомотопическая теория типов для программистов". Придётся очень много думать 🫢
33👍19🔥4🙏21
Где-то в 1990-2000-е, когда интернет стремительно развивался с нуля, казалось, что практически бесплатный доступ ко всем знаниям мира существенно повысит общий культурный и интеллектуальный уровень человечества. И программисты становились миллиардерами с нуля в эпоху доткомов, и перспективы выглядели самыми радужными.

Но в итоге всё закончилось тем, что общий образовательный и культурный уровень из-за интернета стал стремительно падать, и востребован он 98% человеков оказался только с целью смотреть бесконечные видеоролики и порно, играть в игры, лайкать котиков и переругиваться с незнакомыми людьми. В выигрыше же стабильно остаются примерно 2% населения планеты (у которых от рождения шило в заднице повышенная активность ретикулярной формации).

С лёгкой печалью наблюдаю, что сейчас практически 1:1 ситуация с доткомами повторяется теперь в отношении AI. Пока кажется, что практически бесплатный доступ к менторам 24/7, не только обладающими всем знаниям мира, но и способными практически любую тему пояснять существенно выше среднего экспертного уровня, существенно повысит общий культурный и интеллектуальный уровень человечества. И программисты также становятся миллиардерами с нуля в эпоху AI, и перспективы выглядят самыми радужными.

Но я уверен 💯 , что уже в этом десятилетии всё снова закончится "бесконечными видеороликами и порно, играми, лайками котиков и переругивании с незнакомыми людьми" -- только уже не в реальной жизни (хоть и по ту сторону экрана), а в симулякре, полностью сгенерированном AI под интересы конкретного существа...

В адеквате же в итоге останется даже не 2, а 2 от 2 процента = 0.04% белковых/кожаных...

Будешь зажат и скован, смотреть на этот серый дождь
Ты не можешь быть разочарован, если ничего не ждёшь.
Любовь никому не нужна здесь, я буду пробовать жить без неё...
❤️❤️❤️
52👍17🤔6🔥4🐳1