Как стать автором
Поиск
Написать публикацию
Обновить
1042.56

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

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

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

От сессии до релиза: как совмещать учебу и работу в IT-компании

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

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

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

Читать далее

Новости

Зачем участвовать в ИТ-фестивалях? Смотрим на примере RuCode и разбираем кейсы

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

Привет, Хабрчане! Меня зовут Катя Зорина, в MWS я занимаюсь молодежными и образовательными проектами. Сегодня хочу рассказать о сотрудничестве нашей компании с RuCode — всероссийским фестивалем по искусственному интеллекту и алгоритмическому программированию. Обсудим, какие перспективы открывает для молодых специалистов участие в фестивале, посмотрим кейсы от МТС с прошлого года и поймем, к чему готовиться в этом. Погнали!

Читать далее

Flutter дайджест — Лето 2025 (июль + август)

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

Привет, друзья! ☀️ Лето подходит к концу, а значит самое время подвести итоги и вспомнить, что интересного произошло во Flutter-мире за два месяца.

Впереди осень 🍂 — и мы готовим ещё больше новостей, релизов и туториалов. Ну а пока наслаждайтесь нашим летним дайджестом.

А ещё — поздравляем студентов и школьников с Днём знаний! 🎓 Пусть учёба будет лёгкой, а знания по Flutter и Dart только умножаются. Канал FlutterPulse будет развиваться и расти вместе с вами 🚀

Читать далее

Если ваш запрос на слияние сгенерирован ИИ, я его отклоню. Объясню, почему

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

Иногда запрос на слияние (merge request) даже не стоит отправлять на код‑ревью, так как при его составлении кто‑то злоупотреблял искусственным интеллектом, и это повредило как проекту, так и команде. Например:

1. Удалив часть кода, можно значительно улучшить запрос на слияние
2. Вы не знаете основ языка, на котором подавали запрос
3. Спам в документации
4. Вопиющая несогласованность материала
5. Чрезмерно подробно рассмотрены пограничные случаи
6. Вы добавили бессмысленные или нежелательные зависимости и сами не понимаете, зачем.

Если я прислал вам обратно ваш запрос на слияние с невычищенным ИИ и без всяких прочих комментариев — значит, какие‑то из этих пунктов вы выполнили.

Несмотря на свежие исследования и дискуссии на эту тему, мне известно, что ИИ действительно помогает писать код. Но злоупотребление ИИ — это новый феномен, и нам нужно чем‑то руководствоваться, чтобы выявлять такие случаи. Оригинал этой статьи написан в 2025 году, надеюсь, со временем улучшится ситуация как с инструментами, так и с регламентацией.

Читать далее

С чего начать изучение ИИ: лучшие языки программирования в 2025 году

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

Команда AI for Devs подготовила перевод статьи о том, какие языки программирования для ИИ стоит учить в 2025 году. TL;DR: Python остаётся стартовой точкой, C++ берёт на себя критические по производительности задачи, JavaScript и TypeScript открывают путь к ИИ прямо в браузере, Java удерживает корпоративный сектор, а Go обеспечивает лёгкость продакшн-развёртывания.

Читать далее

Generic интерфейсы в Go: просто, но сложно

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

Команда Go for Devs подготовила перевод статьи Акселя Вагнера о том, как generic интерфейсы в Go открывают новые возможности и новые сложности. В статье разбираются паттерны, ограничения и компромиссы: от self reference интерфейсов до дилеммы с ресивер-указателями.

Читать далее

Scala Digest. Выпуск 32

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

Привет, Хабр! Мы — Настя, Эвелина и Миша — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Мотивацию мы черпаем из желания развиваться и делиться полученными знаниями. Приветствуем любую обратную связь! (づ ◕‿◕ )づ

Читать тридцать второй выпуск

YDB в мире Java: от нативного клиента до ORM’ов за 1 год

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

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

Меня зовут Кирилл Курдюков, в 2024 году я выступил в Питере на Joker — конференции для Java-разработчиков — с историей о том, как мы с командой делаем СУБД Яндекса удобной для джавистов.

Под катом статья, написанная по мотивам доклада. Это история о том, как маленькими шагами пройти путь от нативного клиента на Java до поддержки Hibernate, Liquibase, jOOQ и других популярных в мире Java-разработки решений.

Читать далее

Честно про вайб-кодинг с нуля для гуманитария

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

Статья для гуманитариев, решивших освоить вайб-кодинг с нуля. Автор, юрист без опыта программирования, делится 6-месячным опытом работы с Python, Excel и LLM. Рассказывает о трудностях, лайфхаках и результатах, предостерегая от иллюзий и вдохновляя на старт в IT.

Читать далее

Эволюция ForeignKey в Django: от наивной модели до продакшена

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

Команда Python for Devs подготовила перевод статьи о том, как легко «сломать» внешние ключи в Django и что с этим делать. Если кратко, то unique_together больше не нужен, индексы на ForeignKey работают не так, как вы думаете, миграции могут блокировать продакшен, а правильный порядок операций и частичные индексы экономят гигабайты и спасают нервы.

Читать далее

Bitrix, Magento и Ensi: как выбрать платформу для eCom, чтобы не пожалеть через год

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

Magento — дорого, Ensi — сложно, Bitrix — просто. Или не так?

Всем привет! Я Роман, тимлид e-commerce агентства KISLOROD.

Платформа для интернет-магазина — стратегическое решение. Выбор между Bitrix, Magento и Ensi определит, насколько быстро вы запуститесь, сколько потратите на поддержку и сможете ли масштабироваться без боли. Разбираемся, что подойдет малому бизнесу, а что потянет высоконагруженный проект.

Читать далее

Ещё раз о генераторах (и немного о генеративных моделях)

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

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

Читать далее

Контрактные тесты CDC на Pact

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

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

Сегодня рассмотрим контрактные тесты потребитель-управляемого формата на Pact.

Consumer-Driven Contracts фиксируют минимальный набор ожиданий клиента к API сервиса. Контракт рождается из автотеста на стороне потребителя. Потом провайдер прогоняет этот контракт против своей реализации и публикует результат в Broker. Выигрыш понятный: проверяем не всё API, а только то, что использует потребитель, и фиксируем совместимость версий до выката. Это основная идея Pact и базовая модель его работы.

Сам по себе CDC закрывает разрыв между быстрыми юнитами и медленными e2e. Контракт не заменяет e2e, но даёт дешёвую гарантию «не сломаем потребителя» на каждом изменении провайдера. CDC эффективнее всего на сетях сервисов с явными границами и стабильными интеграциями.

Читать далее

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

Как замедлить программу и почему это может быть полезно?

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

Основная часть исследований производительности языков программирования задаётся разными вариациями единственного вопроса: как нам ускорить некую конкретную программу? Реже мы исследуем, как она может использовать меньше памяти. Это означает, что подавляющая масса исследований сосредоточена исключительно на снижении объёма ресурсов, необходимых для выполнения какой-то вычислительной задачи.

Тогда почему нас может интересовать, как замедлять программы?

Читать далее

3 кусочка «сахара» к синтаксису языка Lua

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

Lua — симпатичный и хороший язык — умещает богатый функционал в очень маленькой реализации (интерпретатор и библиотека — это всего один исполнимый файл на 300кб) — и притом изначально ориентирован на «человечный» синтаксис. Хотя он не в топе популярности, но за простоту встраивания (помимо человечности и функциональности) он используется в ряде популярных проектов — от Roblox до Tarantool, например.

Однако есть мелочи которые несколько снижают радость от его использования. Когда я встроил его у себя на сайте для того чтобы сделать несколько «игровых» задач на программирование, пользователи высказывали неодобрение из‑за непривычного оператора неравенства, отсутствия комбинированных операторов присваивания и пр.

В этой статье мы разберемся как (и куда) внести маленькие дополнения чтобы усовершенствовать синтаксис интерпретатора, но сохранить совместимость. Результат можно «потыкать живьём» в онлайновой «песочнице».

Читать далее

Добавляем жестовое управление в Windows

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

Простейший способ распознавания жестов – обработка направлений: задаём набор допустимых, каждые n пикселей сдвига мыши фиксируем направление нового сегмента и сравниваем получившуюся последовательность с эталонными паттернами вида ↑ ↑ ↓ ↓ ← → ← →.

Современный – машинное обучение, конечно. Это самостоятельная категория со своими алгоритмами и правилами.

Золотая середина – сравнение шаблонов. Здесь мы представляем жест в виде набора точек, которые, с несколькими дополнениями, сравниваем с эталонными – чаще всего с помощью косинусного сходства или различных метрик расстояния.

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

👇👆

Диалог между поколениями ИТ-шников

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

Только что закончил коммент коллеге в комментариях к статье про «Неравную борьбу OS/2 с Windows» и подумал что это достойно отдельного поста. Но оказалось что для поста этот материал слишком велик. Хорошо пусть будет статья.

Надеюсь наш разговор в комментариях достоин более широкого прочтения и возможно больших обменов мнений.

Ниже прямым текстом приводятся мои мысли, цитаты взяты из ответов мне @axe_chitaесли только источник не заявлен явно.

Не все написаное коллегой попало в ниже приведенный текст. Но это объяснимо — это как бы ответы на вопросы коллеги, имеющего сильно отличающееся от действительности представление по предмету дискуссии. Подозреваю, что многие на Хабре имеют подобные представления.

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

Читать далее

Обратная совместимость в Java-мире

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

Это текстовая версия доклада с Java Rock Star Meetup, с которым выступал Владимир Ситников (@vladimirsitnikov) — performance engineer, PgJDBC и JMeter committer, а также член программных комитетов JPoint, Joker, Heisenbug, DevOops и SmartDara. Если вы больше любите смотреть видео, то смотрите запись доклада на YouTube или VK Видео.

От приложения мы хотим стабильности и предсказуемости. Мы хотим, чтобы приложение было одинаковым. Эта предсказуемость и обратная совместимость являются эдакой священной коровой, которая движет Java вперёд, возможно, движет назад и, возможно, по некоторым сведениям, из-за этого Java и умрёт.

Однако 30 лет Java прожила. Давайте посмотрим, как это всё было и что было в начале.

Читать далее

Парсинг Телеграм каналов, групп и чатов с обработкой в LLM

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

Всем привет! Вероятно, у каждого бывало: открываешь Телеграм-чат, а там тысячи новых сообщений за день. И где-то внутри этой «солянки» важный ответ на твой вопрос или обсуждение нужной темы. Или вам нужно отслеживать определённые сообщения для бизнес-целей.

Можно, конечно, потратить кучу времени на ручной поиск, но намного интереснее научить юзербота самостоятельно парсить историю чата и составлять из неё удобную базу для поиска по смыслу.

Читать далее

От многопоточности в ОС до «простукивания портов»: избранные материалы у нас на DIY-площадке

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

Мы в Beeline Cloud развиваем площадку для обмена опытом между ИТ-специалистами — «вАЙТИ». Делимся техническими материалами, которые могут быть полезны хабражителям: как перекинуть два терабайта данных между дата-центрами за шесть часов, как перевести почту на локальный сервер Postfix, а также — какие SQL-запросы могли бы помочь Остапу Бендеру найти заветные стулья... (и другие материалы).

Читать далее

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