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

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

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

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

Мой опыт с codewars спустя 3.5 года

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

Привет, Хабр! Сразу хочу сказать, что в первую очередь задачи я решал для себя. Хочу поделиться моим опытом взаимодействия с этой платформой и насколько мне это помогло. Каждый по прочтению этой статьи решит для себя сам, стоит начинать или же нет. А началось мое знакомство в далеком январе 2022 года. За все время я решил почти 200-ти задач и имею 4kyu. Мне кажется главное, что стоит понять, что сайт делится на две категории — базовый и продвинутый. Большинство задач на 6, 7, 8 kyu — базовые. Всё, что меньше — продвинутый.

Читать далее

Как я перенёс опыт из PostgreSQL в MongoDB и получил готовый чек-лист

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

Работаете с PostgreSQL и хотите попробовать MongoDB? Я спроецировал опыт работы с реляционными БД на NoSQL и собрал два чек-листа: проверенные практики для PostgreSQL и их аналоги для MongoDB.

Без воды, только ключевые пункты чтобы быстро стартовать и не наступать на типичные грабли.

Читать далее

Rust 1.90.0: ldd для x86_64-unknown-linux-gnu, публикация рабочих пространств и понижение x86_64-apple-darwin до Tier 2

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

Команда Rust рада сообщить о новой версии языка — 1.90.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.

Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.90.0 вам достаточно выполнить команду:

$ rustup update stable

Если у вас ещё не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта, а также посмотреть подробные примечания к выпуску на GitHub.

Если вы хотите помочь нам протестировать будущие выпуски, вы можете использовать канал beta (rustup default beta) или nightly (rustup default nightly). Пожалуйста, сообщайте обо всех встреченных вами ошибках.

Что стабилизировано в 1.90.0

Создание умных AI-агентов: полный курс по LangGraph от А до Я. Часть 2. Диалоговые агенты: память, сообщения и контекст

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

Во второй части курса по созданию ИИ-агентов превращаем безжизненные схемы в настоящих цифровых собеседников: подключаем нейросети к LangGraph, учим их запоминать контекст на сотни сообщений и гарантированно получать валидный JSON вместо творческой "болтовни".

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

Покажу, как объединить несколько нейросетей в одном графе, где каждая модель работает там, где сильнее всего. От простых диалогов до мультимодельных архитектур с интеллектуальной маршрутизацией.

Читать далее

Лестница абстракций и где на ней стоять: изучать ли программирование сложным способом?

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

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

Читать далее

Кодинг-интервью: без боли и литкода

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

Когда мы говорим о кодинг‑интервью, у многих начинаются флешбеки от разворачивания дерева до домашних заданий на 14 часов.

Я развлекаюсь интервьюингом больше десяти лет, лет пять вёл SRE Interview Club для собратьев по пейджеру и набрал небольшую базу любимых вопросов — которые задаю по сиюминутному желанию, в зависимости от фазы луны: они все работают для любых ситуаций.

При этом неважно, на каком языке собирается кодить кандидат (да, видел даже перл от менеджера, кто уже десятилетие к тому моменту не брал в руки шашку), и неважно, на какой уровень его собеседовать.

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

Давайте рассмотрим один из моих любимых вопросов: доставайте свои вайтборды или блокнотики, начинаем кодить на доске!

Вращайте ~барабан~ дерево!

Что нового в Gradle 9.0.0?

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

В новом переводе от команды Spring АйО рассматривается новое крупное обновление Gradle, которое приносит с собой переход на Kotlin 2 и Groovy 4, а также делает кеш конфигурации рекомендуемым режимом сборки. В версии 9 улучшена система отчётности об ошибках, ускорена компиляция Kotlin DSL, добавлена интеграция с Jspecify, снижено потребление памяти и оптимизирована работа с IDE.

Читать далее

Большой гайд как соответствовать ожиданиям работодателя в IT

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

Ты думаешь, что в IT достаточно быть сильным специалистом? Ошибаешься. Работодатели ждут от тебя гораздо большего, и часто об этом не говорят прямо.

Читать далее

Без головы но с идеями: как Strapi оживляет Next.js

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

Привет, Хабр!

Меня зовут Дмитрий Гусаков, я менеджер проектов компании DD Planet. Рад поделиться с вами материалом, который, надеюсь, будет полезен всем, кто следит за эволюцией веб‑разработки и ищет современные подходы к созданию гибких и производительных проектов. Сегодня я расскажу про связку, которая уже стала стандартом для многих команд — Strapi + Next.js. Это не просто инструменты, а целая философия, где скорость, контроль и свобода творчества выходят на первый план.

Читать далее

Ваш ИИ-ассистент — это новое поколение компиляторов

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

Команда AI for Devs подготовила перевод статьи о том, как ИИ меняет саму суть программирования. Автор сравнивает LLM с компиляторами и утверждает, что роль разработчиков постепенно смещается от написания кода к управлению архитектурой и обучению ИИ. Как думаете, это угроза или эволюция профессии?

Читать далее

Простоту охота навести: как легко тестировать клиент-серверные взаимодействия на примере WebSocket

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

При тестировании распределенных систем разработчики сталкиваются с асинхронным взаимодействием с серверами, громоздкими сценариями отправки и сложным входом для новичков. Это приводит к ошибкам, долгой отладке и росту затрат.

Привет, Хабр! Меня зовут Максим Попов, я инженер по автоматизированному тестированию внутренних продуктов в Сбере — в том числе SCPL. В этой статье расскажу, как упростить настройку клиент-сервер взаимодействия в рамках фреймворка автотестирования.

Читать далее

React-монополист: как мы сами убиваем развитие фронтенда

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

Команда JavaScript for Devs подготовила перевод статьи о том, как доминирование React сдерживает развитие фронтенда. Автор утверждает: выбор React «по умолчанию» тормозит инновации, мешает развитию альтернативных фреймворков и превращает всю экосистему в монокультуру.

Читать далее

Писать код просто, а читать сложнее

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

Написать код легко. Если у вас в голове сложилось решение, и вы уверенно владеете синтаксисом вашего любимого языка программирования, то напишете код с лёгкостью. А может быть у вас есть LLM, которая напишет за вас целые функции? Тогда ещё проще. Но сложнее всего не писать код, а читать. Требуется время, чтобы загрузить себе в голову ментальную модель системы. Вот это по-настоящему трудозатратно.

Ментальная модель складывается у вас в голове, когда вы читаете код. Это ваша внутренняя «карта», по которой понятно, как работает система, где находятся самые хитрые её части, что от чего зависит. Не имея такой карты в голове, вы просто смотрите на текстовые строки.

Когда я выполнял работу по заказу, большинство из моих заданий начинались одинаково. Мне ставили задачу пофиксить баг или добавить новую фичу в приложении, которое я видел впервые. Сначала моя ментальная модель была как чистая доска. Чтобы приступить к её заполнению, я открывал домашнюю страницу и разбирался, на что она похожа. Я открывал исходный код страницы: это React? jQuery? Сторонний плагин? Я просматривал базу кода, чтобы выяснить, используется ли у них где-нибудь ещё такая карусель, которую они просят поставить на первой страницы. Знакомился с их сборочным процессом, конфигурацией для тестирования, с тем, каким инструментарием они пользуются. Каждая мелкая деталь, которую я обнаруживал, встраивалась в ту модель, которая складывалась у меня в голове.

Читать далее

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

Сборщик мусора в Go. Часть 1: Stop The World, пейсинг и оптимизация

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

Команда Go for Devs подготовила перевод статьи о том, как работает сборщик мусора в Go. Автор подробно объясняет семантику алгоритма триколорной маркировки и очистки, механизмы Stop The World, пейсинг и источники задержек. Главное — не бороться со сборщиком, а работать с ним в унисон: устранять лишние выделения и снижать нагрузку на кучу.

Читать далее

Steroids Form — как создать собственный движок форм для React

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

Это третья статья из цикла про наш фреймворк Steroids: в ней мы рассказываем о том, как пришли к созданию собственного движка форм для React. Если вы ещё не читали предыдущие материалы, рекомендуем с ними ознакомиться:

Читать далее

Чистый код на TypeScript: практические советы

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

Тема чистого кода — одна из самых обсуждаемых в сообществе разработчиков. Это не удивительно: от качества кода напрямую зависят скорость разработки, легкость поддержки и масштабирования проекта. В мире JavaScript и TypeScript, с их гибкостью и динамической природой, следование принципам чистого кода становится особенно важным.

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

Читать далее

Пошаговая разработка SPI драйвера для ЗОСРВ «Нейтрино»

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

В современных встраиваемых системах SPI остаётся одним из ключевых интерфейсов для обмена данными с периферийными устройствами — от датчиков до Flash-памяти. При этом эффективная работа с SPI требует не просто доступа к регистрам контроллера, а продуманной архитектуры, где драйвер выступает как последнее звено между программной логикой и аппаратной реализацией. В данной статье мы расскажем про архитектуру SPI и на практикте разберем все этапы разработки SPI драйвера для нашей операционной системы реального времени "Нейтрино".

Читать далее

Самая быстрая БД на Диком Западе

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

Всем привет! Пополняю интернеты «еще одной» статейкой с бенчмарками популярных СУБД. Захотелось выяснить, каков оверхед на протокол, работу с сетью и клиентскими соединениями в самом простом кейсе — когда таблица либо совсем пуста, либо данных так мало, что все они в памяти.

Бенчмарк на Rust. Я попросил написать его Chat‑GPT, и он отлично справился.

Исходник здесь

Сравнивал с официальными scylla‑bench и redis‑bench — результаты схожи.

Для теста я специально использовал слабую железку — Orange Pi 3b. Это китайский аналог малинки. Захотелось узнать, на что она способна.

Читать далее

Разбираемся с IAST

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

Для проведения тестирования безопасности приложения существуют различные *AST инструменты. Прежде всего, это средства для статического тестирования безопасности приложений (SAST), а также средства динамического анализа (DAST). В этой статье мы рассмотрим еще один способ анализа приложений — IAST. Мы сравним этот способ со статическим и динамическим анализом и поговорим о его достоинствах и недостатках.

Читать далее

Как написать простейшую нейросеть на python, простыми словами о сложном

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

В мире Data Science написание нейронных сетей, кажется чем‑то очень трудоёмким, доступным для понимания лишь математикам с многолетним опытом. Многие руководства, начинаются со сложных объяснений backpropagation, градиентного спуска и т.п, от которых у новичков складывается впечатление, что написание нейросетей — им не по силам. В данной статье, я хочу развеять подобные убеждения и показать пример, написания простейшей нейронной сети на python. Мы не будем углубляться в теоретические основы высшей математики. Вместо этого, мы просто возьмем данные, напишем код, посмотрим на результат и проанализируем его.

Читать далее

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