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

Резултати

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

Търсене: #other

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

@githubtrending · Post #15608 · 07.04.2026 г., 12:00

#other Use Karpathy-inspired guidelines in a single CLAUDE.md file to fix Claude's coding flaws like wrong assumptions, overcomplicated code, unnecessary edits, and poor goal-setting. Follow four rules: think explicitly before coding, prioritize simplicity, make only required changes, and use tests for verifiable success. Install via Claude plugin or curl command. You benefit with cleaner, minimal code, fewer errors, proactive questions, and self-correcting AI that delivers precise results faster. https://github.com/forrestchang/andrej-karpathy-skills

Hashtags

GitHub Trends

@githubtrending · Post #15538 · 03.03.2026 г., 16:30

#other The Agency offers 51 specialized AI agents across engineering, design, marketing, product, testing, and more, each with unique personalities, workflows, and code examples for tasks like building apps or running campaigns. Copy them to your Claude setup for instant use. This transforms your work by automating repetitive tasks, boosting efficiency by 30-50%, cutting errors and costs, and letting you scale projects fast without hiring—freeing time for creative, high-value goals. https://github.com/msitarzewski/agency-agents

Hashtags

GitHub Trends

@githubtrending · Post #15292 · 11.11.2025 г., 15:30

#other Email verification without sending emails streamlines how you confirm your email address online. Instead of clicking links or entering codes sent to your inbox, this new protocol lets your browser handle verification directly while you stay on the website. Your email provider verifies you're the rightful owner through existing login credentials, then sends a secure token back to the site. This eliminates delays, reduces frustration from dropped verification attempts, and protects your privacy by preventing email services from tracking which websites you're using. You get faster, smoother verification while maintaining better control over your personal information.[1][2] https://github.com/WICG/email-verification-protocol

Hashtags

GitHub Trends

@githubtrending · Post #15284 · 09.11.2025 г., 15:00

#other Kimi K2 is a powerful AI language model with 1 trillion parameters, designed to understand very long texts and perform complex tasks like coding, reasoning, and using tools autonomously. It excels at writing and debugging code, solving math and science problems, and managing multi-step workflows by calling external tools or APIs automatically. You can access it via an easy-to-use API or deploy it on popular platforms. This means you get a smart assistant that not only answers questions but also acts to complete tasks, making your work faster and more efficient, especially for coding and research projects. https://github.com/MoonshotAI/Kimi-K2

Hashtags

GitHub Trends

@githubtrending · Post #15256 · 01.11.2025 г., 12:30

#other GitHub Copilot CLI lets you use AI coding help right in your terminal, so you can build, edit, debug, and understand code by just talking to it naturally. It works with your GitHub account to access your repos, issues, and pull requests without leaving the command line. You stay in full control by approving every action before it runs. It supports Linux, macOS, and Windows, and you install it easily with npm. This tool speeds up coding by bringing AI assistance directly where you work, reducing context switching and making development faster and smoother. https://github.com/github/copilot-cli

Hashtags

GitHub Trends

@githubtrending · Post #15230 · 16.10.2025 г., 13:00

#other This collection of leaked GPT prompts offers a wide range of tools and ideas for interacting with AI models. It includes prompts for tasks like writing, coding, humor, and education, which can help users understand how GPT models work and improve their interactions with AI. By using these prompts, users can create more effective and personalized AI experiences, benefiting from the diverse contributions and insights shared by the community. This resource is valuable for both developers and users looking to enhance their AI interactions. https://github.com/linexjlin/GPTs

Hashtags

GitHub Trends

@githubtrending · Post #15180 · 29.09.2025 г., 12:00

#other You can use a set of markdown files to guide AI coding assistants step-by-step in building software features. This method breaks down your feature idea into a clear Product Requirement Document (PRD), then into detailed tasks, and finally lets the AI work on each task one at a time while you review and approve progress. This structured workflow helps you keep control, avoid errors, and track progress visually, making AI-assisted development more reliable and manageable. It works with many AI tools and improves the quality and clarity of AI-generated code, saving you time and reducing frustration during complex feature development. https://github.com/snarktank/ai-dev-tasks

Hashtags

GitHub Trends

@githubtrending · Post #15110 · 01.09.2025 г., 12:00

#other Cognitive load is the mental effort needed to understand and work with code. Since our brain can only hold about four pieces of information at once, complex code with many conditions, deep inheritance, or too many small modules increases this load, making it harder to understand and maintain. To reduce cognitive load, use clear, meaningful variable names, prefer composition over inheritance, avoid too many tiny modules, and keep interfaces simple. Also, avoid excessive abstractions, tight coupling with frameworks, and overly complex architectures. Lower cognitive load helps you and your team understand code faster, reduce bugs, and be more productive. https://github.com/zakirullin/cognitive-load

Hashtags

GitHub Trends

@githubtrending · Post #15105 · 30.08.2025 г., 12:30

#other This guide helps you prepare for software engineering technical interviews by covering key topics like good coding practices (SOLID principles, DRY, Clean Code, Clean Architecture), algorithms and data structures, design patterns, system design, databases, version control, CI/CD, containers, and AI tools. It offers practical resources and examples for many programming languages and frameworks, plus common interview questions for frontend and backend roles. Using this guide improves your coding skills, helps you understand important concepts, and boosts your confidence to perform well in interviews and real projects. It saves you time by gathering essential knowledge and practice materials in one place. https://github.com/DevCaress/guia-entrevistas-de-programacion

Hashtags

GitHub Trends

@githubtrending · Post #15037 · 08.08.2025 г., 12:00

#other The FFmpeg School of Assembly Language teaches you how assembly code is written in FFmpeg, helping you understand what happens inside your computer. To join, you should know C programming (especially pointers) and basic high school math. The lessons include assignments and a Discord server for questions. By completing them, you can contribute to FFmpeg, a powerful video processing tool that uses assembly to speed up tasks dramatically—sometimes up to 94 times faster with special instructions like AVX-512. Learning this helps you write highly efficient code for video and multimedia processing, improving performance in real-world applications. https://github.com/FFmpeg/asm-lessons

Hashtags

GitHub Trends

@githubtrending · Post #14930 · 08.07.2025 г., 13:30

#other This resource is a huge, well-organized collection of computer vision materials including books, courses, papers, software, datasets, tutorials, and tools. It covers everything from beginner to advanced topics like image processing, object detection, 3D vision, deep learning, and more. You can find free and paid courses from top universities, open-source libraries like OpenCV, pre-trained models, and datasets for practice. This helps you learn computer vision efficiently, find the right tools, and stay updated with the latest research and applications, saving you time and effort in your learning or project development. It’s great for students, researchers, and developers. https://github.com/jbhuang0604/awesome-computer-vision

Hashtags

123•••5•••10•••15•••20•••25•••30•••35•••40•••45•••50•••555657
ПредишнаСтр. 1 от 57Следваща