kamyshev.code
1.94K subscribers
40 photos
565 links
Архитектура, код, софт-скиллы и всё остальное. Вопросы, пожелания, комментарии — @igorkamyshev

https://kamyshev.me
Download Telegram
Второй сезон Frontend Crew закончился. Могу с уверенностью заявить, что это был один из самых сложных проектов в моей жизни.
Я думаю, через пару лет Логакс сильно изменит индустрию разработки клиентских приложений.

Подпишитесь на канал и следите за его развитием — @logux_io
Поразительно неинтуитивный интерфейс наложения ограничений на пользователя в чате в телеграмме. Нужно зайти в настройки чата, выбрать раздел Permissions, промотать внизу и нажать на кнопку Add Exception.

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

Так что придётся вам читать его текстом. Трепещите.
Итак, тут почти месяц не было постов по теме. Это потому что я был полностью погружен в производство второго сезона Frontend Crew. Это был, без преувеличения, самый сложный проект в моей жизни — много переменных, много действующих лиц, много неизвестных.

Все полтора месяца мое ощущение от конференции колебалось от «господи, какой провал» до «ооо, как же мы разъебем» и обратно. В итоге, получилось больше второе 🚀 (чем я жутко горжусь), но сил на это ушло какое-то титаническое количество.

Кстати, мы нанимаем.
А теперь по делу. За это время прочитал Designing Event Driven Systems и кайфанул.

> Я уже давно копаю тему проектирования систем за пределами фронтенд-приложений. Мне кажется, с одной стороны, там много интересного и некоторые подходы можно адаптировать и перенять на фронтенде. А с другой, развитие технических скиллов вширь повышает мою ценность как специалиста.

Designing Event Driven Systems рассказывает о построении асинхронных распределенных систем. Причем, большенство примеров завязаны на конкретную технологию — Kafka. Сначала это показалось мне странным, но потом зашло. Круто, когда вместо абстрактных историй со схемами тебе дают конкретный пример системы и рассказывают как он устроен.

#проектирование
Ох как я ненавижу логины и аккаунты.

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

Короче, сначала пытался понять, какое приложение вообще ей управляет. Машина — Siemens, поиск по Siemens или там Dishwasher конечно ничего не дал. В итоге листал тупо список всех вообще приложений на телефоне в поисках незнакомого. Home Connect называется.

Ладно, захожу. Оно говорит — нет устройств! Как нет-то, ты же, падла, нотификации мне шлешь.

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

А раз настраивал — должен был аккаунт создать? Но почему тогда он слетел? Телефон я не менял, приложение не переустанавливал. Жму логин — 1Password — нет аккаунта.

Ну ладно, нет так нет, может раньше не требовался? Жму создать, заполняю блядскую форму на восемьнадцать полей, придумываю, конечно, пароль, ввожу два раза, и емейл, конечно, тоже два раза. И конечно, посудомоечной машине нужно знать где я живу и какой у меня телефон, чтобы полоскать мои чашки. ВСЮ ФОРМУ ДО КОНЦА ЗАПОЛНЯЮ! Все с телефона, то есть максимально неудобно, в квадратике 2 на 2 сантиметра. Жму: создавай.

Создала, говорит. Иди в емейл. Иду в емейл. А там — есть такой аккаунт уже. Попробуй залогиниться, лузер. И все, даже ссылки обратно, сука, нет. А СРАЗУ НЕЛЬЗЯ СКАЗАТЬ БЫЛО???

Иду логиниться. Пароля, конечно, взять неоткуда. Жму восстановить. Иди опять в почту. Иду в почту. Вот ваш временный пароль. О, думаю, зашибись. Его-то и оставлю. Ввожу емейл и копирую пароль. Зашибись, говорит! Но пароль-то временный. Давай новый придумывай. Ну ё-маё, ну что опять началось...

Ладно, придумываю. Соглашается. Пускает. Добавляю, наконец, машину в апп. Безболезненно достаточно, кстати — потому что Я ОДИН РАЗ ЭТО УЖЕ ДЕЛАЛ КУДА ОНА ПОДЕВАЛАСЬ? А? А?

Зашибись, думаю. Теперь-то запущу чистку. Нахожу режим в приложении. Подношу палец к кнопке. ЗАПУСК ИЗ ПРИЛОЖЕНИЯ ЗАПРЕЩЕН. ИДИ ПАСИСЬ.

(Ну или если хочешь можешь еще час в ютубе гуглить, как remote start разрешить, но у меня уже сил не было, честно).

Короче, я просто спалил, какая иконка у режима чистки в приложении.

А потом подошел к машинке ногами И НАЖАЛ ТОЧНО ТАКУЮ ЖЕ КНОПКУ. Просто подошел и просто нажал. Все. Одно действие. НИКАКИХ, БЛЯДЬ, ЛОГИНОВ. ПОЧЕМУ В ТЕЛЕФОНЕ НЕЛЬЗЯ ТАКЖЕ???

Вы удивляетесь, почему «умный дом» никто так не любит? Ну вот поэтому.

Ну и про проблему логинов и того, что их пихают везде, где нужно и где не нужно.

Во-первых, идите со своими логинами нахуй.

Во-вторых, идите-идите, я не шутил.

Во-третьих, если уж вас укушенный маркетологом менеджер заставил их делать, как насчет того, чтобы эти логины не терять? В идеале я хочу вводить логин один раз в жизни. Ну может один раз за время жизни компьютера. КАК ЛОГИН МОЖЕТ ПОТЕРЯТЬСЯ???

В-четвертых, одного поля «email» достаточно ДЛЯ ВСЕГО. Просто email — письмо со ссылкой — нажал — ты внутри. Логин, регистрация, восстановление — все одинаково. В вашей форме БУКВАЛЬНО не должно быть НИ ОДНО поля, кроме email. БУКВАЛЬНО.

В-пятых, на тему логинов обязательно посмотрите «Jonathan Blow tries Razer BlackWidow TE Chroma v2 keyboard» на Ютубе. Руководство к действию.

В-шестых, идите нахуй.
На этой неделе веду коллективный аккаунт @itunderhood, заходите читать 🚀
Я не умею писать конфиги для nginx. Даже как-то написал инструкцию для самого себя, чтобы не делать этого для пет-проектов.

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

Попробуйте его, он правда классный. И умеет метрики в прометеус слать сам собой.

#рекомендации
Штош, было очень позорно. Но интересно.
Запись сварилась 😱

Вчера я ходил на публичное собеседование по систем-дизайну на TechLead Crew. Моё первое «бекендерское» интервью. Хоть я его и провалил, все равно считаю опыт успешным.

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

Во-вторых, я уверен, что фронтендеров не существует и все мы должны сильно глубже погружаться в соседние области. Такие собеседования — классный способ синхронизировать свои мысли с реальным миром.

#проектирование #собеседования #кейс

Пишите ощущения в комментарии 👇
На последнем 1-on-1 я обсуждал с менеджером: «что делать дальше?». Я не понимаю, хочу ли я расти в сторону технического чувака, или в сторону менеджера, или вообще не расти, а переходить в смежные области. К сожалению, никто (даже самый лучший менеджер) не может решить это за меня.

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

А если вы хотите тоже, ловите промокод на 10% скидку — igorkam.

#рост
Чтобы не пересылать каждый пост из @nikitonsky_pub, я просто посоветую вам на него подписаться.
Меня что-то нахлобучило писать код при людях. Придёте смотреть как я пет-проект пилю в следующие выходные?
Anonymous Poll
65%
Да
35%
Нет