TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #721 · 26.12

Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev

Hashtags

Резултати

Намерени 7 подобни публикации

Търсене: #happier

当前筛选 #happier清除筛选
купрум канал

@cuprumchannel · Post #1556 · 27.11.2023 г., 00:03

#happier ...то есть, из-за того, что мне неловко писать на "сторонние темы", моё мимолётное увлечение пиратами пройдёт мимо моего блога? И в будущем, если я вдруг про него вспомню, то не найду ничего, что оставила бы себе же на память? Снова клубок тем, но в первую очередь – "о чём писать можно, а о чём нельзя". В блоге я в основном думаю вслух, и думать пытаюсь о чём-то субъективно важном: пока пишу, часто переосмысляю свои же убеждения. А потом: "Ого, Wiktionary говорит, что греческое καραμέλα – это заимствованное итальянское caramella! ...стойте, а ведь Греция и Италия же сравнительно близко друг к другу..." В случае же с пиратами получилось так, что желание безопасно и малозатратно пробовать новое совпало с более близким знакомством с Heroes of Might and Magic 3: Horn of the Abyss, где есть пираты, причём довольно крутые. Играть я устала через три дня (я играю в Героев уже ~17 лет, насколько помню, такое почти кому угодно надоест), но теперь то, что я делаю, я делаю под вариации морских песен. Например. Тут есть и какое-то новое практическое знание, которым можно поделиться, но, кажется, формат "дельта на дельте" меня не только утомил, но и запер в узких рамках. Мне кажется, что нужно писать о чём-то, что читатели смогут использовать сами; в итоге мне самой тесно, потому что жизнь зачастую далеко не только про полезность. С другой стороны, почему я говорю, что увлечение пиратами мимолётно: ему всего пара дней, и я специально не углубляюсь в тему – это всё действительно далеко от того, чем я обычно занимаюсь, и хотя мне интересно, я не хотела бы обменивать свои немногие ресурсы именно на эту тему среди всех остальных. В то же время музыка навевает дух приключений, который в реальной жизни у меня бывает очень редко – и мне действительно не хватает вдохновляющих штук. И, как обычно, я не очень согласна заметать под ковёр вещи, от которых мои глаза загораются. Особенно если не соглашаюсь я сама с собой.

Hashtags

купрум канал

@cuprumchannel · Post #1551 · 23.11.2023 г., 16:01

#happier Сижу холодными зимними вечерами и рассказываю про Героев Меча и Магии, или про тропы, или про тропы в Героях Меча и Магии... :) Мало пишу об этом, но в последнее время (не больше месяца-двух) я порой внезапно обнаруживаю у себя экспертность, которую ценю и в других. Экспертность ощущается через "ого, оказывается, я знаю намного больше, чем думала". Как обычно, это не значит, что все остальные люди проживают это так же или что я всегда проживаю это именно так. Да, скорее всего, я не буду выигрывать онлайн-турниры и не знаю и десятой части 31773 тропов на ТВТропах. Тем не менее я играла в Героев так много, что теперь пятая часть надоедает мне уже на главном меню, а на ТВТропах было проведено немало вечеров. Но обычно я не ощущаю прогресс в таких вещах... Пока не начинаю о нём говорить кому-то ещё. Вдруг оказывается, что я помню намного больше деталей, чем думаю. Мотивирует больше изучать темы, которые, кхм, ассоциируются у меня с работой; хочется больше положительного подкрепления такого рода. "Да, я знаю".

Hashtags

купрум канал

@cuprumchannel · Post #1495 · 01.11.2023 г., 16:02

#happier ...так вот, теория категорий. Думаю, весь дальнейший пост будет звучать весьма наивно/расплывчато из-за того, что я не очень разбираюсь в том, о чём говорю. Щито поделать. Слова "я изучаю теорию категорий" из моих уст могут звучать довольно кринжово. Я, человек, в апреле заново проходивший логарифмы к ЕГЭ, вдруг интересуюсь одной из самых абстрактных областей в математике... ...но ведь потому и интересно: я могу не очень хорошо считать, но я люблю находить паттерны и смотреть на происходящее с пост-пост-мета-мета позиции. "Пусть сначала сломается" (с) – не хочу откидывать интересное только потому, что люди с моим уровнем обычно его не понимают; а если не пойму сама, то всегда смогу задать себе вопрос "почему?" и пойти гуглить точечно. Поиск паттернов, в свою очередь, вызывает у меня мысли о дискурс-анализе. Я не знаю, определились ли исследователи с тем, что такое "дискурс"; я его интерпретирую скорее как совокупность высказываний различных форм и содержания, а дальше, кхм, становится сложнее. Для меня одна из самых захватывающих штук в дискурс-анализе – это попытка обнаружить то, о чём автор не говорит явно. Почему люди пишут так, как пишут? Потому что так принято, потому что они не имеют возможности сказать прямо? И ведь по сей день некоторые древние тексты переведены, но до сих пор не расшифрованы до конца – нужный культурный контекст уже утерян, а метафоры и прочее остались. А потом я начинаю поглядывать на Eliciting Latent Knowledge – одну из открытых проблем AI Safety. На суперрукомахательном уровне – "допустим, ИИ владеет некой информацией, которую он не сообщает людям в ответ на запрос; как понять, что ИИ недоговаривает/лжёт?". Я не знаю, насколько социальные и прочие факторы влияют на обучение ИИ, но сама эта задача – "вытащить наружу некое неявное знание" – всё ещё звучит интересно, хотя я ожидаю, что методы дискурс-анализа тут вряд ли будут хорошо работать. И, что занятно: узкие, конкретные исследовательские вопросы и области могут сильно различаться, но общие, широкие вопросы и закрываемые ими потребности могут быть одинаковыми. И, немного в сторону: даже если выяснится, что все эти области выглядят не так, как я думаю сейчас, когда я знаю о них лишь понаслышке, – ничего страшного. Я могу понять, что это не моё, и пойти закрывать общие интересы другими способами; могу полюбить эти сферы за что-то ещё. Мои новичковые, наивные представления о том, как работает мир – это не те убеждения, за которые я хочу держаться дольше необходимого.

Hashtags

купрум канал

@cuprumchannel · Post #1493 · 01.11.2023 г., 05:11

#happier Тем временем коллеги из Сербии открыли новый AI Safety коворкинг в Белграде. 🎉 Я сама вряд ли там буду в обозримом будущем, но если вдруг кто-нибудь искал такое AIS/EA/LW-сообщество — вот оно! :з

Hashtags

купрум канал

@cuprumchannel · Post #1492 · 01.11.2023 г., 04:37

Вчера хотела написать ещё пост про штуки, которые меня радуют, но "я и так уже написала две стены текста и третью репостнула — да, укладываюсь в свой же лимит 5 постов/день, но куда ещё одну такую же". Но! В последнее время потихоньку становится лучше эмоционально, и хочется хотя бы немного сместить акценты. Проблемы из жизни не исчезают — но я постепенно становлюсь радостнее. #happier

Hashtags

купрум канал

@cuprumchannel · Post #1489 · 31.10.2023 г., 04:42

#happier ...я писала пост, который начинался как-то так и должен был иметь какой-то такой посыл: Недавно я пережила кризис веры и глубокий провал в мотивации, поэтому уже неделю-две как читаю и смотрю в первую очередь то, что интересно именно мне — даже если оно напрямую не связано с рациональностью, эффективным альтруизмом или AI Safety. Я считаю, что знания из других областей всё равно полезны, даже если это не то, чем я занимаюсь на постоянной основе — и любопытство не враг мне. ...поэтому теория категорий. Почему вы сейчас читаете (если, конечно, вы обновили тг до последней версии) именно этот пост, а не тот? Потому что я ставлю ссылки на источники, и в этом случае источник — эссе Юдковского "Кризис веры"... ...которое, оказывается, я не читала дальше первого абзаца и которое вообще не про то, что я хотела написать. Но я прочитала — и это эссе, а потом ещё одно (надо ставить ссылки на источники! ой, это короткое и выглядит интересно, пусть будет ещё одно). Здесь можно было бы выйти на что-нибудь поучительное вроде "Чекайте источники" -> "Не ограничивайтесь чем-то одним, если вам любопытны и другие вещи", но на самом деле мне хотелось поделиться радостью. Увы, в последнее время я не очень много радуюсь и ещё меньше об этом пишу — но даже в лучшие времена не так уж много вещей заставляет меня встать со стула и пойти танцевать. Всё-таки источник не виноват в том, что я долго читала именно его — он не теряет своей полезности от этого. Но, зная, что я не хочу (а, быть может, и не могу) поглощать так много материала за один присест, я разрешаю себе свободно плавать и изучать разное — зная, впрочем, что у меня есть Цель, ради которой я вплетаю отдельные ниточки в цельное полотно своей картины мира. И иногда я возвращаюсь — со свежим взглядом, с новыми знаниями и опытом — и обнаруживаю, что мне всё ещё интересно. И что мотивацией тоже можно управлять.

Hashtags

Happier - Olivia Rodrigo ('60s Girl Group Style) ft. Allison Young 2022-03-04 by PostmodernJukebox #OliviaRodrigo#Happier#OliviaRodrigocover#Happiercover#OliviaRodrigoHappier#HappierOliviaRodrigo#OliviaRodrigoHappiercover #YouTube#liked