Ru
ГлавнаяКаналыТехнологии → Половнёв—Журнал

Половнёв—Журнал

@polovnyov_journal · Технологии

Пишу о разработке, тестировании и культуре работы. А еще есть задротский курс о тестах в Руби и Рельсах: https://vasily.polovnyov.ru/tests/ Пишите: @vazilla, vasily@polovnyov.ru

650подписчиков сейчас
76.0%ERR
0.0цитируемость
2постов/день
Русскийязык
Россиягео
Подписаться в Telegram
Данные обновлены 21.07.2020

Публикации всего: 50

Постов на странице: 10 30 50 Страница 1 из 5
Из чего состоит «сделать» Представьте, что на работе вас попросили добавить поддержку нового способа оплаты через Яндекс.Сплит. Если вы взялись это сделать, вот, что от вас ждут: Сначала вы очень хорошо подумаете и разберетесь в задаче. Куда добавить? Какие…
Перейти к публикации →
Из чего состоит «сделать» Представьте, что на работе вас попросили добавить поддержку нового способа оплаты через Яндекс.Сплит. Если вы взялись это сделать, вот, что от вас ждут: Сначала вы очень хорошо подумаете и разберетесь в задаче. Куда добавить? Какие ограничения? Как это выглядело бы для клиентов? Затем вы очень хорошо подумаете о решении. Как это будет работать под капотом? Какие есть еще варианты? Что есть из готового, а что нужно и стоит писать самим? Какие требования и ограничения? Потом вы очень хорошо подумаете о краевых случаях. Какие они? Что с ними делать? На что можно забить? Какие не дадут запуститься? Тут вы еще и об ошибках подумаете. Скажем, что делать, если вебхук от Сплита пришел, когда мы лежали? А что делать, если Сплит вовремя не ответил, когда пытались создать заказ? Ретрай? Сколько раз, с какой паузой? Затем подумаете о данных. Что нам надо хранить, в каком виде? Это будет jsonb или нам вообще не нужен список товаров? А если решим расширить существующую модель заказов, как ее смигрировать? Что мы пока не знаем о данных и их хранении? Потом прикинете, как это все проверять. Какие тесты и для чего нужны? Что проверим автоматом, а что вручную? Есть ли у Сплита песочница, как в ней потыкаться? Потом придумаете, как запускать. Сразу всем? Втихаря на 10%? А за чем следить? Потом придумаете «анонс». Как и кому мы об этом рассказываем? Какие слова и термины используем, на что напираем? Что нашим клиентам от того, что у нас появился Сплит? Наконец начнете все это программировать. Возможно, сами, возможно, ллмкой. Проверите то, что получается. Что-то проверите автоматическими тестами, что-то руками, что-то агентом. Главное сейчас — убедиться, что оно готово к пуску. Затем ревью и пара-тройка раундов исправлений. Наконец смержите все в мастер и выкатите в прод. Еще раз убедитесь, что все работает. Не протыкал — не сделал. Если пуск затрагивает коллег, расскажете им об этом. Убедитесь, что не осталось хвостов. Если что-то нужно перепроверить через месяц-два, добавите задачку в календарь или агента. Поздравляю, теперь вы официально сделали задачу. P. S. Конечно, этот список меняется от компании к компании и от разработчика к разработчику. Если вы соло-предприниматель, все на вас. Если вы в бигтехе, анонсы писать не будете, но придется помудохаться с безопасниками. Если вы джун, от вас мало что ждут, но надеются, что вы со временем сможете закрывать весь список. Если вы сеньор, вы и сами все это знаете и регулярно делаете.
👍 17 🔥 4 🤯 1 · всего 23 Перейти к публикации →
Спасибо капитализму и конкуренции. OpenAI временно убирает пятичасовой лимит, но не недельный (!). Самое время попробовать GPT 5.6 Sol на всем подряд. Я использую Sol, Terra и Luna с пятницы, успел сжечь 2 недельных лимита. Вот мои впечатления: 1. Luna слишком слабенькая, слишком простенькая, но довольно быстрая. Для ежедневного программирования не очень подойдет. 2. Terra — хз, как будто, ни туда, ни сюда. 3. Sol — основная рабочая лошадка. Остановился на Medium для реализации, High для планирования. 4. Sol Medium — это 5.5 на High, Sol High — это 5.5 на xHigh. И по традиции список чтива за июнь: 10/10 Конец вечности 3/10 Дэвид Старр, космический рейнджер 4/10 Артемида
👍 8 🔥 2 👏 1 · всего 12 Перейти к публикации →
Кратко напишу, что надумал об ИИ в программировании за прошлый месяц: 1. Всегда держу хотя бы одного агента запущенным. Пусть он что-то расследует, исследует или проектирует. Всегда начинаю рабочий день с того, что нагружаю работой 1-2 кодексов. 2. Не надо подстраиваться под ИИ. Сейчас ИИ подстраивается под нас гораздо быстрее, чем мы под него. Еще год назад мы копировали системные промпты с ТЫ СЕНЬОР ИНЖЕНЕР С 20 ГОДАМИ ОПЫТА, а сейчас голый Кодекс или Клод из коробки работает как сеньор инженер с 20 годами опыта. 3. Эрозия навыков и потеря компетенции реальны. Чтобы бороться с этим, делаю две штуки. Во-первых, новые технологии осваиваю сначала вручную. Во-вторых, по пятницам самостоятельно отлаживаю и исправляю 1-2 бага. Мне так спокойнее. И чтобы два раза не вставать, сразу расскажу, что я прочитал в мае: 1. Я, робот. Сборник рассказов Азимова, давший нам 3 закона робототехники. Охеренные истории, надо было раньше их прочитать. 2. Поселок. Мне понравилось, что у Булычева главные герои — обычные люди с обычными делами. Никаких супергеройских дел, невероятных свершений и приключений. Тупо обычные чуваки из обычного поселка на всратой планете пытаются как-то жить эту жизнь. 3. Последний из бессмертных Ливадного. Ну такое. Зато понял, что я не люблю приключенческую фантастику с пестиками, красивыми инопланетянками, главным героем альфачом и пиу-пиу-пиу. Видимо, старею.
👍 15 ❤ 10 🔥 4 Перейти к публикации →
Бирман толкнул речь с безумными глазами: https://bureau.ru/soviet/20260609/?utm_source=tg-s-s-s260609-090626
❤ 3 👍 1 Перейти к публикации →
Внезапно Бирман выдает индульгенцию занудам и отделяет их от душнил:
Перейти к публикации →
background-position в процентах Хочу поделиться с вами радостью. Спустя 20 лет веб-разработки я наконец-то понял, как работает background-position, заданный в процентах. Всего-то нужно было прочитать спеку: With a value pair of 75% 50%, the point 75% across and 50% down the image is to be placed at the point 75% across and 50% down the area. Или МДН: Similarly, background-position: 25% 75% means the spot on the image that is 25% from the left and 75% from the top will be placed at the spot of the container that is 25% from the container's left and 75% from the container's top. Представим, что у нас bgp: 70% 30%. Находим точку на изображении, которая стоит в (70%, 30%) от размеров изображения. Находим точку в контейнере, которая стоит в (70%, 30%) от размеров контейнера. И просто совмещаем их. То есть точка на изображении, стоящая в (70%, 30%), будет ровно в точке (70%, 30%) в контейнере. Зная это, легко сымитировать background-position вручную. Пусть у нас такая разметка:
<div class="box">
  <img src="...">
</div>
И тогда так:
:root {
  --bgp-x: 70%;
  --bgp-y: 30%;
}

.box {
  position: relative;
  overflow: hidden;
  width: 500px;
  height: 200px;

  img {
    position: absolute;

    left: var(--bgp-x); /* Располагаем левый верхний угол изображения в (70%, 30%) контейнера */
    top: var(--bgp-y);

    translate: calc(-1 * var(--bgp-x)) calc(-1 * var(--bgp-y)); /* Сдвигаем изображение на 70% его ширины и 30% его высоты влево-вверх */
  }
}
Пример вживую: https://codepen.io/vpolovnyov/pen/MYbXRRJ Еще по теме: * https://drafts.csswg.org/css-backgrounds-3/#example-c27a0cea * https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/background-position#regarding_percentages
👍 6 👏 4 🤝 1 Перейти к публикации →
Что я прочитал в апреле Месяц фантастики продолжается, поэтому в апреле я прочитал трилогию Азимова: «Академия», «Академия и Империя», «Вторая Академия». В оригинале Академия — это Foundation, поэтому иногда можно встретить «Основание», «Фонд» и «Установление». Прочитал на одном дыхании, ни на что не переключаясь. Давно не читал настолько хорошей фантастики. По количеству цепляющих, сильных идей трилогия легко переплёвывает «Задачу трёх тел». Даже немножко жалею, что не прочитал всё это раньше. P. S. У Азимова какая-то странная фиксация на атомной энергетике, но, видимо, время было такое — романы написаны в сороковых и пятидесятых годах прошлого века. P. P. S. В комментариях еще пачка рекомендаций от уважаемых читателей.
❤ 8 👍 5 💘 1 Перейти к публикации →
Руководителям: вставляйте градусники в коллег Это очередной пост из серии «Васян познает мир». Приготовьтесь к байке и максимально очевидным вещам. Как-то я был на сборах. Сборы отличаются от обычных тренировок большей интенсивностью и большим объемом. На сборах ты только и делаешь, что тренируешься утром, ешь, спишь, тренируешься вечером, ешь и снова спишь. К концу недели накапливается усталость и разбитость, поэтому последние тренировки недели всегда «на зубах». Пятница, тяжелая утренняя. Тренер проводит ее с нами, а после отваливается: мол, вечером езжайте в «другой зал с любителями», а у меня дела. Пятница, вечерняя. Мы в «другом зале с любителями». Любители оказываются почти профессионалами и тяжами, которые мастерски мудохают нас до головокружения и тошноты. Пятница, ночь. «Любители» подкидывают нас до тренера. Мы с трудом выползаем из машины и видим тренера на летней площадке, запихивающего в себя огромный бургер класса «Разорви лицо». Все, что мне хотелось сделать в этот момент — это заорать: — Пока ты тут бургеры ешь, нас там У-БИ-ВА-ЛИ! При этом умом я понимал, что это бессмыслица. Он же ничего нам не обещал, заранее предупредил. Откуда тогда такая реакция? Ответ нашелся спустя полгода. Знакомый программист обронил, что, когда он устал и выгорел, то уже перед встречей знает, что ни на что не согласится, все предложения и замечания воспримет в штыки, не взирая на лесть, уговоры и разумные доводы менеджера. То есть наше физическое, психическое и эмоциональное состояние окрашивает поступки и слова других людей, влияя на принятие решений. Отсюда получаем: Команда максимально задолбана к концу спринта. Менеджер постит фотку с ноутбуком на пляже. Сколько комментариев «Ненавижу тебя» он наберет? Сеньор-разработчик выгорел в труху от третьего месяца без выходных. Ведущий дизайнер радостно рассказывает ему, как все выходные проиграл в ремейк Resident Evil. Какова вероятность, что при следующей пачке изменений в дизайне сеньор воспримет их с энтузиазмом? Дежурного разработчика, вытащенного с больничного ради хотфиксов из-за блокировок ТГ, CTO приглашает на встречу в 23:00, на которой нужно СРОЧНО обсудить проблему, затрагивающую трех клиентов. Какой уровень вовлеченности стоит ожидать от него? Да, есть стальные рациональные и проработанные ребята, но большинство людей не такие. Большинство людей в таких ситуациях бесятся, завидуют и ненавидят. Каждый такой эпизод добавляет трещинку в отношения, и со временем человек начинает «агриться» на любое слово руководителя. Поэтому, кажется, что одна из задач хорошего руководителя — втыкать в людей «градусники», оценивать и учитывать их состояние в работе, вовремя замечать «жар» и отправлять людей на восстановление.
❤ 16 👍 9 🥰 3 · всего 33 Перейти к публикации →
Книги, которые я прочитал в феврале Маркетологи сказали мне, что нужно регулярно постить в канал, чтобы укреплять свой бренд, прогревать что-то там и привлекать больше клиентов. Поэтому рубрика с книгами возвращается. Февраль выдался максимально ублюдским…
🤝 9 ❤ 1 Перейти к публикации →
1 2 3 4 5

Другие каналы категории