@PTPPAction · Post #1030 · 02.09.2023 г., 12:45
#dev#IITII#merged fix: 按通用名称进行了简单的用户分组
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #721 · 26.12
Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev
Hashtags
Общо глобално търсене
@PTPPAction · Post #1030 · 02.09.2023 г., 12:45
#dev#IITII#merged fix: 按通用名称进行了简单的用户分组
@PTPPAction · Post #1027 · 02.09.2023 г., 12:15
#dev#IITII#merged fix(#1157): 不要翻译此网页
@PTPPAction · Post #1018 · 02.09.2023 г., 08:05
#dev#IITII#merged feat: upLimit for deluge
@PTPPAction · Post #1015 · 02.09.2023 г., 01:55
#dev#IITII#merged fix(#1260): 对齐数据更新时间
@NahidaBookmarks · Post #50 · 03.02.2024 г., 20:17
USB Device Tree Viewer / USB 设备树查看器 https://www.uwe-sieber.de/usbtreeview_e.html#download Windows 下 lsusb 的 GUI 替代 偶尔可以 debug 用,或者看设备信息。 Linus 好像在某期视频中尝试达到 USB 设备上限,似乎用的就是这个软件。 这次是看到了这个视频 https://www.bilibili.com/video/av1350209521/ #win#tools#free#software#dev#hardware
@clockstackwheels · Post #1197 · 30.12.2025 г., 10:08
Каждый Новый Год, как вы помните, я пытаюсь придумать какую-то новую технологическую фишечку к празднику. Идея вот этого у меня возникла еще год назад, но ни времени, ни знаний для реализации толком не было. В этот же раз поставил себе цель обязательно разобраться и добить. Демка на видео, без звука будет непонятно. Из недостатков, конечно, нужно калибровать под каждые светодиоды то, как визуально будет выглядеть тот или иной цвет. Я этого не делал, поэтому попадание не чтоб прям идеальное, особенно для сложных сцен типа «осенний лес». Из крутого внезапно узнал, что ESP32 двухъядерная! Не знаю, как я это пропустил в своё время. Но тут прям можно одним потоком читать сеть, а другим драйвить ленту и не делать паузы. В целом мне всё равно нравится. Работает под управлением DeepSeek. В первой версии был GigaChat, он отвечает где-то вдвое быстрее, но слишком часто предлагает цвета совершенно мимо того, что я назвал. Репозиторий с не слишком аккуратным кодом, если кому не лень будет возиться :) С наступающим! #dev@clockstackwheels#gadgets@clockstackwheels#diy@clockstackwheels
@tonevents_en · Post #872 · 23.09.2024 г., 17:47
On October 31, Dubai will host the Telegram Builders Day organized by the @epicweb3 team🧞♂️ @epicweb3 is known for creating events for blockchain builders around the globe, and this will be their debut in the Telegram ecosystem! Get ready to hear from speakers representing #Notcoin, #Blum, TON Ventures, #Fanzee Battles, and TonTon Games, who will discuss user acquisition, attracting investments, launching successful viral projects, and the future of the ecosystem. The event is 🫰FREE, so if you're looking for networking opportunities and a deep dive into the ecosystem — this is the place to be!✨ #TON#events#networking#dev
@ethereumglobalnews · Post #1590 · 20.12.2025 г., 05:23
⚡️#ETH 升級進展 : 以太坊開發者已正式將 Glamsterdam 之後的升級命名為 「Hegota」,後續路線圖命名節點已確認。 #以太坊#区块链#进化 #Ethereum#Dev#Roadmap ——— ⚡️ ETH: Developers have named the post-Glamsterdam upgrade “Hegota.” #Upgrade 👇⭐️👇 🤣 資源搜索 點擊🖲️👆
@clockstackwheels · Post #401 · 27.06.2022 г., 20:10
Сегодня целый день был на офлайн-части конференции #DotNext для разработчиков под платформу .NET. Посетил две лекции, два круглых стола (это такое обсуждение несколькими экспертами на сцене, как подкаст, но вживую), поучаствовал во всех активностях, позадавал вопросы и обсудил со спикерами и другими участниками ряд проблем. Вроде всё на месте, но я понял вот что: для меня было мало точек приложения внимания в ширину, однако избыток приложения внимания в глубину. Возможно, я сам себя не слишком правильно настроил. Лето, жара, скоро отпуск: кажется, я ошибочно ожидал чего-то более казуального от мероприятия. Могу сказать, что в своё время посещение TechTrain принесло мне суммарно больше удовольствия, хотя там билеты на порядок дешевле, и выставка в целом более лёгкая и менее тематическая. Здесь же было хорошее глубокое погружение в тему, но горизонтально мне не хватило разнообразия: мало стендов (два), мало пространства по выбору лекций (в каждый момент шло две лекции в двух залах, выбор всегда из двух). На стенде от PVS-Studio поискал ошибки в коде, получил много мерча, прикольного. Но сама система у ребят только корпоративная, индивидуальных лицензий нет, а я возможно даже попробовал бы. Второй стенд от Промсвязьбанка предлагал телеграм-бота с разными заданиями. Я, кстати, Промсвязьбанку писал недавно квиз на Хабр. Они активно хантят народ. Задания были нормальные: там и коммуникация с другими участниками, и ответы на вопросы, и всякое решение задачек. Но разрыв по очкам между точками получения призов такой большой, что всю вторую половину игры я буквально вёл впустую. Из минусов организации отмечу два момента: 1. Офлайн-участников было не очень много, а онлайн-участников существенно больше. Поэтому даже офлайн-участникам предлагалось задавать вопросы спикерам с помощью чатов в Телеграме. Это не только создавало миллион чатов (по каждому докладу свой чат, потому что Телега не умеет в комнаты), но и было неудобно в процессе — ссылка на чат показывалась только в самом начале доклада, если не успел, а вопрос возник по ходу лекции, то найти ссылку проблематично. И вообще, я считаю, что правильно было бы дискриминировать онлайн-участников. Они меньше заплатили за билет, они поленились приехать. Но их удобство в итоге было приоритетным над удобством офлайн-участников просто из-за количества. 2. Дискуссии пересекались по времени с другими лекциями и с обедом. В итоге нельзя было полноценно пообсуждать что-то со спикером, не опоздав куда-то дальше. А на обед я вообще попал тогда, когда почти всё уже съели. За счёт работодателя бы ездил с удовольствием, но за личные деньги, пожалуй, не моё. #dev
@clockstackwheels · Post #385 · 17.06.2022 г., 18:27
Второй онлайн-день #DotNext закончился. В числе прочего был интересный разговор на тему «Страх и ненависть в Open Source», но я вам о некоторых особо заметных случаях рассказывал уже вот тут и тут. Ещё послушал про обратное соединение распиленного монолита (бывает, что и такое нужно!) и ещё пару докладов. В целом, впечатления противоречивые. Опишу кратко. Плюсы: 1. Высочайшего качества техническая организация. Ничего не глючило, чистая картинка и звук, удобный UI. 2. Были полезные и практичные вещи, интересные. 3. Реально отвечали на вопросы в чате в реалтайм-режиме. Что прошло ниже моих ожиданий (я впервые на такой дорогой IT-конференции): 1. Наверное, подсознательно я ожидал что с учётом цены билета буквально каждый доклад будет супер звёздным уровня "Торвальдс лично рассказывает подробности устройства ядра Linux, и делает это с шутками и котиками". Но доклады в среднем довольно обычные. Некоторые поверхностные, другие на очень далёкую от меня тему. И ещё их не очень много, не то, чтоб был гигантский выбор. Хотя, справедливости ради, больше 2-3 лекций в день тяжело осилить. 2. Интерактивные фишки формально заявлены: виртуальные стенды и квизы. По факту, во-первых, стенды и квизы полностью повторяют друг друга, во-вторых, их было всего два, и интересный (на мой личный взгляд) только один. Я ожидал, что их хотя бы десяток будет. 3. Часть обсуждения в Telegram, часть прямо в онлайн-чате лекции, и это, на мой взгляд, не пошло на пользу. Мне не хотелось вступать в Telegram-чат, но активность в основном чате лекции была низкой, при этом с телефона такой чат вообще не подразумевался. Я для себя убедился, что всё-таки именно мне в таких мероприятиях важна офлайновость: прийти и вживую потусить, получить мерч, поучаствовать в активностях. Чисто в онлайн-формате сугубо на мой взгляд мероприятие себя не окупает. Посмотрим, что будет в офлайне 27-го числа, напишу вам отзыв. #dev
@clockstackwheels · Post #384 · 16.06.2022 г., 20:02
Сегодня был первый день конференции #DotNext, пока в онлайне (но офлайн тоже будет, в Петербурге 27-го июня, я пойду). Конференция для разработчиков на .NET, в первую очередь C# и связанные технологии. Особенно понравилась лекция про историю C#. Вот ниже схема, где стрелками обозначено влияние одного языка на другой в некоторых аспектах (хотя не во всех: например, Kotlin тоже взаимно повлиял на C#, скажем, датаклассы из него заимствованы, в C# это тип record). Ещё я не знал, что C# создал Андерс Хейлсберг — тот самый, который в своё время сделал Delphi. Это удивительно. Я когда-то начинал свой путь разработки именно с Delphi, сделал на нём много первых шагов. А теперь вот пишу на C# от того же автора, круг замкнулся. Ещё Хейлсберг один из авторов TypeScript: в общем, умеет мужик в языки! В ходе этой лекции было любопытно узнать или вспомнить, как всё-таки плохо во многих других языках с удобством совершенно типовых действий, начиная от обобщённого программирования и заканчивая ленивой обработкой или генерацией бесконечных множеств. Понятно, что человек ко всему привыкает, но переходить на другой язык после C# было бы болезненно, мне кажется. По крайней мере, для энтерпрайз разработки, где важна архитектура и статический анализ. Завтра второй онлайн-день, посмотрим, что будет там.#dev
@TFGames · Post #2215 · 23.02.2024 г., 20:51
#DEV#CASINO#VERSE#WIND#CREEK #GAMES https://testflight.apple.com/join/KLkSwonU