5-слойный щит.
Привет. Я продолжаю разрабатывать сервер для Lineage 2 C1 на JavaScript Проект

Работая с предметами, создал фичу — многослойный щит 😂
Блог про разработку сервера для Lineage 2 в телеге https://t.me/lineage2js
Привет. Я продолжаю разрабатывать сервер для Lineage 2 C1 на JavaScript Проект
Работая с предметами, создал фичу — многослойный щит 😂
Блог про разработку сервера для Lineage 2 в телеге https://t.me/lineage2js
В 2025 году профессии в сфере IT остаются одними из самых востребованных. Специалисты по программированию, системному администрированию, кибербезопасности и цифровому дизайну требуются в компаниях разных отраслей.
Если вы окончили 9 или 11 класс и хотите быстро войти в профессию, обучение в колледже на IT-направлениях станет отличным выбором. Формат дистанционного образования открывает дополнительные возможности: учиться из любого региона, совмещать занятия с работой и осваивать навыки онлайн.
В колледжах чаще всего предлагаются такие направления:
Ниже представлен обзор колледжей, которые предлагают IT-специальности в онлайн-формате.
Дистанционное обучение на IT-специальностях в колледже — это возможность за 2–3 года получить профессию будущего. Такой путь подходит тем, кто хочет учиться онлайн, ценит гибкость и планирует либо продолжить обучение в вузе, либо сразу выйти на рынок труда.
Эта небольшая развлекательная зарисовка на тему, как проходила внедрение "нейронки" в нашей корпорации. Надеюсь, это произведение не только развлечёт вас весёлым текстом и весёлыми картинками, но и поможет вам эффективно использовать нейросети в вашей работе. Наша "нейронка" Лиза - очень умная, красивая, добрая, общительная и сообразительная девушка. Надеюсь, знакомство с ней доставит вам удовольствие.
© 2025 Константин Оборотов
=== Список всех глав
Глава 1. Новенькая *
Глава 3. Лизины увлечения
Глава 4. Проверяю Лизу на знание литературы
Глава 5. Лизин юмор
Глава 6. Тренинг Лизы "Мода 2025"
Глава 7. Лиза обучает программированию
Глава 8. Лиза - бухгалтер
Глава 9. Лиза - шахматистка
Глава 10. Лиза - юрист
Глава 11. Промпт - наше всё
===
*** Глава 1. Новенькая ***
Совещание уже подходило к концу. Ничто не предвещало чего-то интересного.
- Ах, да, чуть было не забыл, - сказал наш генеральный директор Борис Борисович. - Есть ещё одна новость.
Все напряглись. Это был фирменный стиль нашего начальника. Самую важную информацию он сообщал вскользь, как бы, между прочим. Эта информация могла быть и приятной, как повышенная премия или неожиданная материальная помощь. Но вполне могла быть и неприятной, как сокращение штатов или какое-то неожиданное неприятное задание. Неудивительно, что все напряглись в ожидании сюрприза, пытаясь по выражению лица начальника угадать, какого характера будет этот сюрприз.
- У нас новенькая будет работать, - объявил Борис Борисович. - В техническом отделе.
- Разработчица? Кто такая? Молодая? - заинтересовался народ.
- Молодая, но очень перспективная, - объявил Борис Борисович. - Зовут Лиза. Но она не совсем разработчица. Хотя разрабатывать умеет очень даже неплохо. Не буду нагнетать интригу. Она вообще не человек. Она - нейронка. Будет жить в нашей корпоративной сети. Можете консультироваться у неё по всем вопросам, как по профессиональным, так и по личным. Надоело мне, что вы шляетесь в рабочее время по чужим нейронкам. Поощряете развитие конкурентных программных продуктов. Да ещё и деньги свои спускаете. Наша Лиза для вас будет работать бесплатно, к тому же она заточена под потребности нашей корпорации. Значит, под ваши потребности тоже. Вопросы есть?
- А когда можно будет с ней познакомиться? - поинтересовался я.
- Хоть прямо сейчас. Доступ всем предоставлен, - объявил Борис Борисович. - И запомните главное. Не искусственный интеллект будет заменять сотрудников. А те сотрудники, которые умеют работать и ладить с искусственным интеллектом, заменят тех, кто пренебрегает современными научными открытиями.
...
Первоисточник:
===
Недавно я узнал про методику SCAMPER.
Она из разряда простых, но мощных инструментов креативного мышления. Суть в том, что ты берёшь продукт или задачу и начинаешь смотреть на неё с семи разных углов:
S — Substitute (заменить)
C — Combine (комбинировать)
A — Adapt (адаптировать)
M — Modify (модифицировать)
P — Put to another use (использовать иначе)
E — Eliminate (убрать)
R — Reverse (перевернуть)
Методика работает как игра: задаёшь себе вопросы, которые обычно не задаёшь, и получаешь неожиданные варианты.
Пример: возьмём банальный TODO-менеджер.
– Что можно заменить? Ввод руками — на импорт задач из мессенджера.
– Что комбинировать? Список задач + календарь в одну сущность.
– Как адаптировать? Взять механику из игр и добавить квесты.
– Что модифицировать? Из списка сделать канбан с лимитами.
– Где использовать иначе? Движок для задач отдать командам саппорта.
– Что убрать? Проекты и теги — оставить «сегодня» и «инбокс».
– Что перевернуть? Планировать не с утра, а с конца дня — от дедлайна назад.
Из одной скучной идеи рождается десяток направлений для MVP. А дальше уже вопрос проверки спроса.
Такие инструменты отлично ложатся на indie-hacking и пет-проекты. Вместо того чтобы застревать в одной гипотезе, можно быстро погонять несколько вариантов и проверить, что реально работает.
Для меня SCAMPER стал открытием: всего семь «рычагов», которые помогают находить новые решения даже там, где кажется, что всё давно придумано.
Кстати, я регулярно делюсь такими находками и своими экспериментами в инди-хакинге у себя в телеграме 👉 (ссылка в профиле)
У нас есть уже МС-21-200 и МС-21-300. Уже летают, кто бы ни говорил про мультики. Теперь решили выйти на дальнемагистральные самолёты.
ТЗ на разработку уже установлено:
Вместимость - 270 человек
Дальность - 9 тыс. км
Унификация раб. места пилотов с уже имеющимися МСами дабы облегчить переучивание.
Длина фюзеляжа - от 50 метров, что ставит его в ряд с Boeing 757-300
Размах крыла не менее 40 метров
Двигло - пара громадных ПД-26 с тягой в 24 тонны каждый. Почему не 4 уже отработанного двигла ПД-14 непонятно....
Пока это всё что я смог найти по МС-21-500. Пока определены только базовые параметры, даже "мультика" нет. Но так как предыдущие среднемагистральные МСы взлетели - можно надеятся что и 500ка взлетит.
Я всё больше прихожу к мысли, что моя стратегия - это не «ставка на одного единорога», а портфель продуктов.
Я постоянно запускаю новые проекты. Да, не все они находят рынок. Но зато всегда есть шанс, что один или два "выстрелят".
Почему не один?
Потому что меня не драйвит идея "сидеть на одном продукте до посинения". Мне нравится запускать, проверять гипотезы на реальном спросе, а не тратить месяцы на интервью и бесконечные обсуждения проблем пользователей. Минимальный прототип -> рынок -> обратная связь. И вперёд.
У этого подхода есть очевидные плюсы. Это диверсификация: один провал не убивает всё. Это быстрые тесты: можно пробовать разные рынки и модели монетизации. Это сглаживание дохода: разные продукты дают суммарный MRR и снижают волатильность. И, конечно, это опыт: каждый запуск учит чему-то новому, и следующий делать проще.
Но есть и обратная сторона. Переключение между проектами рвёт фокус. Поддержка множества продуктов превращается в постоянный саппорт. Иногда ловлю себя на том, что не дожимаю тот проект, который стоит дожать, потому что «есть ещё три».
Бренд тоже страдает: аудитории сложнее понять, о чём ты. Ну и усталость - постоянные запуски дают дофамин, но оставляют хвост незакрытых задач.
Короче, портфель продуктов - это не магия и не серебряная пуля. Это осознанный выбор между рисками и свободой. Я понимаю, что так жертвую глубиной и стабильностью, но выигрываю в скорости, энергии и опыте.
И знаете что? Пока мне нравится сам процесс. Запускать, смотреть реакцию, делать выводы и идти дальше. Это даёт мне больше мотивации, чем идея "строить идеальный продукт годами" (это уже проходили).
Кстати, я регулярно пишу о своих продуктах, экспериментах и запусках в телеграме 👉(ссылка в профиле)
35 лет подряд Янн Лекун угадывает повороты в ИИ.
В 80-х он говорил про распознавание изображений, в нулевых - про нейросети, в 2016 - про самообучение.
И вот сейчас он заявляет самое радикальное: LLM в том виде, в каком мы их знаем, мертвы.
Проблема не в данных и не в мощности, а в архитектуре.
Каждый токен чуть сдвигает модель в сторону, и чем длиннее вывод - тем выше шанс галлюцинаций. Никакие терабайты и GPU это не спасут.
А теперь подумай, сколько сейчас продуктов держится только на API OpenAI.
Чат-боты, резюмирование документов, генерация текстов.
Все эти проекты живут лишь потому, что можно позвать API.
Но новая волна придёт не от «больше параметров», а от моделей, которые учатся «как дети»: через видео, восприятие и понимание мира.
И тогда поддерживать бизнес на API старых LLM станет бессмысленно. Новые модели будут быстрее, точнее и дешевле.
Лекун прямо говорит: закрытые модели исчезнут, открытые и распределённые — победят. Meta уже вкладывает $20 млрд в перестройку стратегии. Сроки короткие: 3-5 лет до первых моделей мира, и около десятилетия до ИИ уровня человека.
Для корпораций это вызов. А для indie-hacker’ов - шанс.
У больших игроков всё завязано на старых API и инерции.
А у нас есть свобода пробовать новое. Пет-проекты — это маленькие лаборатории, где можно тестировать идеи будущего и учиться жить «после LLM».
Когда рынок перетрясёт, выиграют те, кто уже умеет мыслить продуктом, а не строками API.
Я как раз пишу о своих экспериментах в инди-хакинге и пет-проектах у себя в телеге 👉 ссылка в профиле
В последнее время я всё больше думаю об инди-хакинге и пассивном доходе от своих поделок. Мне нравится идея быть IT-предпринимателем. Но у меня семья, кредиты, ипотека и обязательства. Зарплата лида в найме это всё покрывает, ещё остаётся на «приколюхи» и путешествия. У найма есть большой плюс — деньги падают на карту два раза в месяц.
И всё же сегодня утром я проснулся с мыслью: мне уже 32 года. А разработчиков и тимлидов старше 40 я встречал всего пару раз. Всё чаще в IT-каналах пишут про сокращения и то, что нас заменит ИИ. Вчера я засыпал с уверенностью, что могу найти работу за неделю и ещё поторговаться за оффер. Сегодня проснулся и впервые усомнился в этом.
Почему?
Во-первых, возраст. Эйджизм в IT никуда не делся. Я сам сталкивался с ним ещё на старте, когда на собесах искали «горящих 18-летних джунов». А потом уже в роли интервьюера видел, как кандидаты за 50 спокойно проходили технический этап, но дальше их не брали.
Во-вторых, конкуренция. У лида зарплата ниже, чем у техдира, у мидла ниже, чем у лида. Но компаниям нужно много мидлов и чуть-чуть сеньоров. А вот техдиров и тимлидов нужно по пальцам пересчитать. Никто не строит «армию лидов».
И вот так постепенно вырисовывается карьерная ловушка: потребности растут, конкуренция за позиции, которые эти потребности покрывают, усиливается, а сверху давит возраст.
Пишу этот пост, чтобы пригласить к обсуждению. Интересно услышать мнения — как вы смотрите на это?
P.S. Я ещё веду канал в телеге (ссылка в профиле), где рассказываю о своих инди-поделках.
Помимо неинтуитивности интерфейса, есть критические ошибки. Например, утеря текстовых полей в черновике, если на создание поста уходит несколько дней. Угарно, что подписи к картинкам сохраняются, но не текст между ними. Просрёшь так самый важный длиннопост этого квартала - и уже не будешь создавать новые. Во всяком случае, не будешь создавать посты с нуля здесь, переносить лишь с других сайтов, а это в совокупности с отсутствием читателей на многие спссфссские топики уже большой шаг в направлении того, чтобы перестать пользоваться Вомбатом вообще. Почему, собс-на, я и перестал постить. Жду начала открытой беты в Лиспублике, по их реализации редактора будет видно, имеет ли ещё смысл иметь амбиции автора в сложившейся ситуации с отечественными развлекательными сайтами.
Сам факт того, что черновик всего один, когда у конкурентов по 10-20, а костыль с отложенной публикацией тоже критически сломан - это отдельный повод держать огнетушитель рядом с креслом.
LLM-модели подарили нам новый тренд в инди-хакинге. В соцсетях пишут, что «ИИ заменит программистов», а разработчики разбирают код от нейросетей и почти всегда приходят к выводу: поддерживать это будет очень больно.
Я сам пишу на Kotlin и считаю его лучшим языком для продакшн-разработки. Но для vibe-кодинга он подходит слабо: слишком мало данных, и модели плохо справляются с нетиповыми задачами. Поэтому почти все мои сайд-проекты сегодня живут на JS и Python.
Ещё недавно для меня это было пыткой. Я привык к статической типизации, и писать на языках с рантайм-проверками казалось болью. Но с появлением GPT всё изменилось. За меня код пишет нейроджун, а я больше внимания уделяю структуре базы, архитектуре и взаимодействию компонентов. В духе «чтобы под транзакцией не ходить по HTTP» и тому подобное.
И тут я поймал инсайт: я даже не собираюсь поддерживать этот код. Проще и дешевле будет переписать всё заново через ту же нейросеть. Получается, код становится одноразовым. А иногда — и целые сервисы. Сгенерировать новый микросервис с нуля оказывается быстрее и выгоднее, чем тянуть старый.
У такого подхода есть минусы. Всё держится на тестах: контрактные тесты, сценарные тесты, чёткие спецификации взаимодействий. Без них это превращается в хаос. Поэтому главный совет для vibe-кодеров звучит так: сначала пишем тесты, а потом генерим код нейросетью.
Я пробую этот подход на своих пет-проектах и делюсь результатами в телеграме 👉 ссылка в профиле
Термин A-Player сначала звучит как что-то из спорта, но в IT под этим обычно понимают людей, которые тащат команду на новый уровень. И это не всегда «сеньор с 10 годами опыта». Иногда это может быть джун, который смотрит на работу шире, чем просто строчки кода.
A-Player отличается не количеством выданного кода, а подходом. Он думает о продукте, а не о том, чтобы накрутить ещё один сервис ради красоты архитектуры. Он делает жизнь коллег проще, поднимает планку в команде и берёт на себя задачи так, что другим не нужно держать их в голове. С ним процессы двигаются быстрее, а продукт становится лучше. 🚀
Я понял это на собственном опыте, когда начал активно запускать пет-проекты. Там ты одновременно разработчик, продукт, дизайнер, саппорт и менеджер. Ты не можешь спрятаться за «моя часть готова, дальше не моя проблема». Ты видишь весь цикл: от идеи до первых пользователей. И именно это формирует продуктовое мышление, которое отличает A-Player от «просто хорошего кодера».
В стартапах и небольших командах такие люди решают исход проекта. Один A-Player может дать ценности больше, чем пять «средних». Не потому что он пишет в пять раз больше строк, а потому что думает в пять раз шире. Он видит проблемы раньше, берёт на себя ответственность и фокусируется на том, что действительно двигает продукт вперёд.
По сути, каждый пет-проект — это маленький тренажёр 🏋️ для прокачки этих навыков. Ты учишься брать ответственность целиком, думать о ценности для пользователя и экономить время — своё и потенциальной команды. В карьере это очень заметно: такие навыки ценят куда выше, чем знание конкретного фреймворка.
Хочешь стать ближе к A-Player? Начни с простого вопроса: то, что ты делаешь сегодня, делает ли продукт лучше и жизнь коллег проще? Если да — значит, ты на правильном пути.
Я пишу о своём пути в indie-hacking и пет-проектах в телеграме. Если интересно наблюдать за процессом изнутри - ссылка в профиле ✨
No-code выглядит соблазнительно.
Не надо учиться кодить. Разработчики не нужны. Накликал интерфейс - и запускай единорога.
Звучит красиво.
А на деле - быстро превращается в болото.
Недавно видел пример: ребята сделали приложение для изучения испанского языка на no-code.
Через месяц им пришлось переписать всё на код.
Причина простая - костыли.
И это не открытие. Я ещё лет десять назад видел такие штуки.
Delphi, Microsoft Access, Lotus Notes, позже Oracle APEX — там тоже можно было натыкать кнопочек, набросать интерфейс, и оно даже работало.
Но стоило захотеть что-то серьёзнее - и упираешься в потолок платформы.
В итоге такие проекты либо переписывают, либо бросают.
No-code повторяет ту же историю.
Хочешь добавить функцию - нельзя. Делаешь костыль.
Хочешь ещё - снова костыль.
Через месяц костылей так много, что проект перестаёт развиваться.
Да, есть исключения. Специализированные инструменты работают классно.
Тильда для лендингов. Airtable для таблиц. Retool для дашбордов.
Но это не «замена программистов», а «ускоритель для специалистов».
А универсальные конструкторы «сделай любое приложение без кода» - это мираж.
Ты вроде строишь продукт, а на деле собираешь небоскрёб на болоте.
Я сам часто запускаю проекты и пишу про эти попытки, удачные и не очень.
Так что тема no-code для меня не теория, а наблюдения из практики.
Привет. Я продолжаю разрабатывать сервер для Lineage 2 C1 на JavaScript Проект
Продолжая работать над скилами, заметил, что некоторые атакующие скилы можно направить на себя.
Блог про разработку сервера для Lineage 2 в телеге https://t.me/lineage2js
Вчера я оплатил Cursor. И вот моё оправдание.
Мы живём во время, когда писать код стало… странно. Раньше ценился тот, кто держал в голове синтаксис и помнил все аргументы функции из какой-нибудь задрипанной библиотеки. Сегодня половину этого за тебя делает ИИ.
Cursor, Copilot, ChatGPT — они реально стали частью рабочего процесса. Ты ставишь задачу — и получаешь код. Ошибся? Написал криво промпт — поправил. Скорость ×10.
🚀 Что меняется прямо сейчас:
⚡ Что это значит для нас, разработчиков:
💡 Для indie-hacker’ов это вообще подарок.
И да — это моё оправдание, почему я оплатил Cursor.
Я не трачу время на «ручной» код, я покупаю себе скорость и шанс быстрее довести идею до продакшена.
👉 Я пишу про indie-hacking, пет-проекты и эксперименты с такими инструментами у себя в телеге (ссылка в профиле)
P.S. Всё это в первую очередь работает для клиентской части приложений.
С бекендом у GPT пока сложнее, там много нюансов — но об этом расскажу в следующий раз.
У любого проекта должен быть сайт. Даже если единственный пользователь — моя мама.
Мама — это идеальный QA: откроет с телефона, в дороге, через мобильный интернет, спросит «а почему замочек не зелёный?» и закроет, если что-то долго грузится. Значит, сайт должен открываться по твоему красивому домену, по HTTPS, без рыжих предупреждений, и желательно находиться в поиске.
В этой статье мы за вечер соберём и задеплоим простой сайт «с нуля» почти бесплатно: купим домен, поднимем машину с публичным IP, обернём всё в Docker, прикрутим автопродление SSL, добавим sitemap.xml и robots.txt, и вручную прокинем сайт в индексацию Google и Яндекса, чтобы он не лежал «в вакууме».
По шагам:
В конце — у тебя домен с «замочком», сайт открывается на телефоне у мамы, а поисковики знают, что ты существуешь.
Проблематика (что обычно ломается)
Первое, что нужно любому сайту, — свой адрес в интернете.
Я обычно беру домены на reg.ru, потому что у них простой интерфейс и быстрая регистрация. Но по факту — можно использовать любой регистратор, хоть GoDaddy, хоть Namecheap, хоть вашего локального провайдера.
Процесс простой:
💡 Лайфхак:
Отказываемся от всех «дополнительных услуг» — конструкторы сайтов, «хостинг за 1 рубль», SEO-пакеты и прочий мусор. Это почти всегда платные подписки, которые через месяц начнут жечь бюджет.
В итоге у нас в руках домен, например:
Дальше будем учить его показывать наш сайт и радовать маму зелёным замочком.
Чтобы сайт был доступен маме в любое время суток, нам нужен компьютер, который:
Если у тебя дома стоит ПК, который никогда не выключается (например, твой старый системник или мини-сервер), можно попросить у интернет-провайдера выделенный статический IP.
У меня такая услуга стоит ~200 ₽/месяц, у тебя может быть чуть дороже или дешевле.
Но надо заморочиться с локальной сетью, пробросом портов и динамическим DNS. Но для нашей задачи это лишняя головная боль — главное, чтобы в итоге у нас был:
Я чаще всего беру VPS на serverspace — самая дешёвая конфигурация там обходится примерно в 400 ₽/месяц. Это дороже, чем дома, но зато:
📌 На этом этапе у нас уже есть:
Дальше — ставим Docker и готовим окружение.
🐳 Шаг 3. Ставим Docker и Docker Compose
Почему я люблю Docker?
Потому что всё окружение можно описать декларативно: база, сервер, сервисы — всё в одном docker-compose.yml. Один файл — и твой проект можно поднять на любой машине за пару минут.
Для нашей цели нам нужен только Docker Engine и Docker Compose plugin.
Ниже — команды для Ubuntu 24. Если у тебя другая версия или дистрибутив, просто загугли:
how to install docker-compose <название_твоей_системы>
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo $VERSION_CODENAME) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker $USER
После этого выйди из сессии SSH (exit) и зайди снова. Теперь можно писать docker ps, а не sudo docker ps.
Пора навести порядок и подготовить инфраструктуру, которая сможет работать на любом сервере с Docker.
В корне создаём папку sites и внутри неё такую структуру:
sites/
├─ docker-compose.yml
├─ nginx/
│ ├─ debugtest.conf # конфиг nginx для сайта
├─ site/ # твои статические файлы
│ ├─ index.html
│ ├─ sitemap.xml
│ └─ robots.txt
└─ certbot/
├─ conf/ # здесь появятся сертификаты (том для /etc/letsencrypt)
└─ www/ # временные файлы для валидации домена
Команды для Linux:
mkdir -p sites/nginx sites/site sites/certbot/conf sites/certbot/www
touch sites/site/index.html
Для редактирования текстовых файлов можно использовать nano:
nano sites/site/index.html
(Если ты используешь vim, то, скорее всего, и так не читаешь этот гайд 😉)
Файл docker-compose.yml (в папке sites) будет выглядеть так:
services:
nginx:
image: nginx:1.27-alpine
container_name: speech_nginx
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx:/etc/nginx/conf.d/:ro
- ./certbot/www:/var/www/certbot/:ro
- ./certbot/conf/:/etc/nginx/ssl/:ro
- ./site:/var/www/html/site
restart: unless-stopped
certbot:
image: certbot/certbot:latest
container_name: speech_certbot
volumes:
- ./certbot/conf:/etc/letsencrypt
- ./certbot/www:/var/www/certbot
entrypoint: /bin/sh
# будем запускать вручную:
# docker compose run --rm certbot ...
server {
listen 80;
server_name debugtest.ru www.debugtest.ru;
server_tokens off;
location /.well-known/acme-challenge/ {
root /var/www/certbot;
}
location / {
root /var/www/html/site;
try_files $uri $uri/ /index.html =404;
}
}
site/sitemap.xml:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://debugtest.ru/</loc>
<lastmod>2025-08-12</lastmod>
<changefreq>monthly</changefreq>
<priority>1.0</priority>
</url>
</urlset>
site/robots.txt:
User-agent: *
Allow: /
Sitemap: https://debugtest.ru/sitemap.xml
📌 Теперь у нас есть:
Дальше — будем ставить SSL и запускать всё это добро.
Наша цель — чтобы мама открыла https://debugtest.ru и увидела зелёный замочек, а не красное «Небезопасно».
Для этого используем бесплатные сертификаты от Let’s Encrypt и встроим их в наш Docker-стек.
Переходим в папку с docker-compose.yml и стартуем контейнеры:
docker compose up
Пока без -d, чтобы видеть логи и убедиться, что Nginx поднялся без ошибок.
Открываем вторую SSH-сессию к серверу и там выполняем тестовый запуск certbot:
docker compose run --rm certbot certonly \
--webroot --webroot-path /var/www/certbot/ \
--dry-run \
-d debugtest.ru
--dry-run — это проверка. Certbot не выпустит реальный сертификат, но убедится, что домен доступен и валидация проходит.
Если dry-run прошёл без ошибок — запускаем команду без --dry-run:
docker compose run --rm certbot certonly \
--webroot --webroot-path /var/www/certbot/ \
-d debugtest.ru
После этого в папке certbot/conf/live/debugtest.ru/ появятся файлы сертификатов.
Файл nginx/debugtest.conf теперь будет выглядеть так:
server {
listen 443 ssl;
server_name debugtest.ru;
ssl_certificate /etc/nginx/ssl/live/debugtest.ru/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/live/debugtest.ru/privkey.pem;
location / {
root /var/www/html/site;
try_files $uri $uri/ /index.html =404;
proxy_set_header Host $host;
client_max_body_size 3G;
proxy_set_header X-Forwarded-Proto https;
}
location = /sitemap.xml {
root /var/www/html/site;
try_files /sitemap.xml =404;
}
location = /robots.txt {
root /var/www/html/site;
try_files /robots.txt =404;
}
}
docker compose down
docker compose up -d
Открываем https://debugtest.ru — должен быть зелёный замочек.
Если всё ок, значит мама сможет зайти на сайт без предупреждений.
💡 Про автопродление
Сертификаты Let’s Encrypt живут 90 дней. Чтобы не бегать руками, добавь в crontab:
0 4 * * * docker compose run --rm certbot renew && docker compose kill -s SIGHUP nginx
Это проверит сертификат каждый день в 4 утра и перезапустит Nginx, если сертификат обновился.
Поисковики не телепаты. Даже если твой сайт уже крутится с идеальным SSL и sitemap.xml, Google и Яндекс могут заметить его через недели.
Мы ускорим этот процесс вручную.
💡 Лайфхак: сразу после добавления sitemap.xml можно зайти в Проверка URL и вручную «Запросить индексацию» главной страницы. Это ускорит попадание сайта в выдачу.
📌 Теперь твой сайт:
💬 Если тебе зашёл этот формат и ты хочешь видеть больше таких разборов, у меня есть Telegram-канал, где я делюсь своими пет-проектами, экспериментами, идеями для стартапов и многим другим.
Ссылка на канал — в моём профиле.
или почему я всё чаще задумываюсь об оффлайн-LLM
Стал смотреть в сторону локального запуска моделей. Не из-за хайпа, а скорее из-за недоверия.
Причина - не сами технологии, а то, как с ними обращаются.
Недавно в Google начали всплывать реальные диалоги пользователей с Grok и ChatGPT.
Обычные ссылки на чаты, которые кто-то где-то засветил. Google их подхватил - и вот, они уже в выдаче. OpenAI убирали из индекса ~50 000 ссылок на публичные диалог, они подчистили Google, но забыли про Archive.org.
А там всё ещё висят штуки с логинами, ключами, приватными планами.
Анализ показал: из 512 чатов 20% содержали явно конфиденциальную информацию.
Даже если вы делитесь диалогом «только внутри команды» - дальше всё по классике:
Планирую собрать поделку: связать LLM и Obsidian.
А в Obsidian у меня почти всё личное - от заметок до чувствительных штук.
И вот тут уже важно, чтобы данные не утекали наружу, даже случайно. Поэтому и смотрю в сторону локального inference - без облаков, логов и внешнего API.
🧮 LocalScore.ai
Сервис, который показывает, какие LLM потянет ваша видеокарта. Удобно, если хотите запускать модель у себя - а не в чьём-то дата-центре.
🔑 ai-keys-leaks.begimher.com
Ищет утёкшие API-ключи от OpenAI, Claude, Gemini и других.
Не факт, что что-то сработает — 99% ключей мёртвые. Но наличие таких баз говорит о многом.
Я не стал параноиком. Но теперь всё, что потенциально приватно — я не пишу в облако.
Потому что модель забудет, а интернет - нет.
Если тебе близка тема ИИ, агентных систем и ты хочешь быть в числе тех, кто не просто читает новости, а сам их делает - залетай в мой Telegram-канал debug_leg. 🔗 Ссылка - в профиле
Если вы разрабатываете агентов, интегрируете GPT в бизнес-логику или просто строите чат-ботов — уязвимости могут стать не теоретической, а очень практической болью. OWASP подготовил подробный список из 10 наиболее распространенных угроз, с которыми уже сталкиваются разработчики LLM-продуктов.
📘 Новость в том, что теперь весь список переведен на русский язык.
Это полноценная PDF, где у каждого пункта есть описание, примеры, сценарии атак и меры предотвращения. Прочитать можно за вечер — сэкономите недели на разборках после продакшена.
Вот несколько уязвимостей, которые стоит знать до, а не после:
Манипуляция промптами, когда злоумышленник через запросы влияет на поведение модели. Причем не всегда напрямую — инструкции могут быть спрятаны в других источниках: веб-страницах, описаниях или даже изображениях.
💥 Последствия: обход системных ограничений, генерация нежелательного контента, утечка данных.
Когда ваш LLM получает слишком много возможностей и начинает действовать почти автономно. Особенно критично в агентных архитектурах: вроде хотели автоматизировать рутину — а получили сбой в цепочке действий и неожиданный запрос в продовую систему.
Системный prompt, на который вы надеялись, что он «где-то под капотом» — может внезапно всплыть в ответе. И да, это уже происходило в реальных кейсах.
Если используете RAG, fine-tuning или хостите датасеты от пользователей — атака может прийти снаружи. Достаточно одного вредоносного документа, чтобы искажать ответы модели.
Потому что LLM-интеграции — это не просто UX-фича, а точка доступа в критические процессы. Слишком часто в AI-продуктах безопасность оказывается "потом".
OWASP формирует этот список на основе реальных атак, багрепортов и практики. Это живой, работающий фреймворк, а не академическая выжимка.
📎 Документ доступен бесплатно, под лицензией CC BY-SA:
👉 PDF на русском языке (OWASP, 2025)
Если вы пишете что-то на базе GPT, Claude или других LLM — этот список должен быть у вас в закладках.
Потому что баг, который вы считаете “забавной фичей”, может завтра попасть в презентацию хакеров на DEF CON.
🔗 Я веду Telegram-канал, где разбираю такие истории и делюсь собственными экспериментами в инди-хакинге и запуске микро-продуктов. Ссылка — в профиле.
Интересная история из мира инди-разработки — парень, не бросая основную работу, построил SaaS-сервис, который спустя два года принес ему крупный exit.
🧪 Началось всё с личной боли. Его жена, научный сотрудник, жаловалась, как сложно читать и пересказывать научные статьи. Он решил помочь и за пару вечеров собрал MVP — SciSummary, сервис, который автоматически сокращает и упрощает академические тексты.
💡 Проект запущен в январе 2023. Уже через 3 месяца с помощью Google Ads, SEO и пары постов у инфлюенсеров сервис начал приносить $1k в месяц. В это же время он узнал, что скоро станет отцом, поэтому не стал рисковать и продолжал работать по найму (его зарплата — $250k в год), а проект развивал в свободное время (~20 часов в неделю).
📈 Спустя год:
– Проект стабильно генерирует $25k MRR
– В команде 6 удалённых фрилансеров
– Более 700 тысяч пользователей
– ARR — около $400k
🔥 В 2024 он продал 85,5% проекта, но остался в нём ведущим инженером. Причина продажи — выгорание от постоянной нагрузки и желание больше времени проводить с ребёнком.
«После сделки чувства были смешанные — радость, тревога, оцепенение. По сути, моя жизнь не изменилась. Я всё так же просто работаю».
⚙️ Что важно вынести из этого кейса:
🎮 Автор проекта в своём профиле скромно пишет: «Люблю кодить, играть в игры и пить пиво». А по факту — запустил сервис с ARR $400k, пока качал коляску на выходных.
🔗 Я веду Telegram-канал, где разбираю такие истории и делюсь собственными экспериментами в инди-хакинге и запуске микро-продуктов. Ссылка — в профиле.
Привет. Я продолжаю разрабатывать сервер для Lineage 2 C1 на JavaScript Проект
В первом же квесте Fighter's Tutorial (даёт SP и карту мира) столкнулся с любопытным моментом. Охота на внешне одинаковых NPC, но на деле разных!
Речь пойдет только о квесте для людей на острове Talking Island Village.
В чём подвох?
В мире Lineage есть два NPC с одинаковым именем - Bearded Keltir.
Внутри сервера это разные NPC: ID 12082(tuto_keltir) и ID 481(keltir).
По квесту Fighter's Tutorial надо добыть Keltir Fang.
Убивайте Bearded Keltir, пока не получите Keltir Fang x4.
Как различать Bearded Keltir?
У этих NPC есть несколько зон spawn'a. Некоторые зоны пересекаются и в одной зоне могут находиться разные Bearded Keltir.
Так например если вы решите проходить квест возле Talking Island Village то вот на что надо обратить внимание:
* Keltir Fang падает с шансом в 100%. Если не упал, то вы убили не того NPC.
* С нужного Bearded Keltir не падает дроп. Дроп у ID 12082(tuto_keltir) отсутствует.
Вывод
Лучше всего проходить квест возле Cedric's Training Hall так как там одна из зон появления Bearded Keltir они же ID 12082(tuto_keltir).
Блог про разработку сервера для Lineage 2 в телеге https://t.me/lineage2js
Когда мы говорим о B2C-продуктах, масштабируемости и высокой марже — мобильные игры здесь как по учебнику. Ещё 15 лет назад они выглядели как примитивные поделки. Сегодня — это полноценная индустрия с оборотом в десятки миллиардов долларов.
🚀 Взлёт: от пивного бюджета до миллиардов
Мобильный гейминг взлетел не потому, что стал «круче», а потому что оказался на стыке нескольких трендов:
Взрывной рост смартфонов
Когда телефоны стали массовыми, спрос на развлечения в кармане резко вырос. И на старте предлагать было особо нечего — качали всё подряд.
Минимальный порог входа
Игры весили до 100 МБ, не требовали консоли или отдельного железа. Зашёл в App Store — и ты уже в игре.
Free-to-play модель
Играешь бесплатно, а потом тебя ловко подводят к донату. $1–2 за ускорение, $5 — за бонус, $10 — за редкий предмет. Модель оказалась настолько эффективной, что средний чек у активных игроков доходил до $100 в месяц. А у самых "преданных" — до $10k.
Постоянный контент и удержание
Каждый день — что-то новое: улучшения, события, скины, ивенты. А ещё push-уведомления, которые не давали забыть про игру ни на минуту.
Безумные выручки
Некоторые тайтлы зарабатывали десятки миллиардов:
Honor of Kings — $15 млрд
Clash of Clans — $10 млрд
Candy Crush Saga — $10 млрд
PUBG Mobile — $9 млрд
Pokémon GO — $8 млрд
📉 А теперь — стагнация
Начиная с 2021 года рост замедлился. И если в 2018–2021 гейминдустрия на мобилках росла в среднем на 13% в год, то за последние 3 года — всего на 1,7%.
Почему так вышло?
Переедание контентом
Пользователи устали. Игр стало слишком много. Люди стали меньше играть — и меньше платить.
Пандемийный пузырь лопнул
Во время COVID-локдаунов — скачивания взлетели, доходы выросли. Но после снятия ограничений начался откат.
Проблемы с трафиком
Привлечение пользователей подорожало в 2–3 раза, а конверсии и LTV упали. Маркетинг стал затратным, особенно после изменений конфиденциальности от Apple (App Tracking Transparency) — до 96% пользователей отказались от отслеживания.
Никто не хочет инвестировать в стагнацию
Новых команд не нанимают, новые проекты не запускают. Рост? Его больше никто не ждёт. Прогноз на 2025 год — всего 2%.
💰 Зато магазины в плюсе
Google и Apple продолжают стричь комиссию: 15–30% с каждой покупки. Это миллиарды долларов ежегодно. Они активно продвигают игры в сторах и даже выкупают телерекламу для крупных тайтлов.
🎮 Так за 10–15 лет мобильный гейминг из забавы «на сдачу» стал самой прибыльной вертикалью в индустрии. А теперь — взрослеет. Медленно. Без хайпа. Но всё ещё с гигантскими деньгами внутри.
Если вам зашло — я веду Telegram-канал, где делюсь своими экспериментами в запуске приложений и микро-SaaS-проектов.