Охуенная тема – прогать в поезде.
Всегда с черной завистью смотрел на людей, способных что-то делать при отсутствии какой-либо связи. И кажется я доэволюционировал в своем развитии до этого состояния.
Короче идея такая. Я нахожу такие задачки по своему пет-проекту, которые можно делать чисто через тесты. Ну то есть там только бизнес-логику реализвать. Пасу их до поездки (ну типа не делаю сразу). И, когда еду, то это становится почти как кроссворды разгадывать – че-то пописал, оно позеленело -> profit.
Есть пара моментов, когда без интернета тяжело:
Но в целом, получается это в каком-то смысле прокачивает умение писать тесты. Ну и плюс, это чуть чуть прокачивает TDD в теории.
Точнее так. Поезд создает ситуацию, в которой тесты писать хочется, потому что все остальное еще более унылое, чем писать тесты. А обычно все наоборот. Да простят меня QA инженеры, которые я знаю есть в этом чате и могут нахуй загрызть за такие слова.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6🌚2
Лениво было все делать. И тут мне помогла штука, которую я веду вот уже второй год – делаю по коммиту в день в свои пет-проекты. Полез смотреть статистику и увидел, что в целом приближаюсь ко второму своему провалу энергии за год (художественно помечен красным кругом на пояснительном дикпике
Предыдущий был в декабре, и в этом году я его, кстати, успешно прошел. Опять же, благодаря тому, что замерил все эти провалы в прошлом году и просто заранее в ноябре скинул с себя все доп обязанности, не брал ничего нового, стал больше отдыхать и взял пару отпусков.
Сейчас кажется, что я немного проебался с этим, и отпуск взял поздновато, уже изрядно подуставшим + набрал кучу ответственности на себя. Почему набрал кучу отвественности? Да потому что так пиздато отдохнул, что подумал, что ща пойду горы сворачивать. Ну и наебался.
P.S.: 🅰️ Ну и как всегда, какой-то практичный совет – трекайте свою активность, чтобы вовремя снижать нагрузку перед сезонными провалами энергии, если таковые у вас, конечно есть. Ну и чем точнее трекаете уровень энергии, тем пизже. Мне вот коммиты зашли, но это не единственный способ.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18👍5💯1😐1😭1
Если честно, я вообще не представляю, как живут чуваки, которые не используют свой собственный софт. Знаю, что не всегда ситуация позволяет так делать. Это норм. Но мне это очень не подходит.
Вроде я бэкендер, но вот больше года я не заказывал нашу пиццульку, потому что жил в Баутми, и прям почувствовал, что начинаю терять нить развития.
Раньше было круто. Накодил, выпил – в пиццерию. Посмотрел как все работает. Ну там заебсь, а вот тут не очень. Поправил.
А последний год только по рассказам можно было что-то понять.
Наконец пришло спасение – Додо теперь есть в Батуми и я там в субботу оформил чуть ли не самый первый заказ (по факту третий, но я верю, что первые два были технические ну не могли меня так опередить!). Спецом встал пораньше и получил пиццулю по которой скучал.
Сразу и пачку багов в приложении нашел, и посмотрел, как курьер гарцует по карте на своем скейте, и как он приседает пистолетиком, пока ждет доставку.
Короче, востановил цикл обратной свзяи.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21❤5🍾2
Знаете про такую штуку, как закон Конвея? Он формулируется примерно так: организации проектируют системы, которые копируют структуру коммуникаций в этой организации.
Ну то есть, если рассмотреть на практике, то архитектура IT проектов компании и связанность между, будет в напоминать структуру отделов этой компании.
Так вот я всегда этот закон не считал законом. Я его относил к эвристическим утверждениям, типа CAP-теоремы, закона Мура и теоремы Эскобара. То есть это конечно интересное наблюдение, но теоретической и доказательной базы у него нет – это просто удобная мыслительная модель.
Однако, наткнулся на вот такое исследование от парней из Гарварда, где в общем-то они придумали, как оцифровать связанность проектов и в общем подтвердили закон Мура на практике.
Из интересного:
1️⃣ Какие брали данные. Взяли 5 пар компаний в пяти разных областях продуктов: Финансовый менеджмент, текстовые процессоры, операционные системы, табличный редакторы, базы данных. Сравнили между собой слабосвязанные и сильносвязанные системы, к примеру MySQL и BerkleyBD. Первую разрабатывают 60 организаций-контрибуторов из 25 стран. Вторую соответственно одна организация-контрибутор из одной страны. (пояснительный дикпик 2)
2️⃣ Как определили что такое сильносвязанные и слабосвязанные оргструктуры. Связанность организационной структуры считали вот по этой таблице (пояснительный дикпик 1). К примеру, в ней есть параметр "цель", в сильносвязанных оргструктурах она была расшаренной и явной, а в слабосвязанных разнообразные, неявные.
3️⃣ Как определили связанность архитектуры кода. Связанность программной архитектуры смотрели по связанности файлов исходного кода. Связанность между файлами определяли через Function Call. (пояснительные дикпики 3 и 4)
4️⃣ Какую метрику определили как ключевую для сравнения между проектами. На основе связи между файлами строили граф, в котором учитывали длинны путей, на основе которых построили метрику Propagation Cost, которая показывала стоимость изменений в каждом файле.
5️⃣ Самые интересные цифры:
Стоимость распространения (propagation cost) для открытых и коммерческих продуктов:
Пара финаносовый менеджмент:
Открытый продукт - 7.74%
Коммерческий продукт - 47.14%
Пара текстовые редакторы:
Открытый продукт - 8.25%
Коммерческий продукт - 41.77%
Пара таблицы:
Открытый продукт - 23.62%
- самая крупная стоимость из всех слабосвязанных продуктов!
Коммерческий продукт - 54.31%
Пара операционные системы 1:
Linux - 7.18%
Solaris - 22.59% (потенциально может затронуть более 2,400 других файлов при изменении)
Пара операционные системы 2:
Linux - 7.21%
XNU - 24.83%
Пара базы данных:
Открытый продукт - 11.30%
Коммерческий продукт - 43.23%
6️⃣ Неожиданный поворот для одного из опенсорсных проектов – оказалось, что он самый сильносвящзанный среди слабосвязанных! То есть в среднем по статистике в слабсвязанных системах стоимость изменения была на порядок ниже. Однако в случае табличного редактора разница оказалась не столь значительной! Ребята посмотрели отдельно стурктуру контрибьюторов открытого проекта и оказалось, что в ней присутствует сильная связанность! Так как основных мейнтейнеров в проекте оказалось мало и они тесно взаимодейстовали между собой!
🅰️ Итого: Короче, к какому выводу мы можем прийти? Закон Конвея – релаьно закон, у которого есть статистическое хорошее обоснование и эксперимент. То есть как у вас выстроена структура компании плюс-минус такая будет и структура проектов. Такие дела!
Тут я не все описал подробно. Про Propagation Cost хочется возможно написать отдельно, как эта штука устроена, и как она выводилась для отдельных файлов, а затем для всего проекта в целом.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🤔2💯2
🍏 Модель зрелости. 🍎
Недавно у нас во внутреннем канале в яблочке задали вопрос: "Я делаю свою пет-проекты. Как понять, что мой сервис нормальный? Что я все сделал хорошо и могу быть в нем уверен?"
На самом деле этот класс вопросов возникает в разных местах. К примеру, когда вы становитесь техлидом: "Нормальный ли я техлид? Хорошо слежу за командами или что-то очевидное упускаю?" Ну или просто вы работяга-разраб: "Я все делаю норм? Или говно какое-то коммичу?"
Так вот, во многих подобных ситуациях вам поможет такой инструмент как ”модель зрелости". Это такая штука, которая по сути напоминает дерево прокачки персонажа в играх, ну и работает почти таже, только без скилл-поинтов, а по наитию.
Одну из таких моделей вы точно знаете и используете каждый день – это стандартная градация уровня скилла разработчика Junior Middle Senior. Она довольно размытая, и у каждого своя, но по сути это тоже модель зрелости.
Модель зрелости может помочь не только неуверенным в себе пирожкам типа меня, но и сверхуверенным в себе редискам избежать ситуации, когда ты думаешь, что все у тебя заебись, а на самом деле ты на нулевом уровне какой-то модели зрелости и даже половину инструментов в своей области не освоил.
🅰️ Итого: Если хотите понять, все ли у вас круто в определенной области, ищите в ней модель зрелости и проводите самопроверку по ней. Ну и помните, что модели – это не отражение реального мира, а описание некоторой его части, так что не натягивайте сову на глобус.
Ну и напоследок поделюсь своими любимыми моделями зрелости:
1️⃣ Spotify Squad Health Check model – классная моделька, заслуживающая отдельного поста.
2️⃣ Test Maturity Model – может не самая лучшая. В тестировании их много, но вот эта у меня в голове крутится уже давно.
3️⃣ REST – Модель зрелости дизайна API. об этой узнал недавно, и в общем, она дала хорошую пищу для размышлений. Понял, что многие штуки в коде я бы мог делать лучше.
Если у вас тоже есть какие-то любимые модели зрелости. Или может вы придумали свои, то заделитесь)
Недавно у нас во внутреннем канале в яблочке задали вопрос: "Я делаю свою пет-проекты. Как понять, что мой сервис нормальный? Что я все сделал хорошо и могу быть в нем уверен?"
На самом деле этот класс вопросов возникает в разных местах. К примеру, когда вы становитесь техлидом: "Нормальный ли я техлид? Хорошо слежу за командами или что-то очевидное упускаю?" Ну или просто вы работяга-разраб: "Я все делаю норм? Или говно какое-то коммичу?"
Так вот, во многих подобных ситуациях вам поможет такой инструмент как ”модель зрелости". Это такая штука, которая по сути напоминает дерево прокачки персонажа в играх, ну и работает почти таже, только без скилл-поинтов, а по наитию.
Одну из таких моделей вы точно знаете и используете каждый день – это стандартная градация уровня скилла разработчика Junior Middle Senior. Она довольно размытая, и у каждого своя, но по сути это тоже модель зрелости.
Модель зрелости может помочь не только неуверенным в себе пирожкам типа меня, но и сверхуверенным в себе редискам избежать ситуации, когда ты думаешь, что все у тебя заебись, а на самом деле ты на нулевом уровне какой-то модели зрелости и даже половину инструментов в своей области не освоил.
🅰️ Итого: Если хотите понять, все ли у вас круто в определенной области, ищите в ней модель зрелости и проводите самопроверку по ней. Ну и помните, что модели – это не отражение реального мира, а описание некоторой его части, так что не натягивайте сову на глобус.
Ну и напоследок поделюсь своими любимыми моделями зрелости:
1️⃣ Spotify Squad Health Check model – классная моделька, заслуживающая отдельного поста.
2️⃣ Test Maturity Model – может не самая лучшая. В тестировании их много, но вот эта у меня в голове крутится уже давно.
3️⃣ REST – Модель зрелости дизайна API. об этой узнал недавно, и в общем, она дала хорошую пищу для размышлений. Понял, что многие штуки в коде я бы мог делать лучше.
Если у вас тоже есть какие-то любимые модели зрелости. Или может вы придумали свои, то заделитесь)
Spotify Engineering
Squad Health Check model – visualizing what to improve
Squad Health Check model - visualizing what to improve - Spotify Engineering
👍4😎4❤2🔥1🍾1👻1
Всегда полезно иметь какую-то штуку, которая обладает высокой доступностью и может чекнуть ваш сайт на жизнеспособность. Сегодня открыл для себя StatusCake.
Короче, полезна в кейсах, когда вам надо супер-верхнеуровнево чекнуть, что ваш сайт работает. Типа через все ВПНы, НАТы и прочие сетевые прикольчики.
Это не заменяет мониторинг, конечно, но хорошо его дополняет. Потому что мониторинг – это про внутренние детали по большей степени, а вот эта тулза больше про то как все смотрится с внешней стороны.
Ну то есть мониторинг может гореть, как сентябрь, а статус-кейк будет такой "It's fine". И наоборот – в мониторинге штиль, а статус-кейк будет орать, что все плохо, потому что какому-то надзору захотелось вас похарасить.
🅰️ Итого: Если вам нужно регулярно проверять достпуность вашего проекта из разных стран, то посмотрите на StatusCake. Он первым выстрелит, если у вас все работает, но по какой-то причине никто не может зайти только из какой-то одной страны.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3😁3❤1
Короче, кажется, что пришла моя пора старчески гундеть. Я сопротивляюсь, но гундю. Вышли minimal API и я бесился с того, что ничего нового не добавили, просто сделали по-другому.
Тут должно было выйти пять постов про то какое же это никому не нужное говно.
Но я сдержался. И кажется, что не зря.
Вот тут мне кажется мужик классно рассказывает, что к чему. Но и я тоже свои пять копеек вставлю.
В общем. Сколько лет назад они вышли? Три года почти. Тогда Ник Чапсас рекламировал эту фичу тем, что теперь проект с нуля можно написать в три строчки.
Ну как бы круто, но тогда мне казалось, но резон сомнительный.
В общем, майки переосмыслили эту ситуацию и сфокусировались при создании Minimal API на создании хорошо документируемых и быстро разрабатываемых API.
🅰️ Что это значит на практике.
Мне такое объяснение показалось наиболее осмысленным. Но я тут готов если что к дополнительным пояснениям.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Choosing between MVC Controllers, Minimal API, or FastEndpoints for C# APIs.
Not sure whether your .NET API should use MVC, minimal API, or something else? Let's talk about the pro's and con's of each and compare them with Fast Endpoints as another alternative.
Don't forget to comment, like and subscribe 🚀
💬 JOIN US ON DISCORD …
Don't forget to comment, like and subscribe 🚀
💬 JOIN US ON DISCORD …
👍4🙏3🤔1👾1
Вот уже почти четыре года так или иначе участвую в организации внутренней мини-конфы в Додо под названием Девфорум.
Это такая встреча, где любой человек из компании может заделиться своими знаниями с разработкой. Критериев отбора мало, цензуры нет. Главное – это практическая польза для разработки или для процессов разработки. Как итог, ребята приносят просто охреневительнейшие доклады, информация шарится, процессы и качество улучшается.
Ведем все это мы со Степой Гранкиным и Севой Паршиным в свободное от кода время.
Давней моей мечтой было попробовать сделать девфорум открытым, но для этого то времени не хвататло, то просто было не понятно, как это организовать. В этом году нам со Степой и Севой подоспела поддержка с воздуха в лице Макса Политова и его команды публичных коммуникаций и вот пилотный публичный DevForum уже через 20 минут!
🅰️ Итого: Подключайтесь к трансляции, посмотрите на нашу внутреннюю кухню) Без купюр, возможны маты и неприлично содержательный контент.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4😱3🔥1
Короче, пока свыкаюсь с новой ролью Engineering Manager'a и временно поставил постинг матерных постов сюда на паузу.
Прилег под нагрузкой, так сказать. Хотя блин, много заметок, которыми хочется поделиться. Но пока что!
Не могу не прорекламировать канал yet another dev, в котором постится топовый контент по шарпу, и при этом там всего 27 подписчков.
Мое знакомство с этим каналом началось с поста на хабре Правило 16 байт: развенчиваем миф о производительности структур в C#
В общем автор делает там несколько бенчмарков, и приходит к выводу, что сейчас рекомендуемым размером для структур является 64 байта, ну и почему именно такой размер.
В общем, автор канала, как и я не парится с пиаром и не часто постит, но старается постить какой-то свой контент, который, как мне кажется, ну достоин внимания. К примеру сегодня вот вышел пост про новые params в C# 13.
Ну и еще несколько пиздатых канальчиков вам, вдруг вы не знали:
C# Heppard – канал про перфоманс и работу с памятью в дотнете от Кирилла Бажайкина
И канал Евгения Пешкова, ну это оч крутой специалист, который не нуждается в представлении. Завсегдатай дотнекстов, и вообще одна из центральных фигур этой конфы.
Все пишут достаточно живо и от чистого сердца, с эмоциями и вот этим всем. Короч, непрошенная реклама случилась.
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
yet another dev
Самый скучный канал про разработку
🔥5❤3🫡2👍1
Media is too big
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6🔥5💯3👍1😭1
Периодически приглашаем на DevForum в Додо ребят из других компаний. У спикеров есть возможность рассказать что-то нам, а у нас есть возможность спросить что-то у них. Сложно посчитать пользу от такого действия, как в принципе пользу от конференций, обучения и прочего нетворкинга.
На мой субъективный взгляд это порой помогает просто посмотреть на то как у других и получить вдохновение для решения своих задач.
Соответственно, чем чаще проводите девфорумы, тем больше вероятность такого озарения в коллективе. Чем больше озарений, тем больше крутых идей, которые развивают бизнес.
Сегодня у нас как раз девфорум с приглашенным гостем Валерием Никтиным, которого вы могли видеть тут в комментариях.
🅰️ Итого: Приходите глянуть в 16:00 МСК, у Валеры есть стремительно растущий канал с анонсом предстоящего девфорума и всяким про разработку и жизнь марафонца-футболлиста)))
UPD: полумарафонца-футболлиста!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4🙏3😎3🤝2👍1
Forwarded from Я тут подумал…
Доклады.
Когда искал одно, а нашел другое (или как-то так звучала глава в «Хоббит, туда и обратно»)
После моего поста про то, что меня не взяли на дотнекст, мне написал Степа Гранкин, с предложением выступить на DevForum в DoDo.
Это внутренне-внешнее мероприятие, раньше оно проходил исключительно внутри DoDo.
В моем Дексисе, тоже есть аналогичная тема и мы тоже шарим(если доклад не под nda) Прокачку наружу.
Тогда вы спросите - в чем мой интерес участия в DevForum?
Их несколько:
- чем чаще выступаешь, тем это получается лучше и лучше - лишняя практика точно не будет лишней.
- тут можно было толкнуть тему про личный бренд, но я не транслирую эту тему, поэтому перейдем дальше.
- новая аудитория и новый опыт, но этот пункт вытекает из первого.
А для тех, кто хочет меня поддержать - welcome вот сюда https://www.youtube.com/live/ofhdEWgFy7g в 16:00 по МСК
Когда искал одно, а нашел другое (или как-то так звучала глава в «Хоббит, туда и обратно»)
После моего поста про то, что меня не взяли на дотнекст, мне написал Степа Гранкин, с предложением выступить на DevForum в DoDo.
Это внутренне-внешнее мероприятие, раньше оно проходил исключительно внутри DoDo.
В моем Дексисе, тоже есть аналогичная тема и мы тоже шарим
Тогда вы спросите - в чем мой интерес участия в DevForum?
Их несколько:
- чем чаще выступаешь, тем это получается лучше и лучше - лишняя практика точно не будет лишней.
- тут можно было толкнуть тему про личный бренд, но я не транслирую эту тему, поэтому перейдем дальше.
- новая аудитория и новый опыт, но этот пункт вытекает из первого.
А для тех, кто хочет меня поддержать - welcome вот сюда https://www.youtube.com/live/ofhdEWgFy7g в 16:00 по МСК
YouTube
DevForum 20.06.2024. Валерий Никитин. «Как похудеть, съедая TCP-пакеты»
Вместе с Валерием Никитиным, приглашенным спикером из компании DexSys, поговорим:
– о предметной области, в которой работает продукт DexBee
– кратко пройдемся по базовым вещам, на которых основана техническая часть
– рассмотрим техническую реализацию TCP…
– о предметной области, в которой работает продукт DexBee
– кратко пройдемся по базовым вещам, на которых основана техническая часть
– рассмотрим техническую реализацию TCP…
👍4🔥4👏2❤1🍾1
Тут у нас в внутреннем канале написали про то как офигенно коллаба c Геншином повлияла на продажи в Турции. Там с Додо Пиццей мало кто знаком, а вот с аниме-дрочильнями знакомы почти все! Но теперь, все со всеми знакомы и повышают продажи додстеров
А, поскольку ваш покорный слуга имел некоторое отношение к этому делу, то почему бы не рассказать, как оно было.
Что мы там вообще сделали
Короче, мы с ребятами из команды замутили поиск пасхалок в приложении
Я такие игры видел на куче сайтов и мне всегда было интересно, как такие штуки реализуют? Как справляются с нагрузкой? Как на бэке там все реализовано?
Был большой соблазн объединить 1 и 3 пункты, ну типа кликнул по пасхалке первый раз – вот и стартовал. Но в итоге оставили их раздельными и это довольно неплохо упростило тестирование. В старте игры были свои корнер кейсы, а в открытии пасхалок свои.
Тут бывалый взгляд наверняка отметит, что "Ну чуваки SRP – понятно, что так нужно было делать сразу!"
И да, это реально понятно, но в моменте, когда вы обсуждаете удобный контракт для мобилок, которые являются основными потребителями всего этого добра, все это становится не так просто. Потому что для мобилок – чем меньше эндпоинтов дергать и чем меньше разных контрактов поддерживать – тем лучше.
Это вообще было для меня некоторым открытием после веб-разработки. В вебе тебе добавлять-удалять новые эндпоинты – как два пальца
🅰️ Итого Хочется какой-то итог первой части подвести, но для меня он тут в том, что разработка бэка под мобилки может сильно отличаься от разработки бэка под веб. Ибо веб – гибкий, а мобилки супер-неповоротливые. Из-за этого привычные нам принципы разработки могут не подходить под ситуацию и приходится искать компромиссы.
Please open Telegram to view this post
VIEW IN TELEGRAM
Genshin Impact Вики
Куйлейн-Анбар | Genshin Impact Вики | Fandom
Куйлейн-Анбар — помощник в «Священном призыве семерых». Куйлейн-Анбар не появляется ни в одном из уровней.
❤🔥11🔥4🦄4🙏1