Как стать автором
Обновить
-5
@l_Tungus_lread⁠-⁠only

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

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

«Мне кажется, так неудобно» — как аргументировать дизайн-решение без исследований и конфликтов

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

Привет, Хабр! Наверное, каждый дизайнер или проектировщик сталкивался с ситуацией, когда другие точно знали «как лучше сделать». Например, приходишь на командную встречу, показываешь решение, чтобы обсудить финальный макет или корнер-кейсы, а в ответ: «Мне кажется, эта кнопка слишком яркая!», «А давай сделаем фильтры, как у Google?», «На прошлой работе дизайнер сделала вот так, давайте покажу».

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

OAuth 2.0

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

Вы когда‑нибудь логинились на сайте, используя аккаунт Google или Facebook? Или подключали приложение, требующее доступа к GitHub? Если да, то вы уже сталкивались с OAuth2, зная того или нет.

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

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

Но если мы немного остановимся и начнем копать глубже, то найдем для себя много нового с точки зрения дизайна ПО.

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

Читать далее

Как сделать красивое резюме используя JSON

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

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

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

Буду рад услышать ваши идеи в комментариях к статье.

Читать далее

Next.js 15 в Hikasami: Глубокая оптимизация рендеринга, загрузки данных и производительности

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

В эпоху цифрового контента каждая миллисекунда загрузки страницы может существенно повлиять на пользовательский опыт. В Hikasami, платформе, предоставляющей потоковое аниме и азиатские медиа для пользователей СНГ, наша цель — обеспечить мгновенную загрузку страниц, минимизировать задержки, а также гарантировать актуальность данных. Для этого мы внедрили Next.js 15, который открыл перед нами возможности глубокой оптимизации:

Читать далее

VK, как НЕ НАДО собеседовать middle разработчиков

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

Я являюсь действующим PHP middle разработчиком в одной средней компании. Занимаемся разработкой highload микросервисов в B2B сфере. Клиентами являются крупные интернет‑магазины, в 5 странах, которые на слуху у каждого. Суммарно обрабатываем около 50к запросов в секунду, храним миллиарды записей и отвечаем за качество и жизнеспособность около тысячи интернет‑магазинов.

Имею опыт в техническом собеседовании, в том числе и других middle php разработчиков. За свою карьеру провёл пару десятков таких собеседований, по результатам которых было нанято около 5 разработчиков и 2 аутсорс компании.

Делюсь с опытом собеседования на позицию middle php разработчика во «ВКонтакте».

Читать далее

Одна React-задача, демонстрирующая ключевые навыки на собеседовании

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

Как всего одна небольшая React-задача помогает глубже понять уровень кандидата на собеседовании? Разбираем нюансы работы с хуками, асинхронностью, состоянием гонки и сайд-эффектами. На первый взгляд задача кажется простой - всего лишь компонент, загружающий данные по username. Но в процессе решения выявляются ключевые моменты: правильно ли кандидат управляет состоянием, учитывает ли смену пропсов, обрабатывает ошибки и предотвращает race conditions. Этот вопрос помогает не просто проверить знания, а увидеть, как кандидат рассуждает и принимает технические решения.

Читать далее

Зачем Яндекс.Браузеру эти данные?

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

TL;DR После установки Яндекс.Браузера с опцией отправки статистики, слишком много данных, на мой взгляд, отправляется куда-то в недра api.browser.yandex.ru. С помощью коллеги по цеху ИБ – Олега Анциферова – удалось раскопать следующее: улетает список пользователей, список установленного ПО, файл hosts и т.д. Под катом подробности.

Читать далее

Умный дом с радио из Cyberpunk: как я написал расширение для Home Assistant

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

Два с половиной года назад я делал радио из игры Cyberpunk 2077 на базе проекта Ka-Radio32 и собственной интерпретации модели из игры. Радио спокойно использовалось по назначению все это время, но вот наступили новогодние праздники. Я решил настроить Home Assistant (HA) и объединить все домашние умные устройства в локальном хабе.

Часть устройств добавилась без проблем, другая — сопротивлялась и требовала дополнительных действий. Но самодельное радио стояло особняком: для проекта Ka-Radio32 нет ни официальной интеграции, ни пользовательской. Хотя у Home Assistant широкая документация, начать разрабатывать свое расширение довольно сложно. В этой статье я разберу основные этапы на примере интеграции с Ka-Radio32.
Читать дальше →

Какой % желающих сможет работать в IT: Итог 500 бесплатных профориентаций Mentorpiece

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

Результаты — на изображении. Из тех, кто подумывает начать IT‑карьеру, в результате действительно смогут сделать это 16%.

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

Читать далее

Локализуем React (NextJS, TypeScript) сайт на несколько языков с помощью i18next

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

У меня появилась задача в проекте: перевести личный кабинет пользователя на русский и английский языки (в перспективе и на другие языки). При этом, определять язык пользователя при первом заходе в ЛК и запоминать язык при перезагрузке страницы. Разумеется, всё это с типизацией файлов с переводами (чтобы нельзя было забыть добавить любое из полей).

Как я это делал — расскажу в статье.

Читать далее

Следим за Telegram по-деловому

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

Прошло полгода с момента введения бизнес-режима в Telegram.

Суммарно за это время им воспользовались около 300.000 раз (в приложении, где миллионы сообщений отправляются ежедневно).

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

Прочитать

Реквием по мечте. Как был сделан WiFi на музыкальном фестивале Alfa Future People

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

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

Alfa Future People — фестиваль людей будущего, который остался в прошлом. На сайте висит заглушка, чтобы найти список выступавших придется постараться — в англоязычной Вики указаны только хэдлайнеры, странички на русском вовсе нет. Когда в разговоре речь заходит о фестивале, многие про него даже не слышали — реклама была адресная, электронику слушают не все. Место проведения выбрали создавая тренды — «заброшенный аэродром на берегу Волги под Нижним Новгородом» — случайно не забредешь. Тем ценнее были все прибывшие в первый год. Гостям и сотрудникам организаторами решено было дать доступ в Интернет через WiFi.

Идеология AFP предполагала электронную музыку, новые технологии и впечатления, комфорт, то чего ещё не было. Полное покрытие WiFi хорошо вписывалось в эту концепцию. Читал, что дочь собственника Альфы съездила на бельгийский Tomorrowland, и так впечатлилась, что решили повторить у нас (вышло ОЧЕНЬ достойно).

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

В то время еще не было множества специалистов, научившихся строить масштабный WiFi на стадионах ЧМ и в фан‑зонах, на крупных складах и в офисах, только завершилась олимпиада в Сочи — где впервые широко транслировалось в соцсети происходящее, в московской подземке отлаживала свой WiFi Максима Телеком, а про другие примеры никто и не слышал. Попытка сделать городской публичный WiFi авторства Голден Телеком была не очень успешной. WiFi на мероприятии, да не пара точек Unify, а чтобы работал везде, да на уровне оператора — в 2014 это был эксклюзив!

Читать далее

Как сделать анимацию разными способами: CSS, WebP, Canvas, Lottie, Spine и секвенции

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

Привет! Меня зовут Даша, я фронтенд-разработчик отдела спецпроектов в KTS.

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

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

Читать далее

Как вас обманывают в лазерной коррекции зрения: сравнение SMILE с CLEAR и SmartSight

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

Хорошая новость — в России готова к конкуренции отечественная разработка технологии для экстракции лентикулы. Плюс отличная новость: в России теперь есть VISUMAX 800 от Zeiss, который делает коррекцию всего за 9 секунд! Это — SMILE Pro. И именно он — «тот же SMILE, но современнее».

Помните, как в начале пути технология SMILE встречала яростное сопротивление с профессиональной сцены и в кулуарах? Приходилось цифрами, статистикой, публикацией книги побеждать LASIK, доказывая, что 100%-но фемтосекундная экстракция лентикулы SMILE — это лучший метод.

Шли годы и те, кто «жевал попкорн», наблюдая баталии между SMILE и LASIK, сами стали осваивать технологию. Компании-конкуренты разрабатывали «дженерики» SMILE, и с их появлением началась новая эпоха — время лазеров для лентикулярной экстракции. Эти лазеры не относились к  SMILE-технологии, но везде рекламировались как «новейший, усовершенствованный SMILE.

Теперь плохая новость. Сегодня немало клиник, которые пытаются «примазаться к успеху проверенных технологий» и продать CLEAR и SmartSight как «тот же SMILE, но современнее». А страдаете от этого вы — пациенты, которые потом месяцами ждут, когда же, наконец, «просветлеет в глазах» после таких инноваций.

Так в чем же отличия? Давайте разберем, как вас могут обмануть при выборе лазерной коррекции зрения, и что нужно знать, чтобы не попасться на удочку недобросовестного маркетинга

Читать далее

Дневник стажёра: Я (не) боялся работы, поэтому мне пришлось написать эту статью

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

Конечно, не планирую передавать этот дневник будущему поколению, ведь я не Уинстон Смит и не живу в антиутопичном мире 1984 года. Но буду очень рад, если мои мысли пригодятся ребятам, которые, как и я, находятся на старте своего карьерного пути и испытывают разные страхи.

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

Читать далее

Не UML-диаграммы на PlantUML. Обзор с примерами

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

Привет Хабр! Меня зовут Татьяна Ошуркова, я разработчик и аналитик Назначением инструмента PlantUML принято считать построение UML-диаграмм. Но на самом у него намного больше возможностей и типов диаграмм, которые можно создать.

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

Читать далее

Хостинг для бота: как без лишних усилий запустить Python бота в Docker-контейнере и почему это удобно

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

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

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

Читать далее

Неизвестно полезный CSS. Часть 5

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


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

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

Markdown Editor: WYSIWYG и markup-редактор на базе Gravity UI

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

Привет, Хабр! Меня зовут Сергей Махнаткин, я работаю разработчиком в отделе User Experience в Yandex Cloud. В прошлом году мы писали о нашей дизайн-системе и библиотеке компонентов Gravity UI. С тех пор система не раз обновлялась и обрастала новыми функциями, и сегодня я хочу рассказать о новом инструменте — Markdown Editor, который значительно упрощает процесс работы с документацией.

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

Читать далее

Связываем форму сайта с Telegram-ботом на чистом JavaScript за 15 минут: Полная разработка и деплой

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

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

Суть задачи:

Пользователь вводит данные в форму на сайте, после чего эта информация отправляется заказчику через Telegram-бота. Данные отправляются в формате HTML, с полным набором информации. Всё это нужно было реализовать на чистом JavaScript + HTML + CSS. Из этой задачи родилась идея для данной статьи.

Чем мы займёмся?

Мы зарегистрируем Telegram-бота через BotFather, создадим приятную страницу с формой для сбора данных с использованием бесплатного сервиса WebSim.ai, а затем настроим отправку сообщений с формы в Telegram-бота, используя только JavaScript, HTML и CSS.

Читать далее

Информация

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