Лаборатория Математики и Программирования Сергея Бобровского – Telegram
Лаборатория Математики и Программирования Сергея Бобровского
1.29K subscribers
1.18K photos
24 videos
929 links
ЛаМПовое с Бобровским
Download Telegram
Навигаторы массово выработали в людях топографический кретинизм, калькуляторы низвели арифметические способности 98% людей до уровня первого класса, а интернет сделал нашу память существенно ленивее.

Но никто не говорит, что вы идиот, если вы ищете в гугле, кто выиграл Тур де Франс в 2002-м году. Теперь вы можете использовать ресурсы своей памяти для чего-то более полезного.

Таким образом, вопрос не в том, разрушит ли AI наш мозг.

Сермяжный вопрос заключается в следующем:

Какие идеи и подходы нам всё ещё нужно защищать в нашей жизни, а какие лучше передать на аутсорсинг железному болвану?
1👍55❤‍🔥9🔥51
...Ларри Эллисон пробыл самым богатым человеком мира всего 1 месяц. После того как он в сентябре зажигательно заявил о крупной сделке с OpenAI, акции оракла выросли на 36%... Но затем что-то незримо изменилось в настроениях инвесторов. С того дня акции оракла упали на 60 долларов.

...В конце октября Цукер жизнерадостно заявил, что продолжит увеличивать расходы на AI -- на следующий день акции м-ты упали на 80 долларов.

Банки, напуганные потерями в технологическом секторе, ужесточают условия кредитования, что затрагивает не только AI-стартапы, но и широкий круг самых разных компаний. Инвесторы начинают массово фиксировать прибыль в акциях фирм, чьи оценки основаны на иллюзорных прогнозах. Первыми под удар попадают прямые бенефициары бума -- уровня NVIDIA, а также стартапы с заоблачными оценками, подобные OpenAI. Разгорается кризис доверия ко всему облачному сектору, включая Amazon AWS и Microsoft Azure. Рейтинговое агентство Moody's указывало на это в сентябре.

Ветеран Кремниевой долины Джерри Каплан, преподающий философию AI в Стэнфорде, заявил, что в условиях нынешнего бума масштабы потерь будут превосходить пузырь доткомов на порядки. Падение сектора AI, который стал ключевым драйвером роста фондового рынка, спровоцирует полноценную рецессию и "потянет за собой всю мировую экономику".

"Трудно точно определить момент лопнувшего пузыря, и вы поймёте, что находитесь в нем, только когда он лопнет".
-- Анат Адматы, профессор Стэнфорда

Как это ударит по рынку ИТ-труда? Ценность снова приобретут классические, университетские, фундаментальные знания: алгоритмы и структуры данных, оптимизация, system/software design, а не умение пользоваться модной библиотекой.

Но множество проектов превратится в пыль. Овнеры, CEO, CTO окажутся у разбитого корыта: ни команды, ни стажёров, ни возможности нанять нормального разработчика. Ни-че-го. Только огромная говнокодовая легаси-база и тысячи откликов бездарных вайб-кодеров на одну вакансию...
2👍48🤔117💯7
.

Облако драгоценностей за неделю.

Приватный клуб:

Сегодня я вижу следы ЖПТ везде: в пулл-риквестах, в документации, даже в архитектурах. Но вот в чём дело: вам должно быть всё равно, что сказал искусственный интеллект. Вам должно быть важно, что вы сами думаете...

В 98% случаев техлиды, которых периодически консультирую, спрашивают одно и то же:
Как нам ускорить выкат новых фич? Как нам делать меньше ошибок?
Возникает соблазн стараться двигаться быстрее или быть более осторожным при написании кода. Но, как говорил Кент Бек, это похоже на попытку заставить машину ехать быстрее, используя переключатель скоростей...


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

Нейросети головного мозга...
Проблема в том, что начинающие программисты хотят переложить на них всё.
Написать код.
Сделать систему с нуля.
Получить ответы на любые вопросы с собеседований.
Скажи мне, как правильно спроектировать нетфликс?
бла бла бла

Лучшее время, чтобы взяться за программирование по-взрослому -- это ...


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

Давайте поговорим о том, о чем никто другой разработчикам не говорит...
Твой невидимый потолок.
Это может быть около 200 тысяч рублей. Или 300. Максимум 450.
Именно здесь большинство миддлов и сеньоров тихо уходят в отставку...

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

Продолжаю выкладывать для донов материалы СильныхИдей — доступны моим курсантам, но тут расширенные и дополненные версии.
60. Как справляться с краевыми случаями
База по пониманию объектно-ориентированного проектирования.

(все старые материалы для донов постепенно сгорают)

=

Первые сериалы из существенно переработанных и улучшенных материалов СильныхИдей (по сути три книги) доступны на бусти:
1. БАЗА программной инженерии
2. Software Design с акцентом на Programming in Small
3. SOLID-25
4. Гайд Вайб-проектирование
+ Скоро выйдет моя новая книга "Software Design с акцентом на Programming in Large", и цены на это всё вырастут.

...Я бы мог массово продавать гайды, курсы, книги, но за этим всем нету живых людей, это просто деньги, поэтому это мне не очень интересно. А видеть, как растут 🚀 ребята, с которыми постоянно общаешься, вот это кайф ❤️


=

Новые материалы для ментатов Лаборатории.

В СильныеИдеи добавлен материал "126) Что такое корректность программы?"
В большинстве случаев в реальном мире корректность означает "отсутствие ошибок". Ну, за исключением того, что "ошибки" -- это не очень чёткая категория. Ошибка -- это лишь то, что заставляет кого-то сказать: "Это работает неправильно, там ошибка". Слишком медленная работа -- это ошибка, опечатка -- это ошибка, функция посчитала "не совсем то" -- это ошибка, и т.д. "Правильная работа" -- это немного расплывчато...

В курс карьеры добавлен 117-й материал "Твоя карьера -- это бесконечная игра".
Для начала признаем, что рынок сейчас непростой. Большинство разработчиков имеют высокую квалификацию, и компании выберут лучшего из множества кандидатов. Это не тот рынок, где за новой работой быстро следует повышение. Но это не значит, что вы должны хвататься за первую попавшуюся работу...


💪🏻

Мы здесь, потому что это трудно.
it's a privilege to do things that are hard.

=

Ну и наконец бета-тест "Матриц Хакера (МаХ)" закончен (был только один баг, и тот я знал заранее, просто неохота было самому ловить :), и все желающие могут поиграть (десктоп-версия для windows).
1👍356❤‍🔥4
С праздником, Казанская! ❤️🙏😇

Что такое обучение?

Группе А даётся урок по арифметическим последовательностям, а затем задаются вопросы по их применению (например, постоянная скорость движения).

Группе Б даётся урок по постоянной скорости движения, а затем задаются вопросы по её обобщению (арифметические последовательности).

Какая группа справилась лучше (риторическое)?
547❤‍🔥2🏆2
Я тоже очень люблю юньку!!1 ❤️

Помню, лет 15 назад, когда в Unity добавилась поддержка андроида, я под вдохновение наклепал десяток мобильных игр, по советским настолкам в основном, а одна получилась особо душевная: тетрис с SKI-комбинаторами :)

Потом в Delphi появилась кроссплатформная разработка (винда, мак, линукс, андроид), но жутко кривая, а потом и сама эта замечательная платформа заглохла к сожалению (причём - классика - исключительно из-за ошибок эффективных менеджеров, как и в 98% всех провальных/проваленных ИТ-проектов).

Unity же продолжал успешно развиваться, хотя и тут менеджеры предпринимали не одну попытку его утопить :) чего стоит одна эпопея с платными подписками. Честно говоря, странно даже, что он ещё жив :) громоздкий движок сам по себе, куча багов медленное развитие -- и это на фоне активных анрила и годота.

Но, реально, юнька -- это такой народный движок, любимый массами несмотря ни на что! ❤️
49😁3🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Поучительная история, как один стажёр Wu Xiaoyun весь айтишный мэйнстрим уничтожил: 2x Performance, $300k Savings: A Case Study in Rewriting a Critical Service in Rust

Взяли его в ТикТок, где он взял да переписал гошный сервис на раст, получил огромный выигрыш в производительности, и вдобавок его сервис ежегодно экономит 300,000 долларов за облачный хостинг.

Все эти понтовые хайлоад-конференции, "специализированные" супер-пупер языки "заточенные под highload", толстенные учебники-кабанчики, многочасовые стримы про сложнейшие архитектуры и system design -- пузыристость и бессмысленность этого всего, буквально на грани инфоцыганства, наглядно продемонстрировал всему миру один умный молодой парнишка. Потому что решает прежде всего хорошее образование (Сингапурский национальный университет в данном случае).

Просто перепиши это дерьмо на плюсы или раст, а лучше всего на сишечку.

Будь как Xyun!
158👍12🫡92🐳1
Книга Роберта Мартина о принципах SOLID, проектировании компонентов и пакетов, имеет объём 700 страниц. Классика DDD имеет объём 500 страниц. Функциональное моделирование домена на F# - 300 страниц. Книга по внедрению зависимостей имеет объём 500 страниц. Функциональная архитектура Гранина на хаскеле -- 500 страниц. Software Architecture with Kotlin -- 400страниц. Гексагональная архитектура - 200+ страниц. Software Architecture with C#12 - 700 страниц. Даже Head First Software Architecture для малышей с картинками имеет объём 400+ страниц.
И так далее...

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

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

Как функциональное программирование само по себе не инженерное изобретение, а математическое открытие, также и функциональная архитектура есть нечто похожее, которое святым computer science удалось открыть научным способом. Она независимо материализуется в самых разных системах (просто чаще всего вы это не подозреваете, как и наличие монады в каждой тысяче строк вашего кода :), а затем вдумчивыми специалистами впоследствии обнаруживается как математическая по сути закономерность.
255💯8❤‍🔥6🐳2
...Удачно наткнулся на свежую книгу "Hexagonal Architecture Explained" - вышла в этом году! - Алистера нашего Коберна, автора легендарной гексагональщины (а также one of the "42 Greatest Software Professionals of All Times"). Предвкушаю наслаждение от её изучения и последующей декомпозиции :)

btw, в этом году на GOTO Copenhagen 2025 Алистер проводил свой однодневный воркшоп по гексагональной архитектуре на несколько десятков человек, каждый из которых платил около 800 долларов :)

"Шестиугольная архитектура настолько же неправильно понимается, насколько ее популярно цитировать", ну и конечно же, только "на этом однодневном семинаре вы узнаете, как это сделать правильно".

"По итогам этого семинара вы получите два сертификата уровня A Heart of Agile Academy: один за упражнение "Карпаччо из слоновьего мяса" (Elephant Carpaccio), и один за гексагональную архитектуру."

=

Хотел тут пошутить про инфоцыганщину, штрафы за обучение с выдачей сертификатов без лицензии, и в кутузку за курсы когда "всё это есть в интернете бесплатно", но как-то не получается...
3916😁4
лол что? :)

We Spent $47,000 Running AI Agents in Production. Here’s What Nobody Tells You About A2A and MCP.

Last year, our team deployed what we thought was a simple multi-agent system to production. Four LangChain agents coordinating via A2A to help users research market data.

Week 1: $127 in API costs. Perfect.

Week 2: $891. Hmm, usage growing.

Week 3: $6,240. Wait, what?

Week 4: $18,400. Panicking

Total damage: $47,000 before we finally pulled the plug.

The culprit? Two agents got stuck in an infinite conversation loop. For 11 days. While we slept. While we worked. While we believed "it’s just running smoothly."
🤯47😁14🐳52🏆1
...В процессе изучения функциональных архитектур проявился такой совершенно неожиданный инсайт 💥 что в качестве языка формальных спецификаций вообще не нужны специализированные языки вроде tla, dafny, typespec, veil, loom/velvet! Последний кстати зафигачен на lean4, и с его помощью уже успешно перетаскивают код с dafny на лин. При том, что этот процесс бессмысленен :) Не так сложно написать даже просто алгоритмический код, который не выйдет полноценно верифицировать на dafny, а главное, что оно не имеет доступа ни к каким реальным библиотекам, то есть абсолютно далеко от реального прода.

Главное же, что даже крутые системы зав.типов от пруверов вроде Lean не нужны, а достаточно Хаскеля!!1 🚀

В целом я этот язык здорово недолюбливаю, в математическом смысле он местами сильно кривой, а для реальных проектов не подходит во многом по техническим причинам (хотя есть немало исключений). Но, блин, до чего же хороша его система типов! 💪🏻 Точнее, она прежде всего строгая, и тот же F# конечно от неё далёк. Нам не нужно искать и читать исходный код, чтобы узнать, эта функция чистая или нет: вы можете просто посмотреть на её тип! -> Int или -> IO Int !

Поэтому хаскеля по сути достаточно, чтобы формально думать о чём угодно в программировании, включая и архитектурный уровень! 😇 А огромный плюс, что всё же Haskell -- это немножечко мэйнстрим, и его сегодня вполне может освоить и легко и просто задействовать любой нормальный программист, причём конкретно для правильного рассуждения о своих прозаических повседневных задачках, и даже с учётом конкретного фреймворка! Ну и так как любой ввод-вывод в хаскеле -- это вызов внешних сишных функций, мы получаем вообще идеальные возможности для гладкой интеграции!

Вот честно, синхронизм: вчера, когда я это писал себе в важные заметки, добавил
"...Но для правильного применения данного подхода в контексте функциональной архитектуры надо как следуеть изучить монадные трансформеры :)"
(На самом деле, это совсем простая вещь (и часто вообще достаточно функторов), кто мои гайды по ФП проходил, уже в теме автоматически.)

Так вот, сегодня наткнулся на вышеупомянутый loom/velvet, а там "Loom uses Monad Transformer Algebras." 🤘

Я знал, я знал!!1 )))

...Без понимания этой алгебры, ваш ум, искорёженный императивщиной и ООП, будет гуглить на каждом шагу "Is it possible to convert an IO Int into an Int ??" :)

p.s. Умненький читатель к этому моменту должен получить понимание, какая связь между "convert an IO Int into an Int", функциональной и гексагональной архитектурами.
240🔥8❤‍🔥61🤔1
.

Облако драгоценностей за неделю.

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

Вы знаете, что общего у 1% лучших программистов?

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

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

(все старые материалы для донов постепенно сгорают)

=

Первые сериалы из существенно переработанных и улучшенных материалов СильныхИдей (по сути три книги) доступны на бусти:
1. БАЗА программной инженерии
2. Software Design с акцентом на Programming in Small
3. SOLID-25
4. Гайд Вайб-проектирование
+ На неделе выйдет моя новая книга "Software Design с акцентом на Programming in Large", и цены на это всё вырастут.

=

Новые материалы для ментатов Лаборатории.

В курс карьеры добавлен 118-й материал "Про лайв-кодинг на собесах"
Вы всё ещё думаете, что провалили собеседование по программированию, потому что мало тренировались на литкоде в задачках по АСД?
Или потому, что они задали вам настолько случайный вопрос, что никакая подготовка вам бы не помогла...
На самом деле важно не решение вопроса. Важно то, как вы справляетесь с ситуацией, когда она становится запутанной.
Вот что они на самом деле ждут от тебя на собеседовании/лайв-кодинге по программированию: 3 ключевых момента.

В раздел "Элитный программист" добавлены материалы

79) Плюсы и минусы Pomodoro.
Я несколько десятков лет практикую технику Pomodoro, и обнаружил, что (для меня) она исключительно эффективна для 90% видов работы. Однако есть также некоторые категории, где использовать помидорки надо, как минимум, по другому...

80) Pomodoro подходит не всем.
Или вам приходится заставлять себя делать пятиминутный перерыв, хотя вам не терпится вернуться к своей задаче после всего лишь одной минуты отдыха. Что, если вы относитесь к тому типу людей, которые полностью теряют интерес к задаче, если не могут приступить к ней в течение ближайшей минуты или около того? Поверьте мне, я действительно встречал таких людей!

💪🏻

Мы здесь, потому что это трудно.
it's a privilege to do things that are hard.

"ЛаМПовое": Composing Continuations на плюсах, мышление в парадигме C++11 и Rust, простые числа и фракталы, Муравейник Хеллстрома.

=

Насчёт темки про функциональные архитектуры, я в принципе уже немало понаписал полезного что можно использовать прямо сейчас. Но если делать из этого полноценный курс/трек, как например уже есть по объектно-ориентированному анализу и проектированию или функциональному программированию, то на это могут уйти и годы, потому что вдумчиво обработать тысячи страниц плотного английского технического текста из десятков книг по архитектурам, ну такое себе :) А я тут в тему подцепил ещё одну мощную книгу "Французская школа программирования 2024" Бертрана Мейера на 400+ страниц :)

Поэтому я решил, что сделаю из этого книгу/гайд, в которую буду короткими итерациями (например, недельными спринтами) добавлять более-менее законченные, достаточно автономные топики, которые вы сразу сможете применять в своих проэктах. Я так пытался делать по Software Design, но как-то не покатило с самого начала, а с архитектурщиной прямо легко и естественно идёт.

В этом ноябре, рассчитываю, мои ментаты получат первую дозу :)
40👍14
Крупнейшее "достижение" Claude Code и подобных в том, что они полностью обнулили понятие production-ready code. В мэйнстриме теперь делают вид, что в программной инженерии его никогда и не существовало.
💯3118🤔8❤‍🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
"Вот же, вот, посмотрите! -- вопят вайб-кодеры. - Я сделал всё это, и я ничего не смыслю в программировании! Это реально работает, и это круто!".

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

Ну, да, в программировании же думать надо много, годами трудиться до соответствующего уровня понимания, а это дискомортно. И тут на помощь(?) приходит ЖПТ.

ужос ужос =>

"...По данным Forbes Education, 2025 год стал рекордным для российского рынока онлайн-образования в сфере искусственного интеллекта: он демонстрирует стремительный рост.

- За первое полугодие 2025 года было запущено 17 новых онлайн-школ, обучающих работе с ИИ. Для сравнения: в 2023 году стартовало 6 проектов, а в 2024 — 10.
- Количество оплаченных заказов возросло до 27 744 курсов, превысив результаты предыдущих лет.
- Совокупный оборот школ, обучающих взаимодействию с ИИ и его применению, достиг почти 572 млн рублей.
- Общее число студентов превысило 28 000 человек только за первые шесть месяцев 2025 года..."

Как раньше "из каждого утюга" лезла реклама курсов по программированию для начинающих средняя зарплата 250 тысяч рублей (но там хотя бы был (да и остаётся) хоть и небольшой, но вполне реальный шанс стать программистом, ну и чел учился писать код), так сегодня происходит массовое перепрофилирование на новую золотую жилу: обучение "взаимодействию с ИИ" -- только уже совершенно бессмысленное и бесполезное. Даже скорее вредное, по большому счёту...
1👍4117
И вот куда это всё приходит 😁 =>

Forget Data Science—This New AI Role is Exploding with 800% More Postings

AI-related job losses (and future non-hires) are the talk of the software town right now, but (at least in the short/near term) a new AI-led tech role has emerged with a massive increase of job postings (800%) over the last 9 months:

Forerunners in the AI race, such as Anthropic and OpenAI, are actively recruiting software engineering specialists called forward-deployed engineers (FDEs) to help with tailoring AI models to meet customer needs. More than just working with back-office coders, these engineers are embedded within customer and product engineering teams...

Unlike traditional software engineers, FDEs go beyond writing code to go out in the field and understand where AI can make the biggest impact. Their mission is to bridge the “last mile” of AI: transforming a general-purpose model into scalable AI solutions that reflect complex client requirements and solve their problems...
😁29🤔185🫡1
База функционального (да и объектного) software design -- это CQS. Если вам нужно прочитать исходный код функции/метода, чтобы понять, что она делает (в частности, чистая она или нет), значит, инкапсуляция критически нарушена.
🤔33👍117
3 типовые проблемы программиста мэйнстрима (детский сад штаны на лямках).

1. Я не видел ошибки, когда делал изменения в коде.
2. Я не проверял эту часть своего модуля, когда тестировал изменения.
3. Мне понадобился целый час, чтобы исправить эту дурацкую ошибку, потому что я не смог сразу найти точку, где она была.

2 - вообще база QA, хотя по большому счёту линтеры/стат.анализаторы + инспекции кода (метод пристального взгляда) в целом работают даже лучше, чем покрытие тестами (вчера в приватном клубе выложил материал на эту тему). но, нужно уметь держать в голове всю модель целиком хотя бы на уровне текущего модуля/класса с его контекстом использования.

3 - потому что код мутный и тотально запутанный, а про инварианты и слыхом не слыхивали (начьните хотя бы ассерты в коде почаще ставить).

1 - потому что код тотально хрупкий; решать задачу надо не тупым подбором синтаксических инструкций, а комбинированием абстракций (для начала прокачать автоматическое думание триплами Хоара); а потом make illegal states unrepresentable и функциональные паттерны.
37🫡133👍2🏆1
.

Мой новый гайд "БАЗА Software Design: Programming in Large" доступен на бусти.

Цена 2,400 рублей, завтра будет дороже.

16 материалов, чистого текста 160 тыс. знаков =>

7 неочевидных проектных ошибок
Один из лучших методологических подходов, прекрасно работающий во многих инженерных областях, и в частности, в программировании – это "не позволять разработчику делать то, что запрещено, и запрещать исходно по возможности вообще всё".

5 советов по повышению качества проектирования программных систем
Как повысить качество проектирования?
В ответ на такой вопрос обычно даются шаблонные советы, например:
"Больше работай над практическими проектами".
"Найди хороший проект с открытым кодом и изучай его код."
"Попроси коллегу, чтобы он провел code review".
Если читать между строк, то все это сведётся к "я не знаю".

Как проектировать программы in small (два научных подхода)
Хорошие идеи для возможного дизайна можно найти, внимательно изучив структуру входных данных...

4 универсальных принципа проектирования API
В своей знаменитой книге "Как стать хакером" Эрик Рэйнмонд заявил: "ни одна проблема не должна решаться дважды"...

Страшное слово в ваших спецификациях
Ответы на вопросы проектирования нужно искать не в коде, а в спецификациях.

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

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

Как правильно думать над моделью данных в проекте
Основополагающий принцип -- делать нелегальные состояния непредставимыми...

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

Как правильно проектировать систему в парадигме состояний
Что такое состояние? Это прежде всего описание того, как обстоят дела в данный момент.

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

Как готовить сверхгибкий код
Моделирование предметной области (домена), превращение мира в чистые красивые структуры данных выглядит увлекательным занятием. Однако вам быстро становится совсем не так весело, когда реальный мир даёт контрпример...

Как писать код для веб-фреймворков, который работает в 100 раз быстрее
ORM -- это такая кривейшая приляпка, реализованная однако практически в каждом популярном веб-фреймворке...

Что делает тест хорошим
Есть прекрасная теория тестирования, которая объясняет, что делают тесты, что должно и что не должно проверяться при тестировании. Увы, это удивительно, но эта теория практически не была представлена в общедоступном виде для массовых разработчиков...

Формализуем многослойную (многоуровневую) архитектуру
Я сейчас дам вам достаточно простую формальную модель слоистой архитектуры, которая представляет её весьма наглядно, и при этом может масштабироваться до огромных размеров.

Формализуем понятие надёжности системы
Попросту говоря, мы хотим создавать системы, которые гарантированно будут правильно функционировать при наличии сбоев, перегрузок и т. п.

"БАЗА Software Design: Programming in Large", цена 2,400 рублей, через 24 часа вырастет.
39❤‍🔥94🏆3😎1
Смотрю, F# плюс продолжают активно пилить!!1

F#+ builds upon FSharp, using generic programming techniques to help you avoid boiler plate code.

Generic Functions and Operators like map, which can be extended to support other types
Generic and customizable Computation Expressions, like monad
A generic Math Module
Generic methods that help you with parsing
Some new types that work well with the abstractions, such as NonEmptyList, DList and Validation
Abstractions that capture common FP patterns, such as the standard monads Cont, Reader, Writer, State and their Monad Transformers
A polymorphic Lenses/Optics to easily read and update parts of immutable data

Срочно ставим.
43👍12🤔3
Помогает ли AI? Кто знает? Но он, несомненно, наполняет мой день существенно большим количеством работы, которую нужно выполнить.

Именно так чувствовали себя миллионы людей, когда в 1990-е компьютеры появились на множестве рабочих мест. Всё та же работа, но более быстрая и лихорадочная. Больше выгорания для тебя, и больше денег для твоего начальника...
1💯48173🐳3🤔2
Такие IDE как Visual Studio предлагают множество мощных функций рефакторинга, автозаполнения, включая рекомендации AI, всплывающие подсказки и расширения...

Однако гораздо чаще они мешают нам работать, а чтобы найти, где та или иная фича IDE отключается, придётся потратить прилично времени и нервов.
1💯37🤔139🐳2