Search
Write a publication
Pull to refresh
2
0.5
Send message

Полурешётки и законы Мерфи

Reading time6 min
Views5.4K

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

Читать далее

Nanopass или как я писал компилятор этой осенью

Reading time8 min
Views5.6K

image


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

Читать дальше →

Архитектурные паттерны для высокой масштабируемости. Часть 1

Level of difficultyHard
Reading time16 min
Views24K

Эта статья предназначена для разработчиков, архитекторов и технических лидеров, которые ищут способы оптимизации производительности и масштабируемости своих систем. Она поможет понять:

Когда стоит использовать более простые подходы (например, шардирование, репликацию, CQRS) вместо того, чтобы сразу переходить к микросервисам.

Какие trade-offs возникают при выборе каждого из паттернов или архитектурных решений.

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

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

Читать далее

Нейросети пишутся кровью

Level of difficultyEasy
Reading time13 min
Views6.2K

Фантастический рассказ на конкурс

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

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

— Предъявите пропуск!

— Ну вот те на! Я же только вчера здесь был! — не могу не поиздеваться над тупым роботом. Давным‑давно живые охранники узнавали меня в лицо.

— Предъявите пропуск!

— А то что, чурбан железный? Ну на, съешь!

Я прикоснулся карточкой к считывателю. Турникет раскрылся. Через вращающуюся дверь я вошел на станцию.

«Осторожно! Маневровые локомотивы управляются искусственным интеллектом! Следуйте обозначенными маршрутами!» — такой плакат предупреждал об опасности всех, чей путь лежал через сортировку.

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

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

Читать далее

npm audit работает неправильно — это настоящий театр безопасности

Reading time12 min
Views28K
Безопасность важна. Никто не хочет выступать против безопасности. Поэтому все замалчивают проблему с npm audit. Но кто-то должен сказать.

Думаю, придётся мне.

npm audit работает принципиально неправильно. Проверка по умолчанию на каждый npm install — поспешный, непродуманный и неадекватный подход.

Слышали историю про мальчика, который часто кричал «Волк!»? Спойлер: в результате волк съел овец. Если мы не хотим такого итога, нам нужны лучшие инструменты.

На сегодняшний день npm audit — это пятно на всей экосистеме npm. Надо было исправить его с самого начала, но лучше поздно, чем никогда.
Читать дальше →

Сгенерированный ИИ код сделает вас плохим программистом

Level of difficultyEasy
Reading time7 min
Views15K

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

Для начала уточню, что под использованием сгенерированного ИИ кода я подразумеваю ситуацию, когда ИИ пишет код за вас, а не когда вы используете ИИ как инструмент обучения, чтобы лучше познать тонкости языков программирования и библиотек (по этому поводу у меня тоже есть своё мнение). Но если вы когда-нибудь применяли эти инструменты для того, чтобы ИИ писал код на основании имён методов или комментариев с нечётко описанной функциональностью, или вы используете ИИ для изучения и понимания собственной кодовой базы, чтобы не делать этого самостоятельно, то эта статья — про для вас.
Читать дальше →

За что безопасники будут гореть в аду?

Level of difficultyEasy
Reading time4 min
Views54K

Для привлечения внимания расскажу историю. Уже много лет живу далеко за пределами нашей всеми любимой родины. И на днях, понадобилось мне войти в старую почту gmail... Логин и пароль надежно сохранены. Однако Google не торопится впускать нас в собственную почту.
— Нам кажется что это не вы, подтвердите что это вы. Введите номер телефона когда-то использовавшийся при регистрации.
Что ж, и это можно. Ввожу номер.
— Увы, мы не можем отправить СМС на этот номер. Хотите завести другой аккаунт?

И еще пара историй...

Невидимый вывод grep при поиске, включающим конец строки в файлах с разделителем строк CRLF

Level of difficultyEasy
Reading time6 min
Views1.8K

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

Уже сталкивался с этим, но давно и причину вспомнил не сразу. Пофрустрировав, всё-таки припомнил, разобрался детальнее и решил написать небольшую заметку.

TL;DR: Причина – встреча символа возврата каретки CR (\r) с управляющей последовательностью \x1B[K : CR возвращает курсор в начало строки, а \x1B[K удаляет всё от курсора до конца строки. ОС - Ubuntu 24.04, терминал Terminator 2.1.3, шелл Bash.

Подробности

Microsoft представила квантовый чип Majorana 1 с топологическими кубитами

Reading time3 min
Views27K

Компания Microsoft анонсировала первый в мире квантовый чип Majorana 1, основанный на новой архитектуре Topological Core. Этот чип использует топологические проводники — инновационные материалы, которые позволяют управлять частицами Майораны для создания стабильных и масштабируемых кубитов. Разработка открывает путь к созданию квантовых компьютеров, способных решать сложные задачи промышленного масштаба уже через несколько лет, а не десятилетия, как предполагалось ранее.

Читать далее

Математики решили знаменитую «задачу о диване»

Level of difficultyEasy
Reading time3 min
Views30K

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

Читать далее

Я тебя найду и позвоню

Level of difficultyEasy
Reading time6 min
Views178K

Абсолютно легальные инструменты за смешные деньги могут позволить вам: звонить всем активным клиентам ваших конкурентов, построить десяток эффективных мошеннических схем, или даже позвонить предполагаемому любовнику вашей девушки/жены, а заодно проверить где она была вчера вечером! Обнаружил я это в ходе одного из расследований утечек заявок клиентов. И я твердо уверен, что такого быть не должно. Инструмент использующийся в статье эффективнее всех утечек вместе взятых, нашими данными не должны так легко легально торговать практически в режиме онлайн. Можно найти любого и позвонить любому из нас. Почему и как это работает, какие риски это несет и как этому противодействовать?

Расскажу далее.

Делаю 3 млн в год на любителях ходить в лес с ножом

Level of difficultyEasy
Reading time10 min
Views53K

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

Так продолжалось, пока однажды я не встретил Саркосому Шаровидную.

Читать далее

Домен .io может исчезнуть. Как геополитика влияет на доменные имена

Level of difficultyMedium
Reading time5 min
Views63K

3 октября британское правительство объявило, что отказывается от суверенитета над небольшим тропическим атоллом в Индийском океане, известным как острова Чагос. Острова будут переданы соседнему островному государству Маврикий, примерно в 1100 милях от юго-восточного побережья Африки. 

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

Будь то Github.io, игровой сайт itch.io или даже Google I/O (который, возможно, задал тренд в 2008 году), .io постоянно присутствует в техническом лексиконе. Его популярность иногда объясняется тем, как он представляет собой аббревиатуру для «ввода/вывода» или данных, полученных и обработанных любой системой. Что часто игнорируется, так это то, что это больше, чем просто смешной домен. Это домен верхнего уровня с кодом страны (ccTLD), связанный с государством, то есть он затрагивает политику далеко за пределами цифрового мира.

С 1968 года Великобритания и США управляли крупной военной базой на островах Чагос (официально известных как Британская территория в Индийском океане), но соседнее государство Маврикий всегда оспаривало британский суверенитет над ними. Правительство Маврикия долгое время утверждало, что британцы незаконно сохранили контроль, когда Маврикий обрел независимость. Потребовалось более 50 лет, но этот спор наконец-то был разрешен. В обмен на 99-летнюю аренду военной базы острова станут частью Маврикия. 

Читать далее

Кто реально угрожает C++ (нет, Rust, не ты)

Reading time14 min
Views81K

Привет! Меня зовут Александр Каленюк, и я крепко подсел на C++. Пишу на C++ 18 лет кряду, и все эти годы отчаянно пытаюсь избавиться от этой разрушительной зависимости.

Всё началось в конце 2005 года, когда мне довелось писать движок для симуляции 3D-пространства. В этом движке было буквально всё, чем язык C++ мог похвастаться в 2005 году. Трёхзвёздочные указатели, восьмиуровневые зависимости, C-подобные макросы повсюду. Кое-где – вкрапления ассемблера. Итераторы в стиле Степанова и мета-код в стиле Александреску. В общем, всё. Кроме ответа на самый важный вопрос: зачем?

Читать далее

Information

Rating
2,783-rd
Registered
Activity