Pull to refresh
72
0
Владимир Клепов @thoughtspile

Фронтендер

Send message

Стреляем себе в ногу из localStorage

Level of difficultyEasy
Reading time6 min
Views12K

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

Читать далее

Анализ данных в hippotable: графики и shareable URLs

Level of difficultyEasy
Reading time7 min
Views1.5K

В hippotable — open-source инструменте для анализа данных в браузере — появились новые интересные фичи: визуализация данных и возможность поделиться аналитикой по ссылке. В статье рассказываю о процессе работы: какие бывают библиотеки для визуализации, почему JSON плохо лезет в URL (и как упихнуть побольше), и показываю, что из этого получилось.

Читать далее

Hippotable — анализ данных прямо в браузере

Level of difficultyEasy
Reading time5 min
Views5.9K

Сегодня я расскажу про hippotable — удобный инструмент для анализа данных. Мне часто нужно поковыряться в датасете среднего размера (1–100 Мб), чтобы ответить на довольно простые вопросы. Ни один из существующих инструментов (bash, google sheets, jupyter + pandas) не показался мне особо подходящим для такой задачи, и я... решил сделать свой! Хотел поделиться результатом, показать пару интересных JS-инструментов для обработки и отображения данных, и рассказать, как дальше планирую развивать продукт. Запрыгивайте, будет интересно.

Читать далее

Почему Banditypes — самая маленькая TS-библиотека для валидации схем

Level of difficultyMedium
Reading time6 min
Views6.1K

Я выпустил библиотеку banditypes — самый маленький валидатор схем для TS / JS. Удивительно, но базовый функционал валидации с приятным API можно упихнуть в 400 байт, если сконцентрироваться на размере и добавить пару грязных хаков. В этой статье расскажу, как добился такого результата.

Читать далее

Понять TypeScript c помощью теории множеств

Reading time9 min
Views15K

Я пишу на TS уже довольно давно. Но некоторые вопросы все еще сбивают меня с толку: что такое never, и почему он так странно себя ведет? Чем отличаются any и unknown? Почему const x: {} = true — не ошибка?

Оказывается, если перевести TS на язык теории множеств, всё встанет на свои места!

Читать далее

Я выпустил Grafar — JS-библиотеку для визуализации

Reading time3 min
Views13K

После пяти лет в столе я готов представить свою библиотеку для визуализации — grafar. У нас есть: 3D, реактивные вычисления и самое простое АПИ для построения математических графиков прямо в браузере. В статье рассказываю, что я сделал и как этим пользоваться.

Читать далее

How to create a dark theme without breaking things: learning with the Yandex Mail team

Reading time8 min
Views8.9K


My name is Vladimir, and I develop mobile front-end for Yandex Mail. Our apps have had a dark theme for a while, but it was incomplete: only the interface and plain emails were dark. Messages with custom formatting remained light and stood out against the dark interface, hurting our users’ eyes at night.


Today I'll tell you how we fixed this problem. You will learn about two simple techniques that didn't work for us and the method that finally did the trick — adaptive page recoloring. I'll also share some ideas about adapting images to a dark theme. To be fair, darkening pages with custom CSS is a rather peculiar task, but I believe some of you may find our experience helpful.

Read more →

Как создать тёмную тему и не навредить. Опыт команды Яндекс.Почты

Reading time8 min
Views33K


Меня зовут Владимир, я занимаюсь мобильным фронтендом в Яндекс.Почте. В нашем приложении уже была тёмная тема, но недожатая: мы умели перекрашивать интерфейс и простые письма. Но письма с форматированием оставались светлыми и контрастировали с тёмным интерфейсом, из-за чего глаза ночью могли уставать.


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

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

Information

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