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

Резултати

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

Търсене: #backend

当前筛选 #backend清除筛选
Android Broadcast

@android_broadcast · Post #8996 · 22.04.2025 г., 15:16

Соскучились по паттернам? У нас тут как раз есть новые выпуски 💻 В этот раз обсуждаем поведенческие паттерны: 1️⃣Strategy (Стратегия) и State (Состояние). Один из них инкапсулирует алгоритмы или поведение в специальные классы, второй — проверки состояния объекта для изменения его поведения; 2️⃣Command и Mediator. Идея Команды в том, чтобы отделить объект, инициирующий операцию, от объекта, который «знает», как её выполнить. Посредник же отвечает за координацию взаимодействий между группой объектов; 3️⃣Observer (Наблюдатель) и Chain Of Responsibility (Цепочка обязанностей) — паттерны, один из которых оповещает при изменении состояния системы, второй — отделяет инициатора от получателя передачей операции; 4️⃣Memento и Template Method. Хранитель фиксирует внутреннее состояние объекта, а Шаблонный метод — описывает алгоритм действий, реализуемый через наследование и абстрактные методы. Посмотреть все четыре выпуска можно в удобном формате на сайте. #backend

Hashtags

Android Broadcast

@android_broadcast · Post #8914 · 08.04.2025 г., 15:35

Продолжаем разбираться в паттернах! На очереди — порождающие🚀 В новом выпуске рассмотрим первые два Builder (Строитель) и Factory Method (Фабричный метод) — паттерны, задача которых скрывать детали создания объектов в абстракциях. 🔍 В выпуске рассказали про подводные камни использования, их назначение, плюсы и минусы. А ещё объяснили, откуда взялся паттерн фабрика и почему паттерны — не аксиомы: 📺YouTube 🔵 VK Видео 💻Rutube #backend

Hashtags

Android Broadcast

@android_broadcast · Post #8904 · 05.04.2025 г., 12:33

Секунду… Это что, новый курс от команды разработчиков? 🚀 Так точно! Наш бэкенд-инженер Юра Афанасьев создал обучающий курс по паттернам и практикам написания кода. В нём он разбирает порождающие, структурные и поведенческие паттерны, историю их создания и методы в основе. Ещё из плюсов: простая и понятная подача, короткие и насыщенные информацией материалы, курс подходит как начинающим инженерам, так и миддлам. Кратко о Юре: ⚡️ Больше 15 лет в коммерческой разработке; ⚡️ Больше 6 лет в Авито (сейчас в департаменте монетизации); ⚡️ 12 лет писал на Php и 4 — на Golang; ⚡️ Организатор внутреннего коммьюнити в Авито. В первой части — про историю создания паттернов. Выбирайте удобный формат и смотрите: 📺YouTube 🔵VK Видео 💻Rutube #backend

Hashtags

Data Science Jobs

@datasciencejobs · Post #2205 · 11.07.2024 г., 07:38

#вакансия#backend#python Senior/Middle Backend developer Формат: удаленно по всему миру Наш часовой пояс: UTC+3 Занятость: full-time/part-time на проект Оплата: до 350 000₽ или почасовая (уточняется при собеседовании) Мы ищем опытного Backend-разработчика на проектную деятельность в команду Subscale AI для реализации собственного AI-сервиса Стек технологий: - Язык: Python(Django, Flask) - Базы данных: PostgreSQL, MySQL, MongoDB, Redis - API: REST, GraphQL - Docker, Kubernetes - AWS, Google Cloud, Azure Задачи и навыки: - Разработка и интеграция с API различных сервисов - Реализация логики тарифных планов и ограничения запросов - Управление базами данных пользователей и их запросов - Работа с контейнерами и оркестраторами для развертывания и управления микросервисами - Понимание принципов масштабируемости и высоконагруженных систем - Умение работать в команде и решать сложные задачи Индивидуальные требования: - Часовой пояс в пределах +-3 часов от UTC+3 - Свободное владение Русским языком - Владение Английским языком Мы предлагаем: - Интересные проекты с возможностью творческой реализации - Возможность принять участие в выводе продуктов и сервисов бренда на международный рынок - Карьерный рост до Team Lead - Отсутствие привязки к месту и возможность оплаты труда в любую точку мира - Свобода мысли и принятия решений при реализации проектов Кого мы хотим видеть: - амбициозных, инициативных и талантливых разработчиков, желающих достигать новых высот, которые легко вольются в нашу молодую команду Сразу отправляйте резюме/CV: @subscale_ai

Android Broadcast

@android_broadcast · Post #9745 · 11.12.2025 г., 12:37

«Знаете, что звучит ещё круче, чем AvitoTech? AvitoTechno!»🔥 Подумали мы, и собрали мега крутую, верховную онлайн-вечеринку уходящего рабочего 2025 для всего ИТ-комьюнити! В последнюю рабочую пятницу 26 декабря выдыхаем, собираем коллег и врываемся к нам на стрим AvitoTechno! В лайн-апе: 🕚сеты от разработчиков Dj команды AvitoTech; 🕚крышесносное выступление BÖRIS REDWÄLL; 🕚и девчонок из LAVBLAST. А ещё во время вечеринки проведём розыгрыш лимитированного AvitoTechno-бокса (внутри свитер, снежный шар с нашим котиком Б/У, шапка и обвес). Главный вопрос: как попасть на AvitoTechno и поучаствовать в розыгрыше? Бегом в бот за бесплатным билетом и ссылками на стрим! И коллегам не забудьте отправить этот пост. 🚀 Затусим вместе на AvitoTechno! #tl#backend

Hashtags

DSR Corporation News

@dsr_news · Post #200 · 26.08.2022 г., 11:59

Открыта регистрация на .NET School! Курс по бэкенд-разработке даст все необходимые знания и навыки для позиции Junior. ✅Нет входного тестирования | 👨‍💻Онлайн | ☺️ Бесплатно ❓Хотите получить первый кейс для портфолио? 💥На курсе вы пройдете полный цикл разработки WebAPI от проектирования БД до CI/CD и напишете работающее веб-приложение на C#. Преимущества: 👉🏻полностью бесплатное обучение; 👉🏻преподаватели курса — опытные веб-разработчики; 👉🏻самых талантливых пригласим на собеседование. Что нужно, чтобы успешно пройти курс: 📌базовые знания С#; 📌базовые навыки программирования в Visual Studio; 📌интерес к разработке веб-приложений; Формат: 💻 онлайн: лекции + практические занятия + курсовой проект. 💬Подробности и регистрацияпо ссылке. #DSRCorporation#DoingSoftwareRight#DSR_courses#backend

Dasturlash hayoti️️ ️

@dasturlash_hayoti · Post #3144 · 16.03.2024 г., 00:20

#backend#laravel 11-Dars | Saytni Ko'p Tilli Qilish Ushbu darsda Saytdagi Statik va dinamik ma’lumotlarni ko’p tilli qilishni o'rganishingiz mumkin 🖤Darsni ko'rish uchun: link 💻@dasturlash_hayoti— dasturchilar va dasturlash hayotini yoritib boradigan loyiha!

Data Science Jobs

@datasciencejobs · Post #1548 · 03.07.2023 г., 06:20

#удаленка#backend#python Привет. Я владелец продукта в компании Гринатом (компания входит в Росатом) и мне в отдел очень нужны Backend-middle/senior'ы. В данный момент мы разрабатываем собственное OCR-решение, направленное на автоматизацию документопотока как внутри всего Росатома, так и для внешних клиентов. Решение разрабатывается под серьезную нагрузку (до 40 тысяч документов в час) и под разные цели, начиная от распознавания паспортов и заканчивая сложными, неструктурированными документами. В центре продукта лежит собственная сетка по распознаванию, которая уже делает на 70% меньше ошибок, чем Tesseract V5. 🧠 Обязанности: • Разработка системы OCR с использованием open source решений (backend); • Написание высоконагруженных приложений и микросервисов на Python; • Участие в разработке уже имеющихся приложений в составе команды Data Science; • Взаимодействие с аналитиками, DataScience-специалистами; • Участие в принятии архитектурных решений по проекту; • Поддержка и развитие созданных решений; • Написание unit-тестов на pytest. 🧠 Требования: • Опыт разработки серверных приложений – от 2-х лет; • Уверенное знание Python 3+, SQL; • Знание фреймворков FastAPI/Flask; • Знание базовых алгоритмов и структур данных; • Опыт разработки нагруженных отказоустойчивых систем; • Умение работать с серверной инфраструктурой: Nginx, Docker и т.п. • Опыт работы с базами данных: PostgreSQL, MongoDB, Redis; • Опыт работы с RabbitMQ; • Опыт работы с объектным хранилищем: s3, Minio; • Опыт работы с GIT, знание CI/CD; • Опыт работы с Linux. 🧠 Будет большим плюсом: • Опыт работы с OCR системами; • Опыт интеграционных и системных тестов; • Опыт работы с высоконагруженными системами 🧠 Будет плюсом: • Понимание микросервисной архитектуры; • Знание методологии Scrum; • Опыт работы с Open Project; • Опыт тестирования клиент-серверных запросов; • Опыт наставничества и codereview. ✍️Да, мы «госуха», но у нас нет проблем ни с выездом заграницу, ни с оплатой труда. Работаем полностью удаленно, поэтому в офис можешь не ходить или работать хоть из тайги. Есть классный ДМС и разные отсрочки. ✍️В отделе уже более 50 человек: бэки, фронты, ds, аналитики, разметчики, дизайнеры и много кто еще. С большими проектами работаем по скраму. С малыми в более упрощенном режиме. 💵Оклад: 150-350 на руки + до 1 млн. рублей годовой бонус Писать: @MoveSlowAttackFaster или [email protected]

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