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

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

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

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

«Почему компилятор Rust такой медленный?»

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

Я потратил месяц на создание веб-сайта в Docker и теперь готов поделиться ужасными историями.

У меня есть проблема.

Мой веб-сайт (на котором была опубликована эта статья) в основном обслуживается одним двоичным файлом Rust. Он стал слишком длинным. Каждый раз, когда мне нужно внести изменение, я должен:

Собрать новую статически компонуемую библиотеку (с --target=x86_64-unknown-linux-musl)

1. Скопировать её на сервер

2. Перезапустить веб-сайт

Ситуация, мягко говоря, неидеальная.

Поэтому мне бы хотелось перейти к развёртыванию веб-сайта при помощи контейнеров (будь то Docker, Kubernetes или что-то иное), в духе подавляющего большинства ПО, разворачиваемого в последний десяток лет.

Единственная проблема заключается в том, что реализовать быстрые сборки Rust с Docker не так уж просто.

Читать далее

Новости

Телеграфируем кодом Морзе через Java Stream API (часть 1 из 2)

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

Азбука Морзе — один из самых старых, но не уходящих на заслуженный отдых телекоммуникационных стандартов. Почему бы не объединить ее с Java? Это статья о технологиях, отстоящих друг от друга более чем на полтора столетия. Мы познакомимся с кодом Морзе, с подкапотной частью Java Stream API, и на живом примере соберем все это в одно кроссплатформенное приложение на Java.

Вперед, в прошлое!

От React всё так же веет безумием, но все об этом молчат

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

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

Так что вот она полноценная статья, ещё больше той, из которой она родилась. Здесь я подробно опишу все проблемы React и поясню, почему это может не быть виной разработчиков.

Читать далее

Исследование METR: использование Cursor замедляет опытных разработчиков на 19 %

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

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

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

Читать далее

От Аристотеля до Тьюринга: что такое функциональное программирование и как оно облегчает жизнь

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

Привет, меня зовут Марат Зимнуров, я тимлид в кросс-функциональной команде HR Admin Tech Авито. Тема функционального программирования не обделена вниманием — и все же тяжело найти действительно понятный и структурно изложенный разбор данного инструмента. Нет нормального гайда для старта — ни у нас, ни на Западе. Многие говорят про иммутабельность и монады, но путаются в основах. В статье разбираю, что такое функциональное программирование на самом деле и зачем оно нужно.

Читать далее

Python в Enterprise-разработке: почему популярность ЯП распространилась и на корпоративный сектор. Часть 1

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

Привет! Это Леша Жиряков, я руководить бэкенд-команды витрины KION и Python-гильдии в МТС. Как раз о Python сегодня и пойдет речь. Обсудим, почему самый популярный ЯП, по версии TIOBE, так востребован в корпоративном секторе: из простого инструмента автоматизации он превратился в полноценную экосистему для создания критически важных продуктов.

Если коротко, причина успеха — в эволюции языка и его экосистемы. Аннотации типов в Python 3.5 сделали доступной статическую проверку кода без потери гибкости динамической типизации. Это решающий фактор для корпоративной разработки, ведь главные требования тут — это надежность и поддерживаемость.

Недавно я уже писал о причинах успеха Python в целом, а сегодня хочу подробно рассмотреть его современные инструменты для предприятий: типизированные структуры данных с dataclasses, высокопроизводительные системы валидации msgspec, pydantic 2 и другие библиотеки. То есть все, что помогло ему стать идеальным выбором для серьезных бизнес-решений. Информации много, так что тему разобью на две части. Погнали!

Читать далее

ZFS on Linux: установка Ubuntu с корнем в ZFS, RAID и шифрованием

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

Привет! Меня зовут Ваня, я системный администратор в Selectel. Допустим, вы уже «пришли к просветлению» и признали, что ZFS — удобная, функциональная и вообще единственная правильная файловая система. Осталось только понять, как начать ее использовать. Об этом и поговорим под катом!

Продолжить «просветление»

— Ты там работай, но столько платить мы не можемǃ

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

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

Суть:

Читать далее

Эксперты шокированы: язык программирования на основе кликбейтных заголовков

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

Кликбейтные заголовки, давайте признаемся, надоели всем. Сейчас они встречаются даже на Хабре. Программист Линус Ли, судя по всему, испытывал те же чувства и решил действовать по принципу «не можешь победить — доведи до крайности». В результате он создал Tabloid — полноценный язык программирования, где весь код пишется в стиле сенсационных заголовков.

Представьте язык, где вместо привычного function hello() вы пишете DISCOVER HOW TO HELLO WITH (англ. «узнайте, как сделать... с помощью»), а вместо return используете SHOCKING DEVELOPMENT! (англ. «шокирующее развитие событий»). А еще каждый листинг должен заканчиваться фразой PLEASE LIKE AND SUBSCRIBE.

Звучит как странная шутка? Да, но этот язык реально работает, имеет собственный интерпретатор и позволяет писать полноценные программы.

СЕНЬОРЫ СКРЫВАЛИ ЭТОТ ЯЗЫК….

Язык программирования Cangjie: китайский вызов Java и Swift

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

Несколько лет назад Huawei решила зайти на территорию языков программирования (ЯП) со своим проектом Cangjie. Сказано — сделано. Новый ЯП впервые показали на HDC 2024. 30 июля 2025 года компания обещает открыть исходный код. Язык заявлен как кроссплатформенный: уже сейчас он поддерживает HarmonyOS и Android, а в перспективе может получить совместимость с iOS. Что в нем интересного и что даст открытие кода, сегодня и разберем.

Читать далее

Космотекст: запускаем лучшие статьи в космос

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

Привет, это Хабр с буквально космической новостью — у нас стартует конкурс по написанию статей, где 20 лучших мы отправим в... 🛸КОСМОС🛸. Да, прямо в космос-космос. Да, в самый настоящий! 

Мы делаем такое впервые, поэтому сами в большом предвкушении от процесса и результата. Как мы уже сказали, по итогам конкурса мы выберем 20 статей, а вместе с ними на орбиту улетит еще 60 лучших технических публикаций, которые авторы написали за все почти 20 лет существования Хабра. И для лучшего автора из этих 80 статей у нас с RUVDS есть ☄️супер приз — экскурсия на Байконур☄️

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

Читать про космотекст

Быстрый старт: пишем фреймворк для фронтенда

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

Привет, Хабр. Меня зовут Марат Исаев. В этой статье я кратко рассмотрю устройство самописного микрофреймворка и его применение для написания приложения-планировщика, чтобы вы могли написать свой фреймворк, для своих приложений. Подчеркну: статья образовательная и не охватывает enterprise-разработку.

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

Читать далее

Три совета, как не выучить C++ за 21 день (субъективный гайд с дополнениями)

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

Типичная проблема новичков при изучении языка программирования — они тонут в море учебных материалов. Интернет предлагает тонны статей, курсов и книг по C++, но как выбрать действительно стоящие?

Меня зовут Владислав Столяров, я руководитель команды анализа безопасности продуктов в мультипродуктовой экосистеме МойОфис. Наши решения — Документы Настольные и Документы Онлайн — во многом работают благодаря C++, так что мне есть чем поделиться. В этой статье расскажу, что делать, если вы вдруг решили залететь в плюсы, но уже чувствуете, как накрывает экзистенциальный кризис от обилия информации.

Читать далее

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

COBOL в XXI веке: почему банки и госслужбы не могут отказаться от языка 1959 года

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

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

Как старейший «серверный» язык справляется с XXI веком, где безопасность и гибкость важнее вечной стабильности?

Читать далее

Сейчас открою вкладку с ИИ и стану программистом

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

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

Читать далее

RainLoop: от шелла через аттач, до кэша в инбоксе

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

Мы в Beget традиционно делаем ставку на безопасность и стабильность предоставляемых сервисов. Именно поэтому ещё в 2017 году запустили собственную программу поиска уязвимостей, а в прошлом году присоединились к инициативе BI.ZONE Bug Bounty, где продолжаем активно взаимодействовать с исследователями со всего мира.

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

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

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

Если вы интересуетесь безопасностью PHP-приложений, работой с legacy-софтом или просто любите хорошие багхантерские истории — этот текст определённо для вас.

Читать далее

Сотворение мира за 20 минут на JavaScript, или минималистичная модель эволюции

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

Впервые про моделирование эволюции я прочитал в 13 лет в статье «Жить и умереть в компьютере» (Техника — Молодежи, №5 1993 год). Она произвела на меня столь неизгладимое впечатление, что я тут же загорелся идеей создать что-то подобное.

Однако никак не удавалось проработать законы мира. Как организмы будут «смотреть» на окружающий мир? Как общаться? Как атаковать? Как кушать друг друга? Наконец, как будет устроен их «мозг»? Реализовать виртуальную машину, как в статье из журнала, или использовать что-нибудь проще, типа конечного автомата или схемы из блоков И-НЕ?

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

Запустить эволюцию

ИИ заменит или изменит программистов? Техлиды рассказали правду

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

Волна паники захлестнула IT-сообщество. Гуру из Кремниевой долины наперебой объявляют о «смерти программирования». Стартапы хвастаются ИИ-инженерами, которые пишут код лучше людей. Новостные ленты пестрят заголовками о массовых увольнениях разработчиков. На этом фоне мы решили поговорить с теми, кто каждый день работает с кодом, — практикующими разработчиками, техлидами и архитекторами. Их откровения удивили. Оказалось, что между громкими заявлениями и реальностью — пропасть. ИИ действительно умеет писать код, но есть нюансы, о которых молчат в корпоративных презентациях. Разбираемся, где искусственный интеллект незаменим, а где он беспомощен как первокурсник, и почему программисты не торопятся переквалифицироваться в курьеров.

Читать далее

Хроника изменений API фоновой работы в Android

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

Привет! Меня зовут Алексей, я работаю Android-разработчиком в Облаке Mail. Наше приложение выполняет важную задачу — хранит воспоминания пользователей. Для этого необходимо уметь правильно работать с файлами в фоне, чтобы не только надёжно хранить те самые воспоминания, но и быстро их загружать, редактировать и делиться. В этой статье я расскажу о том, как мы пришли к нашим современным методам фоновой работы в Android.

Читать далее

Мы — не семья: как компании заставляют тебя работать за идею и спасибо

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

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

«Добро пожаловать в команду! Мы — не просто коллеги, мы как семья. У нас общие ценности, мы заботимся друг о друге и делаем великое дело».

Читать далее
1
23 ...

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