Как стать автором
Обновить
28
0
Сергей Плешанов @DarkSideF

Vice CTO (Руководитель Ruby, Python & Frontend)

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

Best Practices по подключению к сторонним API в проекте

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

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

В Домклике у нас микросервисная архитектура, и каждому сервису приходится взаимодействовать с десятком других. Чтобы межсервисное взаимодействие было предсказуемым, надёжным, удобным и отслеживаемым, мы следуем ряду практик при разработке, и в этой статье я расскажу вам о них.

Узнать лучшие практики
Всего голосов 27: ↑26 и ↓1+25
Комментарии6

Руководство по Jobs to Be Done и Desired Outcomes для дизайна интерфейсов

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

Jobs to Be Done дает хорошую базу, но в полной мере не покрывает детали для проектирования интерфейсов. Расскажу, как я адаптировал подход для разработки цифровых продуктов, используя Desired Outcomes.​ С ними становится понятнее, что делать в продукте, они дают ответ на вопрос "чтобы что", и генерация идей перестает быть изнуряющим процессом.

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

Yet another введение в fp-ts. Часть 1. Эквивалентность и сравнимость

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

Что такое монада? Душнила ответит: “Это моноид в категории эндофункторов”, и будет абсолютно прав. Вопросов появляется ещё больше: “Что такое моноид?”, “Что такое категория?”, “Что такое эндофунктор?”. В эту же секунду человека сковывает первородный ужас, сошедший со страниц рассказов Г. Ф. Лавкрафта, инстинкт самосохранения кричит: “Беги!” Интересный собеседник, обладающий эмпатией, приобнимет и скажет: “Бро, это же просто контейнер для какого-то значения, способный соединяться в цепочки таких же контейнеров. Ты же пишешь фронтенд? Или бэк на ноде? В холодильнике пиво, угощайся, а я тебе расскажу про библиотеку fp-ts и разные клёвые штуки из функционального программирования.

Для js-а существуют тонны библиотек, поддерживающих функциональный стиль программирования. Lodash, Ramda, Sanctuary — это то что сразу приходит в голову. В эпоху Typescript писать без типобезопасности уже моветон. Ни Lodash, ни Ramda типобезопасность не обещают, Sanctuary проверяет типы в рантайме, что требует дополнительных накладных расходов. Fp-ts изначально написан на typescript и помимо фич функционального программирования предлагает изящную проверку типов. Эта интересная библиотека реализует множество концепций из статически типизированных функциональных языков семейства ML, таких так Haskell, Ocaml и Scala. В fp-ts всё прекрасно, кроме документации и практических примеров использования. Моя задача как раз подсветить эти тёмные углы, а также показать несколько практических примеров.

В статье я не буду обсуждать базовые концепции ФП, такие как чистые функции, лямбды, композиция и прочее. Про это написано много статей и ютуб завален тоннами видеороликов от индиан гаев. Здесь я постараюсь простыми словами на практических примерах объяснить классы типов, какие они бывают и как их использовать в fp-ts.

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

«Как тебе удалёнка?!»

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

2020-й год, март, нерабочие дни... Кто бы мог подумать, что формат работы настолько поменяется? «Как тебе удалёнка?» — один из самых частых вопросов, который звучит с тех пор.

Пришло время дать ответ
Всего голосов 51: ↑47 и ↓4+43
Комментарии21

Хватит клепать псевдопрограммистов, или «Горшочек — не в IT!»

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

Дисклеймер: все события являются вымышленными, а совпадения - случайными

Все они были мертвы. Последний выстрел поставил жирную точку в этой истории. Я снял палец с курка — всё было кончено.

Макс Пэйн

Именно эта цитата из одной из культовых игр всплыла у меня в голове в тот момент, когда я сдал фичу заказчику и закрыл в Jira заключительную задачу в спринте, осознав, что заветное «ты прошёл испытательный срок» у меня в кармане. Для меня это было настоящее событие, сродни принятию в тайный орден, крещению, духовному посвящению.

Моё путешествие в IT наконец-то дошло до несгораемой суммы. Я, как и тысячи других до меня, кинувший работу ради мечты, добился-таки своего. Мама смотрела на меня с гордостью, а друзья — с завистью! Недоброжелатели же захлёбывались от желчи, ведь стало понятно, что я неиллюзорно переиграл и уничтожил всех дешёвок :) А сам стал иметь VIP-статус недешёвки, ведь мой работодатель уже побежал насыпать мне 100500 килорублей в секунду на мой швейцарский счёт.

Красивая история, правда? Хотите так же? Тогда переходите по этой ссылке и приобретайте курс от <default_school_name>, и через Х дней мы будем трудиться вместе!

Если вы дочитали до этого места, то наверняка поняли, о чём мы сегодня поговорим. Рекламой различных интенсивов и онлайн-курсов сейчас завален весь интернет:

Читать далее
Всего голосов 269: ↑256 и ↓13+243
Комментарии603

PostGIS + JPA. Погружение в детали и тонкости для чайников

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

Привет. Сегодня я расскажу о работе с геоданными в PostgreSQL и немного о том, как это сделать в своем Java/Kotlin-приложении.

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

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

«Гори, гори ясно, пока не погасло», или Чем чревато эмоциональное выгорание ваших сотрудников

Время на прочтение10 мин
Количество просмотров57K
Как я хотела прикинуть, что дешевле – уволить выгоревшего сотрудника, «вылечить» или вовсе стараться не допускать выгорания, и что из этого получилось.

Сейчас небольшое вступление, откуда родилась эта тема.

Я почти что разучилась писать. Сначала нет времени; потом кажется, что все, о чем ты можешь/хочешь написать – это очевидно, а потом ты слышишь историю от коллеги из одной известной компании, который рассказывает, что в пятницу в 10 часов вечера их генеральный на полном серьезе уточняет: «Я тут побывал в департаменте разработки 5 минут назад. Почему еще только 10 вечера, а в офисе уже никого нет?»

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

image
Читать дальше →
Всего голосов 79: ↑75 и ↓4+71
Комментарии311

Кто читает ваши SMS

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

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

Добро пожаловать под кат, далее будет интересно.

Поехали
Всего голосов 139: ↑136 и ↓3+133
Комментарии201

«Чудес не бывает». Детективом по следам клиента

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

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

Как-то в начале моей карьеры «проводник» в мир продуктовой разработки, помогая разобраться с ошибкой, говорил: «Чудес не бывает». С тех пор идёт восьмой год, а эта фраза частенько вспоминается в момент возникновения таких ситуаций, либо когда кто-то из коллег не может найти проблему и опускает руки.

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

Быть тимлидом, ч.1: Люди

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


Всем привет. Меня зовут Семён, я руковожу разработкой партнёрских сервисов в ДомКлик. О роли тимлида сказано и написано много: бесконечное число книг, технических и не очень, тренинги, конференции, каналы и прочее. Проблема в том, что ни одна книга не даёт рецепта «серебряной пули», которая позволила бы эффективно управлять людьми и процессом разработки, не совершая ошибок. Поэтому каждый тимлид со временем создаёт свой фреймворк работы, который помогает справляться с ежедневной рутиной, при этом не забывать про развитие, делать это эффективнее и совершать меньше ошибок. Форма у этого фреймворка может быть любая: где-то его формализуют и делают частью бизнес-процессов компании, а где-то он может существовать в виде чек-листа в заметках тимлида. Главное, чтобы он был, чтобы им пользовались, актуализировали и развивали. В этой серии статей я хочу описать свой взгляд на работу тимлида, поделиться опытом и лайфхаками. Кого заинтересовал — прошу под кат.

Читать дальше →
Всего голосов 61: ↑55 и ↓6+49
Комментарии6

Как я принёс Ruby в ДомКлик

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


В конце 2017 года я твёрдо решил, что хочу перейти на руководящую работу.

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

Я чувствовал себя не столько садовником, который день за днём возделывает маленький клочок земли, наблюдая за проклёвывающимися сквозь землю ростками, сколько фермером, которому надо собрать, а затем продать урожай с гигантского поля размером с европейскую страну.

Масштабность и эффективность меня вдохновляли.
Всего голосов 65: ↑52 и ↓13+39
Комментарии116

Шпаргалка по Flexbox (CSS3 Flexible Box)

Время на прочтение1 мин
Количество просмотров361K
Мне не нова магия Flexbox, но я не часто ее использую, и поэтому после паузы в использовании мне приходится открывать вот этот пост на CSS-Tricks чтобы освежить память.

Я решила создать краткую визуальную шпаргалку по Flexbox для тех случаев освежения памяти после паузы в будущем. Думаю, что у меня получилась шпаргалка, основанная на… шпаргалках.


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

Выбираемся из кроличей норы SPA при помощи современного Rails

Время на прочтение15 мин
Количество просмотров11K
TL;DR: Тропа SPA темна и полна ужасов. Ты можешь бесстрашно сражаться с ними… или выбрать другой путь, который приведёт тебя к нужному месту: современный Rails.



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

Я думал, что это необходимо для приложений, над которыми я работал. И с таким мнением я перепробовал множество подходов и фреймворков для реализации одного и того же шаблона: Single-page applications (SPA). Я верил, что SPA — это будущее. Несколько лет спустя, я не уверен в том, каково же будущее, но я точно хочу найти альтернативу.
Читать дальше →
Всего голосов 30: ↑26 и ↓4+22
Комментарии45

400 потрясающих бесплатных сервисов

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

Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.

И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные веб-сайты

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly: Конструктор веб-сайтов.
  • Layers: Создание сайтов на WordPress (new).
  • Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
  • Landing Harbor:  Продвижение мобильного приложения c помощью бесплатного лендинга (new).
Читать дальше →
Всего голосов 108: ↑89 и ↓19+70
Комментарии38

Что собой представляют образы Docker none:none?

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

Предлагаю вашему вниманию перевод статьи What are Docker none:none images? из блога Project Atomic.


Последние несколько дней я потратил на упражнения с образами Docker <none>:<none>. Чтобы объяснить, что они собой представляют, и что могут натворить, я пишу этот пост, в котором ставлю вопросы:


  1. Что собой представляют образы Docker <none>:<none> ?
  2. Что собой представляют обособленные (dangling) образы ?
  3. Почему я вижу кучу образов <none>:<none>, когда делаю docker images -a ?
  4. В чем разница между docker images и docker images -a ?

Прежде чем я начну отвечать на вопросы, запомните, что есть два вида образов <none>:<none>: хорошие и плохие.

Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии4

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность