☰
My Class Blog
MyClassBlog: блог преимущественно о программировании и путешествиях, но и по мелочи о другом тоже.
Оптимизация оперативной памяти
20 февраля 2026
Что делать, если 16 ГБ ОЗУ не хватает для разработки? При запуске сложного проекта (монорепозитории, Docker, несколько
сервисов, IDE, браузер с DevTools и т.д.) 16 ГБ оперативной памяти могут быстро закончиться. Да, комфортный минимум
сегодня — 32 ГБ, а для крупных проектов — уже 48–64 ГБ. Но если апгрейд пока невозможен, ниже — практические
шаги, которые реально помогают выжать максимум из текущей конфигурации.
Двойной агент (Island)
25 сентября 2025
Однажды мне понадобилось иметь под рукой два гугл аккаунта, и решение
нашлось - Island. Приложения в Google Play от
oasisfeng для изоляции и клонирования приложений на персональных устройствах.
Простой скрипт на jMeter
25 августа 2025
Apache jMeter это утилита для стрес тестирования апи. Она позволяет делать сложные запросы с for и if и другое. Похоже
на Runner в Postman (но они появились гораздо позже и все же цель их другая больше тестирование), но более
функциональное и позволяет производить разнообразную нагрузку больших систем. Давайте составим наш первый стресс тест.
Вседозволяющий CSP
15 августа 2025
Периодически для дебага нужно бывает
переопределить Content-Security-Policy (CSP). Именно
переопределить, а не удалить. Причем обычно нужно задать значения, которая разрешает все. И обычная * тут не подходит.
Конечно я не помню это значение наизусть поэтому приходится заново искать ответ на этот вопрос, а он к сожаление не на
первой странице в поиске лежит. Поэтому публикую его тут.
Configurable Portal
11 августа 2025
Решил попробовать сделать прототип портала, страницы и содержимое, которого можно конфигурить из CSM (например Strapi).
И попробовать сделать это на App Router от NextJs с Server Components, т.к. для SPA и обычного SSR такую штуку я знаю
сделать можно. Итак, нужно сделать механизм, который обеспечивает гибкую конфигурацию портала через CMS без
необходимости изменения кода, что позволяет контент-менеджерам самостоятельно управлять структурой и содержимым страниц.
Удобная команда для запуска Docker
06 августа 2025
Команды docker build и docker run знакомы всем, кто работает с Docker. Однако в процессе разработки часто приходится
выполнять одни и те же действия: проверять потребление памяти, пробрасывать порты, передавать переменные окружения и
т.д. Чтобы ускорить и упростить эти операции, я собрал удобные шаблоны команд, которые использую сам.
Intellij IDEA: Шаблоны React-компонентов
28 июля 2025
При создании React-компонентов нужно помнить шаблон компонента или хука. В этом плане Angular выглядит удобнее — там
есть CLI, интегрированный с IDE, позволяющий быстро создавать компоненты и сервисы. В случае с React — в разных командах
шаблоны могут отличаться, поэтому имеет смысл настроить свои собственные. В этой статье — подборка шаблонов для
компонентов, хуков и контекста.
Виджет для постоянного отображение CPU (TrafficMonitor)
20 июля 2025
Иногда кажется, что компьютер должен работать быстро, крутить вентиляторы, но код компилируется долго и ничего не
происходит. Проблема может быть в перерасходе памяти или нагреве процессора, а может стоит режим энергосбережения.
Чтобы понять что происходит хочется увидеть нагрузка на систему, ее можно увидеть открыв диспетчер задач, но было бы
хорошо видеть данные постоянно на приборной панели, как у машины 😄. Не мог долго найти подходящих решений, но наконец
нашел, и хочу с вами поделиться
решением - TrafficMonitor
Решение проблемы троттлинга на Honor MagicBook X14 Pro с помощью ThrottleStop
12 июля 2025
Если вы планируете использовать Honor MagicBook X14 Pro для работы — будьте осторожны. Несмотря на
привлекательный внешний вид и характеристики, этот ноутбук страдает от серьезных проблем с перегревом и троттлингом
процессора Intel Core i5-13420H. В этой статье я поделюсь личным опытом использования, а также расскажу, как частично
решить проблему с помощью программы ThrottleStop.
Simple performance tests (apache ab)
09 июля 2025
Задача - нужно проверить нагрузку на сайт, бекенд. Для этого можно воспользоваться postman runner'ом, можно
использовать более серьезную тулу такую как Apache JMeter Но можно и для базовых вещей воспользоваться apache ab.
Путешествие: Бузулукский Бор
04 ноября 2024
Информацию о Бузулукском Бору можно найти на официальном сайте - https://npbuzbor.ru/. Там же
можно купить билеты, всего 200р со взрослого человека. Бузулукский бор - это набор нескольких интересных мест. Наиболее
известные - это эко-тропа до царицы сосны Царь-Бор, где можно посмотреть почти самую высокую сосну в мире (2-ое
место), дети могут побегать по парку, покататься на качелях. Далее я бы отметил место - Перекаты - тут можно
посидеть на пляже и отдохнуть (мы ездили в начале осени). И место - Паникинский Яр, где можно постоять на парапете
над пропастью в реку. К сожалению нам не хватило осеннего светового дня чтобы доехать до конца бора, поэтому придется
ехать еще разок )). Оставляю ниже мой маршрут и места, которые я отобрал для просмотра, т.к. на каждом озере
останавливаться - не хватит времени.
Путешествие к Деду Морозу (Великий Устюг)
07 сентября 2024
Как-то пообещал я детям свозить к Деду Морозу. Но на поезде не доедешь, пересадка через Москву + автобус до места. И
поэтому поехали на машине по маршруту Казань - Великий Устюг - Йошкар Ола.
Путешествие в Башкирию
06 сентября 2024
Путешествие в Башкирию решили сделать в августе, т.к. говорят в июне много клещей. Однако дождь лил как из ведра в
начале поездки и периодически лил в течении всего путешествия, поэтому не получилось посетить множество мест. Да и дети
устали, видимо придется ездить без них. Тем не менее мы везде проехали на кроссовере и наверно было всего 1 место (по
разрешенной для проезда, но разбитой, дороге в природном парке Башкирии), где на моноприводе пришлось бы проходить
ходом.
WebSocket Security
22 апреля 2024
В случает REST запросов для авторизации нужно отправить токен авторизации в хедере или в куки. Но в случае вебсокетов
возникают проблемы. Во первых веб сокеты с именно браузера (бек-2-бек позволяет добавлять хедеры)
не разрешают добавлять кастомные хедеры (можно только указать версию протокола и в нее хаком воткнуть токен). Во вторых
вебсокет держит соединение, т.е. если у вас протухнет токен, то соединение все равно останется.
3D принтер
03 апреля 2024
Купил я ребенку (оказалось себе) принтер на новый год
принтер Wanhao Duplicator I3 mini за кажется 13к.
Это мой первый принтер, поэтому покупал в DNS, боялся заказывать из Китаю. По отзывам все хорошо было и он уже в сборе
поставлялся. Первая тестовая печать из подготовленных файлов с флешки прошла успешно, но очень долго - 6 часов на
носорога небольшого. Свои простые модели типа кубика тоже получилось сделать. А вот дальше начались проблемы. Поддержки
прилипают к детали их не отдерешь Печать начинает "полосить", получается объект как будто из паутины. В общем ужас. Как
я понимаю основная проблема принтера скорость вместо заявленных 70 мм\с можно печатать на 30 мм\с что очень долго.
Примерно 3 месяца я игрался и параметрами в Cura и наконец разобрался. Чем хочу и поделиться ниже. Но сперва закончим
секцию железо.
Настройка GitLab для Coolify
18 ноября 2023
В прошлой статье - Собственный Heroku - мы настроили Coolify. Из коробки он работает с GitHub.
Но вдруг вам захочется не раскрывать свои исходники, но в тоже время уметь их легко заливать в Coolify.
Куда съездить в Самаре? (Часть 4) - Самарская лука и Карта
11 сентября 2023
Теперь отправимся по Самарской луке и за ней. Я построил примерно такой большую карту.
Куда съездить в Самаре? - (Часть 3) Пещеры и Горы
08 сентября 2023
Теперь отправимся вверх от Самары. Я построил примерно
такой путь.
Если интересно, то предыдущая часть 2
Куда съездить в Самаре? (Часть 2) - Водопады и Озера
04 сентября 2023
Теперь отправимся вправо от Самары. Я построил примерно
такой путь.
Если интересно то предыдущая часть 1
Куда съездить в Самаре? (Часть 1) - Падовский карьер
26 августа 2023
Несколько лет назад я задался вопросом куда же можно съездить в Самара (Самарской области)? Какие есть интересные места?
И вот в этом году я составил большущую карту интересных мест.
Собственный Heroku
01 августа 2023
Эх раньше был бесплатный Heroku, потом его
бесплатные аналоги Render и Railway, потом другие. Но вот почти все они
закрыли бесплатные аккаунты. Где-то кусаются цены, а где-то не возможно оплатить с русской карты. Где-то есть
технические ограничения на CPU, память или даже "эфемерное" дисковое пространство, что
не дает работать с файлами на диске.
Курс молодого Frontend'ера
10 декабря 2020
На рабоче часто стал сталкиваться с одними и теми же ошибками разработчиков поэтому решил написать список литературы для
чтения, которые мне помогли и микротестирование на эти знания, где чаще всего происходят ошибки, чтобы убрать сэкономить
на ревью кода и там не описывать все что есть здесь.
Книжная полка
07 декабря 2020
Решил собрать пару наиболее интересных книжек про программирование, которые я считаю важным прочитать. Они довольно
долго на мой взгляд остаются актуальными.
Домашний NAS для бедных
12 июля 2020
Давно возникала идея создать бекап данных. Особенно остро это стало, когда пару лет назад начал сыпаться HDD, и
буквально за пару дней до беды, пришел
наконец HDD Western Digital WD30EFRX
серии Red (долго выбирал и решил, что он довольно надежный, ведь на него завод давал гарантию до 5 лет, с заменой на
новый, если что-то сломается). В общем тогда все обошлось - всего пару фоточек потерялось.
Выглядит так, что срок жизни для жесткого диска 3, 5, максимум 10 лет, поэтому меня пугает, что большинство людей не
задумываются о том, что могут все потерять. В общем, решил я наконец заняться этим вопросом.
Круги Ада Разработки
23 декабря 2019
Данная диаграмма построена c точки зрения разработчика, чтобы показать что решение основного бизнес кейса это маленькая толика разработки, т.е. это 20% времени которая дается 80% функционала, но нужно потратить еще 80% чтобы доделать оставшиеся вещи, без которых нормальной функционирование программы будет ущербным.
Эпиграммы программирования
16 декабря 2019
Давным давно читал эпиграммы программирования и некоторые из них мне понравились, т.к. имеют вполне практическое
применения. Здесь можно почитать все эпиграммы - http://translatedby.com/you/epigrams-in-programming/into-ru/trans/. А
ниже представляю выборку наиболее интересных с моей точки зрения эпиграмм:
Angular динамизация
06 ноября 2019
Сейчас появилось довольно много способов для решения данной проблемы - angular elements, angular portals, entry
components - но расскажу о том, который может быть использован в angular6+.
Пример стандартного проксирования в nginx
18 октября 2019
К сожалению я уже не помни всю литературу, которую я пролазил в интернете, но довольно многие отмечали что чтобы
получить такой простой код нужно потратить много крови, если ты не специализируешься на nginx. Поэтому оставлю код
здесь, чтобы в следующий раз не искать.
JS Class with private
02 октября 2019
К сожалению JavaScript и Java одинаковы лишь первыми 4 буквами. Так например появление классов в ES6 это лишь иллюзия,
никаких private\protected переменных и методов оно не принесло, но стоит отметить что код стало писать просто, не нужно
запоминать эти старые подходы с прототипированием:
Армирование бедра человека
24 августа 2019
В университет занимался работой по превентивному армированию бедра человека. Бедро тяжело лечиться. Во многих случаях не
получается восстановить первоначальную прочность кости, это ведет к малоподвижному образу, а малоподвижный образ для
людей преклонного в течении 3 лет может привести к летальному исходу. Подробнее про актуальность проблемы можно почитать
в научных статьях. Поэтому было решено армировать кость превентивно, если по медицинским указаниям есть
предрасположенность к разрушению кости (остеопорозу).
AngularJS dynamization
11 августа 2019
Замечу что речь пойдет про AngularJS 1.x. Если хочется сделать динамическое ангуляр приложение, которое в любой момент
может подгрузить что-нибудь еще ангуляр модуль, то просто так это сделать не получится. Например можно сделать два
ангуляр модуля рядом:
Компонента Angular \ Angular2
25 октября 2017
Данная статься скорее для себя, здесь не будет ничего нового чего бы вы не смогли найти в интернете. Я заметил что когда
пишу новую компоненту мне легче начинать с какого-то шаблона. В качестве шаблона я выбрал компоненту - текстовое поле с
иконкой поиска и вызовом callback, которую писал сам.
Компонента Angular \ Angular2
17 августа 2017
В этой статье больше шутки нежели полезной информацией. Под влиянием
книги Head First Design Patterns я когда-то давно
нарисовал такую картинку.
Мой самый сложный SQL запрос
08 августа 2017
Я работу по большей части во фронтэнде на как-то раза два у меня была задача написать сложный SQL-запрос. В принципе
получилось довольно быстро при использовании интернет. Может кому и пригодиться.
Java Enum
07 августа 2017
Периодически забываю как делать сложные enum с поиском по строке (метод valueOfPretty), поэтому вот заготовка.
Коротко о frontend performance.
05 июля 2017
Насмотрелся я как-то видео и начитался статей о performance в мире frontend и решил задокументировать кратко походы.
Подробное описание можно найти в интернете или в литературе внизу. Итак мой список пунктов связанных с performance,
которые можно использовать для улучшения\оценки производительности:
NPM auto publish via gulp
23 июня 2017
В мире JS все как-то несколько криво и не отточено в отличие от Java. Очень хорошо иллюстрирует положение вещей эту
картинка. Одна из проблем то что нельзя легко настроить публикацию npm через таску в gulp. Очень долго искал и еле нашел
всего в одном месте поэтому публикую решение здесь чтобы распространить решение и не потерять его. Исходное решение, к
сожалению исходно решение уже недоступно.
Как получить военник
15 июня 2017
Решил я получить законный военник, но не тут то было...
Госуслуги и загранпаспорт
06 июня 2017
Однажды появилась необходимость получить загранпаспорт. А поскольку мы живем в 21 веке, то было принято получить паспорт
через госуслуги. При поиске информации в интернете на момент получения паспорта (2012 год) где-то половина ресурсов
говорила совершенной неуклюжести сайта госуслуг (ошибки работы, недоступность, непонимание паспортисток когда приходишь
получать паспорт через сайт и др.) и половина хороших отзывов (видимо работа над ошибками все таки ведется).
Хочу сразу сказать, что паспорт я получил не так легко, но и не так сложно как я ожидал это от государственных
организаций. Итак в данной статье описан мой полный путь получения загранпаспорта.
Root ZTE Blade X5
07 ноября 2016
Несколько раз пытался сделать рут на своем ZTE Blade X5, но что-то не выходило. Однако недавно вышло. На всякий случай
опишу как, может ком пригодится.
Rutor Parser
25 октября 2016
В интернете часто ходят слухи, что можно легко зарабатывать на мобильных приложениях. Где-то я видел статистику 100$ за
10 000 активных пользователей. Вот я и решил попробовать написать приложение, тем более что, наконец, нашлась
нереализованная, на мой взгляд, идея, причем нужная мне самому.
Мои вопросы для собеседования
01 сентября 2016
Как то раз пришлось вести собеседования и я решил подготовить для себя список вопросов, точнее ответов, чтобы не сесть в
лужу. Вот что получилось. Заранее скажу не претендую на "правильность" вопросов, т.к. я не профессиональный
собеседователь.
Как сделать бесплатный screencast
05 августа 2016
Если вы захотите записать screencast то можете столкнуться с проблемой, что многие бесплатные программы: добавляют
водяные знаки, не дают записывать больше N минут, при записи происходит рассинхрон звука и видео. Пройдя через более 15
программ я вынес для себя следующий процесс записи screencast’а. Для начала запишем видео. Для этого
воспользуемся Free Screen Video Recorder
Прошивка телефона на примере htc incredible s
28 июля 2015
Статья как сделать root на телефоне.
Time Zones
16 февраля 2014
В данном посте будет описана немного истории для понимания, что такое тайм зона и в чем ее сложности. Также будет
объяснено, что такое Date, как она представляется в коде и БД. Будут разысканы проблемы, которые возникают с датами в
GWT и их решения.
Заметка о PowerMock (+Mockito)
17 ноября 2011
Статья SuppressUnwantedBehavior покрывает большинство основных вопросов (также советую статью про замену методов
класса). Несколько моментов, которые я хотел бы подчеркнуть:
Пример статьи (Название Статьи)
24 сентября 2011
В этой статья рассказывается о тех командах и фокусах, которые пригодились мне для написания диплома. Поскольку иногда
удобнее изучать что-либо на примере, сразу привожу пример моего Ссылка
на диплом (но только
несущественную по смыслу часть). А так он
выглядит после конвертации в pdf.
Упрощение 3D модели
18 августа 2011
Если необходимо провести упрощение 3D модели, в частности уменьшить количество узлов и поверхностей тела, то возможно
пригодиться программа MeshLab.
Шкала оценки
10 августа 2011
Существует множество шкал оценки чего-либо. Мне кажется, что самая лучшая - это шкала в 7 элементов. Попробую объяснить
свою точку зрения.
Пример статьи (Название Статьи)
01 августа 2011
Когда пишешь новый пост, по появляется довольно узкое окно ввода. Почему оно не расширяется мне не понятно, а так как я
недавно начал писать большой пост - узкое окно просто не приемлемо для меня. В связи с этим я решил
написать плагин для FF, что бы окно было
шире. Прощу прощения за ошибки в коде/архитектуре плагина, т.к. это мой первый плагин, на данный момент в большей
степени пробный экземпляр нежели готовый продукт. Результат же выглядит следующим образом
Минимализация плагина для FF
29 июня 2011
Прежде чем начать статью, хочу сослаться
на Как создать свой плагин для Firefox - очень лаконичный пост
для начинающих писателей плагинов для FF. Однако, хоть та статья и написана очень просто, я умудрился наступить на
несколько граблей. Вот о них я и напишу, чтобы самому их помнить, да и другим помочь, если получиться.
Итак, для того чтобы разобраться в чем-то новом лучше начинать с простого, но в большинстве случаев, на мой взгляд, даже
мануалы типа Getting started имеют множество лишних элементов. Так и с Add-on Developer Hub из указанной выше статьи.
Даже в самом простом плагине мы получаем аж 9 файлов (>100 cтрок кода) - согласитесь это никак не подходит для программы
типа Hello world.
Концепт набора времени для смартфонов
18 июня 2011
Многие, наверно, знают как выглядит контрол для набора времени в htc sense
Метод создания форм для конфеты "Петушок"
16 мая 2011
Как-то захотелось поесть конфету "Петушок", давно уже не видел их в продаже, везде сплошной чупа-чупс. Для тех кто не в
теме Петушок состоит из вареного сахара и воды (рецепт можно найти например здесь), а выглядит он так:
Маленький linux
10 апреля 2011
В этой статье показано как установить небольшой линукс, скажем на прототип робота, на примере операционной
системы damn small linux. Его плюс в том, что он весит очень мало и его не надо
собирать.
Пример статьи (Название Статьи)
12 марта 2011
За полгода работы с web-приложениями у меня накопился небольшой набор инструментов, которыми я пользуюсь. В этом посте я
хочу рассказать об этих приложениях т.к. еще полгода назад я о них (почти о всех) даже и не слышал.
График успеха
19 февраля 2011
Я участвовал в нескольких проектах, и как-то раз, начиная новый проект, я заметил, что сложность, с которой у меня
получается решать задачи на проектах, меняется со временем в общем-то одинаково для различных проектов. Поэтому
представляю график зависимости успеха (под успехом я понимаю насколько оптимально получается решать задачи на
проекте) в зависимости от времени, которое человек проработал на проекте. Стоит отметить, что этот график субъективен,
поскольку я его строил исходя из собственных ощущений.
Звания IT-работников
07 декабря 2010
Некоторое время назад я пытался найти кем можно стать начиная с программиста и куда эта дорога может привести. К
сожалению ничего толкового мне найти не удалось. Поэтому я попытался самостоятельно провести исследование на эту тему.
Итак представляю вам на обозрение схему развития программиста начального уровня в нечто более разумное. Особое спасибо
Дмитрию Ч. за помощь.
Нейронная сеть для обхода препятствий
07 мая 2010
Некоторое время назад мне нужно было написать нейронную сеть для управления простым роботом, цель которого ездить и не
врезаться в препятствия.
Выставка СамГТУ "Дни науки" 2010
08 апреля 2010
С 5 по 9 апреля 2010 в СамГТУ прошли "Дни науки", в рамках которой была проведена выставка
научных проектов студентов.
Поход по восточной части Самарской луки (День 2)
23 июля 2009
Ну и ночка. Спим мы, спим спокойно, никого не трогаем. Тут вдруг в нашу сторону рысцой парнокопытное животное движется.
Палатка стояла в лесу, поэтому переступание животного по листьям было очень различимо. Стало страшновато, я даже
баллончик приготовил перцовый, хотя для крупного зверя (если он захочет напасть), я думаю, это не проблема. Также это
животное ело кору деревьев. Поэтому там мог быть либо кабан, либо лось. Позже, мы решили, что это был кабан.
Поход по восточной части Самарской луки (День 1)
23 июля 2009
Утро. Дождь. Корабль. Наша задача на сегодня дойти до Елгушей.