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

Резултати

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

Търсене: #cncf

当前筛选 #cncf清除筛选
每日 AWESOME 观察

@awesomeopensource · Post #146 · 25.07.2018 г., 14:38

​​kubernetes Kubernetes 是用于自动部署,扩展和管理容器化应用程序的开源系统。Kubernetes 构建在 Google 15 年生产环境经验基础之上,并结合来自社区的最佳创意和实践。有优秀的文档和教程,部署最大最稳定的应用。 Tags:#cncf#containers Languages:#go

GitHub Trends

@githubtrending · Post #15307 · 04.12.2025 г., 21:00

#go#cncf#containers#go#kubernetes Kubernetes is an open system that helps manage and run apps in containers across many computers. It makes it easy to deploy, update, and scale apps automatically, so they stay fast and available even when demand changes. If something fails, Kubernetes fixes it quickly without needing manual help. This means apps run smoothly, use resources efficiently, and need less time and effort to manage, saving money and letting teams focus on building new features instead of fixing problems. https://github.com/kubernetes/kubernetes

GitHub Trends

@githubtrending · Post #14942 · 10.07.2025 г., 13:30

#go#chart#charts#cncf#helm#kubernetes Helm is a tool that helps manage applications on Kubernetes. It simplifies deploying and managing apps by using pre-configured packages called Helm Charts. These charts include all the necessary resources for an application, making it easy to install, update, or remove apps with just a few commands. This saves time and reduces errors, as you only need to edit a single file to change settings across different environments. Using Helm boosts productivity and makes deploying complex applications much easier. https://github.com/helm/helm

🗣Внимание, конкурс! Разыгрываем 7 ваучеров на бесплатное обучение и сертификацию от TheLinux Foundation. Ваучеры дают 100% скидку до 31.10.2025 — и мы хотим ими поделиться: 🟣Каталог электронных курсов и сертификации Их можно применить к любому: — онлайн-курсу — сертификационному экзамену — или пакету (курс + сертификация) 🤝CKA, CKS, CKAD и другие — в комплекте! Условия розыгрыша просты: 🔵Подпишитесь на KazDevOps и нажмите "участвую" под этим постом. 🚩14ноября подведем итоги и выберем 7 победителей. Каждый получит по ваучеру. Активировать ваучеры нужно до 31.10.2025. После этого у вас будет 1 год и 2 попытки, чтобы завершить обучение и/или сдать экзамен. Go-go-go, и успехов! #kubernetes#cka#ckad#cks#k8s#linuxfoundation#cncf @DevOpsKaz😛

Стартап слезам не верит

@startupslezamneverit · Post #886 · 31.01.2024 г., 12:45

🗣Внимание, конкурс! Разыгрываем 10 ваучеров на бесплатное обучение и сертификацию от TheLinux Foundation. Ваучеры дают 100% скидку на курс или экзамен из списка ниже до 17.01.2025 — и мы хотим ими поделиться: 🟣Каталог электронных курсов 🟣Каталог сертификации Их можно применить к любому: — онлайн-курсу — сертификационному экзамену — или пакету (курс + сертификация) 🤝CKA, CKS, CKAD и другие — в комплекте! Условия розыгрыша просты: 🔵Подпишитесь на KazDevOps и оставьте комментарий "+" под постом о конкурсе. 🚩 Комментарий обязательно оставлять в официальном аккаунте KazDevOps 🥳 9 февраля организаторы подведут итоги и выберут 10 победителей методом генерации случайных чисел. Каждый получит по ваучеру. Активировать ваучеры нужно до 17.01.2025. Go-go-go, и успехов! #kubernetes#cka#ckad#cks#k8s#linuxfoundation#cncf

GitHub Trends

@githubtrending · Post #14992 · 23.07.2025 г., 13:00

#go#aws#azure#cncf#cost#cost_optimization#finops#gcp#k8s#kubernetes#monitoring#opencost#prometheus OpenCost is a free, open-source tool that helps you see and understand the costs of running Kubernetes clusters and cloud services in real time. It breaks down costs by cluster, node, namespace, pod, and more, across multiple cloud providers like AWS, Azure, and GCP, and even supports on-premises setups. This lets you track where your money is going, spot expensive resources, and manage your cloud spending better. It integrates with Prometheus for metrics and offers a user-friendly web interface and APIs for easy cost monitoring and exporting. Using OpenCost helps you control and optimize your cloud and Kubernetes expenses efficiently[1][2][3][4]. https://github.com/opencost/opencost

GitHub Trends

@githubtrending · Post #14969 · 17.07.2025 г., 11:30

#cplusplus#artificial_intelligence#cloud#cloud_native#cncf#container#docker#edge_computing#ewasm#hacktoberfest#hacktoberfest2023#kubernetes#rust_lang#serverless#wasm#webassembly WasmEdge is a fast, lightweight, and secure WebAssembly runtime that lets you run programs safely on your devices, servers, or the cloud. It supports many programming languages like C++, Rust, and JavaScript, and can run AI models, microservices, and smart contracts efficiently. WasmEdge offers strong security by isolating programs, making it great for extending software safely. It works well on edge devices, smart devices, and cloud environments, and supports easy integration with tools like Kubernetes and Docker. Using WasmEdge helps you run powerful applications faster, safer, and more flexibly on various platforms[1][2][3][4][5]. https://github.com/WasmEdge/WasmEdge

GitHub Trends

@githubtrending · Post #15415 · 15.01.2026 г., 12:30

#go#bpf#cncf#cni#containers#ebpf#k8s#kernel#kubernetes#kubernetes_networking#loadbalancing#monitoring#networking#observability#security#troubleshooting#xdp Cilium is an eBPF-based tool for Kubernetes that delivers fast networking, deep visibility, and strong security. It creates simple Layer 3 networks across clusters, handles load balancing to replace kube-proxy, enforces identity-based policies from L3 to L7 (like HTTP or DNS rules), supports service mesh with encryption, and offers Hubble for real-time traffic monitoring. Stable versions like v1.18.6 run on AMD64/AArch64. You gain scalable performance, easier policy management without IP hassles, better troubleshooting, and higher efficiency for large cloud-native apps, cutting costs and boosting reliability. https://github.com/cilium/cilium

GitHub Trends

@githubtrending · Post #15021 · 01.08.2025 г., 13:30

#go#argocd#cloud_native#cncf#container_management#devops#ebpf#hacktoberfest#istio#jenkins#k8s#kubernetes#kubernetes_platform_solution#kubesphere#llm#multi_cluster#observability#servicemesh KubeSphere is an easy-to-use, open-source platform that helps you manage Kubernetes clusters across clouds, data centers, and edge devices from one place. It offers a friendly web interface, supports multi-cluster and multi-tenant management, and automates DevOps tasks like CI/CD pipelines. You get built-in monitoring, logging, alerting, and security features such as role-based access control. It also includes an App Store for quick deployment of applications and supports various storage and networking options. This makes managing complex Kubernetes environments simpler, faster, and more secure, saving you time and reducing operational challenges. https://github.com/kubesphere/kubesphere