Технические заметки
19 subscribers
57 photos
15 videos
30 links
Здесь я делюсь техническим опытом, который приобретаю каждый день на работе и дома.

Сетка: https://set.ki/Nheuhoc
LinkedIn: linkedin.com/in/magrega
Download Telegram
#code #dry #dx

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

Один из таких принципов называется DRY (от англ. «сухой»). Аббревиатура расшифровывается как Don’t repeat yourself (Не повторяйся). На мой взгляд, название интуитивно понятное, нет смысла дублировать строки кода по сто раз, если у нас есть инструменты, чтобы этого избежать.

А вот наглядный пример "на пальцах" для тех, кто далек от программирования:
❤‍🔥1🔥1🤯1
Была у меня история как-то, очень объемная и многогранная.

Еще когда я работал в Москве, мне купили ноут для работы Asus Vivobook S14. Прикольный, OLED-экран, 4К разрешение, ГПУ, хоть и встройка, но Back 4 Blood тащил на высоких, только тени убавлял. Но был у него такой прикол, когда пускаешь звук через Bluetooth-колонку и оставляешь ноут стоять, он уходит в сон, а сигнал блютуза начинает прерываться, превращая фоновое прослушивание музыки во вьетнамскую пытку. Тут можно видео посмотреть, как оно выглядело и звучало. Еще он включался кнопкой не с первого раза, когда работал от батареи, но поскольку ноут стоял у меня статично на столе по большей части, меня это не так сильно беспокоило.

Понятно дело, первое, что я сделал, это обновил все драйвера и биос файлами с сайта производителя, но это не поменяло абсолютно ничего. Поверхностно погуглив и не найдя очевидных решений, я решил не париться и отдать его по гарантии. Я пришел в сервисный центр, попытался все объяснить, но честно, сложилось впечатление, что меня никто не слушал. Я в этом убедился, прочитав описание проблем на квитанции СЦ. Написали вообще не то, о чем я рассказывал. Ну бог с ним, гарантия есть, пусть разбираются. Ноут забрали, вернули спустя 45 дней (!!!), сказали, что все пофиксили прошивкой биоса🤪. Я при них пытаюсь включить ноут и он не заводится.

Я вопросительно смотрю на работника СЦ, он не понимает вопроса в моих глазах. И тут я совершил первую ошибку из многих, которые потом последовали. Я решил забрать ноут и нормально протестить его дома. "Ну мало ли".

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

После долгого конфликтного разговора он все-таки решил его забрать, мол, пусть руководство решает ремонтировать по гарантии или нет. В итоге мой ноутбук пролежал у них больше полугода. Я звонил каждые две недели и мне сначала говорили, что ждут детали на замену с Кореи, потом они его сушили и диагностировали, ведь плата залита, а когда я уже пришел с досудебкой, мне его вернули с ответом СЦ, что нет технической возможности провести ремонт. В качестве компенсации дали на пиво, а я дальше этого не полез, так как ноут всё-таки покупал не я. Убрал его в долгий ящик.

Тут заканчивается эта избыточная прелюдия и начинается интересная техническая часть.

#asus #service #vivobook #bluetooth
2❤‍🔥1🤯1
У меня есть вредная черта: если что-то не работает как задумано, это нужно либо починить, либо сломать окончательно в попытках. Так я и взялся за этот несчастный ноутбук. Переустановил Windows раз тридцать, не меньше. Кстати, из этого вынес интересный опыт: если купить NVMe-диск, положить его в бокс и ставить Windows с него через USB 3.1, система устанавливается за считанные минуты.

Пробовал разные сборки Windows 10 и 11, ставил Debian — на нём всё работало идеально. Ковырял режимы питания, менял Bluetooth-модуль, пробовал разные драйверы из интернета, спрашивал на Stack Overflow и подобных форумах. Был даже забавный момент: воткнул USB-адаптер Bluetooth — и он вёл себя точно так же, что окончательно убедило меня: проблема не аппаратная.

Уже не помню по какой логике, но я был уверен, что дело в BIOS, и мне нужно найти для него обновление. Тут начался настоящий квест. Сначала разместил объявление на Profi.ru, обещая золотые горы тому, кто решит проблему. Нашлось несколько энтузиастов, пытавшихся помочь удалённо, но, к сожалению, безуспешно. Потом попался возрастной мужчина с советским техническим образованием — блестящий профиль на Profi.ru, миллион выполненных заказов, ноль жалоб, сплошные пять звёзд. Решил: вот оно, советское качество, наверняка поможет.

Встретились, поговорили, ударили по рукам. Через неделю он звонит и говорит, что установил свою «особую» Windows и прошивку BIOS от другой модели ноутбука — теперь всё работает отлично. Больших надежд я не питал, но удивился, когда на встрече ноут сразу включился нормально. Но это было просто совпадение 😮. После этого я настолько отчаялся, что отправился в LinkedIn и стал добавляться в друзья ко всем, кто разрабатывает ПО в ASUS — нашим, корейцам, американцам. Набрал кучу контактов, все обещали уточнить у коллег и вернуться ко мне, но никто так и не ответил 😶. Техподдержка ASUS тоже себя проявила: в одном из моих постов на Reddit американский сегмент компании попросил прислать им серийник, после чего ушел во тьму, а поддержка Казахстана не давала советов глубже, чем переустановка драйверов. Они еще выдали одно замечание интересное, но чтобы не бежать вперед паровоза, об этом расскажу в следующем посте.

Ах да, я даже нашёл на Avito всех, кто продавал ноутбук моей модели. Писал им и просил подтвердить, есть ли у них такая же проблема. Один человек подтвердил и поддерживал со мной связь — вместе тестировали и строили теории.

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

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

Поиски продолжились. И тут я наткнулся на режим Modern Standby в Windows.

#Windows #bluetooth #drivers #asus #vivobook
🎉2🤯1😱1
Работая разработчиком пользовательских интерфейсов, особенно имея нездоровую дотошность к визуальным деталями, со временем и опытом начинаешь обращать внимание на то, как какие-то вещи, связанные с интерфейсом, делают другие.

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

На прикрепленных гифках есть два примера: один из приложения Т-Инвестиции. Курсор мигает вместе с отсчетом секунд. Едва заметная деталь, но сразу даёт невероятно целостное и крепкое ощущение от интерфейса. Ощущение, что тут точно ничего не сломается, потому что работает "как часы".

Второй пример из поиска в гугле с помощью ИИ. Просто очень красиво и развекательно. Я залип в него. Курсор каждый раз мигает новым цветом из палитры логотипа компании.

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

#ux #ux #frontend #webdev
🔥21🤯1
А вот пример даунгрейда в дизайне.

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

Предлагаю два скрина:
на первом всем привычная кнопка вкл/выкл. в iOS, на втором тот же тумблер, но в iOS 26.1.

Первая мысль - поехал CSS. Растянуло, будто align-items: stretch.

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

#iOS #frontend #webdev
🤯2❤‍🔥1👍1🤝1
Сегодня выбирал себе мышку. Я с 14 лет пользовался только X7 от A4Tech. Сейчас мне 30 лет и я понял, что нужно что-то менять. Остановил свой выбор пока на этой Razer DeathAdder V3 Pro, хоть и логотип у Razer отвратительный, но эта история чуть про другое.

Пока я выбирал себе мышку, я наткнулся на то, что хват мыши, оказывается, тоже различают. Существует три вида: Palm, Claw и Fingertip. Там еще куча подвидов, но базово, как я понял, различают эти три.

Deepseek очень учтиво показал сравнение этих хватов по разным параметрам.

Ну, в общем, я себе выбрал эту мышь под свой врожденный Palm Grip. А какой Grip у вас?

PS. Fingertip хват выглядит чем-то психопатическим.

#mouse #deepseek #razer #x7
2❤‍🔥1🤯1
Внезапно представилась возможность сделать своё расширение для VSCode. Товарищ обратился за советом, хотел узнать, как можно работать с комментариями в .json файлах. Я поделился тем, что знал, и сказал, что есть формат .jsonc, который поддерживает комменты, но парсинг в обычный json он не пройдет. Потолкались идеями, подумали о том, что было бы здорово написать какой-то скрипт, который бы удалял бы комменты, висящие запятые и лишние пустые строки и выдавал это всё в обычный .json.

Сказано - сделано. Скрипт я накидал, но как его встроить в работу? Сразу подумал про магазин расширений в VSCode. По быстрой консультации с DeepSeek выяснил, что нужно сначала сделать учетку на Azure DevOps, там выпустить токен для идентификации своей организации и использовать его в при регистрации в качестве организации в магазине расширений. Практика оказалось гораздо проще: Azure вообще не понадобился. Можно просто создать учетку на сайте магазине расширений и там дропнуть файл с расширением .vsix, после чего он сразу попадает в магазин, валидируется и попадает в индексацию поиска. Azure нужен, чтобы получить упомянутый токен и с его помощью публиковать расширения напрямую из VSCode. Я в рамках своей небольшой задачи обошелся просто загрузкой на сайте.

Сама разработка расширения довольно любопытная. У VSCode есть свои встроенные методы, которыми можно пользоваться.
Например, чтобы добавить команду в палитру команд (ctrl + shift + p), можно воспользоваться методом vscode.commands.registerCommand.
Или, например, чтобы запускать команду на сохранении документа onDidSaveTextDocument, но нужно убедиться, что скрипт стартует вместе с приложением. В package.json в activationEvents добавить "onStartupFinished".

Если кто не знает, VScode написан на Electron. Это фреймворк для написания десктоп приложений на JavaScript, потому мы можем использовать привычный npm при написании расширений.

Само расширение довольно простое: библиотекой strip-json-comments вычищаются комменты, лишние запятые, а потом всё это парсится в JSON, чтобы почистить форматирование.
Посмотреть можно тут: GitHub и VSCode Marketplace.

Есть еще пара идей, как расширить функционал скрипта. Если дойдут руки - поделюсь.

#vscode #Code #javascript #extension #github #json
🤯2👍1🤓1
This media is not supported in your browser
VIEW IN TELEGRAM
Как-то на одном из предыдущих мест работы был спор с руководителем касательно того, как лучше валидировать данные пользователя. Предлагалось на фронте делать очень сложную валидацию на всё: на знаки препинания, смайлики, нелатиницу и даже цифры. Я предложил переместить все сложные проверки на бэкенд, а на фронте остановиться на простых обработках, вроде минимального и максимального количества символов и проверки регулярок для телефонов и почты.

Конечно, вопрос "Как лучше?" всегда стоит внутри команды, грань между тем, чтобы сделать недостаточно, и чтобы сделать слишком много зачастую очень тонка. Я в итоге решил поискать вдохновения на сайтах популярных компаний и набрел на сайт icloud.com. Стал в поля ввода данных пихать всё подряд, разные знаки, символы и додумался начать пихать туда Эмодзи.

Было прикольно посмотреть, как они улетают на бэк и даже предлагают мне пароль ввести, чтобы найти мою учётку. Интересно, можно ли бы было завести учетку просто с одним эмодзи 😎?

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

Вспоминается принцип Парето: 20% усилий дают 80% результата, а остальные 80% усилий — лишь 20% результата.

А вы как думаете, стоит ли на фронте обрабатывать все узкие случаи валидации формы?

#icloud #frontend #webdev #apple #emoji
🔥2❤‍🔥1🤯1
Are you ready, kids?
❤‍🔥1👏1😁1🤝1
Пользуюсь приложением Здоровье от СОГАЗ Страхование, так как по работе доступен ДМС. Как-то мне показалось, что я не могу сразу найти колокольчик с уведомлениями, палец интуитивно тянется в один угол, а он в другом. Не мог понять в чем причина, пока целенаправленно не полез искать его на разных экранах.

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

#ux #ios #согаз
👍2❤‍🔥1🤯1
Продолжаю историю про свой Vivobook. Мне кажется, этот пост будет самым интересным из серии. В какой-то момент я начал ковырять журнал событий в Windows 11 и обнаружил там запись, связанную с переходом системы в режим Modern Standby. Как оказалось, в этот режим переходил мой ноутбук каждый раз, когда по таймауту выключался экран и начинались лаги с Bluetooth.

Здесь стоит взять паузу и ввести необходимые для повествования понятия. Возможно, многие знают, что классический режим сна, в который уходит Windows, называется S3 (Suspend to RAM). В этом режиме система обесточивается, за исключением оперативной памяти, где сохраняется вся работа. Однако, с приходом мобильных устройств в наши жизни, Microsoft посчитала, что было бы здорово унифицировать подходы к циклу питания устройств и выкатили Modern Standby.
Цель Modern Standby — сделать выключение и включение ПК мгновенным, как на смартфоне или планшете. Устройство не полностью выключено, а находится в состоянии очень низкого энергопотребления, но при этом может выполнять некоторые фоновые задачи.

На бумаге, казалось бы, красота. По кнопке включения ноутбук моментально включается и выключается, действительно, как телефон. Я даже успел лицезреть эту технологию на своем ноутбуке, пока ковырялся, но как оно часто бывает, теория расходится с практикой. Для идеальной работы Modern Standby требуется безупречная оптимизация:
• Драйверов (особенно Wi-Fi, аудио, сенсорной панели)
• Прошивки UEFI
• Фонового ПО (антивирусы, облачные клиенты, мессенджеры)

Если хотя бы один компонент "будит" систему слишком часто или не даёт ей уйти в Modern Standby, потребление энергии в "сне" становится сравнимым с работой в простое, что приводит к разрядке батареи за несколько часов.
Modern Standby принес много новых проблем, которые сделали использование этого режима головной болью для пользователей. Настолько большой, что даже крупные техноблогеры, вроде LTT, делали несколько видео на эту тему.

Основной проблемой стал чрезмерный разряд батареи в режиме ожидания:
• Драйвера: если драйвер устройства или фоновое приложение не оптимизированы для Modern Standby, они могут не давать системе войти в режим энергосбережения, что приводит к повышенному потреблению энергии.
• Сетевые активности: Постоянный опрос почты, синхронизация, обновления.
• Пробуждения таймера: Планировщик задач Windows или другие программы могут будить систему для выполнения задач.

Для чуть более полного понимания еще стоит ввести термин DRIPS. Расшифровывается как Deepest Runtime Idle Power States – состояние устройства, в котором оно может уйти в глубокий режим простоя и для обслуживания которого не требуется пробуждение ЦП.
Например, если драйвер Wi-Fi не умеет правильно работать в DRIPS, он может либо вообще блокировать вход в Modern Standby, либо войти в него, но продолжать активно сканировать сети, обмениваться пакетами.

Так что, если у вас какие-то странные проблемы с относительно новым ноутбуком, вроде непонятного перегрева в режиме сна, случайных включений экрана или быстрой разрядки батареи, то возможно стоит посмотреть в эту сторону.
Я столкнулся именно с проблемой перехода в Modern Standby, которую я решил костылем, но тем не менее – решил, и это заняло почти 2 года. В следующем посте расскажу детально, что именно было с моим ноутбуком, так как этот пост получился довольно длинным.

#vivobook #modernstandby #laptop #asus #s3 #s0
👍2❤‍🔥1🤝1
Для тех, кто любит страшилки перед сном:

#1c #frontend
❤‍🔥1😁1
Я столкнулся с каким-то совершенно упоротым багом в Android Studio. Мне на поддержку выпал проект для Android 6.0, который надо было переписать под Android 14.0, и когда я в очередной раз запустил среду разработки, я столкнулся с тем, что в меню настроек Gradle пустое.

Там, где я должен мочь выбрать версию JDK, я вижу пустое окно с надписью Select configuration element in the tree to edit its settings.

Понятно, первым делом инвалидировал кеш IDE, ребутнул комп, заново скачал проект с гита. Бестолку. Спросил у самого Gemini что происходит. Он мне ничего внятного не сказал, предложил сделать тоже самое, что я сделал выше.

Полез гуглить. Наткнулся на решение. Проблема в том, что если в переменных среды в Windows есть какие-то косяки, то UI может глючить в Android Studio (что абсолютно отбитая дичь).

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

И действительно, он подсветил, что в переменной ffmpeg стоит скрытый символ +202A.

Это видно на втором скрине из Powershell, там он отображен на выделенной линии в виде знака вопроса в квадратике.

Исправил путь, знак удалил, всё завелось. На ровном месте потратил 30 минут, потому что кто-то не парсит строки путей по-человечески: то ли Microsoft, которые допускают такие символы, то ли Google, у которых ломается UI от легкой тычки.

#android #studio #google #gemini #gradle
❤‍🔥2🤯2😱1
Интересное наблюдение для общей эрудиции:
Если одним проводом подключить друг к другу два iPhone, то заряжаться начнет тот, у которого меньше зарядки, но только если она оба подключены по USB-C. В случае, когда один из концов провода Lightning, тогда всегда будет заряжаться устройство с Lightning.
А если одним проводом подключить iPad и iPhone, то планшет всегда выступает в качестве павербанка, вне зависимости от того, сколько заряда у него осталось.

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

#Apple #iOS #iPadOS #Lightning #Charging
❤‍🔥11🤯1
Часть 1.

Нашел тут у одного из коллег по цеху ссылку на IT-2025: Реквием по здравому смыслу. Довольно комично написано, едкое сатирическое описание сегодняшнего рынка IT, но пару цепких цитат я оттуда выхватил. Покажу вам самое главное, а если захочется прочесть, то можно будет перейти по ссылке на Хабр.

"День разработчика превратился в "швейцарский сыр" — куски времени по 30-40 минут между созвонами, в которые невозможно погрузиться в состояние потока. Продуктивность падает, выгорание растет."

Оно действительно так. На всех моих рабочих местах с приходом в разработку всегда было какое-то неадекватное проекту количество суеты, будь то созвоны в Teams или сборища в кабинете у менеджера. Чудовищная пустая трата времени. У каждого человека свой ритм работы. Мне, чтобы войти в фокус, нужно минут 40-60 и после этого я могу несколько часов подряд стабильно работать, пилить фичи и фиксить баги, но как только этот пузырь внимания лопается звонком или новой срочной задачей вне спринта, у меня все схемы в башке рушатся и приходится набирать всю инерцию сначала.

У меня был рабочий день как-то, который целиком и полностью состоял из звонков. 8 часов Teams. Сначала дейлики, сетап и ретро в моей команде, затем часовые сборища со всем отделом по вопросам коммуникации между отделами. Очень иронично. Ни одной строчки кода за целый день.

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

Примером может служить ценообразование на маркетплейсах, где алгоритмы, настроенные на максимизацию прибыли, устраивают "американские горки" с ценами, вводя покупателей в ступор. Или операторы связи, оптимизирующие саппорт до такой степени, что дозвониться до живого человека в саппорте стало квестом уровня Dark Souls, а чат-боты способны распознать только 2.5 сценария.

Менеджмент оторван от реальности. Они живут в мире презентаций, где графики всегда растут вверх. А внизу, в "машинном отделении", разработчики латают дыры в тонущем корабле, пытаясь заставить работать фичи, которые были проданы, но еще даже не спроектированы. Это феодализм, где вассалы (разработчики) обязаны обеспечивать красивую жизнь сюзеренам (менеджерам) ценой своего психического здоровья и качества продукта.

Поработать на маркетплейсах мне не довелось, но на одном из проектов действительно разработка проекта скатилась в такую помойку, что приходилось просто фиксить бесконечные проблемы. Сменилось руководство и новые люди решили использовать имеющиеся наработки, чтобы делать что-то совершенно иное для чего продукт не был предназначен и вся разработка свелась к нескончаемому тушению пожаров в виде ремонта обработчиков 1С, загрузок данных в БД напрямую и исправлениям сразу на проде без суда, следствия и хотфикса через гит.
❤‍🔥11🤯1
Часть 2.
Вайб-кодинг — это программирование на основе ощущений и подсказок ИИ, без глубокого понимания синтаксиса или алгоритмики. Появились вакансии, открыто декларирующие: "Нам не нужны лорды, гордящиеся прошлым. Нам нужны те, кто генерирует код". Возникла концепция "Команды 7/7" — круглосуточного конвейера, где люди работают без выходных, подстегиваемые верой в то, что ИИ делает их сверхлюдьми.
Это фундаментальный сдвиг в профессии. Мы переходим от написания кода к рецензированию кода, написанного нейросетью. Но чтобы качественно рецензировать, нужно знать больше, чем нейросеть. А если нейросеть знает больше "рецензента" (джуниора), то мы попадаем в ловушку компетентности. Джуниор смотрит на сгенерированный код, видит, что он запускается, и отправляет его в продакшн. Он "чувствует вайб", что все ок.


Тут выскажу сугубо личное мнение. Пузырь из соевых разработчиков разрастался, начиная с ковида, и сейчас набрал критическую массу.
Конечно, до определенной степени я сам такой же парень из пузыря, но я заходил в профессию со всей скромностью, с желанием учиться и разбираться в сложных концептах. Я никогда не считал, что, пройдя пару курсов на Udemy, можно залететь на зарплату 100+ и еще бить себя в грудь, что рынок мне не доплачивает. Цена любого опыта — стыд, и, как ни крути, первые год-два работы рассчитывать на какие-то серьезные плюхи — это гордыня. Конечно, есть свои исключения, но мне кажется, средний опыт для человека, который в ~30 лет входит в программирование, будет такой.

Так сложилось, что у меня был опыт отбора кандидатов. На протяжении нескольких месяцев мы искали второго разраба на React в команду. И если на момент прихода в компанию я себя чувствовал совершенно чужим в профессии, будто меня туда занесло по ошибке, то после проведения собесов и наблюдения за кандидатами, я понял прекрасно, что я еще молодец. Люди с 5-летним опытом разработки приходят и не могут ответить на банальные вопросы про Redux и мемоизирование, а требования по зарплате - моё почтение. Люди действительно считают, что, пройдя один курс на Udemy или Яндекс, можно сразу попасть на проект и что-то пилить, ну а с появлением ИИ-агентов люди начали терять связь с реальностью и вправду считают, что они разработчики.

Бизнес в восторге от ИИ. "Зачем нам дорогой сеньор, если DeepSeek пишет 1500 строк кода за минуту?" — спрашивают они. Ответ прост и страшен: поддержка. ИИ позволяет генерировать функционал с невероятной скоростью. Графики производительности (Lines of Code) летят в космос. Но вместе с ними в космос летит и технический долг.
Код, написанный ИИ, часто страдает от скрытых дефектов:
- Использование несуществующих библиотек (галлюцинации).
- Нарушение паттернов безопасности.
- Логические бомбы, которые взрываются только при граничных условиях.
Когда такой код накапливается, проект превращается в "Большой Ком грязи". Поддерживать его становится невозможно, потому что никто — ни человек, ни ИИ — не понимает общей картины.


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

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

Я с уважением отношусь к чужому опыту и испытываю интерес к тому, какими знаниями владеет команда, так как именно наследственность опыта создает общее понимание продукта и оставляет возможным его поддерживать. ИИ-разработка — это действительно "черный ящик", и бог бы с ним, если бы пределом был плохо написанный код, но использование ИИ в разработке, особенно в больших компаниях, вызывает много юридических вопросов в виде 152-ФЗ и права принадлежности кода.

#habr #ai #article #quote
🔥2❤‍🔥11