Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области.
Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него.
"Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!"
Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее.
Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то.
С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше.
Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс.
В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков.
#dev
#обомне#активизм#therapy
Много чего произошло в моей жизни за то время, что я здесь не был.
🤔 Например, много терапии: я хожу на учебную группу по
гештальту (осталась одна трёхдневка для завершения первой ступени) и на личную, понятное дело. Думаю, именно она позволяет мне обходится без лекарств, да и вообще быть с собой (и другими) более честным.
Я также пробовал немного mindfulness, в частности, осознанную еду, но это несовместимо с моим отвращением к приготовлению еды, ибо когда ешь осознанно, то прям чувствуешь, где и сколько какой гадости насыпали )
Поэтому приходится практиковать что-то вроде "или ешь, что дают в кафе (и тогда эту осознанность иногда лучше вообще не включать), или сиди голодный".
Ещё я немного поиграл в "Зарешай" (и очень эту игру и вам советую, говорят, старт следующей будет 20го июля здесь https://clck.ru/GuuLp ), где получил довольно полезные инструменты преодоления собственной мнительности и решения поставленных задач. Прокрастинацию с творчеством полностью победить не вышло, но то, что я мог сделать для своего развития (и именно эти действия я прокрастинировал) я сделал! Игра очень стоит того, чтоб попробовать, рекомендую! 🥳
Переживаю довольно много стыда 🥺 и за свои посты, и за свои поступки, и за чувства, и за признания, что стыдно. Собственно, сейчас тоже стыдно писать, видимо, я в принципе более откровенен в тех местах, где у многих стыд, и наоборот. Например, мне абсолютно не стыдно раздеться на публике (если соблюдена физическая безопасность), но стыдно признаться, что я могу невзаимно влюбиться, и совсем пиздец стыдно, если об этом узнают (а вот naked photo или какое-то порн-видео (такого у меня пока нет)- да хоть на всю страну).
🛴 освоил электросамокат (ну, т.е. как - до сих пор не понимаю, как правильно тормозить 😅 ) и это был интересный терапевтичный опыт. Учитывая, что я никогда ни на чём не катался (пару недель трёхколесного велика в 4 года не в счёт), т.е. абсолютно не умел.
😕 Всё меньше консультирую транс*людей (я вообще-то очень от этого устал), руковожу организацией и это довольно далеко от активизма, из которого я пришел и который меня вдохновляет. Но с НГО всегда так, там тоже есть свои плюсы и минусы.
Остальное стоит рассказывать более детально, в моих любимых традициях предлагаю жать на кнопочки:
🦉 Сова хочет больше узнать про терапию и личные истории, там всплывающие
🐌 Улиточке интересно про мою организацию и активизм, их различия
🐛 Червячок очень осторожно просит рассказать о стыде
🦇 Кожанчик хочет трип-репортов
🐼 А какая терапевтичность у электросамоката? оО
Еще один свежий обзор на тему коммуникации нервной и иммунной систем: авторы вводят понятие 'нейроиммунного коннектома', который определяют как совокупность нейроиммунных взаимодействий в организме. Полный текст выкладываю в комментарии.👇
В мае пройдет Гордоновская конференция: “Neuroimmune Communication in Health and Disease”. — См. также недавнюю публикацию по нейроиммунологии.
#therapy | #brain
Colorado Springs woman wants to help you connect with nature yourself via forest therapy - #nature#forest#therapy - https://gazette.com/premium/colorado-springs-woman-wants-to-help-you-connect-with-nature-yourself-via-forest-therapy/article_e69ef9d6-8762-11eb-8445-77f11ce86524.html👌 Join @LovelyNature
Psychopaths, often called ‘evil,’ lack empathy and guilt. They were once seen as untreatable. New studies show therapy like CBT and computer training can reduce violence and help them feel empathy. Treatment is limited but promising. 🧠💡
[Read more]
@googlefactss#Psychopathy#Therapy#MentalHealth#ScienceFacts
Иммунные клетки говорят на языке нервов: свежий обзор. Клетки врожденного и адаптивного иммунитета продуцируют обычные нейротрансмиттеры и также реагируют на них. — В копилку тесной взаимосвязи между нервной и иммунной системами, и о потенциале воздействия на иммунные нейромедиаторные пути в лечении:
«Использование присущего иммунной системе «нейронного языка» может предложить новые стратегии для восстановления гомеостаза и достижения устойчивого терапевтического эффекта»
#cell | #therapy | #molbiol
#Innermost#AI#Therapy#Coach
Join the Innermost: AI Therapy Coach beta on ✈️#TestFlight
🔗 Link: https://testflight.apple.com/join/2FV7N6aW
Shared by Dimitri
🧠 Выложена полная программаSfN2025, ежегодной мега-конференции, которая пройдет в ноябре в Сан-Диего. В целом это и есть текущий ландшафт нейронаук. — Все сессии, симпозиумы разделены по дням и тематикам. Для примера: вот сессии, посвященныетехнологиям и методам, а вот — нейроинженерии. Списки разворачиваются при нажатии, можно прочесть краткое описание по каждому докладу.
#brain | #therapy | #theory
Важная работа, авторы омолодили клетки очень старого человека и предложили модель старения: с возрастом или при заболевании всё больше клеток начинают терять свою идентичность, становясь похожими на (мио)фибробласты, что ведет к нарастанию проблем. Авторы называют это «мезенхимальный дрейф». — Отмечу, что дрейф они обернули вспять методом 'частичного перепрограммирования' (его я упоминал на апрельской конфе LIFT).
👆 Исследование от Altos Labs, известного биотех стартапа, который поднял раунд $3 млрд и куда инвестировали в т.ч. Безос и Мильнер, а в команде четыре нобелевских лауреата, включая Синъя Яманаку, плюс сам изобретатель техники 'частичного перепрограммирования'. Также замечу, что первый автор статьи был постдоком у Веры Горбуновой, одного из мировых лидеров в теме изучения старения.
📄 В тему хороший недавний обзор по частичному перепрограммированию: как оно работает и каковы перспективы в контексте старения и регенеративной медицины (PDF статьи в Cell не нашел, увы).
#bioengineering | #molbiol | #cell | #therapy
Отмечу два направления, которые запускает “дарповское” агентство ARIA (UK). Оба интересны как намек на будущие подходы в медицине, как попытки выйти за пределы в поисках новых решений:
Формирование врожденного иммунитета. Идея — модулировать врожденную иммунную систему, с тем чтобы лечить или не дать развиться сердечно-сосудистым и нейродегенеративным заболеваниям, диабету, раку, аутоиммунным расстройствам. Задача — разработать точные и тонкие инструменты иммунной модуляции. Здесь пересекаются синтетическая биология, омика, методы доставки, иммунные модели in vitro. — Внизу документа ссылки, помогающие войти в тему.
Биоэнергетическая инженерия. Идея — регулировать хранение, преобразование и поток энергии в живых или биогибридных системах, с тем чтобы контролировать их свойства и поведение через перенастройку энергетического обмена, а не экспрессию генов. Задача — разработать инструменты проектирования органелл и синтетических регуляторных цепей. Здесь решающая роль у биоинженерии, биофизики, нанотехнологий и т.п. — Внизу документа ссылки, помогающие войти в тему.
#bioengineering | #therapy | #molbiol | #cell
Science про ‘temporal interference’ (TI), метод неинвазивной глубокой стимуляции мозга, пошли уже первые пилотные клинические исследования. Мы не раз писали про TI: электрические поля, посланные извне, пересекаются внутри мозга. Наложение их частот в небольшом объеме активирует нейроны, так можно модулировать любую структуру, от гиппокампа до таламуса, не вскрывая череп. — Стартап тоже в наличии, TI Solutions.
#tech | #modulation | #brain | #therapy
Создан самый маленький кардиостимулятор, как рисовое зернышко. Причем биорастворимый, и активируется ИК-светом от носимого пластыря на коже. Очередная разработка Роджерса и Ефимова (ранее мы уже писали про их проект). — См. также свежий пресс-релиз.
"Эта базовая технология может быть легко адаптирована для широкого спектра дополнительных приложений в электротерапии, таких как регенерация нервов и костей, терапия ран и лечение боли".
#tech | #modulation | #materials | #therapy
Химическое перепрограммирование клеток крови взрослого человека в плюрипотентные стволовые клетки, с помощью малых молекул. Авторы разработали надежный протокол получения hCiPS-клеток — достаточно одной капли крови из пальца.
В том же журнале: из hPSC получили дофаминергические нейроны иподсадили их в мозг депрессивным мышам. Активация этих нейронов вызывала эффект, схожий с антидепрессантами. Работа намекает на “возможность использования клеточной терапии для лечения психических расстройств”.
#cell | #molbiol | #bioengineering | #brain | #therapy