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

Резултати

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

Търсене: #softwareengineering

当前筛选 #softwareengineering清除筛选
MDC Uzbekistan

@mdcuzbekistan · Post #921 · 29.11.2024 г., 12:33

Greetings from Vlad Ten! 🚀 Introducing Vlad Ten, Software Engineer and Ex-Microsoft professional, who will be delivering a session on "Efficient Caching for Developers: Understanding and Implementing LRU" at the Microsoft Community Conference 2024. 🔍 What to Expect: ✅ A deep dive into Least Recently Used (LRU) caching and its importance for optimizing application performance. ✅ Practical guidance on implementing LRU caching in real-world scenarios. ✅ Best practices for managing caching effectively to improve efficiency and scalability. 📅 Date: November 30, 2024 📍 Location: Al-Khorazmi School, Tashkent 👉 Register now: https://mdcuzbekistan.com/register #MDCConf2024#CachingStrategies#SoftwareEngineering#Speaker @mdcuzbekistan

Data Science Jobs

@datasciencejobs · Post #2943 · 25.09.2025 г., 11:04

#Job#Vacancy#AI#ML#SoftwareEngineering#Remote#CAD#LLM#RAG#Python Middle / Senior AI Engineer (AI/ML & Software Development) 📍 Remote (вне РФ, РБ) | Full-time, long-term 💵Salary range: middle 50k-55k Евро брутто, senior обсуждаемо 💼 Компания: BIT (Bergmann Infotech GmbH) 📩 Контакты: @olgaheinzel Полное описание вакансии уточните в лс О нас: Мы автоматизируем строительные процессы (ConTech) и механоинжиниринг с помощью AI. Уже 7+ лет наши SCRUM-команды создают решения для лидеров Западной Европы. Сейчас строим SaaS нового поколения для CAD-индустрии с использованием LLMs, RAG и агентных workflow. Что делать: 📍Разработка десктопных AI-приложений (Python, PyQt/PySide). 📍Интеграция LLM, RAG и агентов в пользовательские workflow. 📍Создание AI пайплайнов: сбор/подготовка данных, embeddings, fine-tuning, деплой. 📍Совместная работа с продуктовой и dev-командой. Требования: 📍4+ лет опыта в software dev + AI/ML. 📍Python, архитектурные паттерны (SOLID, Clean architecture), ORM (SQLAlchemy+Alembic), базы данных. 📍Опыт с LLMs, RAG, агентами, IR-метриками. 📍Отличные софт-скиллы. Плюсом будет: опыт с CAD, CI/CD, vector DB (Qdrant, FAISS), Azure. Что предлагаем: • Remote • Agile-команда, рост вместе с компанией. • Ownership, гибкий график, обучение. Процесс найма: HR → тестовое/тех. интервью → CEO/Product Owner → оффер.

Digital.edu IT Career

@digitalitvacancy · Post #160 · 27.01.2025 г., 07:26

Dasturlashga qo'l urgan, lekin nimadan boshlashni bilmaydiganlar uchun 3-5 yillik plan: — Nerd rejimiga o'ting: kuniga kamida 6 soat dasturlash bilan band bo'ling — Computer Science mavzularini chuqur o'rganing — Muntazam algoritmik masalalarni yeching (codewars, leetcode, va hokazo) — Bitta dasturlash tilini mukammal o'rganing — Web, mobil, yoki desktop development uchun kerak bo'lgan texnologiyalarni o'rganing — O’zingizni pet proyektlaringizni yarating — Har kuni ko'p kod yozing — Tez-tez interview qiling (ishingiz bo'lsa ham) — Vaqtida uxlang, ovqatlaning, va sport bilan shug'ullaning Qolgani (ish, daromad, va xurmat) o'zi keladi. Natija darxol ko'rinmaydi, lekin albatta keladi - haqiqiy yutuqlar vaqt talab qiladi. Jarayondan zavq oling! #Coding#ComputerScience#CS#ProblemSolving#Dasturlash#Programming#SoftwareEngineering#IT

#SoftwareEngineering#Productivity#WorkLifeBalance#TimeManagement#DeepWork#FlowState#BurnoutPrevention#HabitBuilding#CareerAdvice#MentalHealth#TaskManagement https://alikhil.dev/posts/the-simple-habit-that-saves-my-evenings/