Как стать автором
Поиск
Написать публикацию
Обновить
0
@Prinkillread⁠-⁠only

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

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

Принципы SOLID на JS, теперь точно простым языком, но не очень коротко

Время на прочтение9 мин
Количество просмотров34K

SOLID — универсальный набор принципов разработки поддерживаемого программного обеспечения. В данной статье я попытался разъяснить свое понимание принципов SOLID в отношении языка JavaScript: особенности реализации, некоторые синтаксические конструкции и, конечно, примеры из жизни. Если вам стало интересно, то прошу под кат.

Читать далее

Пять типов вопросов на собеседованиях, которые я терпеть не могу

Время на прочтение8 мин
Количество просмотров93K
К сегодняшнему дню я побывал на сотне с лишним собеседований, причем на обеих сторонах. Некоторые из них были увлекательными, а о других даже вспомнить неловко. У меня интересовались, есть ли у меня дети (предполагалось, что у детных нет времени перебегать из одной компании в другую) и могу ли я «дать зуб, что стою таких денег». В общем, было весело.

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

  • Что будет, если создать круговую цепочку прототипов? И прочие сведения случайного характера.
  • Как мигрировать с webpack 3 на webpack 5? И прочие частности.
  • В чем разница между числом и массивом? И прочие вопросы, затуманенные расплывчатыми формулировками.
  • Как быстрее всего перевести строку в число? И прочие вопросы, не дающие достаточно информации о поведении.
  • Как сделать этот фрагмент кода лучше? И прочие вопросы, предлагаемые вне контекста.

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

Знакомство с тестированием веб-приложений

Время на прочтение9 мин
Количество просмотров31K

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

Вещи, которые полезно знать о React.js

Время на прочтение7 мин
Количество просмотров18K

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

Читать далее

Использование шаблонов проектирования группы GoF в React

Время на прочтение9 мин
Количество просмотров12K

В этой статье поговорим о том, как написать в React многократно используемый код, используя три шаблона проектирования группы Gang-of-Four.

Читать далее

Разрабатываем чат с помощью Nest, React и Postgres

Время на прочтение17 мин
Количество просмотров21K


Привет, друзья!


В данном туториале мы разработаем чат с использованием следующих технологий:


  • TypeScript — статический типизатор;
  • NestJS — сервер;
  • Socket.IO — библиотека для работы в веб-сокетами;
  • React — клиент;
  • TailwindCSS — библиотека для стилизации;
  • PostgreSQL — база данных (далее — БД);
  • PrismaORM;
  • Docker — платформа для разработки, доставки и запуска приложений в изолированной среде — контейнере.

Функционал чата будет таким:


  • фейковая регистрация пользователей:
    • хранение имен пользователей в памяти (объекте) на сервере;
    • хранение имен и идентификаторов пользователей в localStorage на клиенте;
  • регистрация подключений и отключений пользователей на сервере и передача этой информации подключенным клиентам;
  • запись, обновление и удаление сообщений из БД в реальном времени на сервере и передача этой информации клиентам.

Репозиторий с кодом проекта.


Если вам это интересно, прошу под кат.

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

Через Git и бэк — в фулстек: что мы узнали из опроса фронтендеров

Время на прочтение8 мин
Количество просмотров22K

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

Мы также попросили прокомментировать выводы Максима Орехова, руководителя центра компетенций по разработке веб-приложений ПСБ: картина была бы неполной без взгляда со стороны бизнеса.

Читать далее

Мой опыт взаимодействия с SheetsAPI от Google

Время на прочтение23 мин
Количество просмотров14K

Разбираем интересный кейс использования Google Sheets API и Google Drive API на Python - подписываемся на изменения в Google-таблице и ведем по ним таблицу в СУБД PostgreSQL.

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

Читать далее

HowToCode — Адаптация системного подхода к разработке для React и TypeScript

Время на прочтение27 мин
Количество просмотров9.5K

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

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

Кардинальным образом ситуация изменилась после того, как я прошел курс HowToCode.  В курсе описан системный и, как всё гениальное, простой и красивый подход к разработке, который сводит воедино анализ, проектирование, документацию, тестирование и разработку кода. Весь курс построен на использовании функциональной парадигмы и языка Scheme (диалекта Lisp), тем не менее, рекомендации вполне применимы и для других языков, а для JavaScript и TypeScript, к которым я постарался их адаптировать, так и вообще подходят отлично.

Читать далее

Сказ о том, как я автоматизировал квартиру с помощью Node-RED. Часть II

Время на прочтение9 мин
Количество просмотров27K
Долгожданное продолжение поста про автоматизацию квартиры. В этой части я расскажу об освещении, мультимедиа-системе и датчиках безопасности.


Информация

В рейтинге
Не участвует
Зарегистрирован
Активность