Search
Write a publication
Pull to refresh
5
0

Frontend dev

Send message

Когда и зачем нужен RabbitMQ

Reading time5 min
Views214K

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

Читать далее

Next.js: подробное руководство. Итерация первая

Reading time35 min
Views236K


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


Хочу поделиться с вами заметками о Next.js (надеюсь, кому-нибудь пригодится).


Next.js — это основанный на React фреймворк, предназначенный для разработки веб-приложений, обладающих функционалом, выходящим за рамки SPA, т.е. так называемых одностраничных приложений.


Как известно, основным недостатком SPA являются проблемы с индексацией страниц таких приложений поисковыми роботами, что негативно влияет на SEO.


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


Кроме того, существуют специальные инструменты, такие как react-snap, позволяющие превратить React-SPA в многостраничник путем предварительного рендеринга приложения в статическую разметку. Метаинформацию же можно встраивать в head с помощью таких утилит, как react-helmet. Однако Next.js существенно упрощает процесс разработки многостраничных и гибридных приложений (последнего невозможно добиться с помощью того же react-snap). Он также предоставляет множество других интересных возможностей.



Обратите внимание: данная статья предполагает, что вы обладаете некоторым опытом работы с React. Также обратите внимание, что заметки не сделают вас специалистом по Next.js, но позволят получить о нем исчерпывающее представление.


Заметки состоят из 2 частей. Это часть номер раз.


Итерация вторая.

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

Node.js: работа с файловой системой

Reading time17 min
Views25K


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


Представляю вашему вниманию перевод этой замечательной статьи.


Данная статья включает в себя:



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

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

Как работают браузеры. Часть 1: навигация и получение данных

Reading time7 min
Views36K

Браузеры — это программное обеспечение, установленное у нас на устройствах и позволяющее получать доступ к Интернету. Как они работают, и что происходит от момента ввода адреса до тех пор, пока нужная страница не отобразится на экране?

Если максимально упростить, то всё происходит так: когда мы запрашиваем страницу определённого сайта, браузер извлекает необходимый контент с сервера, а затем отображает страницу на устройстве. Довольно просто, да? Да, но в этом, казалось бы, очень простом процессе гораздо больше составляющих. 

В этом цикле статей мы поговорим о навигации, получении данных, синтаксическом анализе и визуализации. Надеемся, что эти процессы станут для вас понятнее.

Сегодня — навигация и получение данных.

Статья предназначена для начинающих разработчиков и интересующихся разработкой. Здесь нет глубоких технических деталей.

Читать далее

Создание бессерверных API с помощью Node.js и AWS Lambda

Reading time12 min
Views7K

AWS Lambda существует уже несколько лет, и она остается самым популярным способом экспериментировать с технологией serverless. Если вы не знакомы с serverless, то это модель разработки, в которой управление, предоставление и масштабирование серверов абстрагируется от разработки приложений. Серверы существуют в бессерверном (serverless) мире, но они полностью управляются облачным провайдером, что позволяет разработчикам сосредоточиться на упаковке своего кода для деплоя.

AWS Lambda — это разновидность функции как услуги (FaaS), которая позволяет выполнять код по требованию в ответ на предварительно сконфигурированные события или запросы. Эта статья познакомит вас с AWS Lambda и поможет создать и развернуть функции Lambda с помощью Node.js и AWS SAM.

Давайте приступим!

Читать далее

Web Testing Specific (особенности тестирования Web)

Reading time48 min
Views82K

Салют, Хабр!

Меня зовут Анатолий, и я работаю в компании Space307 в должности QA-инженер.

Долгим и упорным трудом я искал и собирал воедино, на мой взгляд, самую полезную информацию, которая поможет разобраться в специфике Web-тестирования.

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

Отдельное спасибо хочу выразить коллегам, которые помогали в составлении, дополнении и ревью этой статьи. Simply the best!

Перед прочтением: ничто в этом мире не идеально, поэтому о каких-либо замечаниях, дополнениях, уточнениях и недопониманиях пишите обязательно, но аргументированно и в конструктивной манере, пожалуйста :)

Всю полезность из фидбэка переработаю для прокачки этой статьи.

Читать далее

Введение в SVG-анимации для верстальщиков

Reading time36 min
Views30K


Время идет, технологии меняются, набитые шишки копятся, настала пора обновить материалы по SVG-анимациям. Тем более, что тема для многих фронтендеров все еще остается странной и запутанной. В этой статье мы рассмотрим SVG-анимации с разных сторон, посмотрим на актуальное состояние дел, возможности и сопутствующие инструменты. Мы не будем разбирать каждое свойство и каждый хак. Слишком большой объем материала получится. Для этого есть MDN и ему подобные сайты. Задача текущей статьи — дать общее представление о том, что бывает, и от чего можно оттолкнуться, если вы решили изучать эту тему, а у вас полная каша в голове.

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

Набор практик по работе с Postgresql глазами Spring java backend разработчика

Reading time11 min
Views20K

Дисклеймер: в данной статье много воды, отражены мысли и опыт воспаленного мозга, потому заранее предупреждаю, что можете потерять просто свое время зря. Из java тут вообще мало. Возможно данная статья будет полезна начинающим разработчикам.

Данная заметка - микс различных приемов работы с базой данных, мейнтененса, встречающихся проблем. В общем это чистой воды винегрет и что-то вроде шпаргалки. Я не являюсь гуру PostgreSQL, но могу поделиться своими наработками, которые использую достаточно часто являясь простым java разработчиком. Может кому-то что-то пригодиться.

Читать далее

Уроки компьютерного зрения на Python + OpenCV с самых азов

Reading time3 min
Views50K
Оглавление.

В этом цикле уроков я расскажу о том, как использовать библиотеку OpenCV в языке Python. Но для начала несколько слов о самом компьютерном зрении. Как компьютер вообще видит? Если подключить к нему видеокамеру, это еще не значит, что он будет видеть. Мы получим просто набор нулей и единиц. А человек видит что-то осмысленное. Как же из этих нулей и единиц извлечь что-то осмысленно? В этом и состоит задача компьютерного зрения.
Читать дальше →

Все хуки и концепты React в одной статье

Reading time10 min
Views46K

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

Читать далее

Тестирование на примере ReactJS: насколько глубока кроличья нора

Reading time14 min
Views29K
Всем привет, меня зовут Ярослав Астафьев, и сегодня я хотел бы провести обзорную экскурсию в тестирование ReactJS. Я не буду углубляться в сложности тестирования веб приложений с использованием определенных библиотек (руководствуясь подходом «сложно тестировать только плохой код»), взамен постараюсь разнообразить ваш кругозор. Так что в этой статье React — скорее повод собрать воедино подходы к тестированию, отправная точка, объединяющая хипстеров и технологии. Корректнее будет даже сказать, что речь пойдет о принципах тестирования вообще с иллюстрациями на ReactJS (и не только).

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



Если введение не вызвало приступ синестезии — добро пожаловать под кат.
Читать дальше →

Современный курс по Node.js в 2020

Reading time4 min
Views111K


Дорогие товарищи инженеры, сообщество Метархия представляет вашему вниманию современный курс по Node.js, который включает глубокий разбор всех возможностей и аспектов платформы. Основной упор делается на то, как создавать надежные высоконагруженные сервера приложений и API без привязки к конкретному фреймворку и даже протоколу, т.е. абстрагировать бизнес-логику в отдельный слой. К лекциям прикреплено множество примеров кода, демонстрирующих гибкую структуру приложений и архитектурные приемы, в том числе работу с СУБД через слой доступа к данным, создание интерактивных приложений на вебсокетах, обеспечение безопасности, Graceful shutdown, межпроцессовое взаимодействие, предотвращение утечек памяти, масштабирование и кластеризацию при помощи процессов и потоков. На текущий момент в курсе 38 лекций (около 35 и ½ часов видео), 37 репозиториев с примерами кода, 4 PDF со слайдами. Перед основной частью курса по Node.js нужно сначала освоить хоть частично курс по асинхронному программированию.

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

Как ты реализуешь аутентификацию, приятель?

Reading time10 min
Views126K


Все знают о стандартной аутентификации пользователя в приложении. Это олдскульная процедура регистрации — пользователь вводит адрес почты, пароль и т. д., — а затем при входе мы сравниваем почту и/или пароль с сохранёнными данными. Если совпадает, даём доступ. Но времена изменились, и сегодня появилось много других методов аутентификации. Если хотите оставаться востребованным программистом/разработчиком в этом меняющемся, словно калейдоскоп, мире разработки ПО, то вы должны знать обо всех этих новых методах.


Нельзя отрицать, что в любых приложениях и ОС «аутентификация» — крайне важный элемент обеспечения сохранности пользовательских данных и регулирования доступа к информации. Чтобы понять, какой метод аутентификации для вас лучше, нужно разбираться в достоинствах и недостатках всех методов, а также неплохо представлять, как же они работают.


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

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

Процедурная генерация бумажных снежинок

Reading time16 min
Views23K

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

Читать далее

JavaScript: делаем селфи с помощью браузера

Reading time13 min
Views12K



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


В этой статье я покажу вам, как делать селфи в браузере.


Мы разработаем простое приложение со следующим функционалом:


  • при инициализации приложение запрашивает у пользователя разрешение на захват медиапотока (далее также — поток) из видеокамеры его устройства;
  • захваченный поток передается в элемент video;
  • из потока извлекается видеотрек (далее также — трек), который передается в интерфейс для захвата изображений;
  • из экземпляра интерфейса извлекается список поддерживаемых возможностей (capabilities) и настроек (settings) для фото;
  • из трека также извлекается список поддерживаемых возможностей и настроек;
  • формируется список диапазонных полей (<input type="range">) для установки настроек для фото;
  • пользователь имеет возможность снимать фото (take photos) и захватывать фреймы (grab frames);
  • фото выводится в элемент img, генерируется ссылка для его скачивания;
  • фрейм инвертируется и отрисовывается на холсте (canvas), генерируется ссылка для его скачивания.

Репозиторий.


Приложение будет разработано на чистом JavaScript.


Для создания шаблона приложения будет использован Vite.


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

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

От мидла до тимлида и обратно

Reading time4 min
Views5.9K

А вы когда-нибудь задумывались сколько может быть разных эмоциональных состояний за 2 года на одном проекте? От вовлеченности до выгорания, от неизведанности до рутины. И причем это все не обязательно меняется линейно, а может меняться волнообразно на протяжении всего периода.

Почти всегда можно красиво выкручиваться из крайности, есть много разных техник: уйти в отпуск, взять другие задачи, взять на себя новую ответственность. И все же тупик может случиться. И тогда перед тобой встает выбор, но какой?

Читать далее

Как инженеру выбрать работу

Reading time18 min
Views15K

Даже на текущем рынке кандидата, каждая смена работы — это серьезное решение, инвестиция нескольких лет жизни или — неприятная строчка в резюме, причина для неудобных вопросов вроде «А почему вы ушли из компании X, проработав там немногим более года?».

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

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

За 18 лет в индустрии, в том числе на роли исполнительного директора и позднее CEO, мне удалось познакомиться с большим количеством бизнесов и поучаствовать примерно в тысяче инженерных интервью. На основе этого опыта и опыта коллег по Mindbox сложилась система, которой тут делюсь. И буду благодарен за предложения в комментариях, как ее улучшить.

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

Читать далее

Как получить высокоэффективную команду?

Reading time5 min
Views5.3K

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

Читать далее

Как ваш браузер обрабатывает прикосновения к экрану телефона (js touch events)

Reading time6 min
Views25K

Ссылка на github

Здесь я поделюсь своим опытом и постараюсь максимально подробно рассказать все основные фитчи которые есть в вашем javascript для обработки прикосновение к дисплею. touchstart и т.д.

ЧИТАТЬ

100 видео-лекций по программированию

Reading time5 min
Views65K

image


Товарищи инженеры, уже четвертый год пошел, как я взялся преподавать в Киевском политехническом институте. За это время у меня накопилось огромное количество примеров кода и материалов, примерно на 90 лекций. Должен сказать, что за весь период своей профессиональной деятельности (а это 24 года почти ежедневного написания кода), я никогда не подымал свой уровень программирования, как за последние годы, работая со студентами. Если раньше мне казалось, что написать кратко, сложно и внушительно — это верх мастерства, то теперь я осознал, что мой код должны понимать студенты после минимальных объяснений, иначе он никуда не годится. Я пришел к выводу, что способность эту можно и нужно распространить не только на обучающий код, но и на весь рабочий код. Более того, обучающий код не должен существенно отличаться от рабочего кода, потому, что мы учим будущих инженеров делать настоящие системы, а не учебные. А после многочисленных просьб, я решил записывать все лекции в виде скринкастов, которые сразу после завершения лекции отправляются на ютюб. За этот учебный год я планирую записать 100 лекций, из которых уже опубликованы 23, готовы материалы еще для 67 лекций и новых 10 лекций еще в процессе подготовки.

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

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity