Так, ну я официально фанат https://linear.app/
Кроме того, что выглядит красиво и есть интеграция с github из коробки (при этом там есть настройка через ключевые слова в описании PR-ов, и это позволяет не просто закрыть тикет, но и оставить его незакрытым, если ты знаешь, что у тебя будет несколько веток в задаче).
Я разобралась как делать кастомные views. И это в каком-то роде бомба.
Когда не надо подсаживать типа на конкретный формат "доски", когда можно спокойно и быстро сделать несколько вьюшек для одного проекта и они будут персонализированными. То есть условный лид или проджект менеджер могут настроить себе kanban колоночки, а люди, которых это отвращает, могут использовать ту вьюху, которая им удобна. По дефолту это просто список задач с приоретизацией по их статусам.
Ретроспективно я думаю, что на одной из прошлых работ эта последняя фича очень бы зашла.
Мигриться я никого не призываю. Потому что не в курсе сравнения цен.
Да, я разобралась почему у меня не все задачи отображались при переносе github projects - linear (почти все ушло в архив почему-то), но не знаю, как будет вести себя миграция тикетов на больших объемах.
⭐️ отличная интеграция с PR-ами в github, которая сразу работает, так как надо (и ты не сношаешься в попытках все настроить нормально) ⭐️
Кроме того, что выглядит красиво и есть интеграция с github из коробки (при этом там есть настройка через ключевые слова в описании PR-ов, и это позволяет не просто закрыть тикет, но и оставить его незакрытым, если ты знаешь, что у тебя будет несколько веток в задаче).
Я разобралась как делать кастомные views. И это в каком-то роде бомба.
Когда не надо подсаживать типа на конкретный формат "доски", когда можно спокойно и быстро сделать несколько вьюшек для одного проекта и они будут персонализированными. То есть условный лид или проджект менеджер могут настроить себе kanban колоночки, а люди, которых это отвращает, могут использовать ту вьюху, которая им удобна. По дефолту это просто список задач с приоретизацией по их статусам.
Ретроспективно я думаю, что на одной из прошлых работ эта последняя фича очень бы зашла.
Мигриться я никого не призываю. Потому что не в курсе сравнения цен.
Да, я разобралась почему у меня не все задачи отображались при переносе github projects - linear (почти все ушло в архив почему-то), но не знаю, как будет вести себя миграция тикетов на больших объемах.
⭐️ отличная интеграция с PR-ами в github, которая сразу работает, так как надо (и ты не сношаешься в попытках все настроить нормально) ⭐️
linear.app
Linear – Plan and build products
Linear streamlines issues, projects, and roadmaps. Purpose-built for modern product development.
На позапрошлой неделе произошли сразу две вещи, которые напомнили мне о важности принципа “подстелить соломку”.
Во-первых, впервые за 13 лет лег Braze (платформа для маркетинговый инструментов всяких и менеджментом рассылки сообщений по все возможным каналам). И лег он на 11 часов.
Сам постмортем достаточно интересно написан. Оказывается, что 29 апреля некорректно произошло перенаправление трафика с поломавшегося свича. И все упало, абсолютно все.
А хорошо не стало, когда починили эту проблему, из-за Монги. Такие дела.
Во-вторых, Google случайно удалил аккаунт в google cloud Пенсионного фонда из Австралии. Бывают и такие случайности. Кто на проде деньги не факапил?
За пенсионеров вроде бы волноваться не стоит, т.к. UniSuper сообщили, что начали восстанавливать данные из бекапов. Искренне надеюсь, что там все получилось, и пенсионеры не останутся без денег.
В обоих случаях повалилась интеграция с сервис провайдером. Даже так: с надежным сервис провайдером. И это знак свыше, что даже если мы доверяем и рассчитываем на безотказность стороннего сервиса, который поддерживает репутацию надежного, то стоит заняться минимальным риск-менеджментом и подумать, а что будет, если с этим сервисом что-то случится.
Если не реализовывать дублирующую страхующую функциональность, то хотя бы иметь под рукой план, который позволит в менее нервном режиме решить проблему.
Лучший пример, конечно, был в самом начале covid’19. Детали я забыла, но chatGPT мне подсказывает (т.е. возможно, что меня обманули), что именно BlackRock в самом начале эпидемии лучше всего среагировала на все происходящее. Потому что заранее подготовила сценарии поведения для всевозможных кризисов.
К таким глобальным событиям нам обычно готовиться не надо. Но кажется, что стоит подумать, как можно будет быстро компенсировать, допустим, отвалившееся API каких-нибудь карт, если вы только на его основании собираете адрес для доставки товара пользователю.
Во-первых, впервые за 13 лет лег Braze (платформа для маркетинговый инструментов всяких и менеджментом рассылки сообщений по все возможным каналам). И лег он на 11 часов.
Сам постмортем достаточно интересно написан. Оказывается, что 29 апреля некорректно произошло перенаправление трафика с поломавшегося свича. И все упало, абсолютно все.
А хорошо не стало, когда починили эту проблему, из-за Монги. Такие дела.
Во-вторых, Google случайно удалил аккаунт в google cloud Пенсионного фонда из Австралии. Бывают и такие случайности. Кто на проде деньги не факапил?
За пенсионеров вроде бы волноваться не стоит, т.к. UniSuper сообщили, что начали восстанавливать данные из бекапов. Искренне надеюсь, что там все получилось, и пенсионеры не останутся без денег.
В обоих случаях повалилась интеграция с сервис провайдером. Даже так: с надежным сервис провайдером. И это знак свыше, что даже если мы доверяем и рассчитываем на безотказность стороннего сервиса, который поддерживает репутацию надежного, то стоит заняться минимальным риск-менеджментом и подумать, а что будет, если с этим сервисом что-то случится.
Если не реализовывать дублирующую страхующую функциональность, то хотя бы иметь под рукой план, который позволит в менее нервном режиме решить проблему.
Лучший пример, конечно, был в самом начале covid’19. Детали я забыла, но chatGPT мне подсказывает (т.е. возможно, что меня обманули), что именно BlackRock в самом начале эпидемии лучше всего среагировала на все происходящее. Потому что заранее подготовила сценарии поведения для всевозможных кризисов.
К таким глобальным событиям нам обычно готовиться не надо. Но кажется, что стоит подумать, как можно будет быстро компенсировать, допустим, отвалившееся API каких-нибудь карт, если вы только на его основании собираете адрес для доставки товара пользователю.
Braze
The April 29 Braze Outage: What Happened, Why It Occurred, and How…
Braze suffered a major outage associated with our US clusters on April 29, 2024. To help our customers better understand what happened, Braze Cofounder and CTO Jon Hyman explores the causes of the outage and lays out how future issues will be prevented.
Для меня неожиданным оказалось следующее поведение в pydantic выше 2.6.4:
У пайдентик класса, который наследуется от BaseModel есть классовый метод
Еще из нового в v2 ввели анотацию
И вот для декоратора я, конечно, плохо прочитала доки, поэтому почти везде функции валидации не возвращали ничего.
Соответственно
Понадобилось много времени, чтобы понять, что если я пытаюсь отвалидировать модель, для которой есть функция с
Урок: если тебе дают сделать штуку, которая выглядит не очень, это не значит, что все будет работать как швейцарские часы!
У пайдентик класса, который наследуется от BaseModel есть классовый метод
model_validate()
. Возвращает он, как написано, The validated model instance.
если все успешно обработалось. Если что-то пошло не так, то мы получим ValidationError.Еще из нового в v2 ввели анотацию
@model_validator
, которая позволяет удобнее писать кастомные правила для валидации модели.И вот для декоратора я, конечно, плохо прочитала доки, поэтому почти везде функции валидации не возвращали ничего.
Соответственно
model_validate()
я использовала, чтобы получить объект класса и работать уже с ним, а не с dict.Понадобилось много времени, чтобы понять, что если я пытаюсь отвалидировать модель, для которой есть функция с
@model_validator
(которая возвращает н и ч е г о), то поэтому и model_validate()
мне вернет None.Урок: если тебе дают сделать штуку, которая выглядит не очень, это не значит, что все будет работать как швейцарские часы!
Внимание вопрос, а как так можно хранить резервные копии БД, что их тоже пожрет вирь? 🤔
То есть я не очень глубоко знаю тему. И почитала бы что-то про лучшие и худшие практики:
- где хранить
- как часто снепшотать
- что есть по вариантам накатки
То есть я не очень глубоко знаю тему. И почитала бы что-то про лучшие и худшие практики:
- где хранить
- как часто снепшотать
- что есть по вариантам накатки
Forwarded from ND - Новости Дня
СДЭК взломали. Проукраинская хакерская группировка взялась на себя ответственность за это
Выяснилось, что хакеры из Head Mare зашифровали все базы данных службы доставки и не выдвинули никаких требований. Резервные копии делались раз в полгода и они тоже зашифрованы вирусом. Служба доставки не работает уже три дня.
Утром 28 мая СДЭК объявила, что пока "не готова возобновить обслуживание": "В течение понедельника мы значительно продвинулись в восстановлении полноценной работы, но, к сожалению, не готовы возобновить техническое обслуживание. Команда СДЭК приносит искренние извинения всем клиентам, ожидания мы не оправдали".
Новости Дня
Выяснилось, что хакеры из Head Mare зашифровали все базы данных службы доставки и не выдвинули никаких требований. Резервные копии делались раз в полгода и они тоже зашифрованы вирусом. Служба доставки не работает уже три дня.
Утром 28 мая СДЭК объявила, что пока "не готова возобновить обслуживание": "В течение понедельника мы значительно продвинулись в восстановлении полноценной работы, но, к сожалению, не готовы возобновить техническое обслуживание. Команда СДЭК приносит искренние извинения всем клиентам, ожидания мы не оправдали".
Новости Дня
Я тут дожала себя и опубликовала статью про то как ревьюить код 😄
Получилось много и без картинок. Зато я потренировалась в английском писменном и у меня были потрясные ревьюеры.
Как говорится, мне нужны ваши лайки и просмотры 💜 (я правда считаю, что вышло неплохо)
https://dev.to/nadia/how-to-review-as-a-pro-59a0
Получилось много и без картинок. Зато я потренировалась в английском писменном и у меня были потрясные ревьюеры.
Как говорится, мне нужны ваши лайки и просмотры 💜 (я правда считаю, что вышло неплохо)
https://dev.to/nadia/how-to-review-as-a-pro-59a0
DEV Community
How to review as a Pro
There is some dispute about whether it is worth having a code review as a step inside the development...
Если публиковать в посте 2 картинки, то будет 3 поста. Ну, спасибо, телеграм, от души, конечно………..
Вот енто юзабилити.
Вот енто юзабилити.
Что-то для меня неприятной неожиданностью оказалось, что применение к темплейту date в wiremock формата epoch как-то завязано на время выполнения запроса и будет различаьтся, если одно и тоже значение форматить в разный момент времени 😒
Занята тем, что придумываю костыли для такой ситуации.
Занята тем, что придумываю костыли для такой ситуации.
Ничего себе.
https://x.com/lcasdev/status/1810696257137959018?t=1bDw_nKXK4705nRPlJ6K0Q&s=19
Еще, как я поняла из твита
Google Chrome gives all *.google.com sites full access to system / tab CPU usage, GPU usage, and memory usage
https://x.com/lcasdev/status/1810696257137959018?t=1bDw_nKXK4705nRPlJ6K0Q&s=19
Еще, как я поняла из твита
@xnimorz
в edge такая же беда.X (formerly Twitter)
Luca Casonato 🏳️🌈 (@lcasdev) on X
So, Google Chrome gives all *.google.com sites full access to system / tab CPU usage, GPU usage, and memory usage. It also gives access to detailed processor information, and provides a logging backchannel.
This API is not exposed to other sites - only to…
This API is not exposed to other sites - only to…
Интересно, конечно, как форма подачи запроса влияет на желание его исполнять.
Вот есть вопрос для дискуссии, но задан он в формате «вы мне докажите, что я не прав, потому что на моем опыте я прав, и не видел других рабочих вариантов, которые бы подтверждали другой полюс».
И первое мое желание пойти и что-то написать. А потом я себя остановила: зачем идти и доказывать человеку, что ты не верблюд. Раз у него такое стойкое убеждение, а форма записи все же подразумевает: вы меня переубедить не сможете, потому что я-то больше вашего знаю.
Видимо, так выглядит старость и отсутствие желания бороться с мельницами.
Вот есть вопрос для дискуссии, но задан он в формате «вы мне докажите, что я не прав, потому что на моем опыте я прав, и не видел других рабочих вариантов, которые бы подтверждали другой полюс».
И первое мое желание пойти и что-то написать. А потом я себя остановила: зачем идти и доказывать человеку, что ты не верблюд. Раз у него такое стойкое убеждение, а форма записи все же подразумевает: вы меня переубедить не сможете, потому что я-то больше вашего знаю.
Видимо, так выглядит старость и отсутствие желания бороться с мельницами.