Обновить
0
Aleksandre Zutikov@zvlexread⁠-⁠only

Ruby Developer

Отправить сообщение

Что вы не знали о Claude Code: архитектура, управление и инженерные практики

Уровень сложностиСложный
Время на прочтение21 мин
Охват и читатели33K

Сегодняшняя статья основана на полугодовом опыте глубокого использования Claude Code и кучи набитых шишек. Надеюсь, это будет полезно.

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

В этой статье я хочу обсудить несколько вещей: как Claude Code работает изнутри, почему контекст засоряется и как с этим бороться, как правильно проектировать Skills и Hooks, как правильно использовать Subagents, как архитектура Prompt Caching влияет на всё, и как написать действительно полезный CLAUDE.md.

Читать далее

Как мы отреверсили Агент@Mail.ru и над нами смеялась половина Твиттера

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

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

Читать далее

О радости программирования и невесомости достижений

Время на прочтение8 мин
Охват и читатели21K

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

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

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

Читать

Собираем «Тревожный чемоданчик». Мнение спортивного туриста

Время на прочтение18 мин
Охват и читатели238K
Когда началась война, все произошло так быстро, что я не могла ни понять, что происходит, ни подумать о том, что хотела бы взять с собой, когда мы убегали. (из интервью сирийской беженки)

Мне почему-то не хочется делать вид, что ничего не происходит. Потому что нынешняя военная эскалация напоминает затишье перед бурей, похожие ощущения были в январе 2020, когда «коронавирус же не у нас, он в Китае». В итоге жизнь подтвердила несостоятельность подобного «психологического» трюка. Поэтому, думая про худшее и надеясь на лучшее, я написал недавно эмоциональную заметку про «тревожный чемоданчик». Написана она с учетом моего опыта спортивного туризма (инструктор гор/пеш), поэтому профессиональные военным (выживальщикам?) просьба отнестись с пониманием. Писалось с акцентом на беларускую аудиторию, и вот искренне надеюсь, что (НЕ) пригодится всем. Просьба не политизировать данную статью, а воспринимать as is. Те кто затевает войны — Хабр не читают. Мы все в одной лодке, надеюсь написанное под катом хоть немного поможет этой «лодке» быть на плаву…


Собираем тревожный чемоданчик вместе

Как в 19 лет я начал путь разработчика встраиваемого ПО

Время на прочтение4 мин
Охват и читатели41K

Привет, Хабр! Меня зовут Данила, мне 21 год, и за последние 2,5 года я успел поработать в роли разработчика программного обеспечения для встраиваемых систем — в основном на базе STM32. В этой статье я хочу поделиться тем, как я вообще пришёл в эту сферу, с чего начинал, какие грабли собрал и какие выводы сделал по пути.

Читать далее

Вселенная дистрибутивов Linux: От Ubuntu до Arch, от Mint до Fedora – подробный гид по выбору

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

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

Читать далее

Разбираем конкурентность в Go: книги, блоги, выступления

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

Особенность Go — удобный механизм конкурентности. Создавать конкурентные задачи в парадигме языка можно буквально «бесплатно» и предельно просто: достаточно написать ключевое слово go перед вызовом функции — и она начнет выполняться в отдельном потоке.

Я Владислав Белогрудов, эксперт по разработке ПО в YADRO. В свое время изучал различные источники и лучшие практики в поиске эффективных способов организации параллельных процессов в Go. Делюсь ими с вами. 

Пополнить библиотеку

Elixir: алхимия кодогенерации

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели5.1K

Elixir - язык, вызвавшийся заново открыть Erlang современному миру. Синтаксис без приятных сердцу, но уже архаичных знаков пунктуации; культура разработки с особым вниманием к качеству и удобству инструментов; полноценный набор решений для написания web-сервисов; стандартная библиотека без груза в несколько десятилетий и настоящие макросы.

Если задуматься, то непосредственно в самом языке не так уж и много нового. Действительно, зная и Elixir и Erlang, можно представить как код на одном языке будет выглядеть на другом. Хотя и не всегда - в Elixir имеются выражения, которым нет эквивалента в Erlang. Как же они работают? Очевидно, Elixir раскрывает их в какой-то дополнительный Erlang код на этапе компиляции. Иногда можно интуитивно представить в какой, а иногда (спойлер) компилятор может подкинуть пару сюрпризов.

Эта статья - обзор преобразований, которые проходит код на Elixir прежде чем попасть в компилятор Erlang. Мы посмотрим на условные выражения вроде if и cond, уделим внимание точке, посмотрим на приключения с with и for, приоткроем тайны протоколов и удивимся оптимизациям, которые Elixir умудряется производить.

Читать далее

Что такое Crafty Buildy Games?

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

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

Читать далее

История и конец ICQ

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

Ровно месяц назад VK объявила о закрытии проекта мессенджера ICQ — спустя 28 лет после его выпуска. Завершилась работа серверов и закрылась возможность авторизоваться. Для продолжения общения VK рекомендовала перейти на продукты «VK Мессенджер» и «VK WorkSpace».

Читать далее

Анализируем HTTP трафик в Wireshark

Время на прочтение5 мин
Охват и читатели36K

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

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

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

Читать далее

Шкворень: школьники переводят книгу про хакеров

Время на прочтение9 мин
Охват и читатели88K
Кевин Поулсен, редактор журнала WIRED, а в детстве blackhat хакер Dark Dante, написал книгу про «одного своего знакомого».

Пролог
Глава 1. «The Key»
Глава 3. «The Hungry Programmers»
Глава 4. «The White Hat»
Глава 5. «Cyberwar!»
Глава 6. «I miss crime»
Глава 8. «Welcome to America»
Глава 34. «DarkMarket»



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

Когда я рассказал ребятам в лагере про подвиг Кевина, который выиграл Porsche 944, взломав дозвонившись на радиостанцию KIIS-FM, и как он разоблачил несколько сотен педофилов, школьники окрестили его «американским хакером-тесаком».

Несколько добровольцев вызвались перевести пролог и прикоснуться к миру писательства на Хабре и компьютерной безопасности.
Ведь будущие blackhat/whitehat хакеры должны знать своего друга/врага.

«Поэтому сказано, что тот, кто знает врага и знает себя, не окажется в опасности и в ста сражениях. Тот, кто не знает врага, но знает себя, будет то побеждать, то проигрывать. Тот, кто не знает ни врага, ни себя, неизбежно будет разбит в каждом сражении.» Сунь Цзы

Предлагаю хабрсообществу присоединиться и перевести по одной главе (они по 2-3 страницы). Пишите в личку или в комментах кто что взял, буду оперативно обновлять раздел «Оглавление».

Начало истории о том, как крышевать миллиардный подпольный хакерский бизнес
Читать дальше →

NeoVim для Ruby разработчика

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

Данная конфигурация собиралась очень долго. на данный момент работаю именно на ней. Является больше напоминанием для себя, и шпаргалкой для тех кому интересно. Это субъективная точка зрения, и ни кому ее не навязываю. Если захотите использовать, буду рад тем что помог.

Резюме статьи:

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

Читать далее

Вперед в будущее: Wayland против X11

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

Доброго времени суток, дорогие читатели! Сегодня я затрону одну интересную тему — графические дисплейные сервера и протоколы в Linux. В этой статье я расскажу вам о архитектуре X11 и Wayland, историю их создания и наконец-то сделаем вывод: Иксы на мороз, или вейланд на помойку?


Еще в далеком 2016 году вышла Fedora 25 с окружением GNOME 3.22 на базе дисплейного сервера Wayland. А в RHEL 10 выкинут X11 на мороз. Релиз RHEL 10 намечен на 2025 год, CentOS Stream 10 — на 2024 год. Для обеспечения работы приложений, требующих X11, будет использоваться XWayland. Таким образом, в 2029 году (к моменту окончания первого этапа поддержки RHEL 9) стоит ожидать появление первого аппаратного обеспечения, не поддерживающего X11.


И как я думаю — будущее за Wayland. Но пока X11 является стандартом. Давайте разберем это!


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

Что почитать игровому программисту?

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

Объём специфичных знаний, которые требуются рядовому программисту игр, даже если он только начал свою карьеру, вызывает у меня «лёгкую» тоску. Это одна из причин, почему большая часть людей, которые «горят делать игры», отсеивается на этапе технических собеседований (обычно их больше одного). Это нормально и грустно. Добавьте сюда, что нефундаментальные знания, вроде инструментов, библиотек и движков, приходится обновлять где‑то раз в 5–7 лет. Не вижу тут, что игрострой сильно отличается от других областей разработки. Если бы лет 15 назад «добрый я» скинул на почту список книг, которые придется прочитать и осмыслить, армия собранных граблей не была бы столь большой и разнообразной, и без ручек половинной длины. Осторожно, в конце статьи будет супердлинная картинка (взята с github отсюда, с разрешения автора).

У программиста нет цели, только путь.

v3.14.1592-beta2: все, что вы хотели знать о семантическом версионировании

Время на прочтение5 мин
Охват и читатели39K
Усилия и деньги, вкладываемые в продвижение языка Go, часто приносят пользу и другим разработчикам. В конце прошлого года на сайте gopheracademy была опубликована очень удачная статья о семантическом версионировании. Том самом, которое используется в npm, начинается с домика ^ и все ломает. Под катом спрятан перевод, который поможет вам быстро осмотреть сад граблей версионирования и как сейчас принято им пользоваться. И немного примеров на Go. Передаем слово автору!
go? какой go? зачем go?!

Как мы разогнали мобильную Lenta.ru до скорости света

Время на прочтение9 мин
Охват и читатели42K
image

AMP — наверняка, вы уже слышали об этой технологии, продвигаемой Google. Казалось бы, еще одна модная технология для хипстеров, о которой скоро все забудут. Однако, в реальности эта фича уже работает в продакшне значительного числа новостных сайтов, среди которых такие гиганты, как the Guardian, Times, Washington Post, и прочая, прочая, прочая. Краткий рассказ о плюшках AMP уже был на страницах “Хабра”, а я хотел бы чуть более подробно сфокусироваться на том, как внедрять это в проект, и какой профит в действительности можно получить.
Читать дальше →

Обучающий курс по Redux от создателя библиотеки

Время на прочтение1 мин
Охват и читатели16K
Как-то обошло Хабр стороной появление видеокурса по Redux, созданного Даниилом Абрамовым, автором библиотеки. В первых роликах рассказывается о принципах Redux, а затем поэтапно разбирается разработка веб-приложения на нем.

Вот он: egghead.io/series/getting-started-with-redux

Под катом — перевод введения с сайта курса, egghead.io.
Читать дальше →

Немного о деревьях

Время на прочтение3 мин
Охват и читатели29K

Вступление


Встречалась ли вам ситуация, когда необходимо реализовать хранение древовидной структуры в реляционной БД?

PostgreSQL on tree

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

В данном топике мы с вами поговорим об одной из тех возможностей, которые существуют для организации хранения деревьев в PostgreSQL — ltree.
Читать дальше →

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность

Специализация

Специалист
Ruby
Ruby on Rails
PostgreSQL