Обновить
0
@dissolveread⁠-⁠only

Пользователь

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

От написания промптов к проектированию контекста. Или один очень обширный материал по Context Engineering

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

Если вы часто упираетесь в лимиты Claude Code / Codex и не понимаете, куда улетают токены — этот лонгрид для вас

Да и вообще всем, кто хочет разбираться в современных AI инструментах, будет полезно

Разбираемся

1. Как устроено контекстное окно изнутри: 7 слоёв (от весов модели до MCP и skills)
2. Что такое attention и при чем тут O(n²)
3. Как работает agent loop на примере 4 вызовов модели
4. Почему prompt caching экономит до 10× в лимитах при правильной работе с ним

Сууупер длинная статья

Че там Че там 👀

Мигрируем с JetBrains PHPStorm на Cursor (VS Code)

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

Разберем, как настроить в Cursor (VS Code) привычные функции JetBrains PHPStorm. Множество описанных в статье функций носит общий характер и не привязано конкретно к PHP, так что будет актуально и для миграции из других продуктов Jetbrains.

Тем не менее, настроим полноценную поддержку php, xdebug, .env, yaml, symfony, git, перенесем хоткеи и тему оформления, поймем, как подключаться к БД и удаленному серверу. Будет небольшое личное сравнение IDE между собой. Функции Cursor затрагивать почти не будем.

Читать далее

Модульные CSS-архитектуры в Next.js: BEM, SMACSS, OOCSS и их применение

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

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

Сегодня пробежимся по теме, которую не назовёшь новенькой, но без неё — ни шагу в CSS-вёрстке в Next.js. Модульные CSS-архитектуры — это необходимый инструмент для тех, кто хочет создать прочную основу для масштабируемого проекта.

В статье разберём, как с помощью BEM, SMACSS и OOCSS можно держать CSS в порядке.

Читать далее

Коварные утечки памяти в React: как можно обжечься на useCallback и замыканиях

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

Я работаю в Ramblr, это ИИ-стартап, где мы строим на React сложные приложения для аннотирования видео. Недавно мне попалась сложная утечка памяти, которая возникает при одновременном использовании замыканий JavaScript и хука useCallback в React. Поскольку я вырос на .NET, мне потребовалось немало времени, чтобы разобраться в происходящем. Поэтому я решил написать этот пост и рассказать вам, чему меня научила эта ситуация.
Читать дальше →

Работа с новой архитектурой в Laravel 11

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

Основная "киллер-фича" фреймворка Laravel версии 11 - "плоский код". Под капот убрано всё, что большинством разработчиков не используется и, по сути, является "мусором". А также убраны некоторые действительно полезные вещи.

Под катом мы рассмотрим что куда делось и как улучшить взаимодействие с новой архитектурой.

Читать далее

Организация кода в Laravel. Личный опыт

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

Hola Amigos! На связи Евгений Шмулевский, PHP-разработчик в Amiga. Начал заниматься программированием с 2001 года, привет Basic и Express/Turbo Pascal. Веб-разработкой — с 2011 года, а профессионально в вебе с 2013 года. Работал продолжительное время с Битрикс, а с 2018 начал осваивать Laravel. 

Читать далее

Превращение событий PostgreSQL в события Laravel

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

В прошлый раз я описал, как можно поставить задачу (Job) в очередь Laravel из хранимой процедуры или триггера PostgreSQL.

В этой статье я расскажу, как можно преобразовать события, возникающие в PostgreSQL, в события Laravel.

Рабочий пример выложен на GitHub.

Читать далее

Ошибки выбора MongoDB в качестве основной БД в стартапе

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

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

Я ни в коем случае не считаю, что MongoDB это плохая БД и ее не нужно использовать. Более того, я считаю, что только мои кривые руки завели меня в ситуацию, из которой пришлось выходить переписыванием сервиса под другую БД (ушел на Postgres и кайфую).

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

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

Встать на грабли вместе

Шпаргалка по работе с Tmux (терминальный мультиплексор)

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

На Хабрахабре Tmux (ти-макс) упоминался неоднократно, тем не менее, решил написать еще одну шпаргалку, т.к. в других некоторые важные моменты не показаны.

Tmux (терминальный мультиплексор) позволяет работать с несколькими сессиями в 1 окне. Вместо нескольких окон терминала к серверу — вы можете использовать одно. Позволяет подключаться/отключаться к текущему состоянию сессии. Запущенные программы и процессы продолжают работать. (Можно использовать вместо nohup, dtach).

Например, на работе правим файлы в Vim. Окно терминала с открытыми файлами, процессами. Отключаемся от сессии. Далее подключаемся к этой сессии из дома и получаем те же окна с открытыми файлами в Vim, процессами и т.д. Можно продолжить работу с того же момента, на котором остановились. Также удобно при разрыве связи. Дополнительно можно работать совместно с другими в терминале, если подключены к одной сессии. Каждый видит, что делает другой.
Читать дальше →

Собираем демо-кластер Minio, потому что можем

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

Я понятия не имею будет это кому-то полезно или нет, но это и не важно. Раз посты про установку Apache и php по прежнему имеют успех - то пусть будет и этот.
Выбор гипервизора, ОС и тд я не буду рассматривать никак, это не имеет значения.
Почему не докер? Потому.

Читать далее

Как сопоставить номера деталей с изображениями: Использование поиска Google и сравнения изображений в Node.js

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

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

В данной статье представлен практический метод сопоставления номеров запчастей с их изображениями. Используя поисковую систему Google, мы соберем изображения, основываясь на марке и номере запасной части, а затем применим методы сравнения изображений с помощью Node.js, чтобы выявить наиболее подходящие изображения для каждой запчасти.

Читать далее

Использование bash completion в командной строке, собственных скриптах и приложениях. Часть 1

Время на прочтение2 мин
Охват и читатели62K
Часть 2

Системный администратор — человек ленивый. Обычно он старается сделать максимум работы, приложив минимум усилий, а для этого зачастую требуется автоматизировать многие рутинные процедуры. Например — набор полных имен хостов при создании ssh-соединения, или же длинных аргументов некоторых команд :)

Сегодня я попробую рассказать про использование такого функционала шелла как bash completion.
вам интересно?

Красота не только в коде — как оформлять репозиторий

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

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

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

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

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

Узнать, как оформлять репозитории

Как быстро проверить Linux сервер на предмет взлома

Время на прочтение4 мин
Охват и читатели130K
Примерно два года назад я арендовал у одного немецкого хостера не очень мощный сервер на базе Centos 5.2. На нём живут несколько вебпроектов, приносящих некоторую прибыль, и поэтому, я стараюсь присматривать за ним по мере возможности.
На Centos есть стандартный анализатор логов Logwatch, который запускается ежедневно по крону, анализирует содержимое /var/log, делает сводный отчет и присылает его по электропочте. В один прекрасный день я обнаружил в этом отчете запись:

--------------------- yum Begin ------------------------ 
 
 Packages Installed:
    lzo2 - 2.02-3.el5.rf.i386
    dnstracer - 1.8-1.2.el5.rf.i386
    openvpn - 2.0.9-1.el5.rf.i386

---------------------- yum End -------------------------


В тот момент меня она очень смутила, так как в предыдущий день на сервер я не логинился и тем более ничего не устанавливал. Первое, что пришло в голову — сервер был скомпроментирован. Себя я считал уверенным пользователем Linux, однако я растерялся. Благо в тот момент в icq был мой бывший коллега, лучший системный администратор, которого я знаю, и просто очень хороший человек.
Он помог быстро проверить систему. В результате у меня сформировалось краткое HowTo о том, как быстро проверить свой сервер на предмет взлома. Уверен, что многим Храброчитателям оно будет полезно. Предполагается, что пользователь знаком с консолью Linux/Unix.

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

Чистим домашний интернет от очень назойливой рекламы (Ad's blocker для OpenWRT)

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


Дело было вечером, делать было нечего... © С. В. Михалков
Навеяно публикацией «Как я bind`ом вирусы искал…», а конкретно этой веткой комментариев. Надеюсь, не поздно размещаю.

Сидел я и думал, телевизор Samsung, WinPhone, (а впоследствии может кофеварка и пылесос) показывают суперназойливую рекламу, надо с этим чтото делать, и раз в WinPhone и телевизор(кофеварку, пылесос) плагина AdBlock нету, то он должен быть там где ходит их трафик, на роутере.
Читать дальше →

Архитектура CQRS

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


Идея CQRS возникла в 2010 году, когда Грег Янг (Greg Young) опубликовал статью на эту тему. CQRS быстро стал популярным в разработке приложений, и сегодня является одним из ключевых подходов в работе со сложными системами.

CQRS (Command Query Responsibility Segregation) — это архитектурный паттерн, который предлагает разделить операции записи и чтения данных в приложении на две отдельные ветки. Вместо того, чтобы использовать единый интерфейс для обеих операций, CQRS предлагает использовать различные модели данных для команд и запросов. Это позволяет оптимизировать каждую модель для конкретных задач и улучшить производительность приложения.
Читать дальше →

Топ-10 артефактов Linux для расследования инцидентов

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

Лада Антипова из команды киберкриминалистов Angara SOC подготовила новый материал о полезных инструментах при расследовании хакерских атак. Материал с удовольствием опубликовали коллеги из Positive Technologies на своих ресурсах, поэтому мы можем сделать его доступным и для нашей аудитории.

Несмотря на то, что Windows остается самой распространенной ОС, о чем знают в том числе атакующие, оставлять без внимания другие системы нельзя, а уж тем более Linux (ладно-ладно, GNU/Linux). Сегодня российские компании все чаще пользуются Linux из соображений импортозамещения, но эта ОС по-прежнему более распространена именно как серверное решение.

А теперь представьте ситуацию: вы работаете на Linux-машине, и вдруг что-то явно идет не так. Уровень нагрузки на процессор резко вырос, начались обращения на неизвестные ресурсы или пользователь www-data неожиданно оказался в группе wheel. Что делать?  

Составляем список команд

У вас есть два пути: либо работать с живой системой, либо делать так называемый пост-анализ. Начнем с первого. Я приведу свой список избранных и наиболее часто используемых команд. Универсального порядка здесь нет: вы, как ИБ-специалист, расставляете приоритеты самостоятельно.

Итак, команды:

Помимо базовых команд на просмотр текстовых файлов (а все мы знаем, что в Linux, по сути, все есть файл) типа cat ~/.bash_history, можно использовать более продвинутые варианты:

tail -n 15 /var/log/<file> по умолчанию выводит 10 строк, но при помощи параметра n их количество можно изменять.

tail -f -s 5 /var/log/<file> используется для отслеживания появления новых строк. Это аналог команды watch для тех же журналов. Может быть полезна для отслеживания определенных событий в реальном времени.

Читать далее

тестирования сети в Линукс

Время на прочтение5 мин
Охват и читатели25K
Эта заметка выросла из шпаргалки для самого себя. Мне по работе приходится отлавливать баги в сети. Как проверить скорость в VPN-туннеле? Почему сервер не пингуется? Или пингуется, но не доступен. Кто забил весь канал торрентами? Где пропадают пакеты? Почтовый клиент выдает непонятную ошибку, что произошло на самом деле? Эти и многие другие вопросы периодически возникают у любого пользователя. Под катом описание программ входящих во все современные дистрибутивы, начиная от пинга и до таких экзотических как ngrep. А так же картинками, если картинками можно назвать, копии дампа с консоли.
Читать дальше →

Systemd за пять минут

Время на прочтение4 мин
Охват и читатели749K
Наша компания занимается администрированием веб-серверов на базе CentOS. Довольно часто наши клиенты используют веб-приложения на базе python, ruby или java. Для автозапуска подобных приложений есть готовые шаблоны для написания стартап-скриптов. Но прогресс не стоит на месте, вышел уже второй релиз CentOS 7 и, следуя старой традиции «не ставить dot-zero релизы на продакшен», мы начинаем предлагать клиентам сервера на базе CentOS 7.1 (1503).

В CentOS7, так же как и в его родителе RHEL7, используется systemd — менеджер системы и служб для Linux, совместимый со скриптами инициализации SysV и LSB. systemd обеспечивает возможности агрессивной параллелизации и много всего прочего.

image

Огромный монстр с множеством возможностей, гибкими настройками и мегабайтами документации…

Но что делать, если стоит задача быстро-быстро, вот прямо вчера, сделать автозапуск некоего сервиса?
Давайте выжмем из документации минимально необходимый набор информации для создания простых старт-стоп скриптов.
Знакомство с systemd

Зачем писать юнит-тесты на фронтенд?

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

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

Дизайн превью: Марина Четвертакова

Читать далее

Информация

В рейтинге
Не участвует
Откуда
Казахстан
Зарегистрирован
Активность