🎄А вот и декабрь: наступает время предпраздничной суеты, выбора подарков, планирования зимних каникул, весёлых новогодних корпоративов. Всё чаще звучат фразы типа: «Разберёмся с этим в январе», «Перенесём задачу на следующий спринт», «Решим в первом квартале 2026».
А у вас есть такие коллеги, которые невзирая на конец года приступают к реализации какого-нибудь большого и красивого проекта? Если есть, возможно вы работаете со мной) Потому что сейчас на работе я занимаюсь именно таким проектом, стараясь как можно больше успеть сделать до наступления праздников.
Поэтому пока и не получается писать полезное и серьёзное сюда, хотя есть много интересных идей, инсайтов чудных и холиварных тем для обсуждения. Надеюсь, что смогу выкроить пару минуток (часов на самом деле) и на это.
А пока анонс: по нашей доброй традиции мы проведём весёлый рождественско-новогодний розыгрыш от парарайтера! Можно будет выиграть прекрасный приз 🎁 Все подробности чуть позже, сейчас мне пора возвращаться в мои рабочие декабрьские дела 🫠 Всем хорошей и продуктивной недели!
P.S. Когда-нибудь, когда-нибудь я научусь планировать своё время так, чтобы всё успевать, но давайте перенесём это на первый квартал 2026 🙃
А у вас есть такие коллеги, которые невзирая на конец года приступают к реализации какого-нибудь большого и красивого проекта? Если есть, возможно вы работаете со мной) Потому что сейчас на работе я занимаюсь именно таким проектом, стараясь как можно больше успеть сделать до наступления праздников.
Поэтому пока и не получается писать полезное и серьёзное сюда, хотя есть много интересных идей, инсайтов чудных и холиварных тем для обсуждения. Надеюсь, что смогу выкроить пару минуток (часов на самом деле) и на это.
А пока анонс: по нашей доброй традиции мы проведём весёлый рождественско-новогодний розыгрыш от парарайтера! Можно будет выиграть прекрасный приз 🎁 Все подробности чуть позже, сейчас мне пора возвращаться в мои рабочие декабрьские дела 🫠 Всем хорошей и продуктивной недели!
P.S. Когда-нибудь, когда-нибудь я научусь планировать своё время так, чтобы всё успевать, но давайте перенесём это на первый квартал 2026 🙃
❤34🤝4😁2👀1
Сегодня отмечаем неочевидный праздник — двести тридцать пятый пост на канале!
Ладно, ладно, мне просто захотелось придумать повод, чтобы пофлудить. Всё-таки пятница, напряженный рабочий процесс на фоне — можно немного расслабиться)
На канале Техписалити! есть рубрика «Мемница» с разными забавными техписательскими мемами. Я решил перехватить идею😁
Не бойтесь, конкуренции не будет: на регулярную рубрику меня не хватит, но я полистал свои посты и выбрал несколько самых интересных и забавных картинок, чтобы собрать этот юбилейный пост.
В общем, первый и единственный раз встречайте новую нерегулярную рубрику Техписательские (и не только) мемы от парарайтера!
Пишите в комментариях, какие мемы вам понравились больше всего) Репосты приветствуются, рекомендуются и всячески поощряются (нематериальными поощрениями).
Хорошей пятницы и прекрасных выходных!
#флуд
Ладно, ладно, мне просто захотелось придумать повод, чтобы пофлудить. Всё-таки пятница, напряженный рабочий процесс на фоне — можно немного расслабиться)
На канале Техписалити! есть рубрика «Мемница» с разными забавными техписательскими мемами. Я решил перехватить идею
Не бойтесь, конкуренции не будет: на регулярную рубрику меня не хватит, но я полистал свои посты и выбрал несколько самых интересных и забавных картинок, чтобы собрать этот юбилейный пост.
В общем, первый и единственный раз встречайте новую нерегулярную рубрику Техписательские (и не только) мемы от парарайтера!
Пишите в комментариях, какие мемы вам понравились больше всего) Репосты приветствуются, рекомендуются и всячески поощряются (нематериальными поощрениями).
Хорошей пятницы и прекрасных выходных!
#флуд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤38🔥7😁4🤣1
Привет!
Я посмотрел на свои часы и понял — время пришло 🕰
Пришло время объявить новогодний розыгрыш от парарайтера!
В этом году Дед Мороз принесёт в подарок бесплатное участие в первом потоке большого мастер-класса «Docs as Code для ребят постарше»!
Здорово, правда? Всё, что вам нужно — подписаться на канал Parawriter и оставить любой комментарий под этой записью до 23:59 мск 24 декабря. Количество комментов значения не имеет.
25 декабря мы запустим наш прекрасный рандомайзер и выберем победителя!🎆
Участвовать могут все желающие, даже если вы уже в списке участников мастер-класса или в листе ожидания (особенно если вы в листе ожидания))
P.S. Подарок от Деда Мороза — как лекарство из аптеки: обмену и возврату не подлежит 🤗
Поэтому надеюсь, что все, кто оставит свой конкурсный комментарий, в случае выигрыша будут рады принять участие в мастер-классе)
И пусть вам повезёт! 🕊
#docsascode #флуд
Я посмотрел на свои часы и понял — время пришло 🕰
Пришло время объявить новогодний розыгрыш от парарайтера!
В этом году Дед Мороз принесёт в подарок бесплатное участие в первом потоке большого мастер-класса «Docs as Code для ребят постарше»!
Здорово, правда? Всё, что вам нужно — подписаться на канал Parawriter и оставить любой комментарий под этой записью до 23:59 мск 24 декабря. Количество комментов значения не имеет.
25 декабря мы запустим наш прекрасный рандомайзер и выберем победителя!
Участвовать могут все желающие, даже если вы уже в списке участников мастер-класса или в листе ожидания (особенно если вы в листе ожидания))
P.S. Подарок от Деда Мороза — как лекарство из аптеки: обмену и возврату не подлежит 🤗
Поэтому надеюсь, что все, кто оставит свой конкурсный комментарий, в случае выигрыша будут рады принять участие в мастер-классе)
И пусть вам повезёт! 🕊
#docsascode #флуд
Please open Telegram to view this post
VIEW IN TELEGRAM
❤25👍2
Семь раз отмерь, один раз git push
Это классическая грустная история одного факапа. Вы безусловно её оцените, если когда-нибудь работали с гитом, мержили ветки и имеете представление о слиянии fast-forward.
Перед тем, как перейти к непосредственно к факапу, который едва не погубил одну очень важную ветку, позвольте рассказать вам о том воркфлоу, который использовался на этом прекрасном проекте.
О, если бы это был какой-нибудь классический git flow! Увы, но это был не он.
Проект жил в двух окружениях: продакшен и демо. Прод проекта собирался из мастер-ветки, а демо проекта — из ветки demo-branch. На демо-стенд выкладывали все задачи для их тестирования перед загрузкой на прод, а ещё скидывали всё, что попадается под руку: черновики, тестовые обновления, эксперименты с настройками проекта... В общем, демо представляло из себя версию прода в горячечном бреду. Поэтому существовало очень гласное правило: никаких подливаний demo-branch в другие ветки, особенно в мастер, чтобы какая-нибудь незарелизенная приколюха не просочилась в продакшен-среду.
Правило это соблюдалось неукоснительно. До того памятного утра.
Одному инженеру понадобилось что-то починить в настройках проекта на демо-стенде. Он отколол себе ветку hotfix от demo-branch («чинить-то надо демо, значит от него и откалываемся» — объяснял он мне потом), что-то там настроил, влил ветку обратно в demo-branch, проверил — на демо всё работает. Ура!
Дело за малым — нужно обновить те же самые настройки на проде. Нет, инженер не слил demo-branch с мастером, всё нормально. Он сделал то, что должен был: взял свою рабочую ветку hotfix, создал пул-реквест в мастер и отправил его мне на проверку.
Я, не подозревая ничего худого, переключился на мастер и выполнил две команды, которые стали роковыми:
В этом слиянии слились не только ветки, но и два критических обстоятельства:
1. Ветка hotfix была отколота не от мастера, а от demo-branch.
2. Накануне в мастер-ветку и в demo-branch был подлит один и тот же коммит.
В итоге ветка hotfix успешно влилась в мастер, подтянув за собой в качестве приданного всю историю коммитов из demo-branch, так как была её дочкой.
А из-за того, что последние коммиты в мастере и demo-branch совпадали, гит решил, что он возвращает ветку родителю, поэтому выполнил простое fast-forward слияние, при котором указатель мастера просто переместился на последний коммит из hotfix, заодно встроив в историю ветки все коммиты из demo-branch.
Когда я всё осознал, было уже слишком поздно. «Да что ты, просто отмени мерж,» — скажете мне вы. Я так и хотел сделать. Но fast-forward слияние нельзя отменить. Точнее, в таком слиянии просто нечего отменять. При Fast-forward не создаётся merge-коммит, который является артефактом слияния, поэтому откатить этот процесс невозможно. Можно только отменить отдельные коммиты, которые подтянулись из сливаемой ветки.
В нашем случае таких коммитов оказалось несколько десятков, и они равномерно распределились по всей истории: demo-branch срослась с мастером как несчастные полярники под влиянием пришельца-мимикриста из фильма «Нечто».
Выискивать демо-коммиты и ревертить их оказалось делом почти безнадёжным. Поэтому я решил проблему радикально. Хвала архитекторам, в этом репозитории находилась лишь часть проекта с основными настройками, я просто вручную вернул конфигам их первозданный вид и обновил мастер-ветку.
Мир был спасён, опасность миновала. Но ситуация от этого не переставала быть страшной. Совершенно необходимо было принять какие-то меры, чтобы это больше не повторилось.
И меры были приняты:
Этой командой я запретил fast-forward слияния в своём репозитории с тем, чтобы всегда, ВСЕГДА создавался коммит слияния. Теперь в случае очередного факапа я смогу хотя бы отменить мерж и избежать ужасных нечто-монстров.
И конечно, я сделал для себя главный вывод. Прошло уже несколько лет, а я до сих пор использую его в качестве своего гит-кредо: семь раз отмерь, потом отмерь ещё семь раз, потом подумай, а уже потом отправляй изменения на сервер!
#практика
Это классическая грустная история одного факапа. Вы безусловно её оцените, если когда-нибудь работали с гитом, мержили ветки и имеете представление о слиянии fast-forward.
Перед тем, как перейти к непосредственно к факапу, который едва не погубил одну очень важную ветку, позвольте рассказать вам о том воркфлоу, который использовался на этом прекрасном проекте.
О, если бы это был какой-нибудь классический git flow! Увы, но это был не он.
Проект жил в двух окружениях: продакшен и демо. Прод проекта собирался из мастер-ветки, а демо проекта — из ветки demo-branch. На демо-стенд выкладывали все задачи для их тестирования перед загрузкой на прод, а ещё скидывали всё, что попадается под руку: черновики, тестовые обновления, эксперименты с настройками проекта... В общем, демо представляло из себя версию прода в горячечном бреду. Поэтому существовало очень гласное правило: никаких подливаний demo-branch в другие ветки, особенно в мастер, чтобы какая-нибудь незарелизенная приколюха не просочилась в продакшен-среду.
Правило это соблюдалось неукоснительно. До того памятного утра.
Одному инженеру понадобилось что-то починить в настройках проекта на демо-стенде. Он отколол себе ветку hotfix от demo-branch («чинить-то надо демо, значит от него и откалываемся» — объяснял он мне потом), что-то там настроил, влил ветку обратно в demo-branch, проверил — на демо всё работает. Ура!
Дело за малым — нужно обновить те же самые настройки на проде. Нет, инженер не слил demo-branch с мастером, всё нормально. Он сделал то, что должен был: взял свою рабочую ветку hotfix, создал пул-реквест в мастер и отправил его мне на проверку.
Я, не подозревая ничего худого, переключился на мастер и выполнил две команды, которые стали роковыми:
git merge new-branch
git push
В этом слиянии слились не только ветки, но и два критических обстоятельства:
1. Ветка hotfix была отколота не от мастера, а от demo-branch.
2. Накануне в мастер-ветку и в demo-branch был подлит один и тот же коммит.
В итоге ветка hotfix успешно влилась в мастер, подтянув за собой в качестве приданного всю историю коммитов из demo-branch, так как была её дочкой.
А из-за того, что последние коммиты в мастере и demo-branch совпадали, гит решил, что он возвращает ветку родителю, поэтому выполнил простое fast-forward слияние, при котором указатель мастера просто переместился на последний коммит из hotfix, заодно встроив в историю ветки все коммиты из demo-branch.
Когда я всё осознал, было уже слишком поздно. «Да что ты, просто отмени мерж,» — скажете мне вы. Я так и хотел сделать. Но fast-forward слияние нельзя отменить. Точнее, в таком слиянии просто нечего отменять. При Fast-forward не создаётся merge-коммит, который является артефактом слияния, поэтому откатить этот процесс невозможно. Можно только отменить отдельные коммиты, которые подтянулись из сливаемой ветки.
В нашем случае таких коммитов оказалось несколько десятков, и они равномерно распределились по всей истории: demo-branch срослась с мастером как несчастные полярники под влиянием пришельца-мимикриста из фильма «Нечто».
Выискивать демо-коммиты и ревертить их оказалось делом почти безнадёжным. Поэтому я решил проблему радикально. Хвала архитекторам, в этом репозитории находилась лишь часть проекта с основными настройками, я просто вручную вернул конфигам их первозданный вид и обновил мастер-ветку.
Мир был спасён, опасность миновала. Но ситуация от этого не переставала быть страшной. Совершенно необходимо было принять какие-то меры, чтобы это больше не повторилось.
И меры были приняты:
git config merge.ff false
Этой командой я запретил fast-forward слияния в своём репозитории с тем, чтобы всегда, ВСЕГДА создавался коммит слияния. Теперь в случае очередного факапа я смогу хотя бы отменить мерж и избежать ужасных нечто-монстров.
И конечно, я сделал для себя главный вывод. Прошло уже несколько лет, а я до сих пор использую его в качестве своего гит-кредо: семь раз отмерь, потом отмерь ещё семь раз, потом подумай, а уже потом отправляй изменения на сервер!
#практика
🔥31
Привет! 26 февраля в Москве состоится вторая конференция WriteConf, которая объединяет всех пишущих специалистов в айти: редакторов, технических и ux-писателей, контент-мейкеров, SMM и маркетологов. Будет чисто наша писательская тусовка и много полезной информации по коммуникациям, текстам, инструментам и практикам работы. Много реального опыта и практических кейсов. Крутые спикеры прилагаются)
Билеты можно приобрести по ссылке, а подробности узнать в официальных каналах в телеге и вк.
Приходите, будет интересно!
P.S. Я тоже буду выступать: на личном примере расскажу о том, как организовать большую систему документирования с небольшими затратами. Надеюсь, увидимся)
#карьера
Билеты можно приобрести по ссылке, а подробности узнать в официальных каналах в телеге и вк.
Приходите, будет интересно!
P.S. Я тоже буду выступать: на личном примере расскажу о том, как организовать большую систему документирования с небольшими затратами. Надеюсь, увидимся)
#карьера
❤23🔥7
Parawriter
Привет! Я посмотрел на свои часы и понял — время пришло 🕰 Пришло время объявить новогодний розыгрыш от парарайтера! В этом году Дед Мороз принесёт в подарок бесплатное участие в первом потоке большого мастер-класса «Docs as Code для ребят постарше»! Здорово…
Media is too big
VIEW IN TELEGRAM
Привет-привет!
Одни уже разворачивают свои рождественские подарки под Фрэнка Синатру и Бобби Хелмса, другие сидят в офисе и закрывают рабочие задачи, ну а мы с нетерпением ждём результатов новогоднего розыгрыша по docs as code!
В конкурсе приняли участие 94 подписчика. Спасибо всем вам за внимание и интерес к нашему docs-as-code мастер-классу!
Беспристрастный рандом-скрипт выбрал победителя. И им становится@stessy91 🎆 Поздравляю, бесплатное место в первом потоке курса ваше)
Всем счастливого Нового Года! Ещё увидимся)
#карьера
Одни уже разворачивают свои рождественские подарки под Фрэнка Синатру и Бобби Хелмса, другие сидят в офисе и закрывают рабочие задачи, ну а мы с нетерпением ждём результатов новогоднего розыгрыша по docs as code!
В конкурсе приняли участие 94 подписчика. Спасибо всем вам за внимание и интерес к нашему docs-as-code мастер-классу!
Беспристрастный рандом-скрипт выбрал победителя. И им становится
Всем счастливого Нового Года! Ещё увидимся)
#карьера
Please open Telegram to view this post
VIEW IN TELEGRAM
👏18🎄11👍5🕊1
Неожиданно получил премию канала Техписалити! за «Docs as code для самых маленьких».
Спасибо) Я рад, что этот курс до сих пор помогает людям разобраться в основах подхода «документация как код». Разумеется, я и не представить не мог, что он станет популярным: я делал его, чтобы систематизировать свои знания и составить базовый онбординг на случай, когда всё позабуду))
Честно, я и канал создал для того, чтобы победить прокрастинацию и начать глубже погружаться в профессию технического писателя. Девизом парарайтера могли бы стать слова Вовки из Тридевятого царства: «Ну-ка, поглядим, как тут избы делают?»
Поэтому очень круто, что контент парарайтера находит своего благодарного читателя и реально помогает найти ответы на некоторые профессиональные вопросы.
А ещё я хочу поблагодарить Стаса Рычкова. Стас, спасибо тебе большое за то, что в 2022 году ты откликнулся и помог мне настроить мой первый самостоятельный docs-as-code проект на vitepress.
И спасибо всему русскоязычному сообществу технических писателей за отзывчивость, открытость и готовность делиться опытом с товарищами по профессии!
#карьера
Спасибо) Я рад, что этот курс до сих пор помогает людям разобраться в основах подхода «документация как код». Разумеется, я и не представить не мог, что он станет популярным: я делал его, чтобы систематизировать свои знания и составить базовый онбординг на случай, когда всё позабуду))
Честно, я и канал создал для того, чтобы победить прокрастинацию и начать глубже погружаться в профессию технического писателя. Девизом парарайтера могли бы стать слова Вовки из Тридевятого царства: «Ну-ка, поглядим, как тут избы делают?»
Поэтому очень круто, что контент парарайтера находит своего благодарного читателя и реально помогает найти ответы на некоторые профессиональные вопросы.
А ещё я хочу поблагодарить Стаса Рычкова. Стас, спасибо тебе большое за то, что в 2022 году ты откликнулся и помог мне настроить мой первый самостоятельный docs-as-code проект на vitepress.
И спасибо всему русскоязычному сообществу технических писателей за отзывчивость, открытость и готовность делиться опытом с товарищами по профессии!
#карьера
🔥46🎄19❤6👏3