dd

Рубрика: Разработка

  • О важности автогенерации документации вашего api

    Tl;dr: дока только через автоген, а чтобы этого достичь иногда можно и нужно срать на стандарты

    Как-то меня последний год обходила стороной необходимость вручную писать доку. Сначала был graphql, где доку вообще делать не надо, а потом перешёл на проект на симфони, где дока генерится при деплое исходя из аннотаций на экшене контроллера.
    Я даже и не подозревал, во-первых, насколько это удобно, а во-вторых, насколько это важно для скорости разработки и главное для желания вообще хоть что-нибудь разрабывать и менять.
    Извечная проблема программистов в том, что программу постоянно надо менять и чем легче это делать, тем нам проще.
    Так вот я все это к чему: на подработке используется yii2 и еще мои собственные наработки, максимально облегчающие разработку апи, НО! совершенно не трогающие момент с документацией. Из-за этого приходилось руками писать доку на аннотациях в пхп, следя, не забыл ли я случайно где-то параметр или тот ли я указал тип. Это жопа. Это трудоемко, это пустая трата времени.
    Плюнул, потратил 3 часа на полную переработку подхода и в итоге получил автогенерацию доки при деплое, прямо как на основной работе. Вдовесок к этому получил полную типизацию всех возвращаемых значений при обработке данных. Двойной выигрыш.
    Есть очевидный минус — в классе, производящем обработку данных, мы теперь имеем аннотации, относящиеся к документации апихи, о которых класс знать не должен вообще. Плохо ли это? Очень! Но мне абсолютно все равно🤣 В конце концов, код выполняет свою цель, не сильно при этом засираясь. Более того, такой подход куда практичнее, чем многоуровневый маппинг с "запросов" на "команды", а потом на "ответы".
    Но давайте я все же подчеркну основную мысль — это не энтерпрайз и это не команда из 10 человек, я тут один. Тут срать все хотели на подобные мелочи, заказчику важен результат здесь и сейчас. Соответственно, и подходы мной выбираются исходя из этого.
    Писать чистый совершенный код невозможно, абсолютно в любой ситуации придется чем-то жертвовать и уж лучше это будет небольшое нарушение разделения зон ответственности, чем мое время и нервы

  • Рабочее место и кошка

    Вот кстати и само рабочее место, а еще кошка, которая из-за стресса из-за переезда теперь от меня не отходит и даже спит со мной, хотя раньше даже подумать бы не мог о таком ❤️

  • Забыл рассказать важную (для меня) новость

    Наконец-то, спустя год ожидания мы с семьей переехали в другую квартиру🥳
    У меня теперь есть свой отдельный уголок, где можно спокойно с комфортом работать за большим столом
    Впервые в жизни мне предоставилась нормальная возможность работать с перерывами на еду, недалеко отходя от кровати😃
    График теперь примерно такой: 8:30 проснулся, до 18 основная работа, до 21 с семьей, до 00 подработка. По выходным тоже, конечно же, в обед и ночью подработка.
    Благодаря этому я в этом месяце на подработке отработал 80 часов, что не может не радовать, потому что наконец-то куплю себе xbox, почему-то прям чешется его купить🤔
    Справедливости ради, у меня и до этого был такой график (уже чуть больше месяца), просто сейчас не надо тратить время на дорогу до офиса и ночью гораздо удобнее работать за рабочей станцией, чем на ноуте
    На подработке фронт еще молодой, иногда пишет после 21, вопросы задаёт. На резонный вопрос "ебанулся? Выгоришь" — смеется. Хороший запал

  • Шутки про дроп базы джуном же очень смешные, да?

    Так вот, мне вчера было не смешно, потому что я уже не джун совсем

    В пылу работы по воспроизведению критичного бага перепутал вкладки и сделал truncate table_name cascade на превью нашей компании вместо локалки. Ржака да и только 😀
    Смертельный рев команды тестировки был слышен аж из самой Москвы
    Сисадмин сказал, что дело житейское, но все равно выточит мне медальку!

    А если смотреть чуть позитивнее, то наконец-то тестировщики в работу возьмут мою задачу по репликации данных на превью — очень даже хороший плюс 😀

  • Стриминговые SQL-движки

    Наткнулся на интересную концепцию — стриминговые sql движки, которые на лету точечно обновляют результаты какого-то заданного запроса (например, при подсчете строк в таблице их количество хранится отдельно, а не высчитывается каждый раз заново)

    Вот сама статья, легко читается, простым языком объяснено что к чему — https://www.epsio.io/blog/how-to-create-a-streaming-sql-engine

  • Итоги месяца: испытательный срок, телефон и музыка

    Чето долго не писал, работы выше крыши, но все по порядку
    1. Сегодня закончился испытательный срок, заявление на увольнение не попросили прислать значит все ок, работаем дальше😊 а если серьезно, то похвалили, сказали, что хорошо влился и хорошо работаю. Наверняка всем так говорят на всех работах, но от того не менее приятно.
    2. Вчера был день рождения. В качестве подарка поехал кукухой и купил себе Гугл пиксель 7а. Зачем? Да хз, захотелось. Недавно меня посетила мысль с небес о том, что я телефоном пользуюсь только для телеги и музыки, поэтому какая разница на какой операционке сидеть. Хотя нет, разница определенно есть — никогда в жизни не возьму что-либо кроме айоси или чистого андроида
    3. Перешёл на Ютуб музыку. Лучшее решение в жизни. Там есть абсолютно все, даже старые богом (а также Яндексом и спотифаем) забытые треки
    4. Взял себе подработку на вечер в одной из прошлых контор. Мне не сложно, мозгу приятно, ну а кошельку тем более. Буду копить на xbox series x в новую квартиру
    5. В прежнем режиме читаю статьи и посматриваю видосы про разработку. Надо заставить себя запилить свежий пост с подборкой.
    6. Нашел очень интересную штуку — sql-подобный инструмент для работы с гитом. Если кто-то сможет придумать ей реальное применение, то напишите, я пока не въехал, хотя все равно удивлен функционалом. Ссылка — https://github.com/AmrDeveloper/GQL

  • Проброс портов в VSCode

    Абсолютно случайно наткнулся на видео, где разраб объясняет новую фишку вскода — прокидывание портов
    Фактически, альтернатива ngrok, когда надо кому-то из внешней сети показать своей проект в локалке без необходимости использования хостинга
    Микромягкие молодцы, годноту пилят
    https://youtu.be/Qi2hZ74_eyw?si=F3NBvdjjF6RRrl4j

  • Ресурсы для прокачки скиллов

    Недавно озадачился своими скиллами, давно ничего не читал и не изучал
    В связи с этим нашёл пару ресурсов, с которых начну снова процесс обучения:
    1. Роадмап. Очень обширный, от джуна до сеньёра, с кучей ссылок. Есть ещё вот такой, о нём я уже слышал, тоже много ссылок и много тем
    2. До этого мне далеко, но Как и куда расти инженеру, если он уже Senior
    3. Интервью по System Design
    4. У меня большие проблемы с пониманием шифрования, поэтому — КАК РАБОТАЕТ ШИФРОВАНИЕ? С НУЛЯ ЗА ЧАС
    5. Разработка и проектирование высоконагруженных систем
    6. Как правильно выбирать очередь
    Если у кого-то есть полезные ссылки, то делитесь, буду рад

  • Отпуск

    Съездил в отпуск. Взял за свой счёт, потому что не отдыхал уже 3 года. Вроде как бы круто, море и всё такое, но в следующий раз только вдвоём с женой и не на юг 😀
    После отпуска пришёл, смотрю — накидана куча задач 🙁 так себе начало работы, НО! Раскидался с ними очень быстро, то есть получается есть абсолютно реальный эффект от отдыха. Кто бы мог подумать 😀
    В прошлый раз я отдыхал дома, неделю проведя дома за приставкой, как раз ровно 3 года назад. С тех пор и думал, что отпуск бесполезен
    В общем, отдыхайте почаще, желательно далеко от дома и от любых дел, которые могут хоть как-то напомнить привычный образ жизни

  • Благодарность за ревью картинками

    На работе задачи никогда не уходят в тестирование, пока их не посмотрит другой разраб (лучше даже не один)
    В связи с этим надо как-то благодарить коллег, тратящих своё время на ревью
    Не придумал ничего лучше, чем кидать всратые картинки в ответ на апрувы😃