Pull to refresh
2
0
Send message

Вайб-кодинг: практика, о которой почему-то не говорят

Reading time10 min
Views52K
В феврале мир разработки перевернулся с выходом Sonnet 3.7. Потому что вдруг внезапно оказалось, что джуны уже не очень-то и нужны. И нейросетка нормально заменяет мидлов тоже.

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

image

Пример проекта с прикручиванием аналитики к инфраструктуре:

  • Сначала в GPT 4.5 провёл продуктовые исследования и сформулировал требования.
  • Попросил превратить это в архитектурный план.
  • Отревьюил, поправил тупые ошибки.
  • Затем этот план (как метапромпт) скормил Sonnet в VS Code через плагин Cline. Попросил сначала создать общую структуру, шаблонные имплементации, документацию, спецификации API (protobuf для gRPC, REST API).
  • Архитектурно сразу заложил микросервисы. Sonnet для каждого сервиса подобрал и обосновал оптимальную базу данных (где-то Postgres, где-то ClickHouse и т.д.).
  • Сгенерировал SDK для взаимодействия, примеры использования. Сразу заложил observability: централизованные логи, метрики Prometheus, трейсинг Jaeger/Tempo, дашборды для Grafana.
  • Потом итерационно генерировал код: сначала тесты (End-to-end, BDD), потом имплементацию под эти тесты.
  • Написал манифесты для Kubernetes и Docker Compose для локального запуска.
  • Сгенерировал даже скрипты для тестов REST API через curl и gRPC через gRPCurl.

И всё.

А теперь практика — что делать с тем, что современные нейросети учились преимущественно на говнокоде и как быть с джунами.
Читать дальше →

5 причин плохого настроения. История одного Flutter-проекта, который заставил нас поломать голову

Level of difficultyMedium
Reading time7 min
Views2.1K

Привет! На связи Никита Грибков, Flutter-разработчик AGIMA. В прошлом году я стал свидетелем жутких событий, которые разворачивались на одном из наших проектов. В сущности, жуткими они были только потому, что техзадание состояло из сложных и нестандартных задач — но всё-таки они изрядно потрепали нам нервы.

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

Читать далее

Необычный интерфейс

Level of difficultyMedium
Reading time10 min
Views15K

Собрал для вас подборку редких, необычных и малоизвестных UI-библиотек — для построения интерфейсов в играх, на устройствах и десктопном ПО.

Читать далее

Зависимость от трейдинга: как миллионы людей теряют годы и состояния на торговле

Reading time16 min
Views36K

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

Читать далее

Выбираем стандарт языка Си в 2025 году

Level of difficultyEasy
Reading time13 min
Views7.8K

Шёл 2025 год, а я задался вопросом: «Не пора ли нашей команде выбрать стандарт языка Си, на котором будет вестись основная часть разработки?» С одной стороны кажется, что этот вопрос давно должен быть решён, стандарт языка указан в code style, конечно, после «холиваров», череды обсуждений, обид, проклятий и прочих маленьких трагедий. А если нет? А если нет, то так ли это важно? Что там нового может быть в языке Си? Стоит ли этот вопрос вообще того, чтобы тратить время? В этой заметке поделюсь с уважаемым читателем тем интересным, что я узнал и вспомнил во время неспешного исследования этого вопроса, относительно холодными и тёмными вечерами.

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

Плановая экономика: что пошло не так?

Reading time9 min
Views29K

Плановая экономика начинала довольно бодро, однако итог её всем известен. В какой-то момент становилось ясно, что она начала терять весь свой динамизм и управляемость. Когда это осознали и сами власти, плановая экономика закончилась.

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

Ответы на эти вопросы — в статье.

Читать далее

Смысл жизни с точки зрения программиста-буддиста

Level of difficultyEasy
Reading time24 min
Views15K

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

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

Читать далее

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

Level of difficultyEasy
Reading time6 min
Views44K

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

Читать далее

На ком лежит бремя доказательств?

Level of difficultyMedium
Reading time10 min
Views7.8K

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

Так кто же обязан доказывать? Разберёмся в правилах спортивного перекидывания бремени доказательств.

Проявить любопытство

Уволился с позиции тимлида и снова стал разработчиком

Level of difficultyEasy
Reading time3 min
Views19K

Недавно я ушёл из компании, где проработал почти три года на позиции тимлида. Сначала я руководил продуктовой командой, а затем UI-kit командой. В итоге я принял решение уйти и устроился на позицию senior фронтенд-разработчика в зарубежную компанию. Это было осознанное решение — выбрать именно роль разработчика. И спустя несколько месяцев я убедился, что поступил правильно.

Читать далее

Горе от ума – почему рост знаний приводит к росту страданий

Reading time19 min
Views101K

Психика – довольно парадоксальная вещь, которая подчиняется иной логике, нежели к которой мы привыкли. Несмотря на то, что главная функция психики – это обеспечение выживания индивида, на основе «субъективного отражения объективной реальности», иногда она работает против этой цели. И я говорю сейчас не про экстремальные варианты, вроде появления сверхидеи о питании солнечным светом и не про религиозные суициды во благо вечной жизни. Нет, я говорю об… учёбе, саморазвитии и познании мира.

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

Я достаточно давно изучаю особенности психики и личности как IT-специалистов, так и людей «от головы» в целом. И про особенности их личности писал ряд статей (часть 1, часть 2, часть 3, часть 4). Но сейчас, когда выборка стала больше и количество наблюдений кратно возросло, мне хочется копнуть чуть глубже и посмотреть не просто на личностные особенности, а на механизмы формирования этих особенностей у людей, обладающих эрудицией, интеллектом и способностью к абстрактному мышлению на более высоком уровне, чем в «среднем по больнице».

Взгрустнуть с пользой

ChatGPT и молодое поколение

Level of difficultyEasy
Reading time8 min
Views31K

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

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

Давайте обсуждать, ждет ли нас «Идиократия»

Читать далее

С чего начинать на новом месте (памятка для Руководителя проектов)

Level of difficultyMedium
Reading time7 min
Views15K

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

- неизвестный проект с неизвестными рисками;

- непонятный руководитель (при первом знакомстве он душка, но какой будет в реале?);

- непонятные коллеги;

- непонятный заказчик.

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

Это очередная статья о том, чего не рассказывают на курсах РП: о тех самых софт-скиллах, которые потребуются Руководителю проектов с самого первого дня работы. Если вам интересны такие истории, читайте другие мои статьи на Хабре и подписывайтесь на мой ТГ канал "Морковка спереди, морковка сзади".

Выглядит так, что РП, выходящий на новую работу, как пассажир, который пытается запрыгнуть в поезд на ходу, чтобы потом добраться до головы состава и начать им управлять. И чем быстрее летит поезд – тем сложнее в него запрыгнуть. Ну и на все про все у вас примерно 2 недели. 4 от силы, если место ванильное, и поезд еще не разогнался.

Как не свернуть шею и не попасть под колеса на этом славном пути – по пунктам ниже

Читать далее

Парольная защита статичной HTML-страницы на JS

Reading time3 min
Views9.3K


Обычно парольная защита производится через веб-сервер, который проверяет пароль и выдаёт контент. Стандартный способ: .htaccess и htpasswd. Но что, если нужно выложить зашифрованную веб-страницу и файлы на публичном хостинге, где у нас нет контроля над сервером? Эту проблему решают инструменты StatiCrypt и Portable Secret.

Для шифрования HTML перед публикацией StatiCrypt использует AES-256 и WebCrypto, а расшифровка происходит с помощью ввода пароля в браузере на стороне клиента, как показано в демо (пароль test).

StatiCrypt генерирует статическую страницу, которую можно безопасно заливать на любой хостинг, в том числе бесплатный сторонний хостинг, такой как GitHub Pages.
Читать дальше →

Размышление о двух подходах к C++

Reading time8 min
Views15K

Будущее C++ уже не первый год служит поводом для огромного количества разногласий.

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

Читать далее

5 видов усталости в IT… и не только

Level of difficultyEasy
Reading time15 min
Views8.9K

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

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

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

Читать далее

Уровни изоляции транзакций в PostgreSQL, MySQL, MSQL, Oracle с примерами на Go

Level of difficultyMedium
Reading time33 min
Views16K

В данной статье обсудим проблемы, возникающие при конкурентной работе с данными, а также инструменты для их решения – атомарные инструкции, явные и неявные блокировки и уровни изолированности транзакций, реализованные в OLTP СУБД PostgreSQL, MySQL, SQL Server, Oracle с примерами на Go. Поговорим о деталях их реализации в указанных СУБД. На примере PostgreSQL проведем benchmark-тестирование производительности уровней изоляции с использованием инструмента pgbench

Читать далее

Синтаксис, синглтон и смертельный ромб в С++: взгляд опытного разработчика на C

Level of difficultyMedium
Reading time15 min
Views11K

Давайте знакомиться: меня зовут Анатолий Семятнёв, я и моя команда разрабатываем ПО для опорных сетей 5G в YADRO. В IT-сфере работаю давно, и мой опыт в основном связан с языком С: занимался Board Support Package (BSP) и драйверами, много работал с операционной системой QNX. 

До того, как начал полноценно работать на С++, сталкивался с языком в нулевые, писал на С++98. Тем не менее все это время я краем глаза поглядывал, что происходит в С++, и хотел вернуться к программированию на этом языке. Читал книги, делал пет-проекты, смотрел записи конференций и митапов по С++. А когда пришел в YADRO, стал писать на С++.

Мне с ходу дали большую фичу для имплементации, я писал много кода, и получал комментарии от коллег. В этом материале собрал все, что изучил или вспомнил по итогам код-ревью. Что рассмотрим в статье:

• Ключевые концепции — explicit, final, default, string — и как их использовать.

• Инициализацию мемберов с помощью пустого брейс-листа.

• Синглтон Майерса в корутинах.

• «Смертельный ромб» и все, что связано с виртуальным наследованием.

Читать далее

Два лагеря C++

Level of difficultyEasy
Reading time9 min
Views20K

Сейчас ведётся много споров и дискуссий о будущем C++.

Не только на Reddit и одном оранжевом веб-сайте, но и совершенно точно на официальных заседаниях комитета по стандарту C++.

Абсолютное состояние (языка C++)

Похоже, мы находимся в следующей ситуации:

Evolution Working Group (EWG) языка C++ как раз достигла консенсуса по внедрению P3466 R0 - (Re)affirm design principles for future C++ evolution:

Это означает отсутствие поломок ABI, сохранение совместимости компоновки с кодом на C и предыдущими версиями C++.

Также это означает отсутствие «виральных аннотаций» (например, аннотаций времени жизни).

Удвоение усилий по множеству несовместимых задач, например, отсутствия поломок ABI и принципа zero overhead.

Плохо это или хорошо, но это (в буквальном смысле) удвоение усилий по развитию текущей траектории языка C++.

Читать далее

Коронавирус: долгожданное извержение правды

Reading time5 min
Views38K

Комитет Палаты представителей США опубликовал 520-страничный отчёт по COVID-19. И это, конечно, нега для людей, на которых в период пандемии навесили ярлык ковид-диссидента. Тобишь для таких как я. Итак, прямые цитаты из анонса на сайте американского правительства...

Про мандаты на маски: «не было убедительных доказательств того, что маски эффективно защищают американцев от COVID-19. Должностные лица органов здравоохранения наперебой рассказывали об эффективности масок, не предоставляя американцам научных данных, что вызвало массовый рост общественного недоверия».

Про социальную изоляцию:  «рекомендация по социальной дистанции "6 футов друг от друга", из-за которой по всей стране закрывались школы и малые предприятия, была произвольной и не основанной на научных данных. Во время дачи показаний за закрытыми дверями доктор Фаучи заявил, что руководство "как бы просто появилось"».

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

Про цензуру: «представители органов здравоохранения распространяли дезинформацию, используя противоречивые сообщения, поспешные реакции и отсутствие прозрачности. Администрация Байдена даже использовала недемократические и, скорее всего, неконституционные методы — в том числе заставляла компании социальных сетей цензурировать определенный контент COVID-19 — для борьбы с тем, что она считала дезинформацией».

Читать далее

Information

Rating
Does not participate
Registered
Activity