Pull to refresh
83
-7

лол, кек, чебурек

Send message

Возникла та же мысль. Решил попробовать. Вышло так:

let active = null;
document.querySelectorAll('.draggable')
  .forEach(element => {
    element.addEventListener('mousedown', (event) => {
      active = { event, element };
    });
    element.addEventListener('mouseup', () => {
      active = null;
    });
  });
document.addEventListener('mousemove', (event) => {
  if (!active) return;
  active.element.style.left = (event.x - active.event.offsetX) + 'px';
  active.element.style.top = (event.y - active.event.offsetY) + 'px';
});

git сохраняет информацию о событие слияния веток. Если ветка подписана номером задачи, то можем посчитать разницу. Например:

2021-06-08>Ivan>ivanov@mail.com>JIRA-476 feat(Excel): add typograf for text on Approving page, refactor Approve list item
2021-06-11>Mikhail>mikhail@mail.kz>Merge pull request #189 in ACRQ/acrq-frontend from feature/JIRA-476-Add-typograf-for-text-on-Approving-page to master

Смотрим на вторую строку. Она имеет маркировку "Merge pull request...", а далее написано название ветки. Из этого названия "feature/JIRA-476-Add-typog..." мы можем узнать номер задачи (JIRA-476).

Теперь смотрим прошлые строки и находим ближайшую, которая подписана номером этой задачи. В нашем случае это строка 1, т.к. её текст "JIRA-476 feat(Excel): add..."

Т.к. в логе есть дата обоих событий, мы можем посчитать разницу между ними. Но, т.к. это "время ожидания влития" мы не знаем причину, по которой ветка не вливалась (т.к. не известно когда был создан PR и были ли к нему замечания). Причины могут быть такие:

  1. PR висел и ждал апрувов. Их ставили очень медленно, но без замечаний.

  2. PR можно влить, только если прошла сборка кода. Но скрипт сборки не работал.

  3. О задаче просто забыли и PR никто не создал.

  4. PR ожидал подтверждения тестировщика, но у него была большая очередь других задач.

  5. Влитие кода отложили по бизнес причинам

  6. и т.д.

Вся эта схема сработает только если в команде есть жесткие правила по именованию веток и коммитов.

Рабочая во всех описанных тобой случаях и не будет иметь ни одной описанной проблемы. А причина проста - стата только по логу гита и только учитывая влитые коммиты. Это взгляд в прошлое от текущей ветки. Все события уже произошли на момент снятия лога.

Делая локальные коммиты - ты все равно фиксируешь время. Делая последний коммит перед мержом - ты снова фиксируешь время.

Стата не покажет не влитые ветки и текущие PR, все остальное будет на месте.

С первоначальной задачей? Справился.

Я пишу инструмент для визуализации вывода git log. Проблема менеджеров им не решается. Странные KPI - это следствие работы косых менеджеров, а не инструмента визуализации.

Например, отчёт выводит "самые популярные слова" или ачивку за самое длинное / короткое имя на проекте, или можно посмотреть кто больше коммитит до обеда, а кто после.

да, полностью согласен

Оно считает с той ветки, где стоишь. Парсит только git log, т.к. сам отчет это просто HTML а входные данные для него формирует этот самый git log. Не влитые ветки учтены не будут.

Поэтому ежедневный мониторинг KPI не про этот отчёт. Нужна какая-то стабильная ветка с множеством влитий и большой период времени (например, ветка релиза, или мастер) на которой можно смотреть глобальную стату прошлого.

Тут не спорю и согласен. Это было вступление о том как менеджеры у нас вообще в паралельном мире. Я сам не его лид, а первый раз взаимодействовал с ним уже в районе интеграции.

Отчет в этом случае так же не особо имел бы пользу, т.к. проблема в адовой бюрократии

В данном случае чувак может сказать "исследую", а не "код написал, отправил на тест". Тот который "ссал в уши" он именно говорил что код готов, а вопросы возникли в момент интеграции, когда оказалось, что кода не было.

Не понятно по какому показателю. Ведь и тот и тот сделал по одной задаче за одной и то же время.

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

Нет.

Про КПИ уже выше писал, что это бред. Даже заголовок сделал "дефективный менеджер"

Про пару коммитов в монолите — тут на длинных отрезках нужно смотреть. Думаю если взять отрезок пол-года..год то там будет некое "среднее", которое не будет меняться и будет больше 3 комитов в спринт. Во вторых, как и писал выше, в разных конторах разные ситуации. Возможно для данной конторы и проекта это норма. Как и написал выше "невозможно сделать вывод не зная проекта"

Платные подписки на контент в каналах, с несколькими уровнями доступа. Например:

  • скрытые посты для 1 уровня;

  • возможность оставить комменты для 2 уровня;

  • персональные ответы автора для 3 уровня;

Отличная статья! Жаль пропустил её выход и не плюсанул вовремя.

<сарказм>
for(var i = arr.length - 1, total = 0; i > -1; i--, total += predicate(arr[i]));

console.log(total);
</сарказм>
наша система может защищать личные данные и вычисления, загруженные в облако, с математическими гарантиями

А по факту потом данные утекут через какую-нибудь XSS дырку или закладку АНБ. Вообще после всех историй о дырках и взломах всего, странно давать 100% гарантии.
Поддержу. Так же во Vue стили загнаны в отдельную секцию вне JS, а не как строки в объекте.
Есть какая-то более практичная задача, чем перемножение массивов (которое только в 3D графике в основном)? Например, работа с DOM или создание множества сложных компонентов на angular? То, что реально встречается в проектах? Может обход и поиск в больших деревьях?
Краснодарский край вполне мог вытянуть. Там ЕГЭ начался раньше, чем по все России (эксперимент с 2005 кажется). Я сдавал в 2006 и много занимался у репетиторов (там же, на Кубани). Мы еще в 2006 каждый месяц пробники по математике писали. Но коррупция вообще там тоже есть и она высока. ЕГЭ как раз её сократил и вставил палки в колёса. (в целом с вашими взглядами согласен, но конкретно данный факт считаю некорректным)
1
23 ...

Information

Rating
Does not participate
Registered
Activity