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

Резултати

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

Търсене: #php

当前筛选 #php清除筛选
GitHub Trends

@githubtrending · Post #14944 · 10.07.2025 г., 14:30

#php You can easily set up a WordPress development environment using GitHub Codespaces or locally with Docker. Codespaces lets you start coding in a ready-made cloud environment directly from your browser, saving setup time and letting you work anywhere. For local setup, you need Node.js, npm, and Docker installed. After cloning the WordPress development repository, you run simple commands to install dependencies, build the project, and start the environment. You can access your WordPress site at http8889, run tests, and manage the environment with commands. This setup helps you develop, test, and contribute to WordPress efficiently without complex manual configuration. https://github.com/WordPress/wordpress-develop

Hashtags

Solidot 纯净版

@SolidotR · Post #5339 · 08.05.2026 г., 06:39

PHP 项目淘汰 PHP 许可证 #PHP PHP 项目正式宣布淘汰 PHP 许可证,切换到 3-Clause BSD License。PHP 许可证属于与 GPL 不兼容的自由软件许可证,因为许可证限制了对“PHP”一词的使用。该许可证也赋予 PHP Group 修改许可证的权力,而修改许可证需要获得每一位 PHP Group 创始成员的书面同意。PHP 项目包含了由 Zend Technologies 开发的 Zend Engine,Zend Technologies 于 2019 年被 Perforce Software 收购,Perforce 也已经同意了许可证更改。PHP 项目宣布他们已经获得了修改许可证的完整授权。 https://wiki.php.net/rfc/php_license_update https://lwn.net/Articles/1063993/

Hashtags

BotsGram®

@botsgram_cu · Post #3655 · 14.03.2021 г., 17:54

¿Que puede hacer este bot? @phpiobot Este bot fue creado para ayudar a los programadores a encontrar documentación de funciones en PHP vía inline Idioma: inglés (Visto en @botsgram_cu) #php

Hashtags

NexTech招聘官方频道

@nextech666 · Post #563 · 05.11.2025 г., 09:44

#PHP PHP开发工程师 薪资待遇:面议,依资历谈薪 简历投递窗口:@jiesi997@nownow115@coco_0622 工作职责: 职责一:开发工作 任务1、负责后端功能的技术开发以及性能优化工作 任务2、负责接口的开发维护和调试 职责二:性能优化 任务1、对产品功能进行不断优化 职责三:新产品开发 任务1、根据需求,开发新产品的功能 任务2、编写功能开发的相关技术文档 任职要求: 1、3年以上PHP开发经验,熟悉PHP各种框架优先 2、熟练掌握PHP编程语言,熟悉PHP面向对象编程 3、熟练掌握MySQL相关技术,熟悉SQL索引调优,熟悉TiDB 4、熟悉memcached、redis、mongodb等nosql 5、熟练使用Linux操作系统,熟悉shell编程 6、熟悉javascript/jquery等前端开发相关技术 7、熟悉nginx配置,python、java优先 8、有良好的沟通理理解能力和团队合作精神,能够快速融入团队 9、有游戏公司从业经历优先

Hashtags

NexTech招聘官方频道

@nextech666 · Post #526 · 01.10.2024 г., 04:40

#PHP PHP开发工程师 薪资待遇:面议,依资历谈薪 简历投递窗口:@jiesi997@nownow168@tung51688 工作职责 职责一:开发工作 1、负责后端功能的技术开发以及性能优化工作。 2、负责接口的开发维护和调试。 职责二:性能优化 1、对产品功能进行不断优化。 职责三:新产品开发 1、根据需求,开发新产品的功能。 2、编写功能开发的相关技术文档。 任职要求 1、3年以上PHP开发经验,熟悉PHP各种框架优先。 2、熟练掌握PHP编程语言,熟悉PHP面向对象编程。 3、熟练掌握MySQL相关技术,熟悉SQL索引调优,熟悉TiDB。 4、熟悉memcached、redis、mongodb等nosql。 5、熟练使用Linux操作系统,熟悉shell编程。 6、熟悉javascript/jquery等前端开发相关技术。 7、熟悉nginx配置,python、java优先。 8、有良好的沟通理理解能力和团队合作精神,能够快速融入团队。 9、有游戏公司从业经历优先。

Hashtags

Valisher Botirov | Development

@valisherbotirov · Post #92 · 27.03.2023 г., 04:28

PHP backend 5-dars PHP global o'zgaruvchilari. Kichik amaliyot - $_SESSION - $_COOKIE - Ko'p tillik web saytlar qilish Mentor : Jamshidbek Akhlidinov #php 👉Telegram | Instagram | YouTube

Hashtags

Valisher Botirov | Development

@valisherbotirov · Post #91 · 27.03.2023 г., 04:27

PHP backend 4-dars PHP global o'zgaruvchilari - $GLOBALS - $_SERVER - $_REQUEST - $_POST - $_GET - $_FILES - Kichik amaliyot Mentor : Jamshidbek Akhlidinov #php 👉Telegram | Instagram | YouTube

Hashtags

Valisher Botirov | Development

@valisherbotirov · Post #69 · 18.03.2023 г., 17:56

Php Backend 3 - dars. Amaliyot. - Massivlar orqali yangilik (news) sayti - Massivlar - Shartga tekshirish - Sikl operatorlari - Json bilan ishlash - Array ni api ga aylantirish Mentor : Jamshidbek Akhlidinov #php 👉Telegram | Instagram | YouTube

Hashtags

123•••78
ПредишнаСтр. 1 от 8Следваща