Pull to refresh
1
@armakread⁠-⁠only

Frontend разработчик

Send message

После прочтения применить, или Чистый код на практике

Level of difficultyEasy
Reading time11 min
Views20K

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

Со временем у разработчика опытным путем или с чтением хорошей технической литературы нарабатывается чувство чистого кода, но что делать новичкам? В этой статье я не буду долго мучать теорией про чистый код и паттерны —  про это уже было в Симпсонах в учебниках, конференциях и на Хабре в том числе. Но приведу примеры плохого (на мой взгляд) кода в приложениях на React и JavaScript — и также покажу, как его улучшить.

Надеюсь, что начинающим моя статья будет полезна — и после прочтения они смогут применить всё на практике.

Читать далее
Total votes 16: ↑14 and ↓2+18
Comments13

Какие навыки помогут стать хорошим тимлидом

Reading time13 min
Views5.3K

Привет, Хабр! Мы в beeline cloud развиваем вАЙТИ — новое DIY-медиа для ИТ-специалистов, в котором собираем практические истории экспертов из различных компаний про решение самых разных ИТ-задач. Если вы накопили достаточно опыта и хотите им поделиться, приходите к нам в медиа. За вклад в развитие вАЙТИ каждый автор получает денежное вознаграждение.

Сегодня в выпуске история Александра — он расскажет о навыках, которые помогут стать хорошим тимлидом.

Читать далее
Total votes 8: ↑4 and ↓40
Comments3

Неизвестно полезный CSS

Level of difficultyMedium
Reading time6 min
Views21K

CSS не отстаёт от JavaScript. Постоянно развивается. Классно же. Мне особенно радостно видеть, как старые задачи, которые я решал при помощи костылей, теперь можно сделать при помощи одного свойства.


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


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


Больше не буду затягивать. Давайте посмотрим, что я вам подготовил.

Читать дальше →
Total votes 59: ↑58 and ↓1+75
Comments16

Асинхронный веб: WebSocket, Server-Sent Events, Long Polling и Short Polling

Level of difficultyMedium
Reading time13 min
Views15K

Веб-разработка часто требует реализации механизмов обновления контента на странице в реальном времени. Существуют различные сценарии, где это необходимо, например, отображение прогресса выполнения тяжелых задач на бекенде, обновление каких-либо часто меняющихся данных, будь то курсы валют или мониторинг какой-то активности, чаты, различные уведомления. Эти сценарии объединяет одна общая особенность: источник события необходимости обновления данных находится не на клиентской стороне, поэтому мы хотим получать события с бекенда. В данной статье мы рассмотрим четыре популярных подхода к реализации этой функциональности: WebSocket, Server-Sent Events (SSE), Long Polling и Short Polling.
Мы проанализируем каждый метод, выявим их плюсы, минусы и сложность реализации.

Читать далее
Total votes 17: ↑15 and ↓2+18
Comments11

Фильтр Блума

Level of difficultyMedium
Reading time9 min
Views11K



У каждого разработчика есть набор инструментов для решения различных задач. Однако со временем возникает необходимость расширять этот набор, чтобы эффективно справляться с более сложными задачами. В этой статье я хочу познакомить вас с инструментом, которым вы, скорее всего, раньше не пользовались. И хотя он подходит для решения узкого спектра задач, его использование может оказаться весьма полезным. Знакомьтесь — "фильтр Блума" (Bloom filter).

Читать дальше →
Total votes 44: ↑41 and ↓3+53
Comments16

Делаем код-ревью правильно

Level of difficultyMedium
Reading time12 min
Views23K

В начале своей карьеры я как-то работал над одним заказом, создавая платформу сентимент-анализа для социальных сетей. В то время Twitter ещё был Twitter’ом. Наша команда состояла из семи человек, среди которых я был джуниором. Мы были молоды и полны энтузиазма. Наш девиз можно было описать как: «Мы гибкие, быстрые и всё ломаем!». Да, мы действительно гордились своей скоростью. Код-ревью? Я вас умоляю. Мы считали эту практику бюрократическим пережитком корпоративного мира.

И что вы думаете? Через несколько месяцев наша база кода стала подобна минному полю. Причём баги нас волновали меньше всего, хотя их была уйма. Реальная проблема заключалась в том, что никто не мог понять код, написанный другими. У нас во многих местах дублировалась логика, и в модулях использовались разные стили кода. Всё было очень печально.

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

Итак, в двух словах: если вы не проводите код-ревью, или делаете их «для галочки», то обрекаете себя на боль, пусть не сразу, но в конечном итоге однозначно. Это можно сравнить с возведением дома на фундаменте из песка. Какое-то время он, может, и простоит, но явно недолго. А в мире стартапов второго шанса у вас может уже не быть.
Читать дальше →
Total votes 50: ↑48 and ↓2+70
Comments26

Хороший код — наша лучшая документация

Reading time3 min
Views13K
Привет Хабр! Предлагаю вашему вниманию свободный перевод статьи «Good code is its own best documentation» от Amit Shekhar.

image

Хороший код, как хорошая шутка — не требует объяснений.
Читать дальше →
Total votes 29: ↑16 and ↓13+3
Comments41

Архитектура веб-приложений, Gitflow и REST API: доклады с Backend-митапа red_mad_robot

Level of difficultyMedium
Reading time2 min
Views4.4K

В конце октября мы провели в нашем московском Робохранилище Backend-митап, где собрали больше 60 офлайн-зрителей. Ребята из нашей практики выступили с тремя докладами — и не в нашем стиле скрывать такой полезный контент. Поэтому ловите презентации и видео их выступлений. 

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments0

Уличная грязь и симуляция движения пешеходов

Reading time7 min
Views61K
С приходом весны и дождей на улице в глаза все чаще бросается одна проблема. Вот эта:



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

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

Шел я как-то по дорожке и вяло размышлял на тему того, что опять придется или тащиться в обход, или пачкать обувь. С возмущения типа «вот же дураки это проектируют» мысль плавно перетекла на слышанную когда-то байку про некий наукоград, где дорожки во дворах сперва не сделали вовсе, а потом просто заасфальтировали протоптанные людьми тропинки, получив сеть удобных жителям маршрутов. А оттуда мысль перекочевала к идее «а почему бы не сделать то же самое, но на компьютере?». Разработать программу, которая по заданной карте предскажет, где люди будут топтать газоны и где неплохо бы сделать асфальтовое покрытие?

Под катом — описание алгоритма и пара примеров его работы для реальных питерских дворов.
Читать дальше →
Total votes 113: ↑113 and ↓0+113
Comments144

Vue.js 3 — шаблоны проектирования и лучшие практики

Level of difficultyMedium
Reading time2 min
Views12K

Предлагается перевод книги Vue.js 3 Design Patterns and Best Practices автора Pablo Garaguso.

Книга вышла в мае 2023 года, написана очень компетентно, оперирует современными технологиями и стандартами. Материал книги будет полезен разработчикам не только Vue, но и других фронтенд фреймворков.

Читать далее
Total votes 11: ↑10 and ↓1+9
Comments2

Фильтрация объектов по координатам (широте и долготе)

Level of difficultyMedium
Reading time4 min
Views2.6K

В настоящее время часто встречается задача - на карте расположено множество точек  и необходимо выделить их подмножество (отфильтровать) по критерию расстояния  от некоторой “особой” точки. В качестве примеров укажем сайты маркетплейсов, где точки пункты выдачи, в сетевых компаниях это офисы на карте, логистические компании отслеживают передвижение транспортных средств, операторы такси находят на карте ближайшие автомобили и можно перечислить еще много областей применения. При кажущейся простоте постановки задачи её решение требует значительных ресурсов, так как запросы к базе данных, как правило, очень тяжелые. Здесь на примере задачи ‘Пункты выдачи’ с фильтрацией по расстоянию (радиусу) от накопительного узла товаров показывается как можно сократить количество обработанных строк в запросе. Реализация задачи на БД mySQL.

Координаты исходной точки могут быть получены несколькими способами, первый если устройство пользователя оборудовано GPS и пользователь разрешил передачу своих координат, то мы получаем координаты пользователя без затруднений, второй способ менее точный мы получаем координаты пользователя из его IP, для этого используется библиотека maxmind.

В БД mySQL 5.7 появилась встроенная функция ST_Distance_Sphere для расчета (евклидово) расстояния между двумя точками. Данная функция принимает широту и долготу двух точек, а возвращает расстояние между ними в метрах, далее мы производим сравнение с критической величиной радиуса и определяем попадает ли данная точка в круг  с этим радиусом.

Читать далее
Total votes 5: ↑4 and ↓1+4
Comments13

TypeScript и все что тебе нужно в разработке

Level of difficultyMedium
Reading time6 min
Views34K

Все для работы с продвинутым TS внутри. Generic Types, Mapped Types, Types Guard, Utility Types и многое другое. Шпаргалка с навигацией и примерами.

К изучению
Total votes 18: ↑14 and ↓4+12
Comments12

Что такое GraphQL

Level of difficultyMedium
Reading time11 min
Views71K

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

Читать далее
Total votes 16: ↑15 and ↓1+16
Comments72

Дзен и искусство поддержки чистого кода

Reading time8 min
Views22K


Привет, Хабр!

Говорить о чистом коде можно бесконечно, но следующая статья Дэйва Николетта очень метафорична и, надеемся, действительно достойна перевода. Пусть и немного «назидательна», о чем автор заранее преуведомляет читателей в оригинале статьи.

Приятного чтения.
Читать дальше →
Total votes 46: ↑46 and ↓0+46
Comments18

Инструкция как писать стандартизированные комментарии к коммитам (git commit)

Reading time3 min
Views24K

Я полагаю вы уже знакомы с git. Чтобы не привело вас сюда, добро пожаловать и надеюсь найдете все, что вам необходимо знать.

Читать далее
Total votes 21: ↑3 and ↓18-14
Comments15

Bus-фактор в работе аналитика. Как экстренно погрузиться в проект и не перегореть от объема задач

Reading time11 min
Views14K

Привет, Хабр! Меня зовут Екатерина Герт. Вот уже больше 10 лет я работаю системным аналитиком в проектах по заказной разработке ПО для компаний из разных отраслей и госсектора. Это всегда работа над большими проектами. 

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

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

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

Поехали! 

Читать далее
Total votes 25: ↑24 and ↓1+24
Comments6

9 книг для тимлидов и тех, кто хочет ими стать

Reading time4 min
Views18K

Привет! На связи СберМаркет Tech. Эту подборку книг составили инженерные менеджеры СберМаркета и ведущие подкаста «Для tech и этих» Олег Федоткин, Никита Елагин, Семён Мацепура и Вячеслав Артемьев. Сейчас в подчинении у ребят суммарно более 200 инженеров. Мы попросили их поделиться книгами, которые в своё время помогли им вырасти из разработчиков в управленцев. Эти книги не только про лидерство, но и про найм, стратегическое мышление и коммуникации. Они будут полезны тем, кто уже управляет командой или идёт к такой цели. Поехали!

Читать далее
Total votes 10: ↑7 and ↓3+6
Comments5

Как не слить карьеру системного аналитика: Soft Skills

Reading time9 min
Views15K

Привет! Я Дмитрий Теслев, системный аналитик в AGIMA. И сегодня я хочу вам рассказать про гибкие навыки в работе аналитика и о том, как их развивать. 

Читать далее
Total votes 35: ↑31 and ↓4+28
Comments11

Как новичку разработать опенсорс-библиотеку: опыт фронтенд-разработчика

Reading time9 min
Views6.9K

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

Меня зовут Женя, я все еще фронтенд-разработчик в команде Quick Experiments inDrive. В этой статье буду делиться своим выводами, а также прикладывать дополнительные ссылки, чтобы познакомить вас с материалом более подробно.

Узнать главное о создании библиотеки
Total votes 24: ↑24 and ↓0+24
Comments7

Лучшие практики UX/UI в e-сommerce

Reading time3 min
Views13K

Меня зовут Станислав Хрусталёв, я автор сайта hardclient.com. Работаю в управлении клиентским опытом с 2009 года. Пишу на эту тему, собираю лучшие практики из мира Customer Experience и оцениваю сервисные модели компаний.

Некоторое время назад я задался идеей: собрать базу лучших практик UX/UI в области электронной коммерции. Как сделать покупки в интернет-магазине максимально удобными для клиента? Чтобы он возвращался снова и рекомендовал вас друзьям и знакомым?

Время шло, и из небольшой статьи материал стал превращаться в крупнейшую (?) открытую русскоязычную базу с лучшими практиками UX/UI в сфере e-commerce.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments1
1
23 ...

Information

Rating
Does not participate
Location
Ставрополь, Ставропольский край, Россия
Registered
Activity