Обновить
12
Виктор Павлович Гришко@Yeah

Пользователь

16
Подписчики
Отправить сообщение

Так ведь squash как раз и дает читабельность истории.


Вот как у нас было до squash

image


Вот, как у нас стало

image

смушает git push --force. рано или поздно этим можно разрушить репозиторий

git reflog

Вас никто не заставляет заходить в фичеветки — смотрите мерж-коммиты

Commit Hell

image


Это тестовый пример обратной реинтеграции изменений без rebase. 3 разработчика работали в 3 ветках и периодически подтягивали изменения друг-друга при помощи merge. Внимательный читатель несомнено обратит внимание на то, что в данном commit hell'е непосредственно в ветку merge-rebase-3 сделан один (ОДИН!) коммит.

Я очень против «чистоты истории коммитов», удаления мердженных фича-веток, ребейза, переписывания истории (вообще фу). Причина этому одна — я не вижу никаких плюсов для этого на практике.

Напоминает религиозные страхи. А на самом деле.


  1. Одно из главных правил git — commit frequently (комитьтесь чаще). Пачка из 100+ коммитов в develop ветке — отличный подарок всем, кто в отличие от вас хотят читать историю.
  2. Набор коммитов в фича-ветке — это мысли разработчика при работе над фичей. На кой черт мне нужно читать потом в главной ветке весь этот поток сознания?
  3. Неудаление смердженных веток — это вообще аут. У нас сейчас в JIRA id тасков перевалило за 4700. По-вашему у меня в репозитории должно быть 4700 старых веток?
  4. Представьте ситуацию: я ваш заказчик, вы имеете в develop ветке фичи: 1 (13 коммитов), 2 (27 коммитов), 3 (5 коммитов), 4 (19 коммитов), 5 (2 коммита). Я прошу: задеплой мне прямо сейчас на прод фичи 3 и 5. Остальные — не нужно, я хочу протестировать их отдельно. Ваши действия?

переписывания истории (вообще фу)

Напомнило

Насколько я понял, Command не может влиять на состояние CommandBus (например, хендлить какие-то другие команды). Как в таком случае мне быть в таком случае:


  1. Читаем JSON файл с сервера и парсим (ReadFileFromServerCommand)
  2. В файле содержатся имена других файлов для парсинга (например next, prev). По идее я должен создать новую команду ReadFileFromServerCommand с новыми аргументами и засунуть ее в CommandBus. Но я не могу из комманды влиять на состояние CommandBus.
  3. Копать в сторону EventBus или что-то еще?

За статью, большое спасибо

CommandBus — частный случай EventSubscriber. В CommandBus всегда 1 обработчик, а в EventSubscriber — любое число обработчиков (в т.ч. — 0). То есть CommandBus гарантирует а) что кто-то обработает вашу команду, б) что ее обработают не более 1 раза
> 5. Плюсы SimpleBus — помимо command bus есть еще и event bus.

Уже есть и в Tactician
Американский стиль делового общения: наиболее мягкие формулировки, похвала, вопросы вместо утверждений, и т.д.

Было когда-то на Хабре
Sublime просто пишет во временный файл при каждом действии, так что даже если во время работы мигнет свет или еще что, то файл не потеряется. А в VS ни один из вариантов этого не даст. Разве что autoSaveDelay ставить в 1
Блин, ну туплю.
А у меня в 1.0.435.42 Alt-Tab глючит. Иногда Vivaldi принудительно забирает фокус на себя. Бесит, аж жуть. У кого-то такое было???
UP: Таки не я один.
Одно непонятно: почему карма считается отдельно?
Я тупой… :(
Правила, технологии, интернеты, спутники… А Коста Конкордия в 100 метрах от берега чвякнулась и 32 человека на небеса отправились. А если бы в 200 метрах? Половина пассажиров пузыри пустила бы?
или 3ая система изменил данные в БД прямую

Кто такая эта "Зая"? Я бы не советовал пускать Зай и Мась в продакшн :)
Прирост производительности = Время отклика без кэширования/Время отклика с кэшированием = 1589/6 что приблизительно в 265 раз быстрее или прирост производительности = ((Время отклика без кэширования- Время отклика с кэшированием)/ Время отклика с кэшированием * 100) приблизительно на 26 383% быстрее.

Выглядит круто, но статья про L2 кэш, а вычисления для случая, когда L1 также пуст. В реальности же увеличение производительности не будет больше, чем число нод. А если еще и sticky-session использовать, то того меньше.
Про эту либу слышал, сама по себе ссылка не приоткрывает завесу тайны, но пошел там по ссылкам и нашел-таки реальный пример!!! Так что спасибо за наводку
Извините, представить получается с трудом. Если система не работает с какими-то данными, то это мертвые данные — зачем они нужны? Если ваш тест не покрывает какую-то функциональность, а работа с такими данными ведется, то это неполный тест — толку от такого нет.
Вот например Там есть код теста. Реально они тупо проверяют assertInstanceOf
Ваш пример имеет право на жизнь, но честно говоря я ожидал немного иного примера. Обычно Faker приводится в контексте юнит-тестирования. Вот как это прикрутить к юнит-тестам, я понять не могу. Во всех примерах (тот же Laravel) обычно пишут, вот смотрите: вы можете создать модель User и заполнить ее реальными данными. Ну ок, и чё??? Получается, что никакие assertEquals не подходят, ибо данные сгенерированы случайно. То есть максимум, что я могу проверить — какую-нибудь логику валидации, что например я передал в setEmail корректный email или нет, что имя пользователя длиннее 5 символов или нет. Но только для такого применять здоровенную библиотеку… Не знаю, мутно как-то...

Информация

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