Все потоки
Поиск
Написать публикацию
Обновить
982.98

Программирование *

Искусство создания компьютерных программ

Сначала показывать
Порог рейтинга
Уровень сложности

«Расскажите про SOLID»: Как проходить унизительный тех. скрининг с HR (Гайд от бывшего рекрутера)

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.1K

Давайте честно. Есть один этап в IT-найме, от которого у любого Senior-разработчика начинает дергаться глаз. Это технический скрининг с HR-ом.

Вы специалист с 10-летним опытом. А напротив вас сидит 23-летняя девушка, которая по бумажке задает вам вопросы, ответы на которые она сама не понимает. «А чем отличается SQL от NoSQL?», «Расскажите про SOLID».

В этот момент вы чувствуете себя гениальным хирургом, который сдает экзамен по мытью полов санитарке. Это абсурдно, унизительно и дико бесит.

Но что, если я скажу вам, что ваша злость и попытки «доказать, что вы умный» это именно то, из-за чего вы проваливаете этот этап?

Как бывший рекрутер, я сейчас вскрою этот театр абсурда и покажу, что на самом деле происходит в голове у HR-а, и как нужно действовать, чтобы пройти этот фильтр с конверсией 90%.

Читать далее

Нововведения Java 25

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров11K

Java не стоит на месте и продолжает активно развиваться. Скоро выйдет уже 25-я версия языка. В этом релизе изменили работу с boilerplate-кодом и конструкторами, а также отказались от поддержки устаревших систем. Обо всех этих и других нововведениях расскажем в статье.

Читать далее

Из зала на сцену: как, зачем и для чего выступать на конференции

Время на прочтение11 мин
Количество просмотров487

Привет, Хабр! Меня зовут Евгений Кокуйкин. Я СЕО HiveTrace и сооснователь Raft. Занимался внедрением технологических решений в проектах Microsoft, Сбер, Diasoft, а сейчас переключился на обеспечение безопасности генеративного ИИ. Хочу рассказать о том, как созрел до того, чтобы стать докладчиком, почему подал свой первый доклад, откуда это пошло, как я участвовал в конференциях. Что от этого меняется, как помогает саморазвитию и бизнесу. Возможно, это поможет тем читателям, кто только думает подать заявку на конференцию.

Читать далее

Post-PHP эра: куда движется веб-разработка?

Время на прочтение6 мин
Количество просмотров19K

Привет, хабровчане! Я Алиса — тимлид в e-commerce-агентстве KISLOROD, по базовой профессии — сеньор PHP-разработчик с десятилетним стажем. И да, спойлер: PHP не только жив, он бодро бегает марафоны.

По данным W3Techs, PHP работает на более чем 76% серверов, где известен язык бэкенда. Последние релизы стабильно приносят +20–25% производительности на версию — на фоне вечного рефрена «PHP умер». Удобно хоронить то, чьи обновления не открывал с 2012-го, верно? Давайте разбираться.

Читать далее

История Rust: от стартапа до продакшена

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров15K


Вокруг Rust в Linux-сообществе до сих пор не утихают жаркие споры. Кто-то считает его спасением, а кто-то — проклятием. В дебатах сталкиваются две позиции: сторонники видят в нем ключ к безопасности и модернизации ядра, противники опасаются усложнения и нарушения традиционных подходов. 

Давайте разберем, как он появился, какие точки роста сделали его рабочим, где он уже побеждает и почему вы его недооцениваете. А также подскажем, как Rust-разработчикам сделать вклад в развитие реального open source-проекта. Детали под катом.

Читать далее

«Я играю, меня не беспокоить!». Как я стал зажигать световое табло On Air при подключении к TeamSpeak

Время на прочтение8 мин
Количество просмотров4.2K

Иногда мы с товарищами собираемся, чтобы сыграть несколько забегов в игре PUBG: Battlegrounds. Взаимодействие между участниками команды (сквада) тут возведено в абсолют, и голосовая коммуникация жизненно необходима для успешного выживания. В PUBG нельзя расслабляться ни на секунду. Частенько бывают ситуации, когда нужно на слух определять местоположение соперника. Любой посторонний звук в такой момент способен испортить матч всей команде.

Чтобы минимизировать ситуации, когда мои домочадцы пытаются со мной заговорить во время игры, я решил поставить световое табло ON AIR, похожее на то, которое используют на радиостанциях (и да, после такой наглости я даже выжил). Задумка была в том, чтобы табло автоматически зажигалось, когда я нахожусь на сервере TeamSpeak, и отключалось после дисконнекта. Что в итоге у меня получилось — читайте дальше.

Читать далее

Неудачные эксперименты с Vibe Coding на Python

Уровень сложностиПростой
Время на прочтение72 мин
Количество просмотров7.8K

Команда Python for Devs подготовила перевод статьи Элa Свейгарта о неудачных экспериментах с vibe coding. Все говорят, что ИИ уже умеет писать приложения, но стоит чуть отклониться от привычных сценариев — и всё идёт наперекосяк. Картофельная Африка вместо карты, пинбол, превращающийся в пинг-понг, и счёты с отрицательными числами — автор собрал коллекцию своих провалов с vibe coding.

Читать далее

Хватит дообучать ИИ — дайте ему контекст

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров4.4K

Команда AI for Devs подготовила перевод статьи о том, почему Retrieval-Augmented Generation (RAG) чаще всего эффективнее дообучения моделей. Vector, Graph и Agentic RAG помогают ИИ работать точнее, быстрее адаптироваться и учитывать реальный контекст — будь то кодовая база, документация или API. Дообучение же остаётся дорогим и негибким инструментом.

Читать далее

Как мы автоматизировали отправку заказов в производство на n8n в high-load E-commerce

Время на прочтение7 мин
Количество просмотров2K

Делимся опытом создания робота-диспетчера на low-code платформе n8n для обработки большого потока заказов. В статье рассказываем, как использовали Redis для очередей и динамической конфигурации, показываем реальные workflow и код, а также делимся, как боролись с утечками памяти и гонкой состояний. Будет полезно разработчикам, аналитикам и тимлидам, которые смотрят в сторону low-code для решения реальных бизнес-задач.

Читать далее

Новый экспериментальный API для JSON в Go

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров5.2K

Команда Go for Devs подготовила перевод статьи о новом экспериментальном API для работы с JSON в Go. Спустя почти 15 лет после появления encoding/json в стандартной библиотеке разработчики столкнулись с его ограничениями. В версии Go 1.25 появился экспериментальный encoding/json/v2 — он решает старые проблемы, добавляет потоковую обработку и повышает производительность.

Читать далее

Несколько занятных вопросов собеседований по Go

Время на прочтение3 мин
Количество просмотров7.8K

Наверное, многим знакомо - пишешь ты на языке (вот скажем, Go) уже не первый год - а на собеседовании всё равно найдут чем удивить :-) Вот поделюсь уловом последних дней - не смейтесь над моей наивностью - вдруг кому пригодится!

Читать далее

Что нового в Maven 4?

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров7.4K

В новом переводе от команды Spring АйО рассматриваются основные изменения, которые ждут нас в новой версии Maven. Изменения затронули performance, POM, новый тип упаковки, улучшения для подпроектов и много другое. 

Читать далее

Pixel Table: от идеи до реализации интерактивного пиксельного стола

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров4.7K

Меня зовут Анатолий, и я программист с инженерным бэкграундом. Помимо основной деятельности, бэкенд разработки на Go, меня часто тянет собрать что-нибудь эдакое электронно-светодиодное с использованием микроконтроллеров.

Этап 0: Как всё начиналось

Однажды мне попался на глаза проект пиксельного стола, и я подумал, что было бы круто сделать стол не просто с красивыми визуальными эффектами, а ещё и с играми и звуковым сопровождением, т.е интерактивный. И я начал изучать тему…

Читать далее

Ближайшие события

Кэширование DNS в NodeJS

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.9K

Команда JavaScript for Devs подготовила перевод статьи о том, как кэширование DNS в NodeJS помогает ускорить работу приложений. На примере инфраструктуры крупного онлайн-сервиса автор показывает, как незаметные на первый взгляд DNS-запросы могут превратиться в узкое место и как простое решение на уровне кода способно повысить стабильность и отклик системы.

Читать далее

ИИ в работе программиста

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.3K

Меня зовут Артём, в данный момент я работаю на должности ведущего программиста. Перед вами текст в стиле черновика статьи о размышлениях автора на тему современных ИИ инструментов в разработке программного обеспечения — о том, как это связано с эффектом «Зловещей долины», помощью с развитием профессиональных навыков и инцестом.

Читать далее

Топ 5 возможностей Gin, которые должен знать каждый Go-разработчик

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.5K

Команда Go for Devs подготовила перевод статьи о скрытых возможностях Gin-фреймворка. Даже если вы давно пишете API на Go, в арсенале Gin есть несколько приёмов, которые сделают ваш код быстрее, надёжнее и проще в сопровождении. От кастомных валидаторов до graceful shutdown — фишки, о которых знают не все.

Читать далее

Один из крупнейших взломов NPM: более 18 пакетов были скомпрометированы

Время на прочтение31 мин
Количество просмотров8.3K

8 сентября в 13:16 UTC система мониторинга Aikido зафиксировала подозрительные действия: в npm начали публиковаться новые версии популярных пакетов, содержащие вредоносный код.

Читать далее

Как победить циклические импорты в Python простым способом

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.8K

Команда Python for Devs подготовила перевод статьи о том, как справляться с циклическими импортами в Python. В статье показан простой приём: иногда не нужно переписывать архитектуру, а достаточно изменить стиль импорта, чтобы избежать ошибок.

Читать далее

Повышаем производительность Redis: советы для начинающих

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров3.7K

Привет всем, меня зовут Дмитрий Шитиков, я – бэкенд-разработчик в ПСБ.

Статья будет полезна тем начинающим, которые уже знают типы данных в Redis и уже в принципе сталкивались с ним в работе.

Читать далее

Thing — Model — View — Editor

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров936

На днях обнаружил, что в русскоязычной сети нет перевода этой раритетной статьи, которая положила начало разработке самого известного архитектурного паттерна MVC. Восполняем пробел.

Содержание этого документа интересно и с исторической точки зрения (а как там “деды” воевали программировали), так и в плане уточнения некоторых современных представлений об этом паттерне и программной архитектуре в целом.

Иллюстрации по максимуму сохранены как в оригинале. По ходу есть сноски с подробностями и ассоциации редактора в конце.

СУЩНОСТЬ-МОДЕЛЬ-ВЬЮ1-РЕДАКТОР

на примере из системы планирования2


Кому: LRG3

От: Тригве Реенскауг4

Файл: [IVY]<Reenskaug>SMALL>TERMINOLOGY2.DOC

Дата: 12 мая 19795

Цель данной заметки - исследовать метафоры thing-model-view-editor через последовательный набор примеров. Все примеры взяты из моей системы планирования и иллюстрируют вышеуказанные четыре понятия. Все примеры были реализованы, хотя и не в рамках чистой структуры классов, описанной здесь. Метафоры соответствуют real world-Model-view-Tool, предложенным в заметке о требованиях DynaBook ([Ivy]<Reenskaug>DynaBook.doc).


THING (СУЩНОСТЬ)

ОПИСАНИЕ ТЕРМИНА

Нечто, представляющее интерес для пользователя. Это может быть что-то конкретное, как дом или интегральная схема. Это может быть что-то абстрактное, как новая идея или мнения о статье. Это может быть целое, как компьютер, или часть, как элемент схемы.

ПРИМЕР: КРУПНЫЙ ПРОЕКТ

Сущность здесь - это крупный проект. Это может быть проектирование и строительство большого моста, электростанции или морской нефтедобывающей платформы.

Читать далее

Вклад авторов