На честном слове и на одном ядре.
Генератор статических сайтов Jekyll — однопоточный. Даже если на машине прекрасные 8 или 16 ядер, Jekyll всё равно использует одно ядро для сборки доки. Поэтому у меня сейчас этап сборки на Jekyll длится по 15-20 минут.
Если у вас в документации тысячи страниц — берите сразу многопоточный генератор.
Генератор статических сайтов Jekyll — однопоточный. Даже если на машине прекрасные 8 или 16 ядер, Jekyll всё равно использует одно ядро для сборки доки. Поэтому у меня сейчас этап сборки на Jekyll длится по 15-20 минут.
Если у вас в документации тысячи страниц — берите сразу многопоточный генератор.
Jekyll → Hugo.
Читатель подсказывает, что с Jekyll надо переходить на Hugo, у которого всё хорошо со скоростью. Вот инструкция:Migrating from Jekyll+Github Pages to Hugo+Netlify.
Читатель подсказывает, что с Jekyll надо переходить на Hugo, у которого всё хорошо со скоростью. Вот инструкция:Migrating from Jekyll+Github Pages to Hugo+Netlify.
Sara Soueidan
Migrating from Jekyll+Github Pages to Hugo+Netlify
– The personal website of Sara Soueidan, inclusive design engineer
Объединить конспекты всех конференций в один репозиторий или каждую писать в новом? Как вы считаете, что будет лучше?
Раньше писал в разных:
— Highload 2018
— TeamLeadConf 2018
— CodeFest X
Аргументы за разные: проще структура, не смешивается в кучу.
Аргументы за один: всё в одном месте, легче сделать сайт.
Раньше писал в разных:
— Highload 2018
— TeamLeadConf 2018
— CodeFest X
Аргументы за разные: проще структура, не смешивается в кучу.
Аргументы за один: всё в одном месте, легче сделать сайт.
Объединить конспекты разных конференций в один репозиторий на GitHub?
Anonymous Poll
80%
объединить в один репозиторий
20%
оставить в разных репозиториях
Спасибо за ответы, вы подтвердили мою точку зрения. Будет один репозиторий для всех конференций.
Репозиторий ждёт ваших звездочек, а я иду писать первый конспект. :)
https://github.com/docops-hq/conf
Репозиторий ждёт ваших звездочек, а я иду писать первый конспект. :)
https://github.com/docops-hq/conf
Эволюция Python в Яндексе.
А вот и первый конспект. Александр Кошелев из Яндекса рассказывает, как менялась разработка и эксплуатация приложений в большой компании. Выделяет четыре основных эпохи:
1. Приложения в deb-пакетах прямо на железном сервере
2. Приложения вместе с виртуальным окружением (venv), запакованные в deb-пакеты, точно так же на сервере.
3. Контейнеры в собственном Docker-совместимом облаке
4. Бинарная сборка.
https://github.com/docops-hq/conf/blob/master/moscowpython/19/yandex-python.md
Для меня Python — <del>язык, который я знаю наименее плохо</del> основной язык разработки, и я где-то возле второй эпохи. А где ваша компания (или вы лично)?
А вот и первый конспект. Александр Кошелев из Яндекса рассказывает, как менялась разработка и эксплуатация приложений в большой компании. Выделяет четыре основных эпохи:
1. Приложения в deb-пакетах прямо на железном сервере
2. Приложения вместе с виртуальным окружением (venv), запакованные в deb-пакеты, точно так же на сервере.
3. Контейнеры в собственном Docker-совместимом облаке
4. Бинарная сборка.
https://github.com/docops-hq/conf/blob/master/moscowpython/19/yandex-python.md
Для меня Python — <del>язык, который я знаю наименее плохо</del> основной язык разработки, и я где-то возле второй эпохи. А где ваша компания (или вы лично)?
В какой эпохе ваша разработка на Python?
Anonymous Poll
17%
1: Железо
25%
2. Железо + venv
55%
3. Контейнеры
2%
4. Бинарная сборка
Go против Python.
Очередной конспект с #MoscowPythonConf2019. Виталий Левченко мастерски набрасывает на Python, буквально на все больные точки надавил.
https://github.com/docops-hq/conf/blob/master/moscowpython/19/go-vs-python.md
Не могу удержаться от ещё одного опроса.
Очередной конспект с #MoscowPythonConf2019. Виталий Левченко мастерски набрасывает на Python, буквально на все больные точки надавил.
https://github.com/docops-hq/conf/blob/master/moscowpython/19/go-vs-python.md
Не могу удержаться от ещё одного опроса.
Ещё CodeFest X.
Тем временем, моя коллега из Плеска Надя Мануйлова закинула пуллреквест с ещё 4 конспектами CodeFest:
— Додо в LeSS: как не заблудиться
— Основные ошибки при проведении экспериментов
— Moneyball. Как построить команду продактов, когда на рынке их нет
— Сколько нужно энергии для работы Scrum Master, Product Owner и Agile Coach?
И там ещё конспекты добавятся. А потом будет второй, секретный этап. Я вам про него позже расскажу. А пока что спасибо Наде!
Тем временем, моя коллега из Плеска Надя Мануйлова закинула пуллреквест с ещё 4 конспектами CodeFest:
— Додо в LeSS: как не заблудиться
— Основные ошибки при проведении экспериментов
— Moneyball. Как построить команду продактов, когда на рынке их нет
— Сколько нужно энергии для работы Scrum Master, Product Owner и Agile Coach?
И там ещё конспекты добавятся. А потом будет второй, секретный этап. Я вам про него позже расскажу. А пока что спасибо Наде!
Непрерывная локализация.
Слышали про принцип «сдвига влево» (shift left)? Непрерывная локализация (continuous localization) реализует этот принцип для перевода документации, интерфейса и других текстов.
Раньше было так: сначала разработка, потом пишем тексты, потом их переводим и наконец можем выпустить релиз. А теперь мы пишем тексты на этапе проектирования, а робот забирает их и отдаёт переводчикам. А готовые переводы сам коммитит обратно в ветку разработки. Тексты и переводы перестают блокировать релиз, и это уменьшает time to market всего продукта. Угадайте, как это влияет на прибыль и риски компании?
Техписатели из Xsolla рассказали на Хабре, как у них выстроен процесс непрерывной локализации. Они там переводят 20 проектов на 20 языков, сроки сжатые, всё автоматизировано. Xsolla крутые, спасибо им за статьи.
— 20 проектов, 20 языков, срок вчера
— 20 проектов, 20 языков, срок вчера. Часть 2
Слышали про принцип «сдвига влево» (shift left)? Непрерывная локализация (continuous localization) реализует этот принцип для перевода документации, интерфейса и других текстов.
Раньше было так: сначала разработка, потом пишем тексты, потом их переводим и наконец можем выпустить релиз. А теперь мы пишем тексты на этапе проектирования, а робот забирает их и отдаёт переводчикам. А готовые переводы сам коммитит обратно в ветку разработки. Тексты и переводы перестают блокировать релиз, и это уменьшает time to market всего продукта. Угадайте, как это влияет на прибыль и риски компании?
Техписатели из Xsolla рассказали на Хабре, как у них выстроен процесс непрерывной локализации. Они там переводят 20 проектов на 20 языков, сроки сжатые, всё автоматизировано. Xsolla крутые, спасибо им за статьи.
— 20 проектов, 20 языков, срок вчера
— 20 проектов, 20 языков, срок вчера. Часть 2
Хабр
20 проектов, 20 языков, срок вчера
Представьте: у вас есть 7 команд разработчиков общей численностью более 100 человек. Они одновременно пилят 13 приложений. Работа ведется в 20 репозиториях. Вс...
Что делать, если ваш код на Python тормозит.
Если вы загрустили от прошлого доклада про сравнение Python и Go, срочно примите противоядие. Григорий Бакунов из Яндекса рассказывает, как ускорить работу Python с помощью трёх подходов:
— разумно оптимизировать код,
— использовать другой интерпретатор: PyPy или Cython,
— переписать критичные куски на другом языке, прямо в коде на Python.
https://github.com/docops-hq/conf/blob/master/moscowpython/19/accelerate-python.md
Если вы загрустили от прошлого доклада про сравнение Python и Go, срочно примите противоядие. Григорий Бакунов из Яндекса рассказывает, как ускорить работу Python с помощью трёх подходов:
— разумно оптимизировать код,
— использовать другой интерпретатор: PyPy или Cython,
— переписать критичные куски на другом языке, прямо в коде на Python.
https://github.com/docops-hq/conf/blob/master/moscowpython/19/accelerate-python.md
Рефакторинг: договариваемся, планируем, внедряем!
Как вы уже поняли, астрологи объявили неделю конспектов. Теперь снова с Кодфеста. Алексей Катаев рассказывает про рефакторинг: как продать руководству, как организовать, где лежат грабли.
Спасибо Эмилю Янгирову за пуллреквест!
https://github.com/plesk/codefest19/blob/master/source/skyeng-refactoring.md
Как вы уже поняли, астрологи объявили неделю конспектов. Теперь снова с Кодфеста. Алексей Катаев рассказывает про рефакторинг: как продать руководству, как организовать, где лежат грабли.
Спасибо Эмилю Янгирову за пуллреквест!
https://github.com/plesk/codefest19/blob/master/source/skyeng-refactoring.md
Представьте, что в вашем проекте есть линтеры, проверка типов, юнит- и интеграционные тесты, property-based тесты и даже тесты на документацию. И стопроцентное покрытие во всех смыслах. И все тесты проходят.
Всё ли хорошо?
Всё ли хорошо?
Anonymous Poll
17%
Да, похоже что всё хорошо.
83%
Нет, тесты же могут не работать.
Мутационное тестирование.
А вы хороши, большинство не верит тестам слепо и безоговорочно. Действительно, в тестах бывают баги, так что их тоже надо тестировать. Никита Соболев рассказал на #MoscowPythonConf2019 о том, как готовить мутационное тестирование и писать реально работающие тесты.
Держите конспект: https://github.com/docops-hq/conf/blob/master/moscowpython/19/kill-mutants.md
Вот сделаю мутацеонные тесты на документацыю — тоже расскажу об этом. 🙂
А вы хороши, большинство не верит тестам слепо и безоговорочно. Действительно, в тестах бывают баги, так что их тоже надо тестировать. Никита Соболев рассказал на #MoscowPythonConf2019 о том, как готовить мутационное тестирование и писать реально работающие тесты.
Держите конспект: https://github.com/docops-hq/conf/blob/master/moscowpython/19/kill-mutants.md
Вот сделаю мутацеонные тесты на документацыю — тоже расскажу об этом. 🙂
Конфиги nginx на JavaScript.
Идея писать конфиги nginx на тьюринг-полном языке программирования не нова. Но тут сами разработчики nginx сделали такой модуль. Уже можно писать код на JS и байндиться к нему из конфига с помощью специальных директив. А скоро (обещают в 2019) станет можно и прямо в конфиге nginx писать нa JS.
Про это рассказал на #SaintHighLoad2019 Дмитрий Волынцев из nginx. Держите конспект: https://github.com/docops-hq/conf/blob/master/highload/19/spb/njs-nginx.md
А ещё они, конечно, перепробовали все интерпретаторы JS и сделали свой, супербыстрый. Посмотрите на бенчмарки:
Идея писать конфиги nginx на тьюринг-полном языке программирования не нова. Но тут сами разработчики nginx сделали такой модуль. Уже можно писать код на JS и байндиться к нему из конфига с помощью специальных директив. А скоро (обещают в 2019) станет можно и прямо в конфиге nginx писать нa JS.
Про это рассказал на #SaintHighLoad2019 Дмитрий Волынцев из nginx. Держите конспект: https://github.com/docops-hq/conf/blob/master/highload/19/spb/njs-nginx.md
А ещё они, конечно, перепробовали все интерпретаторы JS и сделали свой, супербыстрый. Посмотрите на бенчмарки:
UDP против TCP, или Будущее сетевого стека.
Александр Тоболь из Одноклассников рассказывает на #SaintHighLoad2019, почему в мире беспроводных сетей ненадёжный UDP может быть надёжнее, чем надёжный TCP. Конечно, не чистый UDP, а реализованный поверх него собственный протокол: self-made UDP. Александр отлично объясняет всё, что нужно понимать, если вы работаете с доставкой контента.
Информации в докладе много, очень много. Я конспектировал его два с половиной часа и ещё не дошёл до конца. Трансляция позволяет перемотать непонятный фрагмент и послушать его ещё раз. И потом ещё раз. Что это вам напоминает? Мне — TCP. Мой мозг умеет принимать информацию примерно втрое медленнее, чем Александр умеет её отправлять. Да, а если бы я сидел в зале, был бы UDP. 🙂
Вот первая часть конспекта: https://github.com/docops-hq/conf/blob/master/highload/19/spb/tcp-vs-udp.md
А ниже график того, что происходило в моей голове, когда я слушал доклад. У кого так же?
Александр Тоболь из Одноклассников рассказывает на #SaintHighLoad2019, почему в мире беспроводных сетей ненадёжный UDP может быть надёжнее, чем надёжный TCP. Конечно, не чистый UDP, а реализованный поверх него собственный протокол: self-made UDP. Александр отлично объясняет всё, что нужно понимать, если вы работаете с доставкой контента.
Информации в докладе много, очень много. Я конспектировал его два с половиной часа и ещё не дошёл до конца. Трансляция позволяет перемотать непонятный фрагмент и послушать его ещё раз. И потом ещё раз. Что это вам напоминает? Мне — TCP. Мой мозг умеет принимать информацию примерно втрое медленнее, чем Александр умеет её отправлять. Да, а если бы я сидел в зале, был бы UDP. 🙂
Вот первая часть конспекта: https://github.com/docops-hq/conf/blob/master/highload/19/spb/tcp-vs-udp.md
А ниже график того, что происходило в моей голове, когда я слушал доклад. У кого так же?
Forwarded from Knowledge Conf Channel
Смотрите, в какое плотное расписание мы упаковали все доклады KnowledgeConf. Три потока по восемь докладов и один трек под специальные форматы – имеет смысл наметить маршрут по конференции заранее.
https://knowledgeconf.ru/2019/schedule.html
https://knowledgeconf.ru/2019/schedule.html
Forwarded from Knowledge Conf Channel
Мы обещали вам подробно рассказать о том, что еще будет на KnowledgeConf кроме докладов, и держим слово. А будет интересное — будем экспериментировать и мечтать. И обязательно посмотрите на идеи из непринятых докладов и напишите в комментариях, что нужно обсудить в будущем.
https://habr.com/ru/company/oleg-bunin/blog/445040/
https://habr.com/ru/company/oleg-bunin/blog/445040/
Хабр
Строим модели, «продаем» управление знаниями руководству и исправляем ошибку выжившего
Недавно я рассказала о докладах, которые сформировали программу конференции про управление знаниями в IT компаниях KnowledgeConf. Но не докладами едиными, все та...