Как стать автором
Обновить
86
0
Антон @sHinE

Веб-разработчик

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

Отрицание, гнев, торг: как дизайну и разработке найти общий язык

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

Привет, Хабр! Я Женя, ведущий продуктовый дизайнер в Ozon, и за 10+ лет в дизайне повидала всякого: ошибок в макетах (своих и чужих), недостаточно полных спецификаций, неучтённых корнер-кейсов, сотни сообщений в тредах с разработкой и переносы релиза из-за досадных багов. 

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

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

Осторожно, количество мемов в статье зашкаливает  

Читать далее
Всего голосов 101: ↑101 и ↓0+110
Комментарии28

Четыре года с умным домом: личный опыт и интересные сценарии

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

Меня зовут Виктор, я backend-разработчик в финансовом маркетплейсе Банки.ру.

Последние годы я интересуюсь темой умного дома. Хочу поделиться тем, с чего я начинал и к чему пришел. Эта статья будет полезна тем, кто: хочет понять как устроен self-hosted умный дом; хочет перенять опыт и избежать чужих ошибок; уже имеет умный дом и интересуется прикладными сценариями.

Читать далее
Всего голосов 57: ↑57 и ↓0+57
Комментарии64

Автостопом по дизайн-системе. Путеводитель с оглавлением

Уровень сложностиСредний
Время на прочтение24 мин
Количество просмотров25K

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

- Делать свою или взять готовую? Прыг.

- Платформенная или универсальная? Прыг.

- Версионировать компоненты или всю библиотеку? Прыг...

И ещё много таких «прыгов».

Давайте подготовимся к сложному контенту. Закроем глаза, успокоимся и представим идеальную дизайн-систему. Представили? Умные компоненты, продуманные паттерны, подробная документация. Автоматическая генерация кода. Кайф? А то! Только такая дизайн-система оставит нас без работы.

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

DON'T PANIC!
Всего голосов 108: ↑106 и ↓2+111
Комментарии26

Полное понимание асинхронности в браузере

Время на прочтение24 мин
Количество просмотров110K
Про асинхронность JavaScript написано много статей, документации и книг. Но вся информация сильно распределена по интернету, поэтому сложно быстро и полностью разобраться, что к чему, и составить цельную картину в голове. Не хватает одного исчерпывающего гайда. Именно эту потребность я и хочу закрыть своей статьёй.

Читать дальше →
Всего голосов 78: ↑78 и ↓0+78
Комментарии26

Возможности Angular DI, о которых почти ничего не сказано в документации

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

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

Читать далее
Всего голосов 31: ↑31 и ↓0+31
Комментарии10

Как посчитать длину текста и не привлекать внимание санитаров

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

Привет! Меня зовут Алексей Ивасюта, я фронтенд-разработчик в Авито в кластере Seller Experience. В этой статье я расскажу, как правильно рассчитать длину текста в Java Script. Эта статья будет одинаково полезна как начинающим разработчикам, так и весьма опытным. Благодаря ей вы поймете устройство Unicode и особенности его работы в JS.

Читать далее
Всего голосов 58: ↑57 и ↓1+71
Комментарии58

Go, Allure и HTTP, или Как мило тестировать HTTP-сервисы на Go

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

Привет! Меня зовут Сергей, я старший разработчик в Ozon и раньше вообще не был замечен в QA.

Все мы привыкли к лёгкому написанию тестов на Python и Java — это основные языки автотестировщиков с богатым инструментарием утилит и всего, что упрощает жизнь. Что нужно для написания автотестов для HTTP-сервиса на Python или Java? Гугл, бутылочка крафта и два часа времени. 

А как быть в случае с Go? Как раз на нём мы в большинстве случаев пишем микросервисы. И если тесты написаны на другом языке, разработчики не могут внести в них свой вклад или отревьюить их. Поэтому внутри Ozon активно развивается Go-сообщество QA, и этим ребятам тоже нужно тестировать HTTP-сервисы и проверять отчёты в Allure. Как настоящие сварщики мы подумали: «Если чего-то не хватает, нужно написать своё». Сказано — сделано: встречайте опенсорс-библиотеку CUTE в BDD-стиле, которая облегчает тяготы создания автотестов и упрощает переход на Go. Главные фичи: создание HTTP-тестов, возможность реализовывать проверки из коробки, Allure-отчёты и низкий порог входа. Инструкция — под катом.

Читать далее
Всего голосов 50: ↑48 и ↓2+51
Комментарии9

Вопросы о левел-дизайне: о чем молчат дизайнеры локаций

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

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

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

Предыдущие статьи из цикла:

1. Левел-дизайн 101: язык разработки локаций
2. К ориентиру по хлебным крошкам, или базовые приемы левел-дизайна
3. Продвинутый левел-дизайн: киноприемы в играх, кор-луп и силуэты

Читать далее
Всего голосов 29: ↑29 и ↓0+29
Комментарии5

Как прокачаться в PHP: 70 ресурсов из опроса русскоязычного сообщества

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

В чаты по PHP часто приходят с вопросами про развитие: какие книги стоит прочитать в первую очередь, на какие каналы подписаться, какие курсы хороши. Если повезет, в ответ чат поделится парой рекомендаций. Мы решили агрегировать их в список и собрали 150+ мнений по актуальным ресурсам для PHP-разработчика. 

Без длинных интро. Самые упоминаемые ресурсы идут первыми в разделах, а те, которые советовали новичкам, отмечены флажком 🚩. 

Читать далее
Всего голосов 27: ↑24 и ↓3+29
Комментарии5

Создание сервера для онлайн ММО игр на PHP ч. 1 — Введение

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров13K

Привет, Хабр! Мой первый пост и я хочу поделиться с вами своей идеей создание сервиса предоставляющего разработчикам игр и студиям платформу для создания онлайн игр! Поехали!

Читать далее
Всего голосов 15: ↑5 и ↓10-4
Комментарии20

Как россиянину получить ВНЖ в Армении в 2024 году?

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

Продолжение рассказов из Армении. Для начала какой смысл вообще получать ВНЖ в Армении, ведь гражданин РФ может находиться там в течение 180 дней без необходимости пересечения границы? Однако все не так просто, смысл есть. Начиная с 24 февраля 2022 года, довольно внушительное количество западных банков перестали открывать счета россиянам или приостановили сотрудничество по текущем счетам. К санкциям против граждан РФ также присоединились всевозможные платежные системы, брокеры, крипто-биржи, фриланс площадки и так далее. В большинстве случаев от россиянина требуют сменить место жительства, и в качестве подтверждения требуют вид на жительства иностранного государства.

Если в истории с банками Армении из предыдущего поста, возникают все большие сложности при открытии счета, то процесс получения ВНЖ в Армении и его варианты можно смело назвать доступными. Это, конечно же не история, когда можно сделать ВНЖ дистанционно, не вылезая из дома, но в сравнении с той-же Грузией, Сербией, Турцией и Кипром, мне показалось проще и по процедуре и по шансам на одобрение.

В Армении существует два вида ВНЖ: на основании открытия ИП в Армении и дополнительная форма временного ВНЖ на основании трудоустройства в армянской фирме. Эта форма обладает почти теми же возможностями, что и условный бизнес-ВНЖ

Читать далее
Всего голосов 40: ↑37 и ↓3+45
Комментарии25

Введение в Test-Driven Development на React для чайников

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

Привет, в данном посте вы найдете перевод статьи Mangabo Kolawole, в которой пойдет речь о Test-Driven Development. Мы создадим крайне простое приложение на React по всем правилам TDD.

Первое правило Test-Driven Development (TDD) – это написание тестов перед написанием кода. Это звучит более интуитивно, когда мы говорим о разработке для бэкенда, если честно, но работает ли данная схема для фронтенда, в частности для React, что же, посмотрим.

Читать далее
Всего голосов 5: ↑3 и ↓2+2
Комментарии4

React Hooks простыми словами

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

О хуках в фронтенд-разработке на Хабре писали уже не раз, и в этой статье мы не сделаем великого открытия. Наша цель другая – рассказать про React Hooks настолько подробно и просто без трудной терминологии, насколько это возможно. Чтобы после прочтения статьи каждый понял про хуки всё. Эта статья будет полезна как начинающим React-разработчикам, так и тем, кто хочет, не уходя в глубины документации, получить практическую информацию в сжатом виде. 

Читать далее
Всего голосов 9: ↑7 и ↓2+7
Комментарии21

Порядок операторов в RxJs

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

TL;DR: Порядок важен. Операторы довольно атомарны и зачастую очень просты, но это не мешает им объединяться в сложные последовательности, в которых легко допустить ошибку. Давайте разберемся.

Читать далее
Всего голосов 8: ↑7 и ↓1+7
Комментарии8

Гидропоника. Персидская принцесса Сорая, или как из семян вырастить премиальную клубнику

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

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

Почему из семян? Проще не заморачиваться, а купить рассаду! - скажут некоторые. Но увы, с покупной рассадой не всё так просто, как может показаться с первого взгляда. Главная проблема покупной рассады - грибковые болезни и наличие яиц или личинок вредителей. Даже приобретая рассаду с известных европейских питомников Вы рискуете получить заражённые растения, и занести к себе на садовый участок нежеланных гостей в виде трипсов, паутинного клеща, цикадок, белокрылки и иже с ними.

Читать далее
Всего голосов 45: ↑40 и ↓5+47
Комментарии66

Читаем EXPLAIN на максималках

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

Многим, кто работает с MySQL, известно, что команда EXPLAIN используется для оптимизации запросов, получения информации об использованных и возможных индексах. Большинство разработчиков и администраторов СУБД этой информацией и ограничивается. Я же предлагаю изучить команду EXPLAIN максимально подробно.

Читать далее
Всего голосов 15: ↑13 и ↓2+17
Комментарии14

Начало работы с Windows Terminal

Время на прочтение5 мин
Количество просмотров34K
Привет, Хабр! Сегодня делимся гайдом по началу работы с Windows Terminal. Да, поскольку он о начале работы с инструментом, в основном в материале описываются какие-то базовые моменты. Но я думаю, что и профессионалы смогут подчерпнуть для себя что-то полезное, как минимум из списка полезных ссылок в конце статьи. Заглядывайте под кат!

Читать дальше →
Всего голосов 10: ↑7 и ↓3+10
Комментарии9

Разработка гибридных PHP/Go приложений с использованием RoadRunner

Время на прочтение18 мин
Количество просмотров24K
Классическое PHP-приложение — однопоточность, тяжелая загрузка (если вы, конечно, не пишите на микрофреймворках) и неизбежная смерть процесса после каждого запроса… Такое приложение тяжелое и медленное, но мы можем дать ему вторую жизнь гибридизацией. Чтобы ускорить — демонизируем и оптимизируем утечки памяти, чтобы добиться большей производительности — внедрим собственный сервер РНР-приложений RoadRunner на Golang, чтобы добавить гибкости — упростим PHP-код, расширим стек и разделим ответственность между сервером и приложением. По сути, заставим наше приложение работать, как если бы мы писали его на Java или другом языке.

Благодаря гибридизации ранее медленное приложение перестало страдать 502 ошибками под нагрузками, уменьшилось среднее время ответа на запросы, производительность увеличилась, а деплой и сборка стали проще за счет унификации приложения и избавления от лишней обвязки в виде nginx + php-fpm.


Антон Титов (Lachezis) — технический директор и соучредитель SpiralScout LLC с опытом активной коммерческой разработки на PHP в 12 лет. Последние несколько лет активно внедряет Golang в стек разработки компании. Об одном из примеров Антон рассказал на PHP Russia 2019.
Всего голосов 46: ↑44 и ↓2+42
Комментарии3

Записи выступлений с летнего DIYorDIE Meetup 16 июня

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


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

«Собираем квадрокоптер и учимся летать», Юрий Лилеков
Юрий рассказал про сами квадрокоптеры и выбор запчастей для них (моторы, пропеллеры, регуляторы, полетные контроллеры, рамы, FPV и т.д.). Показал процесс сборки и настройки квадрокоптера, описал различные полетные режимы.
Всего голосов 44: ↑41 и ↓3+38
Комментарии0

Word2vec в картинках

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


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

Мы пытаемся скопировать этот узор в нашей жизни и нашем обществе и потому любим ритм, песню, танец, различные радующие и утешающие нас формы. Однако можно разглядеть и опасность, таящуюся в поиске абсолютного совершенства, ибо очевидно, что совершенный узор — неизменен. И, приближаясь к совершенству, всё сущее идёт к смерти» — Дюна (1965)

Я считаю, что концепция вложений (embeddings) — одна из самых замечательных идей в машинном обучении. Если вы когда-нибудь использовали Siri, Google Assistant, Alexa, Google Translate или даже клавиатуру смартфона с предсказанием следующего слова, то уже работали с моделью обработки естественного языка на основе вложений. За последние десятилетия произошло значительное развитие этой концепции для нейронных моделей (последние разработки включают контекстуализированные вложения слов в передовых моделях, таких как BERT и GPT2).
Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии16
1
23 ...

Информация

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