Бездомный разработчик
75 subscribers
126 photos
28 videos
28 links
Рабочие зарисовки. Бытовые неурядицы. Псевдоумные рассуждения.
Download Telegram
Имею привычку записывать важные мысли в заметки на маке. Иногда я так тороплюсь, что заменяю эти мысли на одно-два слова, которые должны пробудить соответствующую ассоциацию. Ключевое слово "должны". Через месяц я читаю все это и не могу понять примерно ничего.

"Привычка писать красиво". Это явно была какая-то умная мысль про код, который нужно всегда писать аккуратно.

"Debezium". Скорее всего всплывал в очередном разговоре и я подумала, что надо бы уже почитать про него, что ли. Но не помню зачем.

Айдишник. Вы же тоже сохраняете в заметках кучу ключей и идишников с тестинга, чтобы были под рукой?

"Ретро в конфетах клиентов". Оставлю без комментариев.
😁5
This media is not supported in your browser
VIEW IN TELEGRAM
😁3👨‍💻2👍1😭1
Я утром — смотрю видео о том, как делают свечи и думаю: “Ремесла, нежно и женственно, как мне нравится и подходят, хочу так!”
Я вечером — смотрю видео про Comundа и думаю: “Разработка. Строго и понятно! Обобщили, смоделировали, погнали. Очень мне подходит!”

Я у психолога — “Понимаете, я никак не могу до конца понять, какая же я на самом деле?” 😅
❤2😁1
Старое видео в ту же тему от моей сестры 😜
This media is not supported in your browser
VIEW IN TELEGRAM
Небольшой комментарий от @sofya_foxx о ее "спонтанных покупках".
😁6😇1
Врываюсь на волне эмоций! Я вчера дочитала “Рифматиста” Сандерсона. Вот этого. Полчаса еще потом не могла заснуть, все думала, как же красив эпизод в конце. И я в полном восторге.

В последнюю пару лет не было обновлений по циклу “Архив Буресвета”, который мне нельзя начинать перечитывать - пропаду минимум на неделю. И поэтому я читала в основном однотомники. “Локон с Изумрудного моря” был прекрасен, но не порекомендуешь новичкам, потому что вся его прелесть раскрывается после того, как прочтешь минимум “Рожденного Туманом”, но лучше бы еще “Элантрис” и “Архив”.

Несколько месяцев назад прочитала “Вы чародей”. Книга классная, но выделяется из остальных, история больше похожа на жанр litRPG, но такой, средненький.

А теперь про “Рифматиста”. Написан в популярном нынче жанре янг-адалт (или он популярен в моих кругах, но не так важно). Прямо такой классический, с подростками, которые определяются в жизни, а помогают им невероятные передряги, в которые те внезапно попадают. “Магия” этого мира построена вокруг геометрии, герои оживляют меловые фигуры и в зависисмости от их геометрических свойств линии и фигуры имеют разгные силы. Сразу признаюсь, что я прямо дотошно не разбирала механику, чтобы найти в ней изъяны, но она значительно проще других механик Сандерсона и визуализируется довольно легко. Есть некоторый вопрос, конечно, к тому, какого уровня геометрию, да и вообще математику там детишки в университете изучают, но это, пожалуй, единственное, от чего я поморщилась. В остальном отчаянно рекомендую. Особенно @anny_klirik, которая никак не хочет читать Сандерсона, сколько ни уговариваю! Отличный перевод, динамичный сюжет, автор умело обходится без роялей в кустах, все красиво и атмосферно. И объем не велик, прочитала за четыре вечера. Хотя хотелось быстрее 😇
👍4
Левчик в гостях. Машина на парковке. Я в самолете. А это значит, что с большой вероятностью сегодня вечером я уже буду в Москве. Как-то так. Если кто-то захочет пересечься в ближайшие две недели - пишите 😇
❤5
Ну вот и реализовался мой кошмар менеджера-параноика 😂
😁5🤣3
This media is not supported in your browser
VIEW IN TELEGRAM
Ну наконец-то мои меланхоличные плейлисты заиграли как надо! А то под этим кипрским солнцем, все казалось, что с ними что-то не так 😂

https://music.yandex.ru/album/11008471/track/67146394
❤4😁4
Один друг сказал мне, что управление командой разработки — это та же разработка, но на уровень выше. Схема развития навыка следующая: библиотеки -> сервисы -> проекты -> люди (=группы проектов). Что-то в этом есть. Разве что разработка на этом уровне больше всего напоминает мне разработку на Perl (вспомнился же), где результат написанной программы зависит от контекста. А итог программы получается каким-то приближением того, что ты собирался запрограммировать. Не в обиду исполнителям, а просто как результат естественного искажения идеи, проходящей через несколько ви́дений. Честно скажу, иногда подбешивает, но жить можно.

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

Гибкости. Когда они придумывают схему, которая тоже работает и в целом, не сильно хуже той, которую бы сделала я. 

Изворотливости. Когда я всё-таки хочу, чтобы ребята реализовали именно мою идею (ибо мне во сне было виде́ние как правильно). 

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

Настойчивости. Потому что периодически меня явно хотят надуть: подхалтурить или сделать что-то явно другое (не со зла, а от человеческого естества). 

Оптимизму. Когда мне кажется, что как-то всё медленно и мало, ребята постоянно меня удивляют, в итоге умудрившись закрыть бо́льшую часть ОКР-ов. Хотя, возможно, дело в том, что я ещё не поняла, где меня надули.

Но главное — у меня появляется возможность сфокусироваться на том, какие инструменты я могу применить для улучшения результатов команды. При этом умеренно их раздражая своими гениальными предложениями. Я же знаю, как это бесит. Очень субъективно оценивать, насколько круче это звучит, чем разработка новой крупной фичи, увеличивающей GMV или сокращающей косты, но мне интересно.

Сегодня провела, первую (стыдоба-то, полгода ведь работаю!) действительно хорошую ретроспективу по итогам прошедшего квартала. С красивым шаблоном, который нашла по рекомендации в канале. Получилось вовлечь ребят и услышать крутые идеи на тему того, за счёт чего можно повысить эффективность. А в конце кто-то отметил, что мы действительно команда, помогаем и усиливаем друг друга. И от этого где-то в моём сердце распустился новый цвет🌻к. Вот так вот. Захотелось поделиться.
🔥8❤5👍1👌1
Я из тех людей, кто имеет очень слабый контакт со своим телом. Если я чем-то увлечена, то я могу забыть поесть, попить, спать нормально не могу, буду всё думать, что да как сделать. В общем, тревожность 80 уровня. А ещё я не чувствую, как устаю. Единственный способ меня остановить — заболеть, и его мой организм активно эксплуатировал последние несколько лет. Горло заболело, температура поднялась — Софья, наконец, вдуплила, что надо лечь спать пораньше. Так и жили.

В какой-то момент мне психолог предлагала оценивать уровень энергии в условных ложках, от одного до десяти, например. Я попробовала. У меня было всё время пять, что намекало: на самом деле кто-то ни фига не может оценить свой уровень энергии. Перед НГ я слушала тренинг о том, как сохранять энергию для C-level руководителей (не спрашивайте, как я туда затесалась), и там услышала про weltory. Кратко — ещё одна штука, которая по вариабельности сердечного ритма, рассчитывает всякие показатели здоровья. Что в ней прикольно лично для меня — как она отображает результаты, наглядненькой такой красно-зелено-желтой жидкостью, которая либо конденсируется, когда ты копишь энергию, либо испаряется в обратном случае. В моём случае.😅

Поставила я его и начала наблюдать. И снова поняла, что ни фига не понимаю в своём состоянии. А вот приложение, что-то просекло.

На обложке наверху (среда) — три показателя, замеряемые в день, когда приложение говорило мне: «Прекрати! Это добром не кончится!», а я не слушала. Глобально, казалось, что энергии у в этот день хватает, потому что я как не в себя рисовала схему освободительного рефакторинга, что должен был избавить меня от слез о несовершенном мире. По субъективным ощущениям, это была ровно та же энергия, на которой я последние три года тянула в Яндексе. Но в очередной раз подтвердилось, что эта энергия — стресс. И как и предвещало приложение, как часто бывало в эти три года — к вечеру у меня разболелась голова так, что я думала, утром их будет две.

Но когда такое меня останавливало? Желание отрефакторить код, и сделать, наконец, красиво, оно ведь сильнее инстинкта самосохранения. На следующий день, вооружившись клавиатурой и приложением, я продолжила реализовывать план «Умри, но сделай». И, внезапно, во второй половине дня вышла из красной зоны в зелёную. И это не только по версии приложения, я действительно почувствовала себя сильно лучше. Из забавного, опубликовала в инсте опрос, что я делала и за счёт чего отдохнула, и мои старые друзья сразу догадались, что я код писала.

Это наблюдение подтвердило ещё один поинт из тренинга про энергию: деятельность, в который мы реализуем часть своих сильных сторон приносит энергию. И это тоже работает. Но.

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

Если не слышали про weltory раньше и хотите посмотреть, вот тут моя реферальная ссылочка. Не то, чтобы я с этого что-то получу, подписку на год я уже оплатила, но мне просто будет приятно знать, что я смогла поделиться полезным. Так что будьте здоровы и пишите красивый код. В разумных дозах это крайне полезно для здоровья разработчика.
🔥8❤2👍1
Не верь осям своим. Или как я битый час пыталась понять, как заставить графану нарисовать совпадающие линии совпадающими.. безуспешно.. может, вы знаете, а? 😭 Я уже, кажется, все настройки перепробовала..

Каждая линия - это отдельный запрос вида

histogram_quantile(0.XX, от чего-то там)

Ну, или просто можете мне посочувствовать. Я сейчас поем и еще подумаю над этим 😅

UPD в настройках включено “stack” . Спасибо!!!
❤1
Привет-привет! Сегодня утром решила написать о том, какая я бабка, потому что почти не использую ChatGPT, да и не очень он мне нужен. К тому же говорят, что не для всякой разработки он хорош, да и вообще... 
Но немного погодя я подумала, что шутка про бабку совсем не шутка, и как-то стрёмно стало. Поэтому решила я провести свой первый эксперимент. Рассказываю.

Задача.
С помощью chatGPT написать простой http-service. И не абы как, а чтобы с классами, интерфейсами, конфигурацией в yaml. То есть сделать что-то, что можно будет дальше красиво и аккуратно развивать. 
Первая итерация без фанатизма, потому что я решила все это дело проделывать на двух языках: на Go, так как он мне сейчас полезен. И на C++, ибо любовь.
Итак, что получилось.

Go:
В первой итерации, конечно, все было а-бы-как и в одной функции main, но простыми пожеланиями тут да там добавить интерфейс, заменить библиотеки для jwt и логирования, все получилось довольно симпатично. AI исполнял мои пожелания, забавно приговаривая: "Это делает код более модульным и удобным для расширения". 
Дальше беру написанный код, спрашиваю как запустить, выполняю go mod, затем go run и сервер заработал.
Итоговый код здесь.

C++ или любовь зла:
Тут у меня все еще на этапе инициализации репозитория что-то пошло не так. И на этапе коммита в main, потому что я решила лицензию (она ведь мне очень нужна) закоммитить напрямую из веба... но вернемся к сути.

Прошу переписать гошный код на С++. Из приятного: нашел нужные мне библиотеки, классы и интерфейсы сохранил, названия, правда, из гошки скопировал, но пока выглядит ок. Не все библиотеки я знаю (я же только на яндексовых плюсах умею), но я ещё поразбираюсь, что там за звери. Из неприятного: про умные указатели он, конечно, не в курсе, надо будет явно всё проговорить. Но это в следующей серии, потому что прежде чем глубоко копаться в коде, я решила его запустить.

Хе-хе. Тут-то мой энтузиазм поугас. CMakeLists.txt он, конечно, мне написал, хотя и не сразу. Я немного окольными путями к этому пришла, потому что на вопрос "как запустить", он мне предложил какой-то нерабочий MakeFile, причём ориентированный на linux (ну ладно, он не знал, хотя... я же из Safari его открываю, недоработочка!). Важным допущением оказалось, что AI подразумевет, будто у меня все библиотеки мира уже подтянуты. Поэтому пришлось разбираться как их установить. С yaml-cpp всё получилось чудесно, но вот с jwt-cpp провал. Он оказалось не поддерживался homebrew, мне предложили собрать его самостоятельно, и пока я сдулась. Потому что хочу документировать все вспомогательные действия, чтобы мой сервис кто угодно мог собрать и запустить. Плюс суббота уже подходит к концу, а мне ещё девчачий роман почитать нужно.

Итоговый код здесь.

Вот так вот. Не знаю, интересно ли вам, но мне было интересно, и я к нему еще вернусь.

P.S. а еще я снова посмотрела на плюсовый код и не поняла, какой CodeStyle он использует...

P.P.S. Затраченное время на код и текст: 4 часа.
🔥6❤1😢1
Довольна как слон, ведь у меня получилось-таки собрать плюсовый проект, который я делала на прошлой неделе.

План, конечно, был более грандиозный. Я хотела и с пакетным менеджером разобраться, и ide настроить нормально, и copilot...

Напомню, в прошлый раз я остановилась на том, что СhatGPT советовал мне собрать jwt-cpp самостоятельно. А вторым пунктом (но почему вторым?! не понимаю) была инструкция, как установить его через пакетный менеджер, но я её сразу не заметила. Но заметила в комментах вашу рекомендацию посмотреть на https://conan.io. Спасибо, вы реально помогаете мне учиться быстрее.

Conan (ну и название…) легко ставится через brew install. Устанавливается не быстро, но всё равно шустрее, чем ydb пересобрать 😅. И есть время почитать, как всё работает: пакетный менеджер подтягивает заголовочные файлы и сборки библиотек под разные платформы, последние хранятся где-то на их серверах. В целом, работает так, как я себе это и представляла: ставишь пакетный менеджер, запускаешь команду, которая определит твой «сборочный профиль». Его можно подкорректировать, если что. Дальше исходя из этого профиля менеджер забирает нужные пакеты. Сами пакеты можно поискать через ConanCenter. Зависимости прописываются в conanfile.txt.

Из забавного: помните рассказывала, как один раз я на собесе кандидату сказала, что  я C++ разработчик, и сразу прилетел вопрос: «В vim-е пишешь?» Я ещё поржала над стереотипами. Но вот мне предлагают создать файлик с зависимостями для пакетного менеджера, и что я делаю? Пишу vim conanfile.txt ... инстинкты...

Вернёмся к пакетам. Офигенно. Когда разберёшься в деталях. Детали, что запустить и как настроить спрашивала у AI. Из хорошего, так как он был в контексте именно моего проекта, то сразу подключал все нужные мне библиотеки, ну почти все. Из подозрительного, под шумок корректировал CMakeLists.txt, как будто вспоминая: «ах да, что-то я в прошлый раз про эту библиотеку забыл!» Из печального, с первого раза, ничего не заводится, но если скармливать ошибки в чат, постепенно становится норм. 

После того как все зависимости подтянулись, начала чинить сборку... всё того же jwt-cpp. И вот тут, конечно, весело. Опущу детали, но скажу, что в итоге своими предложениями AI-ассистент завёл меня в цикл. Он предложил поправить вызовы, появились новые ошибки, начала их править и через некоторое время вернулись к первой нерабочей версии кода😢. И закончился лимит бесплатных вопросов, а я так и не решила, тратить ли на этого умника 20 евро в месяц или нет😂.

В итоге пришлось применить проверенный метод «посидеть и помедитировать на скудные доки, пока не придёт озарение». Наконец, я догадалась, что нужно поставить ещё один пакет, для работы с json payload... не знаю, как об этом догадаться новичку, не качавшему 12 лет dev-интуицию.

Ну вот и всё. Три волшебных часа за компом и, надеюсь, скоро перейду к написанию кода.

Если интересно посмотреть, что получилось (а выглядит довольно лаконичненько), то код тут. (На всякий, код там пока абы какой, его правками я еще не занималась, пока только сборку смотрела. А то решите, что это я сама написала 😂)

Если не лень будет проверить, заведётся ли у вас сборка с первого раза, поделитесь, очень интересно. Мне пока негде проверить.
🔥4👏1
В последние две недели не было времени снова покопаться с кодом, поэтому тут рассказать пока особо нечего. Но! Раз сегодня 8 марта, у меня есть гендерный контент!

Внезапно, несколько раз выступала экспертом в вопросе, какого быть девушкой-разработчиком.

🌸 Когда нанимали команду Сплита. Не думаю, что рассказываю что-то прямо полезное, но опыт был прикольный.

🌸 Когда какой-то модный бутик придумал как под соусом восьмого марта порекламировать одежду. Меня накрасили, приодели, пофоткали.. а ведь хотела меня мама в 5-м классе отдать в модельную школу, но что-то пошло не так.

🌸 Когда мне было 18 (илии 19) Нашла это видео (я после 50-й секунды), пока искала фотки под флешмоб “Я в 17”. Года идут, а подход к решению проблем все еще бывает актуален.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥1
Мне очень тяжело даются посты, притом, что мыслей до кучи! Но, я очень надеюсь, что как спущусь с 5 тысяч и мне бахнет кислородом, я исправлюсь😅 А на самом деле просто очень хочется показать эту фотку, второй раз в жизни вижу Эверест так близко, и второй раз в восхищении! Хотя, в восхищении именно от Эвереста в первый раз. Лайфхак: если вы хотите увидеть вершину мира во всей красе, нужно ехать в Тибет, там к базовому лагерю можно подъехать по прекрасной дороге на автобусе (учтите акклиматизацию, мы растянули этот маршрут на 5 дней). А в первый раз я пришла к базовому лагерю со стороны Непала. Семь дней невероятно красивого трека, много Гималаев (и это неописуемо красиво), но Эверест почти не видно с базового лагеря той стороны. Так что, если была такая мечта, имейте ввиду))
❤10❤‍🔥4🤩2😍1
Важная мысль с прошедшей недели

Когда пишешь код с большими перерывами — это всегда боль.
* Протухли токены гита.
* Сменилось тестовое окружение.
* Кто-то посадил ошибку в конфиг для локального запуска.
* и т. п.

И вроде по отдельности это мелочи, но так больно, когда у тебя высвободилось 40 минут между встречами, чтобы отладить баг, а сервис в отладчике и не думает стартовать.

Когда пишешь код каждый день, как-то меньше это замечаешь. А когда ты менеджер — всё против тебя. 
* Общественное мнение, что лиду надо делегировать, а не писать код.
* Все вышеперечисленные ошибки.
* Сама природа разработки, в которой вечно всё отваливается, настройки разъезжаются, всё написано правильно, но что-то не работает! 

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

А ещё вся эта ситуация мне напомнила, что разработка, если мозг прикладывать и стараться делать хорошие решения — тяжкий труд. Чтобы быстро выдавать качественный код, нужно фокусироваться, входить в поток, и желательно, не выходить из него, не получив какой-то промежуточный и рабочий результат. И это ресурсозатратно. Увлекательно, классно, но тяжело. Особенно для людей с гипефокусом: «ну ещё вот это доделаю и точно пойду ужинать!» 

В итоге все выходные разгружала мозг: копалась в саду (мяту посадила 😇) и гуляла. Иначе не пережить мне следующую неделю отпусков.

P.S. только сейчас сообразила, что сегодня понедельник. Но Кипре это был выходной. Катаклизмус! Собственно, катаклизмус я и переживала на прошедшей неделе
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
Шла третья неделя, как я писала отзывы для Performance Review и промо сотрудников. У меня поехала кукуха, зато Gemini знает теперь про них все!
😁3❤‍🔥1
Стараюсь тут писать в основном свои мысли, но их, как видите, нет. Поэтому репост из классного канала для менеджеров со ссылками на комические мультики. В последнее время и сама нескольоко раз натыкалась на них. Последний - мой любимый!
Я принес. Контакты… конфликты…

Игры вам приносил, сериалы и фильмы приносил, а вот мультики еще нет. Вот вам для затравки 4 отрывка из старого мультика 1984 года «Контакты… Конфликты…». Сняли 40 лет назад, а актуально всё и по сей день 🙂

https://www.youtube.com/watch?v=edha3Krhick – про то, как «помогает» совещание и почему работягу не мотивирует прибавка.

https://www.youtube.com/watch?v=EH_3ukkNuwg – про то, как у нас выстроилась очередь СРОЧНОЙ РАБОТЫ уже вплоть до пенсии, а она всё продолжает прибывать.

https://www.youtube.com/watch?v=Ovs5LSl1yOk – встречал граждан, у которых был такой же режим планирования и приоритизации 🙂

https://www.youtube.com/watch?v=3LqSbUdz1sY – а это когда слова и аргументы слушать не хотят, но объясниться и договориться о дальнейшем надо.

Если у вас есть еще любимые серии, заносите в комментарии. Ну а если ситуации знакомы вам, то ставьте 💯
😁1