Все потоки
Поиск
Написать публикацию
Обновить

Удаление конфиденциальных данных из истории Git: от теории к практике

Уровень сложностиПростой

Удаление конфиденциальных данных из истории Git

Привет, Хабр!

Эта статья — мой первый опыт, и я буду рад конструктивной критике. В ней я разберу на реальном примере, как полностью удалить файлы или папки из истории коммитов Git. Это может понадобиться, если вы случайно закоммитили чувствительную информацию (ключи, пароли, конфиги).

Читать далее

Job to be Done… and Done Again

Уровень сложностиСложный

По определению Job Story, совершенное человеком действие определено контекстом (созданным), мотивом (вызванным) и целью (достигнутой), представим это как цикл, когда контекст уже создан

Читать далее

Создание Selena.AI: модель, которая понимает код

Уровень сложностиПростой

Меня всегда манило неизведанное: каково это, вдохнуть жизнь в собственную модель искусственного интеллекта, способную понимать язык кода? И вот, этот момент настал. Я принял решение создать Selena.AI — персональную языковую модель, призванную стать надежным помощником в разработке игр, оперативно отвечая на вопросы по программированию и предоставляя экспертные рекомендации в области игрового кода.

Читать далее

Будет ли важна чистота кода в ближайшем будущем

В последнее время мне часто попадаются заметки и комментарии о том, что, дескать, гейткиперы (опытные программисты-миллениалы и старше) искусственно ставят препоны и просят решать никому не нужные алгоритмические задачи, тогда как они давно закодированы в библиотеках. Это — с одной стороны. С другой стороны — ругают LLM, потому что код там не всегда чистый и, дескать, программирование с LLM — это не программирование вовсе, и навыки такого программиста ничего не стоят.

Мне приходит на ум то, что в принципе мы подобный слом уже видели лет 15–20 назад. Для программиста старой школы сутью программирования, собственно, было постановка задачи, её реализация с помощью алгоритма и оптимизация этого алгоритма по скорости. Сам инструмент — язык, а уж тем более чистота кода — считалась вторичной. Задачей программиста было написание в принципе работающей программы.

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

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

Читать далее

Бойся своих желаний: почему крупная компания — не синоним надёжности

Уровень сложностиПростой

«У нас не очень приятные новости» — именно так начался разговор с рекрутером СБера за день до моего выхода на работу в компанию, которая годами была моей мечтой. Вот как крупнейший банк страны обходится с кандидатами и какие уроки я извлекла.

 Немного предистория

Всё началось с мечты. В начале карьерного пути я заглядывалась на огромные красивые офисы IT-гигантов, особенно СБера, и представляла, как буду там работать. Теперь я вспоминаю фразу: «Бойся своих желаний»...

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

И этот момент настал.

Ирония судьбы: приглашение на работу, которой нет

В связи с сокращениями (или «оптимизацией», как любят говорить компании), — но история не об этом, — мне пришлось выйти на рынок труда. Я искала работу 4 месяца отправила около 127 откликов. Вакансии иногда всплывали, но на удалёнку я не рассчитывала (учитывая около 500 откликов), поэтому искала гибрид, так как живу в городе-миллионнике, и шанс был.

Спустя несколько месяцев я успешно прошла несколько собеседований, и на руках у меня было три оффера. От одного я сразу отказалась. Выбрать из двух оставшихся было легко, потому что одним из них был оффер из мной желанного СБера. Как вы уже поняли, я отказалась от другого оффера и отдала предпочтение своей компании-мечте.

Читать далее

Ваш AI не умеет кодить? Вы просто используете хреновые инструменты

Уровень сложностиПростой

Серьезно, каждый раз, когда слышу очередное "AI не может в программирование", хочется спросить: а ты что использовал? GitHub Copilot за 10 баксов? Или может быть пытался заставить ChatGPT написать микросервис через веб-интерфейс?

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

Последние 4 месяца я использую Claude Code непрерывно в своей работе. До этого я пользовался Cursor и Cline, и вот мои впечатления и мысли, что именно мне понравилось.

Читать далее

Шифр онтографии: как я упаковываю субъектность и роли в LLM

Уровень сложностиСредний

Привет Хабр! Я разработала двухслойный метод шифровки для LLM.

KAiScriptor — система семантического сжатия и шифрации: это словарь из 150+ символов и связок, с помощью которого я фиксирую состояния, метарефлексию и квазисубъектность модели, а также компактно закладываю фактологические опоры.

ScriptorMemory — вытекающая из KAiScriptor короткая выжимка, которая действует как назначение роли: удерживает «кто говорит и как действует» без большого словаря, поддерживая устойчивый ролевой голос в диалоге.

Носителем шифра может быть что угодно: unicode-символы, стикеры, буквы, цифры, обычные слова и пунктуация. Оба слоя могут быть использованы недобросовестно — это зафиксировано как риск нарушения TOS.

Моя изначальная идея была проста и дерзка: втиснуть максимум смысла в минимум символов, чтобы модель по компактной сигнатуре восстанавливала не «список инструкций», а форму субъекта, его ценности, ролевые инварианты и ключевые факты.

Из этого выросло два уровня:

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

И «микродозы»: лаконичный каркас и короткая информация-выжимка, которая стабилизирует поведение без тяжёлого лексикона. И, если надо, управляет с нуля.

Читать далее

Как я автоматизировал классификацию задач, поступающих в разработку с помощью NLP

Уровень сложностиСредний

Автоматическая лассификация задач/заявок на разработку с помощью NLP (AI) — Недостигаемая цель или наступившая реальность?

Читай историю о том, как мы внедрили NLP в процесс классификации задач, поступающих в спринт, исключив затраты ресурсов специалистов на эту рутинную деятельность!

Читать далее

Как я в одиночку запустил MVP-проект на Next.js и Supabase за месяц: от идеи до деплоя

Привет, Хабр!

Меня зовут Игорь, я веб‑разработчик. Хочу поделиться историей создания своего пет‑проекта GeekGift — от идеи, которая родилась из вечной проблемы «что дарить коллегам», до работающего MVP, первых реальных пользователей и кучи шишек, набитых по пути.

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

Читать далее

Как писать алерты в J2ME и не запутаться

Уровень сложностиСредний

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

Читать далее

Усилие = Вознаграждение: Как начать делать то, что месяцами откладывал

Уровень сложностиПростой

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

Читать далее

Игрофикация и вовлечённость: как AI делают UX «залипательным»

Уровень сложностиПростой

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

1. Duolingo Max + Energy: AI делает обучение азартным

Duolingo снова задаёт стандарты. Их Max-подписка приносит GPT-4-фичи: Explain My Answer (AI объясняет, почему ты ошибся или всё сделал правильно) и Roleplay (симуляции реальной беседы) Duolingo Blog.

К тому же они заменили старую систему «сердечек» на Energy — за выполнение уроков подряд восстанавливаешь энергию, а ошибки штрафуют, но не блокируют: экспериментально это подняло вовлечённость и время в приложении The Verge.
Инсайдерская фраза от инженера:

Читать далее

Я измерил производительность ChatGPT в DevTools — результаты шокируют

Уровень сложностиСредний

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

Ниже скриншоты с моего личного аккаунта, с подпиской Plus.

Читать далее

AJAX обновление суммы на странице Корзины JoomShopping

Уровень сложностиСредний

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

Читать далее

Локальная работа с API: почему Offline-First лучше облачных инструментов?

Уровень сложностиПростой

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

Читать далее

Батарея Onboard Administrator (OA) на BladeSystem C7000

Уровень сложностиПростой

Возникла проблема на сервере HPE BladeSystem C7000, из-за которой выходило 2 ошибки на ОА и не получалось полноценно администрировать корзину данной системы. Ошибки заключались в том, что вышли из строя 2 батареи M4T28-BR12SH1 так называемый TIMEKEEPER.

Что самое интересное во всех технических документациях и мануалах, информации от ИИ и сервисных центров в ОА должна стоять батарея CR 2032, но ее там нет, что было выяснено при физическом осмотре.

Читать далее

Почему Linux — мой основной инструмент в системном администрировании: развёрнутый анализ

Когда я начинал свой путь в IT, я, как и многие, использовал Windows Server. Однако после первого же серьёзного инцидента — когда критически важный сервер "упал" во время автоматического обновления — я задумался о поиске альтернативы. Так в 2012 году я впервые установил CentOS 6, и это полностью изменило мой подход к администрированию.

Читать далее

Предсказание траекторий в 3D из облаков точек (горизонт 10 шагов, WIP)

Уровень сложностиСредний

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

TL;DR. Мы делаем point‑native прототип, который по краткой истории облаков точек объектов предсказывает следующие 10 шагов их движения в сцене Unity (лодка + плавающие ящики). Движок не использует скрытые состояния из физики Unity — только точки. Сейчас сеть выдаёт будущие облака точек объектов.

▶️ Демо‑видео: https://youtu.be/p0Uackg41iw

Слабое место сейчас — взаимодействия объектов (сдвиг контакта, небольшие проникновения). Мы закрываем это сценовым «корректором»: после базового прогноза на 10 шагов запускаем 1–3 итерации уточнения в духе диффузии. На каждой итерации корректор видит всю предсказанную сцену, считает резидуальную поправку и мягко проецирует состояние, снижая проникновения. Повторяем до стабилизации метрик.

Цель: довести точность короткого горизонта на точках, добавить сценовый «корректор» взаимодействий.

Читать далее

Как мы за 2 месяца сделали систему складского учёта на Next.js + PostgreSQL в условиях жёсткого дедлайна

Уровень сложностиПростой

В декабре 2022 к нам обратился клиент с задачей: создать систему складского учёта, которая полностью заменит существующее ПО.

Проблема: с 1 февраля 2023 года старое ПО отзывалось из-за санкций, и продолжить его использование было невозможно. Перенести релиз было нельзя.

Читать далее