Получи случайную криптовалюту за регистрацию!

FEDOR BORSHEV

Адрес канала: @pmdaily
Категории: Технологии
Язык: Русский
Количество подписчиков: 25.94K
Описание канала:

Рассказываю, как руководить программистами.
fborshev@pm.me / borshev.com
Реклама не продаётся.

Рейтинги и Отзывы

4.50

2 отзыва

Оценить канал pmdaily и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

1

4 звезд

1

3 звезд

0

2 звезд

0

1 звезд

0


Последние сообщения 35

2021-02-12 10:45:05 12 факторов: экспортировать сервисы через порты

Когда-то, когда сайты модно было делать на ПХП, конфигурация среды размазывалась буквально везде. Какие-то редиректы можно было настроить в .htaccess, логирование нужно было настроить в конфигурации Apache, версию самого Apache нужно было выбрать через контрольную панель хостинга. Сайт, написанный под один хостинг, мог не заработать на другом — где-то ПХП был подключён как модуль Apache, а где-то — через FastCGI, и это требовало разной механики работы с заголовками.

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

Сейчас принято делать приложения, которые хостят себя сами. На node.js так было с самого начала — попробуйте найти хоть один проект, который имеет веб-интерфейс и не содержит внутри простого HTTP-сервера на express.js. У Java такая практика тоже принята давно — там испокон веков существуют Jetty и Tomcat (а сейчас наверняка что-то более модное).

Ну а если пишете на чём-нибудь скриптовом вроде питона, обязательно включите в докер-образ uwsgi\gunicorn — пусть ваше приложение просто выставляет наружу порт, обращаясь к которому можно получить все нужные сервисы. Так вы не только упростите деплой и масштабирование, но и сделаете возможным всякие интересные интеграционные штуки вроде возможности прогнать браузерные тесты относительно свежесобранного приложения прямо в процессе CI.
10.5K views07:45
Открыть/Комментировать
2021-02-10 10:46:04 Pug vs Markdown

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

А что вы думаете? Паг или маркдаун?
9.5K views07:46
Открыть/Комментировать
2021-02-09 10:45:04 Опенсорс и страхи

Есть много причин, по которым люди не открывают исходники. Самая банальная — «а вдруг украдут»? Этот страх я преодолел давно — никому реализация моих идей не нужна, у всех своих полнó.

Второй страх был посложнее — «а вдруг найдут дырку и украдут деньги?». С этим страхом мне помогла вера в людей (спасибо всем, кто репортит баги!) и эффект Неуловимого Джо.

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

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

Жквери, холст, масло. Зато у нас теперь есть рассрочка.
10.1K views07:45
Открыть/Комментировать
2021-02-08 10:45:04 Липовый Туман: почему мы ничего не успеваем

Вышел новый эпизод Липового Тумана: вместе с Антоном говорим об эмоциональной стороне того, почему мы ничего не успеваем, обсуждаем механику продуктивности и делимся опытом. Как обычно, материмся и говорим обо всём, кроме заявленной темы — касаемся строителей, делегирования и биткоинов.

Я продолжаю упражняться в сведении — кажется, наш голос теперь слышно получше, а музыка мешает не сильно. А как вам?

Слушайте везде (18+): SoundCloud, Apple, Яндекс.Музыка, Google Podcasts, Castbox, Spotify, RSS
9.8K views07:45
Открыть/Комментировать
2021-02-05 10:45:03 12 факторов: сервисы — это подключаемые ресурсы

Если попросить джуна настроить отсылку почты, он вполне может впасть в крайность и вызвать /usr/sbin/sendmail. Если попросить сделать файловое хранилище, то он сделает папочку /home/app/files.

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

Более продвинутый джун уже знает про SES и S3: он затянет в приложение их официальные либы, решив существенную часть проблем. Но не все: к примеру, на openshift уже не смигрируешь, да и на локальной машине отладка и тестирование сильно усложнится — нужно будет либо мoкать хождение в амазон, либо на каждый тест, который, скажем, генерит юзера, класть его аватарку в облако.

Продвинутые ребята рассматривают такие зависимости как внешние ресурсы, поддерживая для них полноценные абстракции. К примеру, в джанге складывают файлы через storage api и django-storages, а почту шлют через django-anymail. Поменял переменную окружения — и вот уже файлы складываются на рамдиск вместо s3, а почта шлётся через sendgrid вместо postmark.
12.0K viewsedited  07:45
Открыть/Комментировать
2021-02-03 20:25:31 Асинхронная архитектура 2.0 Наша школа продолжает развиваться — сегодня мы запускаем ещё один курс, на этот раз — хард-скилловый. В прошлом году я случайно забрёл на митап по Ruby, и офигел от одного из спикеров — чувак очень просто и понятно рассказывал…
10.7K viewsedited  17:25
Открыть/Комментировать
2021-02-03 10:45:05 Замечания — это не твои достижения

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

Когда у таких ребят пытаешься выяснить, чем их замечания сделают программу/письмо/сайт лучше, в ответ получаешь либо молчание, либо «ну, мне так больше нравится». Кажется, основная мотивация у них — проявить активность. Типа чем больше ты наводишь движухи, тем ты больше молодец. Надавал 20 бесполезных замечаний — значит, в 20 раз более полезен, чем чувак, который дал одно полезное.

Чуваки, это неправда! Если вы не в состоянии убедительно объяснить, чем именно ваша замечательная правочка улучшит результат, лучше оставьте её при себе.
11.4K views07:45
Открыть/Комментировать
2021-02-01 15:16:14 Асинхронная архитектура 2.0

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

В прошлом году я случайно забрёл на митап по Ruby, и офигел от одного из спикеров — чувак очень просто и понятно рассказывал про CQRS. Мы познакомились с Антоном Давыдовым лично, я пригласил его работать в iGooods, где мы сделали классный биллинг для курьеров с его архитектурой. Антон даже помог нам писать код и вести проект! С тех пор мы с ним делаем Липовый Туман, а сегодня — запускаем курс.

За 4 недели мы расскажем об архитектуре больших систем. Курс полезен всем, кто имеет отношение к проектированию ПО. Даже если вы джун, который сейчас пилит монолит в маленьком стартапе, вам будет полезно понять, как разделять требования между сервисами и как затем выстраивать взаимодействие этих сервисов между собой — мышление проектировщика позволит вам писать более понятный и изолированный код.

4 недели, 8 видео-уроков, q&a и личные консультации на самом дорогом тарифе. До конца недели скидка 10% по промо-коду P0PVG
11.6K viewsedited  12:16
Открыть/Комментировать
2021-01-29 10:45:03 В комментах к посту «меньше тратить → больше зарабатывать» были ребята, которые почему-то решили, что я топлю против сбережений. Попробую прояснить свою позицию.

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

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

У меня финансовая подушка — основное и первичное направление расходов: в сбережения я перевожу часть денег с каждого поступления и вам советую. Если ещё так не делаете — почитайте хотя бы Т—Ж.
12.6K views07:45
Открыть/Комментировать
2021-01-27 12:00:05 Фронтендер и Питонист

Мы с Саматом открыли две новые вакансии.

1. Питонист, который любит хороший код на Django. Вы будете работать в upmarket.cc и делать классный сервис статистики.
2. Фронтендер на vue.js. Вместе с вами мы перезапустим snob.ru.

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

Напишите пару слов о себе на fedor@borshev.com. Если мы не знакомы лично, то попросим вас сделать тестовое задание.
11.5K views09:00
Открыть/Комментировать