Артём и его MacBook


Гео и язык канала: не указан, Русский
Категория: Технологии


Про разработку, качественный код и гибкую архитектуру. 👨‍💻
twitter.com/artemtam

Связанные каналы

Гео и язык канала
не указан, Русский
Категория
Технологии
Статистика
Фильтр публикаций


Привет! Мы в Veriff ищем нескольких классных фронтенд-разработчиков/ц в Таллинн 🇪🇪!

Когда вы регистрируетесь в классном банке, вас просят сделать селфи и сфоткать документ, чтобы подтвердить личность – это то, что делает Veriff. Наши клиенты – Monese, Wise, Blockchain.com, Uphold и другие. Только что в рамках Series B мы привлеки $69 миллионов от tier-1 фондов Accel и IVP (посмотрите их портфолио) и очень-очень быстро растём.

Сейчас открыто несколько десятков позиций, но я особенно заинтересован именно в фротнедерах!

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

С вас: умение писать хороший код и понимать архитекуру современных приложений, знать React и TypeScript (классно, если есть опыт ещё и с GraphQL), хороший английский и отличные communication skills.

Задавайте вопросы и скидывайте свои резюме/linkedin мне прямо в личку – @artemtam . Очень жду!


Сегодня начался Advent of Code!

Каждый день до Рождества будет появляться программистская задачка, которую надо решить (как можно быстрее). Сначала они достаточно простые, но уже на второй неделе придётся много думать. При этом все задачи – часть рожденственской истории, а необходимость вставать в 6 утра каждый день, чтобы их решить быстрее всех, – залог отличного настроения 🎄

В прошлом году я остановился на 7-ом дне, в этот раз планирую решить все (ха-ха). Кстати, можете посоревноваться со мной и присоединиться к моей private leaderboard (код: 755107-061769b9).

https://adventofcode.com/2020/


Мой друг Илья (Cloudflare, Vee Security) в прямом эфире изучает XDP и имплементит обработку всяких разных пакетов очень быстро и на уровне ядра. Именно тот случай, когда ничего не понятно, но очень интересно!

https://www.twitch.tv/andreev_io
andreev_io - Twitch
I'm an undergraduate at the University of Illinois at Urbana-Champaign and an intern at Cloudflare. Learning by doing.




Почему не нужно разделять фронтенд и бэкенд

Основная проблема отдельных репозиториев – согласование API и синхронизация фич.

Единственный надёжный вариант определить, что фронтенд из бранча feature/x работает с бэкендом из бранча feature/y, – делать API обратно-совместимым. Без обратной совместимости не получится и релизить, так как релиз API должен гарантированно работать с любой версией фротенда.

При правильном CI, каждая фича должна пройти QA перед тем, как попасть в master. Чтобы задеплоить фичу на стейджинг, нужно собрать и задеплоить два разных бранча из двух разных репозиториев. Это делает деплой нетривиальной задачей и/или заставляет придумывать правила о том, как называть бранчи и так далее.

У нас один репозиторий для проекта на 5 разработчиков. Мы осознанно пришли к этому от двух отдельных. Не исключаю, что когда-нибудь вернёмся к разным репозиториям, но пока это преждевременная оптимизация, создающая только бесполезный оверхэд в виде обратной совместимости API и танцев с деплоем.




Оказывается, npmjs.org по-умному ранжирует пакеты в поиске.

Каждый пакет оценивается по 3-ём критериям: популярность, качество и поддержка. Если есть тесты и линтер – получаешь больше баллов за качество, если issues быстро закрываются – больше баллов за поддержку. То есть в теории у каждого есть шанс быть выше в выдаче популярного, но некачественного, пакета.

Полностью алгоритм описан тут, a в поиске эти критерии обозначаются буквами p, q и m справа от описания пакета.

Постараюсь получить по 100% за quality и maintainability для своего слайдера, посмотрим как это повлияет на место в выдаче.


JavaScript-разработчики:


TypeScript – мастхэв в современном фронтенде.

Времена, когда JavaScript был нужен только, чтобы открыть дропдаун, прошли, а без статической типизации писать что-то сложнее – преступление. TypeScript – очень гибкий и удобный, поддерживается всеми нормальными библиотеками и фреймворками. Причин его не использовать не существует.

Мы полгода назад переписывали React-приложение (25k строк кода) на TypeScript, могу точно сказать, что потраченное время уже окупилось несколько раз – количество возникающих багов уменьшилось на порядок, а код пишется быстрее благодаря подсказкам IDE. Так что переписывайте всё на TypeScript, не пожалеете.

https://habr.com/ru/post/500926/




Как-то раз надо было сделать слайдер на один классный сайт (там Gatsby.js, то есть React). Пришлось потратить несколько дней, чтобы найти нормальную нелагающую имплементацию.

Среди всех существующих компонентов было 2 проблемы: 1) лаги на мобильных устройствах (свайп не работал нормально нигде) 2) over-engineered логика и отвратительный код. В итоге сделать слайдер пришлось самому, и сейчас настало время его заопенсурсить!

Проблемы я решил так: 1) свайпа нет вообще (потому что это лучше, чем лагучий свайп) 2) минимально необходимое API, никакого дефолтного "дизайна" и компонетнов.

В итоге получилось 1KB кода на TypeScript, которого достаточно, чтобы удовлетворить 90% всех потребностей. Потестите и напишите в issues, если что не так. И не забудьте ⭐️

https://github.com/artemtam/react-perfect-slider


Друзья-разработчики!

Давайте дружно прекратим делать дашборды со статистикой распространения COVID-19, а поможем тем, чего у нас достаточно и что действительно важно, — деньгами.

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

Сейчас «Альянс врачей» очень активно помогает врачам, которых буквально отправляют умирать – заставляют работать без необходимых средств защиты. На покупку СИЗ нужны деньги, и я прошу вас им помочь.

Может вас потом вылечит врач, которому вы сейчас спасёте жизнь.

https://inspection.alyansvrachey.ru/


Часто приходится верстать всякие небольшие сайты/лэндосы, например, helptofree.org или vee.gg. При этом я, как перфекционист, не могу делать это без вебпака, минификации стилей, транспайлинга JavaScript и так далее.

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

https://github.com/artemtam/modern-landing-page


Вот так-то! В Firefox двумя настройками в about:config включается ESNI и DoH. И уже сейчас ESNI работает со всеми сайтами за Cloudflare (их много), так что РКН-у осталось недолго. 👍




У нас отличные новости — Chrome в 78 версии реализовал поддержку DNS-over-HTTPS (DoH) — протокола, который прячет ваши DNS-запросы в HTTP и шифрует их с помощью TLS. При этом он автоматически включается, если вы используете DNS, например, от Cloudflare.

Сейчас DNS-трафик передаётся в открытом виде, то есть домены, которые вы посещаете, видны провайдеру, РКНу и остальным. Некоторые, кстати, даже реализуют блокировки, подменяя или блокируя ответы от DNS. Ждём теперь ESNI, и тогда у РКН совсем не останется аккуратных способов блокировать отдельные ресурсы.

Спасибо, Google/Mozilla/Cloudflare за то, что защищаете наш интернет!


Я подписал, и вы тоже подпишите.

Чем больше обсуждаем и говорим, тем больше шансов, что ребят отпустят. К сожалению, в России сейчас можно добиться справедливости только с помощью общественного резонанса, и наша задача — этот резонанс регулярно создавать.

https://github.com/developers-against-repressions/case-212


Добрый вечер! Время интересных историй!

Вчера у Vee Security отобрали 3 домена в зоне .us, сломав нам все VPN-сервера и несколько внутренних сервисов. О том, как долго мы это осознавали и как быстро фиксили, можете почитать по ссылке ниже.

https://vee.gg/JbX2g


Вернулся из Нью-Йорка, вот вам немного красоты. Много красоты можете посмотреть в моих хайлайтах в инстаграме.

А теперь о важном — завтра выборы. Сходите, пожалуйста, и проголосуйте против Беглова (кто из Петербурга) и за тех кандидатов, которых вам посоветует «Умное Голосование». Не ленитесь, надо использовать такие редкие шансы на что-то реально повлиять.



Показано 20 последних публикаций.

113

подписчиков
Статистика канала