Telegram Web
На следующих выходных, 19-20 июня, я буду выступать в Пензе на SECON’2021 с докладом «Путь функционального программиста». Моё выступление будет в секцию фронтэнда, но по факту о фронте я не буду говорить ровным счетом ничего.
Доклад будет обзорного характера, и в целом является для меня некоторым экспериментом — я давно не выступал, плюс тема не глубоко-техническая, а больше философская, нацеленная на начинающих разработчиков, так что очень интересно, как публика ее примет. Если будет запись, то обязательно выложу здесь.
В общем, если вы не знаете, чем заняться в указанные даты, то приезжайте в Пензу, буду рад после доклада пообщаться с подписчиками )
https://github.com/typelevel/cats-effect-cps — экспериментальный DSL для поддержки async/await в cats-effect. ИМХО, такого сахара не хватает в ZIO — тогда объяснять новичкам эффекты было бы еще проще.
В который раз не могу нарадоваться, насколько же охуенный журнал Quanta. Если вы по какой-то причине до сих пор его не читаете, то вот несколько статей, которые могут убедить вас исправить это недоразумение:

https://www.quantamagazine.org/wormholes-reveal-a-way-to-manipulate-black-hole-information-in-the-lab-20200227 — квантово-запутанные черные дыры вместе с червоточинами могут выступать как «телепорты» для информации

https://www.quantamagazine.org/mathematicians-identify-threshold-at-which-shapes-give-way-20210603 — как идеи Джона Нэша про изометрические вложения нашли применение в исследованиях турбулентных потоков (и не только)

https://www.quantamagazine.org/gravitons-revealed-in-the-noise-of-gravitational-waves-20200723 — идеи о детектировании гравитонов при помощи установок вроде LIGO
dd if=/dev/stuff of=/dev/tg
На следующих выходных, 19-20 июня, я буду выступать в Пензе на SECON’2021 с докладом «Путь функционального программиста». Моё выступление будет в секцию фронтэнда, но по факту о фронте я не буду говорить ровным счетом ничего. Доклад будет обзорного характера…
К слову, о SECON. Не так давно моя любимая супруга @lene_love завела группу на ФБ, где будут обсуждаться разные вещи, связанные с проектным и продуктовым менеджментом.
Первый кейс, описанный там, как раз обсуждался в неформальном баркемпе на SECON. Суть проста — есть выгоревший лид-разработчик, пришедший в новую компанию на должность сеньора. Есть команда, которая поддержала идею этого лида писать 100%-ое покрытие кода тестами. И есть еще один новичок, тоже сеньор, который решил, что упомянутая соточка — это переборщ, и принцип «хуяк-хуяк и в прод» будет работать. Что делать первому лид-сеньору, чтобы не допустить раскола команды и трэша в коде? Если у вас на проектах был подобный опыт, то приходите и делитесь в комментариях )
В дружественном чатике по fp-ts проскочила ссылка на перевод мануала по функциональному программированию от автора fp-ts Джулио Канти:
https://github.com/enricopolanski/functional-programming
Хороший, годный, плотный текст, затрагивающий и теорию категорий (с обязательной фоткой Филипа Уодлера в костюме Lambda Calculus Man), и стрелки Клейсли, и tagless final. Рекомендую 🙂
Forwarded from Lene.spb (Arina Malevskaya)
Моя невероятнейшая @lene_love сделала подарок, от которого я до сих пор тихо прихожу в себя — распечатанную фотку моего авторства, сделанную еще в далеком 2011 ❤️
Болезненное, но очень верное наблюдение сделано в канале Lil Functor: https://www.tgoop.com/lilfunctor/252.

Действительно, ФП в TS идет по пути мимикрии под хаскель, и зачастую такие попытки натянуть сову на глобус не только приводят к неэффективному коду, но и значительно повышают bus factor и время онбординга новых разработчиков.

Что с этим делать? Я склонен согласиться с Михаилом, что идиоматичный подход появится только спустя несколько лет экспериментов, а сейчас библиотеки для TS штормит — fp-ts копирует хаскель и пурсу, effect-ts/waveguide/qio слизывают дизайн zio. Effect-ts так вообще беззастенчиво копирует API zio 1:1, что приводит к появлению в коде кадавров вида:

const LiveEnv = RandGenLive["+++"](ConfigLive[">+>"](LoggerLive))

export const main = pipe(
randomGteHalf,
T.retry(Schedule.recurs(10)["&&"](Schedule.exponential(100))),
T.provideSomeLayer(LiveEnv)
)

Поскольку в нашем любимом языке для рисования снежинок в браузере нет возможности добавлять свои инфиксные функции (операторы), то возникает риторический вопрос в целесообразности бездумного копирования API zio. Поэтому, в частности, я не спешу с написанием статьи по effect-ts на хабр — мне кажется, что Майкл Арнальди слишком увлекся попытками сделать Scala из TS.
dd if=/dev/stuff of=/dev/tg
На следующих выходных, 19-20 июня, я буду выступать в Пензе на SECON’2021 с докладом «Путь функционального программиста». Моё выступление будет в секцию фронтэнда, но по факту о фронте я не буду говорить ровным счетом ничего. Доклад будет обзорного характера…
В общем, я чуток задолбался ждать, когда появится видео моего доклада, поэтому обзор конфы напишу без него.

Если вкратце, то было круто — восемь стримов, много секций (от бэка и баз данных до космоса, проектного менеджмента и бизнеса в целом). Мой доклад был в малом зале картинной галереи; с акустикой там было не очень хорошо ввиду отсутствия одной стены, но моего голоса вроде бы хватило, чтобы доклад слышали даже на задних рядах. Сама же площадка в целом оставила спорные впечатления — как место для отдыха она весьма приятная: речка с чистой водой, много оригинальных скульптур на пленэре, аккуратная архитектура. Но для организации конференции она не очень подходит, на мой взгляд: с кейтерингом были проблемы (не вдаваясь в подробности — треш полный), плюс мелкие организационные шероховатости чуть смазали впечатление. Зато было много активностей для детей — от головоломок до робототехники и азов программирования.

Из докладов мне, внезапно, больше всего понравился нетехнический доклад Павла Шубина про освоение Венеры. Он очень круто и со знанием дела рассказывал о проблемах венерианских миссий, как со стороны Советов, так и США. Вот его сайт, а вот доклад с таймкодом. Еще очень крутым получился круглый стол на тему управления проектами в современной реальности 100%-ой удалёнки, куда @lene_love и меня позвали экспертами. Я считаю, что мы хорошо справились, и если видео с круглого стола будет выложено, то также опубликую его тут.

Из технических обсуждений мне понравилось общаться с ребятами из Shogun и авторами remote-data-ts — Антоном Сутарминым и Кириллом Агалаковым. Ребята крутые специалисты, и мы обсудили достаточно много интересных вещей из мира функционального TS. Кстати, напоминаю, что существует отдельный чатик по fp-ts — так что если вы используете библиотеки из его экосистемы (или еще нет), то приходите туда с вопросами.

Подводя итог — SECON оказалась интересной конференций, и я благодарен организаторам, что меня позвали туда выступить.
Я зарегистрировался на платформе GetMentor: https://getmentor.dev/mentor/yuriy-bogomolov-452
Предоставляю разовые или регулярные консультации по функциональному программированию на TypeScript, использованию Domain-Driven Design или архитектуре в целом, а также могу помочь с вопросами менеджмента команды и пострения карьеры. Также отдельно можно оговорить проведение архитектурного ревью проекта в целом.
Forwarded from HighLoad++
Разрабатывать конкурентные системы сложно. Самые плохие ошибки закрадываются в алгоритм еще на стадии проектирования, не находятся никакими тестами и ждут реальной нагрузки и своей уникальной последовательности событий, чтобы взорваться и всё испортить.

Находить такие ошибки можно, даже не написав ни строчки кода — если пользоваться методами формальной верификации алгоритмов. Таких методов много. Вместе с Алексеем Найденовым (ITooLabs) поговорим про TLA+/TLC, про PlusCal — транслируемый в TLA+ язык спецификации алгоритмов специально для инженеров, про инструментарий, а также про практики применения TLA+/TLC в реальных проектах https://clck.ru/X9JVa.

Осталось совсем мало времени, чтобы забронировать по выгодной цене свое участие в Saint HighLoad++. Торопитесь! Программа и билеты https://clck.ru/X9JWK
2025/06/27 23:13:07
Back to Top
HTML Embed Code: