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

Резултати

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

Търсене: #devops

当前筛选 #devops清除筛选
infosecurity

@tg_infosec · Post #3621 · 26.09.2025 г., 12:33

👣 Путь в DevOps: полное руководство для новичков с нуля - 2025. • Нашел интересный материал, который поможет понять, что именно необходимо знать и куда смотреть, если планируете вкатиться в DevOps. Рекомендую к просмотру: https://youtu.be/8kvMficZrIo ➡00:14 - Всевозможные компетенции DevOps Инженера; ➡00:44 - Кому проще стать DevOps Инженером; ➡02:29 - Что учить по минимуму и в каком порядке; ➡10:27 - 1. Основы Networking TCP/IP; ➡11:46 - 2. Администрирование Windows; ➡12:38 - 3. Основы Linux; ➡13:28 - 4. Ansible; ➡13:56 - 5. Git; ➡14:26 - 6. GitHub; ➡14:52 - 7. CI/CD: GitHub Actions, GitLab CI/CD; ➡15:29 - 8. Docker + DockerHub; ➡16:16 - 9. Kubernetes + Helm + ArgoCD; ➡17:04 - 10. AWS: Amazon Web Services; ➡19:12 - 10. GCP: Google Cloud Platform; ➡20:27 - 10. Azure: Microsoft Azure; ➡21:38 - 11. Terraform + Terragrunt; ➡22:42 - 12. Python. #DevOps

Hashtags

infosecurity

@tg_infosec · Post #3116 · 12.04.2025 г., 12:31

📋 Disaster Recovery Plan: Как правильно заваривать чай, когда горит серверная. • В жизни любого проекта наступает катастрофа. Мы не можем заранее знать, что именно это будет - короткое замыкание в серверной, инженер, дропнувший центральную БД или нашествие бобров. Тем не менее, оно обязательно случится, причем по предельно идиотской причине. • Кстати, насчет бобров - это не шутка. В Канаде они перегрызли кабель и оставили целый район без оптоволоконной связи. А в топе источника проблем для крупной телекоммуникационной компании Level 3 Communications вообще были белки. • Короче, рано или поздно, кто-то обязательно что-то сломает, уронит, или зальет неверный конфиг в самый неподходящий момент. И вот тут появляется то, что отличает компании, которые успешно переживают фатальную аварию от тех, кто бегает кругами и пытается восстановить рассыпавшуюся инфраструктуру - DRP. Вот о том, как правильно написать Disaster Recovery Plan мы сегодня и поговорим: ➡️Читать статью [10 min]. #DevOps

Hashtags

infosecurity

@tg_infosec · Post #2855 · 15.01.2025 г., 12:30

🗺 DevOps Roadmap • Держите крутой и актуальный roadmap для DevOps, который включает в себя необходимые ссылки на обучающие материалы для каждого шага на этом пути. ➡️https://github.com/milanm/DevOps-Roadmap - GIT; - Learn one programming language; - Learn Linux & Scripting; - Learn Networking & Security; - Learn Server Management; - Learn Containers; - Learn Container Orchestration; - Learn Infrastructure as a code; - Learn CI/CD; - Learn Monitoring & Observability; - Learn one Cloud provider; - Learn Software Engineering Practices; - Additional resources; - Tools; - Books. #DevOps

Hashtags

infosecurity

@tg_infosec · Post #2686 · 15.11.2024 г., 16:30

👨‍💻 Attacking Against DevOps Environment. • SCM AUTHENTICATION; • CI/CD service authentication; • Organization’s public repositories; • Configured webhooks; • Configured webhooks; • Direct PPE (d-PPE); • Indirect PPE (i-PPE); • Public PPE; • Public dependency confusion; • Public package** hijack (“repo-jacking”); • Typosquatting; • DevOps resources compromise; • Changes in repository; • Inject in Artifacts; • Modify images in registry; • Create service credentials; • Secrets in private repositories; • Commit/push to protected branches; • Certificates and identities from metadata services; • User Credentials; • Service Credentials; • Compromise build artifacts; • Registry injection; • Spread to deployment resources; • Service logs manipulation; • Compilation manipulation; • Reconfigure branch protections; • DDoS; • Cryptocurrency mining; • Local DoS; • Resource deletion; • Clone private repositories; • Pipeline logs; • Exfiltrate data from production resources. ➡️https://blog.devsecopsguides.com #DevOps

Hashtags

Audiences Channel

@Audiences_Channel · Post #5 · 10.01.2022 г., 14:47

#Audiences#Notice#DevOps DEPRECATED 已失效 最近有部分用戶反映無法連接主站或Tracker伺服器, 對於此問題,請嘗試以下解決方案: 主站連接 出現異常的用戶,請在hosts中添加 185.143.221.221 audiences.me Tracker 出現異常的用戶,請在hosts中添加 185.143.221.221 t.audiences.me 請注意,如果你的連接一切正常,此方法只會使連接性變差。 所以正常情況請不要應用此方法,除非你無法連接伺服器。 Channel: @Audiences_Channel

Audiences Channel

@Audiences_Channel · Post #15 · 29.04.2022 г., 02:35

#Audiences#Notice#DevOps#Invitation 感謝各位的支持和陪伴,現已接近特殊時期尾聲,站點恢復邀請權限至年輕氣盛(Power User),並發布幾條重要通知如下 1. 近期站點變動:種子列表頁支持 豆瓣鏈接 / ID搜索;默認以標題 / IMDb / 豆瓣搜索 2. 五月一日全體年輕氣盛(Power User)及以上等級用戶發放臨時邀請一枚,請各位規範發放 Channel: @Audiences_Channel

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