Slow QA
108 subscribers
33 photos
1 video
32 links
Download Telegram
Дамы и господа, когда вы делаете лок региона на контент и через впн тоже все лочите, вы, пожалуйста, делайте так, что можно хотя бы без саппорта подписку кансельнуть :)

То есть казалось бы, что это очевидная штука!

PS зато пообщалась с оч милым саппорт гаем Кетавани ^_^
Так, ну я официально фанат https://linear.app/

Кроме того, что выглядит красиво и есть интеграция с github из коробки (при этом там есть настройка через ключевые слова в описании PR-ов, и это позволяет не просто закрыть тикет, но и оставить его незакрытым, если ты знаешь, что у тебя будет несколько веток в задаче).

Я разобралась как делать кастомные views. И это в каком-то роде бомба.
Когда не надо подсаживать типа на конкретный формат "доски", когда можно спокойно и быстро сделать несколько вьюшек для одного проекта и они будут персонализированными. То есть условный лид или проджект менеджер могут настроить себе kanban колоночки, а люди, которых это отвращает, могут использовать ту вьюху, которая им удобна. По дефолту это просто список задач с приоретизацией по их статусам.

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

Мигриться я никого не призываю. Потому что не в курсе сравнения цен.
Да, я разобралась почему у меня не все задачи отображались при переносе github projects - linear (почти все ушло в архив почему-то), но не знаю, как будет вести себя миграция тикетов на больших объемах.

⭐️ отличная интеграция с PR-ами в github, которая сразу работает, так как надо (и ты не сношаешься в попытках все настроить нормально) ⭐️
От кого я не ожидала такого, так это от гугла.
При этом это еще немного плавющий баг.
Правда, я firefox использую. Но не думаю, что это является оправданием для гигантской корпорации плохо верстать!
С одной стороны, я понимаю, что это мало популярный функционал. С другой стороны, мне это не нравится.
XCode - инструмент сотоны.

UPD. Конечно, во всем виновато command line tools
На позапрошлой неделе произошли сразу две вещи, которые напомнили мне о важности принципа “подстелить соломку”.

Во-первых, впервые за 13 лет лег Braze (платформа для маркетинговый инструментов всяких и менеджментом рассылки сообщений по все возможным каналам). И лег он на 11 часов.
Сам постмортем достаточно интересно написан. Оказывается, что 29 апреля некорректно произошло перенаправление трафика с поломавшегося свича. И все упало, абсолютно все.
А хорошо не стало, когда починили эту проблему, из-за Монги. Такие дела.

Во-вторых, Google случайно удалил аккаунт в google cloud Пенсионного фонда из Австралии. Бывают и такие случайности. Кто на проде деньги не факапил?

За пенсионеров вроде бы волноваться не стоит, т.к. UniSuper сообщили, что начали восстанавливать данные из бекапов. Искренне надеюсь, что там все получилось, и пенсионеры не останутся без денег.
В обоих случаях повалилась интеграция с сервис провайдером. Даже так: с надежным сервис провайдером. И это знак свыше, что даже если мы доверяем и рассчитываем на безотказность стороннего сервиса, который поддерживает репутацию надежного, то стоит заняться минимальным риск-менеджментом и подумать, а что будет, если с этим сервисом что-то случится.
Если не реализовывать дублирующую страхующую функциональность, то хотя бы иметь под рукой план, который позволит в менее нервном режиме решить проблему.

Лучший пример, конечно, был в самом начале covid’19. Детали я забыла, но chatGPT мне подсказывает (т.е. возможно, что меня обманули), что именно BlackRock в самом начале эпидемии лучше всего среагировала на все происходящее. Потому что заранее подготовила сценарии поведения для всевозможных кризисов.


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

У пайдентик класса, который наследуется от BaseModel есть классовый метод model_validate(). Возвращает он, как написано, The validated model instance. если все успешно обработалось. Если что-то пошло не так, то мы получим ValidationError.

Еще из нового в v2 ввели анотацию @model_validator, которая позволяет удобнее писать кастомные правила для валидации модели.

И вот для декоратора я, конечно, плохо прочитала доки, поэтому почти везде функции валидации не возвращали ничего.

Соответственно model_validate() я использовала, чтобы получить объект класса и работать уже с ним, а не с dict.
Понадобилось много времени, чтобы понять, что если я пытаюсь отвалидировать модель, для которой есть функция с @model_validator (которая возвращает н и ч е г о), то поэтому и model_validate() мне вернет None.

Урок: если тебе дают сделать штуку, которая выглядит не очень, это не значит, что все будет работать как швейцарские часы!
Внимание вопрос, а как так можно хранить резервные копии БД, что их тоже пожрет вирь? 🤔

То есть я не очень глубоко знаю тему. И почитала бы что-то про лучшие и худшие практики:
- где хранить
- как часто снепшотать
- что есть по вариантам накатки
Новость!
СДЭК взломали. Проукраинская хакерская группировка взялась на себя ответственность за это

Выяснилось, что хакеры из Head Mare зашифровали все базы данных службы доставки и не выдвинули никаких требований. Резервные копии делались раз в полгода и они тоже зашифрованы вирусом. Служба доставки не работает уже три дня.

Утром 28 мая СДЭК объявила, что пока "не готова возобновить обслуживание": "В течение понедельника мы значительно продвинулись в восстановлении полноценной работы, но, к сожалению, не готовы возобновить техническое обслуживание. Команда СДЭК приносит искренние извинения всем клиентам, ожидания мы не оправдали".

Новости Дня
Вот это релиз ноте. А уязвимость мы тут какую фиксим, депендабот, а?
Я тут дожала себя и опубликовала статью про то как ревьюить код 😄
Получилось много и без картинок. Зато я потренировалась в английском писменном и у меня были потрясные ревьюеры.

Как говорится, мне нужны ваши лайки и просмотры 💜 (я правда считаю, что вышло неплохо)

https://dev.to/nadia/how-to-review-as-a-pro-59a0
Интересный баг (надеюсь, что это баг!!)
При переходе по ссылке на канал
https://www.youtube.com/@sportgpb
вместо короткого названия @sportgpb подставляется грузинское название канала. И отдается 404.
_Нормальная_ ссылка на канал выглядитвот так:
https://www.youtube.com/user/SportGPB
Если публиковать в посте 2 картинки, то будет 3 поста. Ну, спасибо, телеграм, от души, конечно………..
Вот енто юзабилити.
Что-то для меня неприятной неожиданностью оказалось, что применение к темплейту date в wiremock формата epoch как-то завязано на время выполнения запроса и будет различаьтся, если одно и тоже значение форматить в разный момент времени 😒

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

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

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

Видимо, так выглядит старость и отсутствие желания бороться с мельницами.
Надоела карма.