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

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

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

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

Неожиданный скачок продуктивности благодаря Rust

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

Бэкенд платформы Lubeno полностью написан на Rust. Он вырос до таких размеров, что я уже не могу удерживать все части его кодовой базы в голове.

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

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

Читать далее

Java Digest #28

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

Всем привет! 👋👋👋👋👋

Мы Java-разработчики Т-Банка: Андрей, Арсений, Роман, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.

Соскучились по AoT-компиляции? Даже если нет, упоминаний о ней не избежать. Java 25, Spring 7, Spring Boot 4, Gradle 9.0.0, Intellij IDEA 2025.2, Amplicode 2025.2, что-то релизнулось, что-то только собирается, но обо всем уже нашли статьи и собрали для вас. 

А теперь к громким новостям. Нидерландские ученые убили SQL — именно так мог бы звучать заголовок к научной статье о том, как 2,5 млн строк кода на PL/SQL переводили на Java с помощью LLM.

Читать далее

Статический анализ в open source проектах с помощью PVS-Studio

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

Хотите, чтобы ваш open source проект был чище и безопаснее? Рассказываем, как использовать PVS-Studio для регулярного анализа кода, внедрить его в CI и находить баги до их попадания в релиз. И да, лицензия для открытых проектов у нас бесплатная.

Читать далее

Разворачиваем онлайн-игру на виртуальном сервере

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

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

Вступление

Будучи большим любителем Guild Wars 2, однажды я написал прототип с минимальной реализацией похожей системы боя. Мне хотелось, чтобы можно было самим создавать и настраивать бои. Недавно я добавил к прототипу редактор данных игры, веб-клиент и сервер для мультиплеера. После этого я арендовал сервер и загрузил туда игру, чтобы можно было поиграть с друзьями.

Читать далее

Будущее джунов в эпоху ИИ: угроза или шанс?

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

Команда AI for Devs подготовила перевод статьи о будущем джунов в эпоху ИИ. Автор утверждает: полностью заменить начинающих разработчиков невозможно и опасно — именно они со временем становятся тимлидами. Но чтобы оставаться востребованными, джуны должны освоить «версию 2.0» своей роли и научиться работать бок о бок с ИИ.

Читать далее

Google Chrome исполнилось 17 лет: история браузера и его будущее

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

Команда JavaScript for Devs подготовила перевод статьи Адди Османи к 17-летию Google Chrome. За эти годы браузер прошёл путь от «минималистичного проекта с комиксом» до полноценной платформы для приложений с ИИ. Скорость, безопасность, стабильность и простота остаются его основными принципами, а впереди — новая эра с локальными AI-API и встроенным ассистентом Gemini.

Читать далее

Множество Мандельброта

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

Множество Мандельброта - является одним из самых известных фракталов, в том числе за пределами математики, благодаря своим цветным визуализациям. Я этим занимаюсь 20 лет. Несколько вещей интересны. Вот они.

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

Читать далее

Иногда ядра CPU ведут себя странно: о чётном и нечётном

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

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

Сегодня хочу рассказать об ошибке, которая была исправлена путём редактирования одной строчки кода. Это исправление избавило людей, работающих на огромном количестве устройств, от странных ошибок, которые очень трудно воспроизвести. Речь идёт о ситуациях, в которых Anubis не давал пользователям смотреть сайты, при том что никаких веских причин для этого у него не было. Не переключайтесь. Будет интересно.

Читать далее

Как мы выследили регрессию использования памяти в продакшен-сервисах на Go 1.24

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

Команда Go for Devs подготовила перевод статьи о том, как команда инженеров выявила регрессию использования памяти в Go 1.24. Оказалось, что всего одна оптимизация в аллокаторе памяти, случайно потерянная при рефакторинге, заставляла Go «съедать» сотни мегабайт RAM. Но сообщество Go-разработчиков быстро нашло и устранило проблему.

Читать далее

Деструктуризация в JavaScript

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

Без сомнений, JavaScript — крайне популярный язык программирования. И разработчики постоянно создают обновления, которые позволяют писать код проще, короче и понятнее. Одним из таких инструментов стала деструктуризация — способ получения данных

Привет, Хабр! Меня зовут Александр Дудукало, я автор базового курса по JavaScript. В этом тексте на примерах разберемся, как работает синтаксис и как деструктуризировать массив. Подробности под катом!

Читать далее

Zen of Python: философия языка

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

Команда Python for Devs подготовила перевод статьи о Zen of Python — шуточном, но глубоком своде афоризмов, которые уже четверть века задают тон питонячей культуре. Как появился этот «питонячий декалог», зачем он нужен и стоит ли ему следовать?

Читать далее

Где поток ненужного софта? Почему заявления об ИИ-ассистентах не сходятся

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

Я в бешенстве. Я реально зол. Зол настолько, что хочется сносить чужие песочные замки, зарядить Дэниэлю ЛаРуссо по физиономии и поливать его грязью перед его девушкойa.

Вообще-то я не из тех, кого легко разозлить, но ситуация в индустрии достала окончательно.

Читать далее

Терминал — ваш лучший друг: 5 утилит командной строки, которые заменят вам GUI

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

Вы когда-нибудь задумывались, сколько времени уходит на переключение между окнами, клики мышью и поиск нужной кнопки в GUI? В мире, где каждая секунда на счету, терминал остается самым мощным и недооцененным инструментом разработчика. Но стандартного набора команд часто недостаточно.

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

Читать далее

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

Пет-проект с AI-помощником: мой первый опыт вайбкодинга

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

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

На самом деле я не совсем новичок. Раньше у меня уже были попытки освоить разные языки программирования, но дальше пары строчек кода дело редко заходило. Умение «гуглить правильно» и искать ответы на StackOverflow пока давалось тяжело, поэтому довести что-то до результата было сложно.

В этот раз я решил пойти по трендам и подключить в процесс AI. Спасибо Хабру, что в нужный момент подкинул статью про Koda. С неё и начался мой эксперимент. А команде Koda хочу выразить респект за то, что всё бесплатно.

Читать далее

Next.js меня окончательно достал

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

Наконец, настал этот момент, и я решился написать статью. Давно хотел, но как-то не хватало мотивации. А ведь, знаете, как говорят: «гнев — лучший мотиватор». Есть же такое выражение?

Предыстория

Я приглашаю вас в путешествие, но сначала нужно расставить декорации. Представьте, что вы работаете в некой компании X, и один из ваших сервисов на Next.js крякнулся. Ну и поскольку это Next.js, то мы понятия не имеем, что конкретно произошло, так как логирование процессов по умолчанию включено только при разработке.

И теперь перед нами квест — найти и настроить механизм логирования для продакшена. Будет нелегко, но нам как бы не привыкать.

Читать далее

95% пилотных проектов в области генеративного ИИ в компаниях проваливаются

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

Несмотря на высокий интерес компаний к генеративному ИИ и его потенциал для роста выручки, подавляющее большинство корпоративных проектов терпит неудачу. Новый отчёт MIT указывает, что только 5% пилотных внедрений приносят ощутимый финансовый эффект. В переводе от команды Spring АйО рассмотрим основные причины, которые кроются не в самих моделях, а в ошибочной интеграции, неправильных приоритетах и нехватке адаптации под бизнес-процессы.

Читать далее

Почему так тяжело учить грамматику иностранного языка?

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

Недавно ,была опубликована статья: «Почему так трудно учить иностранный язык?». В развитие этой темы, думаю, самое трудное в изучении языка – это грамматика. Для многих она всегда была камнем преткновения. Отсюда постоянно идут разговоры, что грамматика – не главное, мол, можно вполне обойтись без нее, просто погрузившись в языковую среду, как, совершенно естественно, учат язык дети

Однако, для взрослых такой метод работает менее эффективно. Часто, просто нет возможности общаться напрямую с носителями, но, даже, у постоянно находящихся за рубежом, все равно, возникает необходимость посещать языковые курсы.

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

Первый способ особенно хорош для студентов языковых ВУЗов. Ребята туда идут подготовленные и высокомотивированные. Скажем, я, на первом курсе мехмата МГУ, встретил студентку первого курса МГИМО, которая, в свои 17 лет уже знала, в совершенстве, английский, французский и японский языки. На память, она оставила мне рисунок меня с надписью на катакане. Я даже собирался купить японско-русский словарь, чтобы прочесть ее послание, но, не судьба.

У нас, английский язык преподавали жестко, как и все остальные предметы для математиков, включая физкультуру. Тем не менее, с большим трудом, мы могли его «сдать», но, фактически, при этом, почти ничего не знать.

По большому счету, все упиралось в слабое знание грамматики, Да и словарный запас был недостаточным. Хотя, может быть, главным, все же, оказался недостаток мотивации, ибо вся она уходила на математику. По этой причине, нас очень любили студенты МГИМО, которые говорили, что: «Мы понимаем всех, кроме вас, математиков». Именно на нас они оттачивали свое мастерство ведения брифингов и пресс-конференций. И даже уговаривали задавать каверзные вопросы (это в те времена, когда, за прослушивание «Голоса Америки» можно было вылететь из Университета).

Читать далее

Аналог вложенным функциям на языке программирования Си

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

Полноценной замены вложенным функциям в языке программирования Си нет, но есть несколько способов, как их можно симулировать. Чаще всего в вложенных функциях нам важно то, что код определяется там же, где передаётся в качестве функции обратного вызова. Иногда этот код бывает настолько мал, что выносить его в отдельную функцию в глобальной области видимости смысла нет. Например, для сортировки массива по возрастанию с помощью функции типа qsort чаще всего достаточно такого кода: return e1 - e2;. Вынести его в отдельную функцию в глобальной области видимости, а затем ещё придумывать корректное название — так себе удовольствие. Вложенные функции, добавленные в GCC как расширение, могли бы решить эту проблему, но такой код не будет работать на других компиляторах языка Си.

Читать далее

ThinkFun: от революционера STEM производителя до стабильного бренда под крылом Ravensburger

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

В 1985 году небольшая компания ThinkFun начала с простой идеи — делать обучение увлекательным через игры, которые развивают ум, а не просто развлекают. За десятилетия она выросла в мирового лидера STEM-игр, создавая хиты, которые учили логике, физике и даже программированию — без экранов и скучных уроков. Её игры вдохновляли миллионы детей по всему миру, превращая сложные науки в захватывающие приключения. Но путь от гаражного стартапа до глобального бренда оказался не таким простым, как казалось. А сейчас, похоже, даже вступил в период стагнации. Давайте посмотрим на хронологию событий.

Читать далее

Миша — консольный SSH клиент

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

Миша - консольный SSH клиент, который в будущем перерастет в полноценную утилиту для удобно взаимодействия с удаленным компьютером по SSH

Читать далее

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