Авторский проект IT-специалиста Олега Барабанова Персональные публикации на тему IT и не только…

Как я начал учиться работать с САПР КОМПАС-3D и сделал с помощью него сборную модель зеркала

В статье я рассказываю о том, зачем я начал осваивать САПР (CAD) и как я пришел к изучению КОМПАС-3D в котором для примера сделал небольшую и простую сборную модель зеркала.

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

Первые впечатления от знакомства с микроконтроллерами ESP32-C3 SuperMini

Давно хотел попробовать компактные микроконтроллеры ESP32-C3 в форм-факторе SuperMini и вот наконец-то недавно удалось с ними поэкспериментировать. В статье я просто делюсь первоначальным впечатлением о них.

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

Ознакомился с компактной платой RP2040-Zero

В этой статье я рассказываю про знакомство с компактной платой RP2040-Zero, особенно на фоне уже имеющейся у меня Raspberry Pico W.

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

История моего печального опыта увлеченности преждевременной оптимизацией

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

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

Практичность разработки сайтов в которых не используется JavaScript

В то время как многие сайты откровенно перегружены различными JS скриптами, становится интересным и познавательным подход, при котором разрабатываемые сайты работают полностью без каких-либо скриптов. В общем про такой своеобразный "No-JS" подход я и решил немного написать в статье.

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

Применимость JQuery в современной разработке

Недавно вышла новая версия JQuery 4.0.0, явно приуроченная к двадцатилетнему юбилею этой библиотеки. Я с этой библиотекой работал неоднократно и поэтому на фоне нового релиза захотел порассуждать о современных реалиях использования JQuery в проектах.

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

SQLite: восхитительная встраиваемая СУБД которая используется повсеместно

В своей деятельности я использую SQLite уже очень давно но при этом я не помню случаев того, чтобы эта СУБД меня подводила. Это простой и надежный инструмент, который уже надежно работает на огромном количестве устройств и о которой я просто хочу рассказать в этой статье.

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

Небольшая история того как я подбирал себе современный паяльник для освоения пайки различных электронных компонентов

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

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

Мое небольшое знакомство с LCD модулем ST7735S

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

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

Мое знакомство с Playwright на примере организации E2E-тестирования проекта в среде Docker Compose

В статье я хочу немного расказать о том, как я познакомился с новым для меня фреймворком Playwright и попробовал его для E2E-тестирования ранее написанного полифила, с использованием реальных браузерных движков и всё это в Docker Compose.

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

Пример управления модальными окнами Bootstrap 5 с помощью AlpineJS

Накидал тут для наглядности небольшой пример того как в некоторых случаях можно в декларативном стиле управлять модальными окнами Bootstrap с помощью AlpineJS без написания дополнительных пользовательских скриптов.

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

Освоение React в дополнение к Vue

Когда-то я думал что вполне смогу обойтись одним Vue и у меня не будет необходимости в изучении React. Тем не менее со временем взгляды на технологии меняются и вот я решил по некоторым причин расширить свои познания в веб-разработке и в дополнении к уже используемому Vue (и AlpineJS) освоить и React, о чем я и делюсь в этой статье.

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

Автоматическая вставка точки с запятой (ASI) в JavaScript

В JavaScript есть множество неочевидных нюансов, которые в некоторых случаях могут удивлять своим поведением. Одним из таких нюансов является механизм автоматической вставки точки с запятой (ASI), с проблемой которого я в этом месяце столкнулся в очередной раз, что и стало поводом для этой статьи.

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

Опубликовал "Simple Website Screenshot Tool" — клиентский веб-скриншотер, работающий на базе новых возможностей Screen Capture API

Некоторое время назад я захотел поэкспериментировать с RestrictionTarget, который появился в качестве экcпериментального API в новых версиях Chromium и с этой целью сделал на базе этого API небольшой клиентский скриншотер веб-страниц, о котором и будет речь в этой статье.

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

Использование плагина tailwindcss-typography для реализации типографики на сайте

В этой статье я решил рассказать об плагине к Tailwind CSS под названием tailwindcss-typography, который позволяет легко и быстро реализовать аккуратную типографику контента и который я постоянно использую в работе.

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

Что из себя представляет протокол JSON-RPC и чем он мне нравится

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

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

Как я познакомился с программированием микроконтроллеров на примере Raspberry Pico W и MicroPython

Некоторое время назад я захотел подтянуть свои знания в технической разработке и освоить программирование микроконтроллеров. В этой статье я решил рассказать, почему в качестве изучения я взял новый на тот момент Raspberry Pico W, а для его программирования стал использовать MicroPython.

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

Использование SSHFS в качестве удобного решения при работе с файлами через SSH

В конце этого месяца я захотел рассказать вам своими словами про виртуальную файловую систему SSHFS, которую я часто использую при необходимости выполнять различные мелкие файловые операции с удаленным сервером (или контейнером) по SSH.

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

Использование Docker-OSX в VDS для тестирования веб-сайта в Safari

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

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

EJS — что это за шаблонизатор и в каких случаях он может быть полезен в современной web-разработке

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

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

Впечатления от знакомства с микрофреймворком AlpineJS

Так получилось, что недавно мне пришлось для определенных задач искать минималистичную замену Vue, которая бы имела минимум зависимостей и требований. Так я и познакомился с AlpineJS, который после короткого изучения и испытания, был успешно опробован на коммерческом проекте. Поэтому в статье я хотел бы поделиться с вами своими впечатлениями от этого микрофреймворка.

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

Некоторые проблемы безопасности при установке модулей с помощью NPM

Каждый веб-разработчик так или иначе знаком с NPM. Но как вы думаете, многие ли из этих разработчиков задумываются, насколько безопасно ставить модули с NPM? В статье я уделил внимание некоторым моментам, которые на мой взгляд иногда приводят к проблемам безопасности, при установке модулей с NPM.

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

Почему я стараюсь вести разработку в Docker-контейнерах

Нередко на профильных сайтах, связанных с IT-тематикой (всякие Хабры и Stackoverflow), я вижу как некоторые программисты искренне непонимают назначение и пользу контейнеризаций и считают это излишним усложнением в разработке. Т.к. у меня часто стоят задачи, связанные с Web-разработкой, я решил привести пример безопасности разработки, в качестве причины по которой я использую контейнеры (в моем случае — Docker).

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

При веб-разработке не забывайте фиксировать библиотеки, подгружаемые с публичных CDN

Недавно на одном из проектов, который я когда-то делал раньше, я обнаружил неприятный баг вследствие того, что не зафиксировал версию библиотеки, погружаемой с публичного CDN. На примере данного казуса я хочу рассказать почему в проекте всегда нужно фиксировать версии зависимостей.

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

Первые впечатления от использования Swiper Element на проекте

При разработке одного из проектов, для реализации различных слайдеров, я решил попробовал достаточно новую библиотеку Swiper Element, которая работает с использованием нативных веб-компонентов. По итогу этого эксперимента, я хочу немного рассказать о самой библиотеке, а также поделиться с вами своими выводами, касательно использования её на продакшене.

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

Проблемы больших (по количеству ячеек) таблиц в HTML

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

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

Принципы Graceful Degradation и Progressive Enhancement в веб-разработке

Не секрет, что в веб-разработке полная поддержка старых браузеров зачастую является нетривиальной и достаточно трудоемкой задачей. Для решения пообных проблем в свое время и были продуманы принципы Graceful Degradation и Progressive Enhancement, о которых и пойдет речь в статье.

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

Мое первое впечатление от использования Vite в коммерческой web-разработке

Наконец-то мне удалось более плотно поработать с таким замечательным инструментом веб-разработки как Vite но уже на полноценном рабочем проекте, где он использовался и как сервер разработки и как инструмент сборки веб-проекта. Вот и решил поделиться с вами своим первым впечатлением.

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

ES Modules — единственная модульная система которая должна остаться в современной JavaScript разработке

В данной статье я хочу упомянуть тему различных модульных систем, которые до сих пор можно встретить в JS-коде и поделиться своим мнением касательно того, почему на мой взгляд нужно использовать только ES Modules.

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

Опубликовал свою версию полифила для поддержки псевдокласса :has() в методах DOM Selectors API

Успел под конец месяца опубликовать первый релиз своего полифила для реализации мощного псевдокласса :has() в методах DOM Selectors API .querySelector(), .querySelectorAll() и пр. В статье я просто хочу рассказать о некоторых деталях разработки и о том, с какими сложностями мне пришлось столкнуться.

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

Применимость нового CSS псевдокласса :has() в проектах

Недавно в стандарт CSS был внесен и уже реализован в части браузеров новый псевдокласс :has(), который существенно расширяет возможности CSS. Т.к. я предпочитаю использовать самые современные стандартизированные решения, я поспешил поэкспериментировать на деле с этим новым псевдоклассом и в итоге решил поделиться своими мыслями касательно его применимости.

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

JavaScript: Особенность работы Object.freeze() с объектами имеющими приватные поля

Иногда развитие языка программирования приносит не только новые возможности, но и новые подводные камни. В случае с JavaScript в статье я решил уделить внимание Object.freeze(), благодаря которому раньше можно было создавать полностью иммутабельные объекты, но с появлением нового синтаксиса приватных полей, это уже не совсем так.

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

Почему при написании кода не стоит смешивать воедино браузерный и серверный JS на примере Puppeteer

Работая с одной популярной JS библиотекой (Puppeteer), я обратил внимание в примерах на частое смешивание воедино браузерного и серверного JavaScript кода. что с одной стороны объяснялось удобством, а с другой стороны нередко приводило разработчиков в замешательство. Т.к. подобное мне и ранее попадалось в других программных решениях, я решил поделиться своим мнением касательно того, почему я считаю такое написание кода нежелательным.

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

Удаленная разработка с использованием VSCode и расширения Remote Development

Не секрет, что в настоящее время VSCode является одним из популярнейших редакторов кода, который имеет обширную базу плагинов, которые существенно расширяют его функционал. В данной статье я решил кратко описать активно применяемый мною в работе официальный набор плагинов от Microsoft — "Remote Development", благодаря которому VSCode получает возможность вести полноценную разработку на удаленной системе.

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

Мое мнение касательно TailwindCSS после использования его на коммерческом проекте

Давно уже хотелось поближе познакомиться с CSS фреймворком Tailwind и как раз подвернулась возможность использовать его в коммерческом проекте. В статье я хотел кратко резюмировать мое мнение об этом чудесном фреймворке.

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

Одна из причин, почему на body элементе не стоит отключать скролл

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

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

Отличия в применении знаковых нолей +0 и -0 в JavaScript и не только

Возможно это может показаться удивительным, но в JavaScript вполне есть случаи, когда наличие в выражении +0 или -0 может менять итоговый результат. Пример как раз одного такого момента представлен в статье.

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

Работа с Github в текущих реалиях при наличии OpenSSH версии младше 7.2

В этом месяце столкнулся с обновлением требований к ключам авторизации при работе с GitHub, повлекшую обновление требований к версии OpenSSH. Т.к. не всегда есть возможность обновлять стабильные версии ПО, пришлось разбираться, как можно настроить в текущих ситуациях работу git с Github при наличии только старой версии OpenSSH.

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

Обычные и асинхронные методы-генераторы в JavaScript и TypeScript

Обратил внимание, что в интернете обычные и асинхронные генераторы обычно упоминаются в виде простых функций (через function*) и не так часто упоминаются в контексте методов класса, что соответственно может запутать новичков, только знакомящихся с этим функционалом. В этой статье я представил небольшое пояснение с примерами реализации различных методов-генераторов (для классов в стиле ES6+) .

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

Что происходит с проектом Bootstrap-Vue? Стоит ли рассчитывать на эту библиотеку?

В этом году практически отсутствует какая-либо серьезная активность от разработчиков популярной библиотеки Bootstrap-Vue и вполне возможно что этот проект будет в итоге заброшен. Для нового проекта возможно вам стоит быть осторожным в выборе этой библиотеки.

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