• DataGrip 2020.2: редактор больших значений, предпросмотр SQL при редактировании, новое отображение ячеек bool и другое
    0
    Ещё заметил, что DateTime64(precision) пока что не поддерживается.
  • DataGrip 2020.2: редактор больших значений, предпросмотр SQL при редактировании, новое отображение ячеек bool и другое
    0
    при помощи автодополнения и генерации написать запрос можно даже быстрее

    Что-то не совсем понял ответ. Как мне в режиме просмотра таблицы отфильтровав нужные записи по дате сгруппировать их по выбранному полю быстрее чем просто выбрать это поле из выпадающего списка? Я если честно не знаю даже как это сделать медленнее, кроме как перейти из режима просмотра таблицы в новую sql-консоль и написать там с нуля мой запрос со всеми фильтрами и потом уже добавить в него группировку. Но это не то что «быстрее», это очень очень долго.
  • DataGrip 2020.2: редактор больших значений, предпросмотр SQL при редактировании, новое отображение ячеек bool и другое
    0
    Не помню, когда мне последний раз приходилось смотреть данные бд через датагрид. Без простейшей группировки такой интерфейс для меня совершенно не удобен. На каждый чих приходится писать sql-запрос вместо того чтобы просто мышкой пару раз нажать. Пришлось отказаться.


  • Авторам! [именно так: в дательном падеже и с восклицанием]
    +1
    Теперь-то в дательном, но вашему комментарию про родительный падеж уже кто-то поставил минус.
    Надо было вам добавить цитату:
    Авторам! [именно так: в родительном падеже и с восклицанием]

    Потому что контекст поменялся и те кто читают ваш комментарий уже не понимают к чему это было.
    olegborzov вообще выпилил свой комментарий, чтобы лишний раз не попасть под раздачу.
    PS: до последнего думал, что это не опечатка, а такой «ход» для привлечения внимания иначе бы сразу в личку написал.
  • Авторам! [именно так: в дательном падеже и с восклицанием]
    +1
    Вот-вот, теперь почему-то исправлено на:
    Авторам! [именно так: в винительном падеже и с восклицанием]
  • Авторам! [именно так: в дательном падеже и с восклицанием]
    0
    Возможно имелось ввиду «Автора», но потом что-то пошло не так.
  • Общий обзор архитектуры сервиса для оценки внешности на основе нейронных сетей
    0
    Спасибо за развёрнутый ответ.
  • Общий обзор архитектуры сервиса для оценки внешности на основе нейронных сетей
    +7
    Итоги моего эксперимента.

    Алгоритм на первое место ставит толирантность и политкорректность:
    самая страшная женщина мира — 9,15
    трансвистит — 8,47
    чернокожая женщина — 7,21
    мисс вселенная — 5,78

    PS: зато не засудят :)
    PPS: за статью всё равно спасибо, особенно за телеграмм-бота. Всем бы так делать демки. Ловите 3 плюса.
  • Общий обзор архитектуры сервиса для оценки внешности на основе нейронных сетей
    +1
    Это просто у самой страшной теперь разрешение фотки ниже :)
    нашёл большее разрешение... угадайте оценку :)

  • Общий обзор архитектуры сервиса для оценки внешности на основе нейронных сетей
    0
    Причём если просто мужиков загружать, то оценка не выставляется. А здесь его на стене нашло и оценило :)
  • Общий обзор архитектуры сервиса для оценки внешности на основе нейронных сетей
    +3
    Ок, взял фотку с википедии побольше.
    оценка стала лучше аж на ... на 10%!


    Есть подозрение, что более высокую оценку получают более «глянцевые» фотки, а не более красивые лица.
  • Общий обзор архитектуры сервиса для оценки внешности на основе нейронных сетей
    +4
    Тоже стало интересно, поэтому загуглил «самая красивая девушка» — нашёл мисс вселенную и загуглил «самая страшная девушка» — нашёл рекордсменку из книги рекордов Гиннесса (но это не точно).
    Ну вы наверно уже сами догадались насколько круто и точно работает алгоритм



    UPDATE: ааа, я понял, простите, что не сразу догадался
    #BlackLivesMatter


    трансвистит


    Тестируем дальше:
    путин женщина мем
    8.38

    медведев-женщина фейс ап
    6.93
  • Профилирование. Отслеживаем состояние боевого окружения с помощью Redis, ClickHouse и Grafana
    0
    У меня из коробки работала графана 7.0.5 с кх плагином 1.9.3.
    Но я сейчас решил обновить кх плагин и приплыли :)
    Всё опять заработало после добавления «allow_loading_unsigned_plugins=vertamedia-clickhouse-datasource» в grafana.ini, а также появились алерты, а раньше приходилось дублировать графики в mysql-плагин и настраивать алерты там.
  • Профилирование. Отслеживаем состояние боевого окружения с помощью Redis, ClickHouse и Grafana
    0
    Если установили grafana 7+, то ClickHouse работать не будет.
    Около месяца назад в ClickHouse-плагине появилась поддержка grafana 7.
    У меня графана 7.0.5, кх работает.
  • FAISS: Быстрый поиск лиц и клонов на многомиллионных данных
    0
    Большое спасибо за статью. Недавно в статье Как помнить всех в лицо, или эффективный поиск лиц в большой базе про Faiss и Annoy было упомянуто только в комментариях и я не уделил этой информации должного внимания. До этого момента я даже не догадывался, что благодаря Faiss можно не только уменьшить размер потребляемой памяти, но ещё и сильно уменьшить занимаемое место на диске.

    Но такой индекс всего с десятком миллионов векторов размерности 512 будет весить около 20Гб и занимать при использовании столько же RAM.
    315 миллионах векторов индекс занимает 22 Гб дискового пространства и около 3 Гб RAM при использовании.
    Я правильно понимаю, что использование «IVF262144, PQ64» помогло снизить размер данных на диске приблизительно в 30 раз, а потребление памяти в 200?
  • Собираем логи с Loki
    0
    Есть clickhouse plugin для графаны, а также кликхаус поддерживает mysql протокол.
    Пользуюсь и тем и другим.
  • Самый быстрый шаблонизатор для PHP
    0
    А ещё у вас из-за выбранного красивого шрифта названия очень трудно читаются.
    В следующий раз можете попробовать в google spreadsheets.
    Я там делаю, получается например вот так:

  • Самый быстрый шаблонизатор для PHP
    0
    Оказывается несколько дней назад рейтинги пересчитали. Я этого момента уже несколько месяцев жду. Очень круто, что workerman так высоко поднялся. С последнего пересчёта удалось ускорить в 2 раза, ну а spiral оказался даже ниже чем, я ему пророчил, в абсолютных цифрах то же самое, а в относительных — 31 место вместо 16.

    image

    Мы под это дело готовим Yii 3, результаты отличные.

    Было бы круто запускать yii3 под workerman из коробки. Сейчас у меня есть свой велосипед для запуска yii2 из под workerman, но его трудно поддерживать.
  • Как помнить всех в лицо, или эффективный поиск лиц в большой базе
    0
    Почему postgre (где сравнение с другими)?
    В статье действительно не хватает ссылок. О чём идёт речь поймёт только тот кто и так уже знает. Имеется ввиду cube. Он использует GiST индекс для нахождения ближайшей точки в n-мерном пространстве:
    SELECT c FROM test ORDER BY c <-> cube(array[0.5,0.5,0.5]) LIMIT 1
    Автор статьи же использует свою формулу расчёта ближайшей точки, потому его запрос скорее всего не использует индекс:
    ORDER BY sqrt(power(CUBE(array[{}]) <-> vec_low, 2) + power(CUBE(array[{}]) <-> vec_high, 2)) ASC

    Хотя запрос всё равно отрабатывает быстро, возможно оптимизатор постгреса перестраивает запрос для использования индексов.

    На мой взгляд cube — пожалуй единственное опенсурсное коробочное решение, которой просто поставил, запустил и всё заработало. Наверно поэтому автор и пишет, что это "+- сказка".
  • Comet — PHP-фреймворк для быстрых REST API
    0
    Кусочек конфига, определяющий количество воркеров
    Это воркеры nginx, а я про воркеры php-fpm:
    pm.max_children = 1024
    В вашем фреймворке:
    $worker->count = (int) shell_exec('nproc') * 4;
    т.е. в 4 раза больше чем ядер, поэтому мне было интересно сколько у вас было воркеров для пхп.
    Кстати, у них в тесте сейчас количество воркеров уменьшается с 1012 до 512, если ядер два:
    if [ $(nproc) = 2 ]; then sed -i «s|pm.max_children = 1024|pm.max_children = 512|g» /etc/php/7.4/fpm/php-fpm.conf; fi;
  • Comet — PHP-фреймворк для быстрых REST API
    0
    Да в убунте он включен по дефолту, это в центосе только почему-то решили сделать иначе.
    В принципе по графикам с латенси видно, что отличие всего в два раза.
    А на графиках rps такое большое отличие потому что в php-fpm было мало воркеров.
    Укажите пожалуйста сколько воркеров было использовано в тесте у comet и сколько у php-fpm.
    В принципе даже на TechEmpower Benchmarks
    видно, что workerman быстрее чистого php не более чем в 2 раза, ну и в 5 раз по сравнению с slim.
    А у вас workerman+slim получился в 7 раз быстрее чем просто slim. Т.е. во время тестов было указано недостаточное количество воркеров и php-fpm просто захлёбывался, оказавшись в неравных условиях.
    К слову, в TechEmpower Benchmarks чистый пхп добился таких высоких результатов, потому что они создают около 1000 воркеров. Из-за чего конечно сильно повышается расход оперативной памяти, но многие крупные проекты так и делают. Просто увеличивают количество воркеров. Память дешевле, чем переписывать весь код.
    Я использую workerman уже очень давно и он хорошо себя показывает на микросервисах без блокирующих операций, но что-то более менее серьёзное, что ходит в базу и т.д. уже не даёт почти никаких преимуществ, но сильно усложняет разработку и деплой, поэтому в проде я его использую только там, где мне максимум приходится использовать redis.
  • Comet — PHP-фреймворк для быстрых REST API
    0
    Я такой же «фреймворк» писал для yii2 и workerman. Тоже в два файла :)
    Тоже было огромное отличие в производительности, а потом заметил, что у меня op-cache не был установлен (оказалось что в centos это отдельный пакет). Установил op-cache и разница получилась всего в два раза. Возможно автор статьи тестировал с отключенным op-cache.
  • Моя прекрасная жаба
    0
    С другой стороны я и другая группа знакомых. Которые не пытались учиться на переводчиков. В результате, через год-два
    Я перечитал ваш комментарий два раза и что-то всё равно не понял, как именно вы учились, понял только как вы не учились.
    Можете парой предложений описать, что именно вы делали, вместо учёбы на переводчика?
  • «Утечка» базы специалистов Хабр Карьеры
    0
    Согласно GDPR пользователь владеет своими персональными данными (ПД), а сервис получает их только во временное пользование.
    Пользователь в любой момент имеет право сделать запрос в сервис для удаления своих ПД и сервис должен их удалить, а также проследить, что все его партнёры также удалили. Для этого сервис имеет право делиться только с теми представителями третьей стороны, которые подтвердили, что они работают согласно GDPR.
    Приведу, пару примеров:
    1. фейсбук передаёт ПД компании, которая соответствует GDPR. пользователь запрашивает удаление информации, фейсбук удаляет сам и передаёт реквест своим партнёрам — всё ок.
    2. фейсбук передаёт ПД компании, которая не соответствует GDPR и находится в канаде. пользователь запрашивает удаление информации, фейсбук удаляет, но третья сторона, которая также владеет ПД пользователя отказывается.
    фейсбук получает штраф, потому что он не имел права передавать данные пользователя третьей стороне, которые не работает по GDPR. также фейсбук должен оповестить пользователей, что их ПД теперь за пределами GDPR, т.е. произошла «утечка».

    Хабр не только не соответствует GDPR, но что гораздо хуже слишком легкомысленно относится к ПД, предоставляя к ним доступ по дефолту и ничего не видит в этом плохого.

    Что сейчас происходит в европе: если вы передаёте ПД какой-нибудь рекламной сети, рекрутинговому агентству, скидочной организации и прочим партнёрам, то вы предварительно запрашиваете от них документ, что они подтверждают работу с ПД согласно GDPR. Если они не подтверждают, то ищете другого партнёра. Если они подтверждают, но по факту по GDPR не работают, тогда уже проблемы у них, а не у вас.
  • «Утечка» базы специалистов Хабр Карьеры
    +3
    Мне спама и так хватает, меньше всего я хочу прочитать следующую статью:
    На хабре произошла утечка емейлов, телефонов, личных переписок и т.д. Ответ администрации: пользователи не поменяли какую-то там настройку.

    Что я ожидал увидеть в статье:
    1. признание фейла
    2. меры по исправлению
    3. меры, чтобы такого не было в будущем

    Что я увидел в статье:
    1. утечки не было
    2. пользователи сами виноваты
    3. менять ничего не будем

    Я бы мог представить такую ситуацию лет 10-15 назад, но точно не сегодня.
    Что будет если кто-то из пользователей пожалуется, что без прямого разрешения пользователя слили его персональные данные?
    Вы можете сказать, что вы на Кипре и вас не касаются Российские законы, но здесь ещё более суровый GDPR, согласно которому вы можете предоставлять персональные данные, только участникам программы GDPR.
    Т.е. если я сейчас сделаю GDPR-запрос на удаление моих персональных данных с career.habr.com, то вы должны удалить их и передать мой GDPR-запрос остальным своим партнёрам, которым вы передали мои персональные данные. Но вы не сможете этого сделать потому что, вы уже не контролируете данные, ведь произошла «утечка».
    Тогда вам останется только одно — заплатить штраф. И возможно тогда вы поменяете ваши дефолтные настройки приватности, ну или опять заплатите штраф.
    На случай если вы думаете, что законы работают только против очень крупнейших сайтов мира:
    За период действия GDPR по данным на январь 2020 года зафиксировано регуляторами 160 тысяч нарушений.

    Что-то мне подсказывает, что хабр — достаточно крупный, чтобы оказаться в этом списке.

    Итак, вы что-то будет делать с утечкой персональных данных? Оповестите пользователей, что их персональные данные утекли? Поменяете дефолтные настройки? Примете меры, чтобы такого не повторилось в будщем?

    Ключевые отличия GDPR от 152 ФЗ:
  • Кроссплатформенные оптимизации OpenCV
    0
    из документации:
    The build script builds asm.js version by default. To build WebAssembly version, append --build_wasm switch.

    For example, to build wasm version in build_wasm directory:

    Так что возможно 7 мб — asm.js, а 300 кб — webasm. Нужно попробовать скомпилить с флагом и без и сравнить. Будет чем заняться на досуге )
  • Кроссплатформенные оптимизации OpenCV
    0
    Иногда пользователи собирают то, что им не потребуется (модули OpenCV)
    да, я собирал с dnn и прочими модулями.
    Да, пока можно использовать OpenCV.js отсюда: docs.opencv.org/master/opencv.js
    Спасибо. Скачал, около 7мб.
    Я сейчас наткнулся на интересный репозиторий и там есть демки
    opencv.js в asm версии — тоже около 7 мб, а вот в wasm — всего 300 кб, да и в демках он быстрее работает.
    Не подскажете чем они отличаются, можно ли использовать вторую версию вместо первой и можно ли как-то самостоятельно собрать вторую версию из исходников?
  • Кроссплатформенные оптимизации OpenCV
    +1
    Спасибо за статью. В ней затронута тема, что есть оптимизации под js.
    А где собственно можно скачать версию под js?
    Всё что мне удаётся найти на эту тему — это инструкция по сборке из исходников. Но что-то мне подсказывает, что её осилит далеко не каждый js-программист. Я мало программирую на js, занимаюсь немного системным администрированием. Осилил сборку opencv (я убил пару дней устанавливая все зависимости зависимостей, а мой комп всю ночь собирал), но вот версию для js я не осилил. У вас где-то выкладываются уже собранные версии opencv.js, планируется такое или нет?
    Отсутствие готовых пакетов сильно повышает порог входа, а проблемы при сборке отбивают всё желание даже просто попробовать.
    Я сейчас тестирую tfjs и мне не понадобилось потратить неделю времени, чтобы написать простейший пример.
  • Как вирус Эбола научил нас работать с данными про заражения, а мы забыли все его уроки
    +1
    Спасибо за ссылку на «Тактику устрашения» со стороны московских властей
    После статьи про «40% пациентов с коронавирусом на аппаратах ИВЛ оказались моложе 40 лет», которая была растиражирована всеми ведущими сми, очень многих моих друзей (включая меня) накрыла паника.
    До этой статьи многие друзья до 40 лет, считали что риск осложнений небольшой и чувствовали себя в безопасности, пологая что социальной дистанцированности будет достаточно. Однако после статьи были сделаны ложные выводы, что процент смертности среди людей до 60 лет такой низкий не потому что сильно реже возникают осложнения, а потому что возникают они у всех, просто «молодёжь» легче их переносит, главное чтобы количество ивл было достаточно. Но например в моём регионе их всего 50 штук.
    После таких выводов даже вынос мусор приравнивался к смертельной опасности. И люди вместо оправданных правил (держаться не меньше пары метров от других людей, не ходить в магазин каждый день, а раз в неделю) предпочитали полностью закрыться дома, пока не закончатся припасы, радовались, что удалось купить одноразовую маску всего в 10 раз дороже, чем она стоила до пандемии.
    Я не считаю, что такие меры властей против населения можно считать оправданными.
  • Spiral: высокопроизводительный PHP/Go фреймворк
    0
    То что они будут быстрее никто и не сомневался :)
    Вопрос «насколько сильно».
    Например, workerman на тестах медленнее swoole в два раза, а на моих задачах «всего» на 10-20%, но мне гораздо приятнее работать с workerman, чем со swoole, поэтому я готов на такие «жертвы», лишь бы не читать документацию на китайском, спрашивать у разрабов, за что отвечает тот или иной магический параметр, у которого нет описания даже на китайском и т.д. С workerman я могу в любой момент залезть в код и разобраться что там, и как и даже что-то поправить и отправить пуллреквест.
  • Spiral: высокопроизводительный PHP/Go фреймворк
    0
    Почему-то решил, что раз первая ссылка — результат бенчмарка, то вторая ссылка — код того же фреймворка, а не какого-то другого.
    Теперь понятно, что перепутал.
  • Spiral: высокопроизводительный PHP/Go фреймворк
    0
    Чёрт, перешёл по второй ссылке из вашей статьи:
    Полные бенчмарки доступны тут и тут.
    Наверное вам в статье, тоже стоит поправить.
  • Spiral: высокопроизводительный PHP/Go фреймворк
    0
    Я не уверен что в принципе возможно обогнать чистый Swoole на полноценном фреймворке с ORM и шаблонами.
    Судя по всему в следующем раунде мы так же увидим swoft (фреймворк на основе swoole). Его код уже присутствует в бенчмарке. Будем ждать пересчёта. Будет на кого ориентироваться.
  • Spiral: высокопроизводительный PHP/Go фреймворк
    0
    В вашем тесте результаты:
    yii2 | laravel | symfony | phalcon | spiral
    14,984 | 5,654 | 7,056 | 12,430 | 34,644

    а в оригинальном:
    13,530 | 5,484 | 1,213 | 23,318 | 0

    Если небольшое отличие для yii2 и laravel можно назвать погрешностью, улучшенные результаты symfony оптимизацией за последние полгода (с момента последнего официального пересчёта рейтинга), то просадку phalcon почти в 2 раза никак не объяснить. Что собственно и вызвало удивление у stanlee и у меня.

    Я правильно понимаю, что ваши тесты были добавлены в код оригинального бенчмарка только относительно недавно (пару месяцев назад) и вы займёте какое-то место в общем рейтинге только где-то через полгода?
    Тогда если ваши текущие результаты нанести на текущий общий рейтинг, то выглядеть он будет приблизительно так:



    т.е. в среднем в два раза быстрее yii2, laravel, symfony и phalcon, и в 10 раз медленнее чем workerman и swoole.

    Что ж, вам есть куда расти. Не останавливайтесь на достигнутом. Если до swoole, который на C++/C, будет сложно угнаться, то достигнуть результатов workerman, который написан на чистом PHP, это уже вполне реально.
    У вас есть ещё полгода до общего пересчёта рейтинга, чтобы успеть показать ещё лучшие результаты.
  • Понижаем барьеры на вход в распознавание речи
    0
    Спасибо за статью.
    Ожидал увидеть сравнение разных систем, но в статье только сравнение в стиле «сравнение обычного стирального порошка и нашего», хорошо что на вашем сайте есть сравнение всех систем между собой.
    Для тех кому лень искать на сайте:
    Результаты по каждому домену отдельно:









  • Гнев, торг и депрессия при работе с InfluxDB
    0
    Раньше это делалось через костыли, сейчас это работает из коробки начиная с версии 20.1.2.4.
    В конфиге нужно указать mysql_port и создать в графане датасурс mysql.
  • PHP-Дайджест № 172 (14 – 27 января 2020)
    +1
    Ну и нюанс в том, что Opcode Cache расширение ставится прямо при установке пыха, его не надо отдельно доставлять, так что проблема достаточно критична. Его придётся скорее специально отключать.
    Я так тоже раньше думал, но оказалось, что это сильно зависит от дистрибутива (или даже от конкретного репозитория). Например, в centos это нет так. Я очень сильно удивился спустя 3 года, узнав, что у нас на сервере не установлен Opcode Cache. Я не мог поверить, что он ставится отдельно и у нас не установлен, я даже подумал, что это наверно какой-то другой кеш, но после установки отдельного пакета php-opcache нагрузка на сервера упала в 2 раза и стало понятно, что это всё таки тот самый opcache. Такого фейла в своей жизни я больше не припомню )
  • Битва двух якодзун, или Cassandra vs HBase. Опыт команды Сбербанка
    +1
    Единственный вопрос, почему она до сих пор на 8 месте того же DB-Engines Ranking.
    DB-Engines для рассчёта ранга использует поисковые запросы, вопросы на Stack Overflow, упоминания в вакансиях и т.д..
    Однако так как ScyllaDB стремится к полной совместимости, то с точки зрения пользователя они никак не отличаются, и не имеет смысл гуглить синтаксис запросов или лучшие практики создания структуры бд для ScyllaDB, когда такого материала полно для Cassandra.
    Специфичные для ScyllaDB вещи гуглят в основном админы и таких запросов на порядки меньше.
    Это нормальная практика для drop-in замены.
    Например, каждый раз когда мне нужно подсмотреть синтаксис запросов в VictoriaMetrics, я гуглю как это сделать для Prometheus, потому что по нему больше материала, а про VictoriaMetrics я гуглил только один раз, когда её устанавливал.
  • Короче, сделал столетний блокбастер цветным
    +51
    Нельзя просто так сесть и начать писать код
    Напоминает дни, в которые видишь что-то интересное и просто хочется сделать хотя бы «hello world», ничего не предвещает подвоха, а потом недели летят в тартарары:
    • знакомишься с новой интересной штукой
    • на первый взгляд всё выглядит понятно, только… не хватает одной маленькой софтины
    • софтина есть в deb-пакетах, пытаешься её установить, но её зависимости конфликтуют с тем, что у тебя уже установлено
    • гуглишь, пытаешься сделать, чтобы и новое установилось и старое не сломалось, в итоге обновляешь убунту (давно было пора, но всё руки не доходили) всё получается, но неожиданно слетают дрова на видюху
    • проходишь 3 круга ада, вспоминаешь, что подобную проблему ты уже решал пару лет назад и пообещал себе больше никогда не обновлять то что и так нормально работает
    • убиваешь пару вечеров, чтобы вернуть как было
    • убиваешь ещё пару вечеров, чтобы софтина всё таки встала
    • наконец-то пишешь код
    • ничего не работает
    • гуглишь, находишь специальный магический параметр запуска софтины
    • но в последней версии его выпилили
    • ищешь предпоследнюю версию, находишь её в npm, понимаешь, что можно было обойтись без deb-пакета, посыпаешь голову пеплом
    • ставишь из npm, АЛЛИЛУЙЯ, всё работает, но нет крутых фишек, которые добавили в последнюю версию
    • сидишь, пишешь код, чертыхаешься каждый раз, когда не хватает фичи из новой версии
    • спустя 2 недели узнаёшь, что 13 дней назад вышла новая версия софтины, в которой есть все новые фичи и при этом поддерживается нужный тебе старый параметр
    • осознаёшь, что все твои страдания были зря, кроешь диким матом себя, софтину, всё вокруг
    • пытаешься поставить новую версию, читаешь описание, вроде всё просто, ничего не предвещает никаких проблем...
    • правда в зависимостях у софтины в npm появилась одна маленькая новая зависимость… но как раз она стала поперёк горла у гитхаба и npm уже не позволяет выкачать её (наверно делается много запросов) и просит авторизоваться через гитхаб.
    • Пытаешься авторизоваться на гитхабе, вспоминаешь, что используешь двухфакторную авторизацию, а второй фактор у тебя как раз пару дней назад накрылся и в ближайшие пару недель его никак не восстановить.
    • Пытаешься зарегистрировать новый аккаунт на гитхабе, а для него новый email
    • Все имена почтового ящика, которые тебе приходят в голову уже заняты, рандомно стучишь по клаве — всё равно занято, повторяешь несколько раз, находишь свободное имя
    • теперь просят номер телефона, но говорят, что он уже использован в этом почтовом сервисе, укажите другой номер телефона, а другого у тебя его нет.
    • думаешь, что лучше бы я за это всё не брался, а лежал и смотрел сериалы, но как сдаваться тут ведь совсем немнооооожко осталось
    • проходишь ещё пять кругов ада, получаешь результат, в конечной точке обернувшись назад становится ясно, что всё было не зря, все страдания остались где-то там позади, а результат — он вот тут, в руках, осязаем. конечно не совсем оптимальный маршрут получился, но что поделать, в следующий раз вряд ли соберу столько граблей, скорее всего всё заработает из коробки...
  • Собираем логи из Nginx с помощью nginx-clickhouse, отправляем в Clickhouse и отображаем в Grafana
    0