<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title><![CDATA[Developer Log]]></title>
        <description><![CDATA[Developer Log]]></description>
        <link>https://developer-log.com</link>
        <generator>RSS for Node</generator>
        <lastBuildDate>Tue, 05 May 2026 11:43:08 GMT</lastBuildDate>
        <atom:link href="https://developer-log.com/rss.xml" rel="self" type="application/rss+xml"/>
        <copyright><![CDATA[Copyright 2024 Developer Log]]></copyright>
        <language><![CDATA[ru]]></language>
        <managingEditor><![CDATA[Daniil Shilo]]></managingEditor>
        <webMaster><![CDATA[Daniil Shilo]]></webMaster>
        <ttl>60</ttl>
        <item>
            <title><![CDATA[Конфигурация nginx]]></title>
            <description><![CDATA[В данной статье рассмотрим как сконфигурировать nginx, а также поверхностно рассмотрим его внутреннюю работу.
]]></description>
            <link>/posts/nginx-conf</link>
            <guid isPermaLink="true">/posts/nginx-conf</guid>
            <category><![CDATA[backend]]></category>
            <category><![CDATA[server]]></category>
            <pubDate>Sat, 07 Sep 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Быстрый поиск по разной документации]]></title>
            <description><![CDATA[Недавно я задался вопросом, могу ли я оптимизировать процесс поиска чего-либо в документации любого языка/библиотеки/фреймворка. Прыгать с сайта на сайт – не самая лучшая идея, ибо интерфейсы документацией отличаются, а я хотел унификации.]]></description>
            <link>/posts/browser-devdocs</link>
            <guid isPermaLink="true">/posts/browser-devdocs</guid>
            <category><![CDATA[misc]]></category>
            <category><![CDATA[browser]]></category>
            <category><![CDATA[docs]]></category>
            <pubDate>Sun, 21 Jul 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Планируйте из коробки и не ищите приложений]]></title>
            <description><![CDATA[Стоит начать, пожалуй, с того что в текущих реалиях большинству людей в моем окружении тяжело сконцентрироваться на всех задачах которые нужно сделать за весь день: уведомления из чатов и новостных каналов, «задачи» которые присылаются в мессенджере, вместо нормального тикета в Jira/Asana/<любой другой таск-менеджер>, просьбы коллег, а также вечно включенная вкладка YouTube в браузере делают свое дело.]]></description>
            <link>/posts/box-planning</link>
            <guid isPermaLink="true">/posts/box-planning</guid>
            <category><![CDATA[misc]]></category>
            <category><![CDATA[planning]]></category>
            <category><![CDATA[software]]></category>
            <pubDate>Wed, 17 Jul 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Битовые манипуляции в JavaScript]]></title>
            <description><![CDATA[Вся информация на компьютерах хранится в двоичном формате. Буквы, цифры, массивы, хэшмапы, все.]]></description>
            <link>/posts/js-bit</link>
            <guid isPermaLink="true">/posts/js-bit</guid>
            <category><![CDATA[note]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[web]]></category>
            <pubDate>Mon, 18 Mar 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Data Structures: Связный список]]></title>
            <description><![CDATA[Существует два типа связных списков, о которых мы поговорим:]]></description>
            <link>/posts/ds-linked-list</link>
            <guid isPermaLink="true">/posts/ds-linked-list</guid>
            <category><![CDATA[computer-science]]></category>
            <category><![CDATA[note]]></category>
            <pubDate>Thu, 29 Feb 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Data Structures: Стек и очередь]]></title>
            <description><![CDATA[Стек - структура данных, которая действует по принципу LIFO (Last In, First Out: последний пришел, первый ушел)]]></description>
            <link>/posts/ds-stack-queue</link>
            <guid isPermaLink="true">/posts/ds-stack-queue</guid>
            <category><![CDATA[computer-science]]></category>
            <category><![CDATA[note]]></category>
            <pubDate>Thu, 29 Feb 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Генерация кастомного TOC в Nuxt Content]]></title>
            <description><![CDATA[В блоге на странице статей есть навигация по заголовкам, которая показывает где пользователь находится в текущий момент.
Пришлось генерировать кастомный TOC из-за того что нативный TOC
отдавал только заголовки второго уровня. На момент использования
версии Nuxt Content 2.7.2, я не нашел способа корректно настроить встроенный TOC,
попытки настроить TOC с помощью конфигурации не увенчались успехом.]]></description>
            <link>/posts/nuxt-content-hook</link>
            <guid isPermaLink="true">/posts/nuxt-content-hook</guid>
            <category><![CDATA[nuxt]]></category>
            <category><![CDATA[note]]></category>
            <category><![CDATA[under-the-hood]]></category>
            <pubDate>Mon, 16 Oct 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Интеграция Excalidraw в блог]]></title>
            <description><![CDATA[Первое что я заметил - Excallidraw внутри svg-файлов подтягивает шрифты.
Для того чтобы это исправить я решил сделать отдельный компонент для диаграм,
который заранее будет один раз подтягивать шрифты:]]></description>
            <link>/posts/nuxt-excalidraw</link>
            <guid isPermaLink="true">/posts/nuxt-excalidraw</guid>
            <category><![CDATA[note]]></category>
            <category><![CDATA[nuxt]]></category>
            <pubDate>Tue, 19 Sep 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Trailing Slash и Nuxt i18n]]></title>
            <description><![CDATA[На днях столкнулся с проблемой с Nuxt I18n при разработке блога.
Проблема заключалась в том, что как только к URL приписывался / - NuxtLink переставал работать.]]></description>
            <link>/posts/nuxt-i18n-slash</link>
            <guid isPermaLink="true">/posts/nuxt-i18n-slash</guid>
            <category><![CDATA[nuxt]]></category>
            <category><![CDATA[bug]]></category>
            <category><![CDATA[note]]></category>
            <pubDate>Sat, 16 Sep 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[CSR, SSR, SSG, ISR и другие аббревиатуры]]></title>
            <description><![CDATA[Для каждого разработчика важно понимать как оптимизировать его проект. В веб-технологиях придумали несколько
паттернов, с помощью которых можно оптимизировать рендеринг приложения. Сегодня рассмотрим этим паттерны,
поговорим почему это важно и зачем это нужно.]]></description>
            <link>/posts/render-pattern</link>
            <guid isPermaLink="true">/posts/render-pattern</guid>
            <category><![CDATA[backend]]></category>
            <category><![CDATA[frontend]]></category>
            <category><![CDATA[pattern]]></category>
            <pubDate>Sat, 16 Sep 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Чиним глобальные импорты в Webstorm]]></title>
            <description><![CDATA[При разработке блога я столкнулся с проблемой, когда автоимпорты в Nuxt работали не совсем
так как планировалось. Если кратко, то весь редактор был в ошибках 🫡]]></description>
            <link>/posts/nuxt-autoimport-ws</link>
            <guid isPermaLink="true">/posts/nuxt-autoimport-ws</guid>
            <category><![CDATA[webstorm]]></category>
            <category><![CDATA[nuxt]]></category>
            <category><![CDATA[typescript]]></category>
            <category><![CDATA[note]]></category>
            <pubDate>Thu, 14 Sep 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Event Loop в деталях]]></title>
            <description><![CDATA[В данной статье поговорим о том, почему Event Loop вообще был создан, как с ним работать
и почему про него спрашивают на собесах.]]></description>
            <link>/posts/event-loop-details</link>
            <guid isPermaLink="true">/posts/event-loop-details</guid>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[frontend]]></category>
            <pubDate>Tue, 12 Sep 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Пишем свой модуль в Nuxt]]></title>
            <description><![CDATA[Сегодня поговорим о модулях в Nuxt, разберемся из чего они состоят, зачем они нужны и разберемся с самым
главным вопросом "Как написать свой модуль?".]]></description>
            <link>/posts/nuxt-modules</link>
            <guid isPermaLink="true">/posts/nuxt-modules</guid>
            <category><![CDATA[guide]]></category>
            <category><![CDATA[typescript]]></category>
            <category><![CDATA[web]]></category>
            <category><![CDATA[nuxt]]></category>
            <pubDate>Tue, 12 Sep 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Модули в Javascript]]></title>
            <description><![CDATA[Модули в Javascript - интересная тема, которую к сожалению не все хорошо понимают.
Сам же я на нее наткнулся при настройке tsconfig.json, а затем еще и на собеседовании.]]></description>
            <link>/posts/js-modules</link>
            <guid isPermaLink="true">/posts/js-modules</guid>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[web]]></category>
            <category><![CDATA[under-the-hood]]></category>
            <pubDate>Wed, 06 Sep 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Список статей с помощью которых я выучил Go]]></title>
            <description><![CDATA[Внизу находится список ссылок, которые помогли мне выучить Go. По мере обучения список будет дополняться.]]></description>
            <link>/posts/go-learn</link>
            <guid isPermaLink="true">/posts/go-learn</guid>
            <category><![CDATA[go]]></category>
            <category><![CDATA[learn]]></category>
            <pubDate>Thu, 22 Jun 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Хуки для обновления данных после переподключения]]></title>
            <description><![CDATA[Сегодня была задача по обновлению данных после переподключения пользователя.]]></description>
            <link>/posts/vue-online</link>
            <guid isPermaLink="true">/posts/vue-online</guid>
            <category><![CDATA[vue]]></category>
            <pubDate>Tue, 20 Jun 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[OSI]]></title>
            <description><![CDATA[OSI (Open Systems Interconnection) - это модель сетевой архитектуры, которая описывает, как компьютерные системы могут взаимодействовать и обмениваться данными в сетях.]]></description>
            <link>/posts/osi</link>
            <guid isPermaLink="true">/posts/osi</guid>
            <category><![CDATA[network]]></category>
            <category><![CDATA[backend]]></category>
            <category><![CDATA[note]]></category>
            <pubDate>Mon, 19 Jun 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Компьютерные сети: Топология]]></title>
            <description><![CDATA[Компьютерные сети - наука и методология о том как эффективно связать несколько устройств для обмена сообщениями.]]></description>
            <link>/posts/network</link>
            <guid isPermaLink="true">/posts/network</guid>
            <category><![CDATA[backend]]></category>
            <category><![CDATA[network]]></category>
            <category><![CDATA[note]]></category>
            <pubDate>Fri, 16 Jun 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Установка и настройка husky + commitlint]]></title>
            <description><![CDATA[Husky нужен для того чтобы цепляться к хукам в Git,
commitlint же проверяет сообщение всех коммитов
на предмет соответствия Conventional Commits.]]></description>
            <link>/posts/commitlint</link>
            <guid isPermaLink="true">/posts/commitlint</guid>
            <category><![CDATA[nuxt]]></category>
            <category><![CDATA[note]]></category>
            <pubDate>Mon, 05 Jun 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[О слайсах и массивах в Go]]></title>
            <description><![CDATA[В данной статье подробно расскажу чем слайс отличается от массива в Go, а также что делают функции copy и append
]]></description>
            <link>/posts/go-slice</link>
            <guid isPermaLink="true">/posts/go-slice</guid>
            <category><![CDATA[go]]></category>
            <category><![CDATA[backend]]></category>
            <pubDate>Sun, 04 Jun 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Редирект на Nuxt 3]]></title>
            <description><![CDATA[Недавно деприкейтнул страницу в блоге со слагом /tutorial. Так как менять все ссылки на данный раздел было впадлу (да и не целесообразно это, ломать обратную совместимость), искал как сделать редирект.]]></description>
            <link>/posts/nuxt-redirect</link>
            <guid isPermaLink="true">/posts/nuxt-redirect</guid>
            <category><![CDATA[nuxt]]></category>
            <category><![CDATA[note]]></category>
            <pubDate>Sun, 04 Jun 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[[In one Paper]: Playwright]]></title>
            <description><![CDATA[В данном туториале разберемся с фреймворком для E2E (End-to-end) тестирования Playwright, который пришел на замену Cypress и Selenium.
]]></description>
            <link>/posts/playwright</link>
            <guid isPermaLink="true">/posts/playwright</guid>
            <category><![CDATA[testing]]></category>
            <category><![CDATA[frontend]]></category>
            <category><![CDATA[e2e]]></category>
            <category><![CDATA[onepaper]]></category>
            <pubDate>Sat, 03 Jun 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Замена для Rust - Zig]]></title>
            <description><![CDATA[Rust является достаточно сложным для изучения. Более того, после того как я выучил его, на нем все еще сложно писать код (из-за borrow checker, а также огромного количества встроенных методов).]]></description>
            <link>/posts/rust-zig</link>
            <guid isPermaLink="true">/posts/rust-zig</guid>
            <category><![CDATA[zig]]></category>
            <category><![CDATA[rust]]></category>
            <category><![CDATA[note]]></category>
            <pubDate>Thu, 01 Jun 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[WebSocket: смотрим как работает за кулисами]]></title>
            <description><![CDATA[Сегодня поговорим о том как работает WS, напишем простенький клиент на JS, обсудим как дебажить данный протокол ну и просто обсудим несколько интересных фактов.
]]></description>
            <link>/posts/ws</link>
            <guid isPermaLink="true">/posts/ws</guid>
            <category><![CDATA[ws]]></category>
            <category><![CDATA[protocol]]></category>
            <category><![CDATA[web]]></category>
            <pubDate>Sun, 14 May 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Рендеринг модальных окон с помощью функций на Vue]]></title>
            <description><![CDATA[Недавно столкнулся с интересной задачей: нужно создать модальные окна, которые бы рендерились с помощью вызовов функций. После ресерча различных библиотек и статей собрал все ведомые мне способы в одной статье. Под катом подробнее.
]]></description>
            <link>/posts/vue-component-function</link>
            <guid isPermaLink="true">/posts/vue-component-function</guid>
            <category><![CDATA[typescript]]></category>
            <category><![CDATA[vue]]></category>
            <category><![CDATA[web]]></category>
            <pubDate>Mon, 08 May 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Сокращение типизации с помощью утилей в Typescript]]></title>
            <description><![CDATA[Поговорим о том как можно сократить код для типизации данных с помощью Util Types в Typescript.
]]></description>
            <link>/posts/typescript-utils</link>
            <guid isPermaLink="true">/posts/typescript-utils</guid>
            <category><![CDATA[typescript]]></category>
            <category><![CDATA[web]]></category>
            <pubDate>Fri, 21 Apr 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Автогенерация превью с помощью Satori]]></title>
            <description><![CDATA[В данной статье рассказывается об автогенерации превью с помощью Satori. Satori - библиотека от Vercel, которая создана для того чтобы превращать HTML-верстку в SVG картинки. С помощью данной библиотеки мы будем динамически генерировать Open Graph превью для страниц. В данном блоге превью сделаны именно по этому принципу, так что вперед под кат :)
]]></description>
            <link>/posts/satori-og</link>
            <guid isPermaLink="true">/posts/satori-og</guid>
            <category><![CDATA[open-graph]]></category>
            <category><![CDATA[web]]></category>
            <category><![CDATA[backend]]></category>
            <category><![CDATA[nuxt]]></category>
            <pubDate>Sat, 08 Apr 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[[In one Paper]: Go]]></title>
            <description><![CDATA[Гайд по языку программирования Go, где все темы собраны в одну стотью. Благодаря данному гайду можно выучить Go в одном месте.
]]></description>
            <link>/posts/go</link>
            <guid isPermaLink="true">/posts/go</guid>
            <category><![CDATA[go]]></category>
            <category><![CDATA[backend]]></category>
            <category><![CDATA[onepaper]]></category>
            <pubDate>Sun, 02 Apr 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Сокращение путей с помощью алиасов]]></title>
            <description><![CDATA[В данной статье рассмотрим как с помощью алиасов сократить пути для импортов.]]></description>
            <link>/posts/path-alias</link>
            <guid isPermaLink="true">/posts/path-alias</guid>
            <category><![CDATA[typescript]]></category>
            <category><![CDATA[web]]></category>
            <category><![CDATA[note]]></category>
            <pubDate>Sat, 01 Apr 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[[In one Paper]: Svelte]]></title>
            <description><![CDATA[Гайд для Svelte, нового фреймворка для построения реактивных интерфейсов.]]></description>
            <link>/posts/svelte</link>
            <guid isPermaLink="true">/posts/svelte</guid>
            <category><![CDATA[svelte]]></category>
            <category><![CDATA[web]]></category>
            <pubDate>Sat, 11 Feb 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Создание и добавление токена Vercel]]></title>
            <description><![CDATA[Для начала, необходимо создать токен в сервисе Vercel. Для этого необходимо:]]></description>
            <link>/posts/github-vercel</link>
            <guid isPermaLink="true">/posts/github-vercel</guid>
            <category><![CDATA[github]]></category>
            <category><![CDATA[ci/cd]]></category>
            <category><![CDATA[note]]></category>
            <pubDate>Thu, 08 Sep 2022 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Пишем конфигурацию для zsh]]></title>
            <description><![CDATA[Иметь красивый и удобный шелл для человека, который ведет разработку в терминале или просто пользуется им 90% рабочего времени — дело хорошее, ещё лучше если этот шелл хорошо настроен, не подлагивает в больших репозиториях git и предоставляет удобные алиасы, этим сегодня и займемся 😊]]></description>
            <link>/posts/zsh-setup</link>
            <guid isPermaLink="true">/posts/zsh-setup</guid>
            <category><![CDATA[linux]]></category>
            <category><![CDATA[zsh]]></category>
            <pubDate>Sat, 07 May 2022 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Настраиваем Ubuntu под себя]]></title>
            <description><![CDATA[Для тех кто знаком с Unix-подобными системами эта статья будет неинтересна. Для тех же, кто только начинает свой путь — милости прошу, тут будет много полезных советов (и вредных, но удобных тоже).]]></description>
            <link>/posts/ubuntu-set-up</link>
            <guid isPermaLink="true">/posts/ubuntu-set-up</guid>
            <category><![CDATA[linux]]></category>
            <category><![CDATA[note]]></category>
            <pubDate>Sat, 03 Jul 2021 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Работа в "сухом" терминале]]></title>
            <description><![CDATA[Минимализм.
Это слово побудило меня сделать своё рабочее пространство чище, проще,
а что самое главное красивее, ведь непросто концентрироваться на сложных вещах, когда все вещи вокруг тебя сложные.]]></description>
            <link>/posts/dry-terminal</link>
            <guid isPermaLink="true">/posts/dry-terminal</guid>
            <category><![CDATA[linux]]></category>
            <category><![CDATA[devops]]></category>
            <pubDate>Sat, 15 May 2021 00:00:00 GMT</pubDate>
        </item>
    </channel>
</rss>