Мой web-dev
55 subscribers
62 photos
1 video
66 links
Привет, я php-бэкендер, делюсь своими мыслями и наработками
Download Telegram
Вообще, я когда еще не занимался программированием, то думал, что люди, держащие сервера дома, выделают под них целые комнаты, прям как для настоящего сервера - с кучей стоек, лампочек, проводов, с вечным шумом. Как же на деле выглядит домашняя серверная можно посмотреть на пикрелейтед. Надеюсь, когда-нибудь доживу до нормальной стойки)))

Кстати, я наконец-то обзавелся собственным сайтом - ddruganov.ru
Пока не придумал зачем он мне, но просто весело пока скидывать друзьям эту ссылку, а там... ну, сами посмотрите)
😁4
Хорошие новости!

Меня сократили🥲

Но это было предсказуемо. Еще когда в сентябре ипотечные ставки пробили все потолки моя жопа чуяла, что работать осталось недолго.
Поэтому от собесиков осенью и зимой не отказывался, если сами находили. Так же остались офферы с августа, так что без работы не останусь, но вот сам факт...

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

Ждите очередных постов про собесы и экстренное трудоустройство, будет весело (надеюсь) 😃
🥴4😢1
Это speech 100 или speech 1?

С другой стороны, наверное, можно собой гордиться 😃
Новое начало

Сегодня был последний рабочий день на старой работе.
Забрали ноут, отдали доки и провели полный расчет. Когда увидел сумму стало приятно, а потом понял, что весь летний отпуск, который я планировал потратить дачу, накрылся медным тазом. Тупая ситуация, когда деньги чинить дачу есть, а времени нет.
Очень жалею, что приходится с этой работой расставаться, потому что команда там просто пушка. Всегда было очень весело, без всякой официозности, по-дружески.

Две недели крайне активно собеседовался.
Прошел 7 технических собеседований, но только по 5 получил оффер. К счастью, не из-за скиллов, а из-за того, что компании медленно думали - сами технички проходили очень даже хорошо.
Дожидаться до конца всех не стал потому как предложили святой грааль пхпшника - финтех, микросервисы, хайлоад, с возможностью иногда делать задачки на go.
Вы спросите в чем подвох? Все очень просто - сфера специфическая - микрокредитная организация. Для кого-то это морально спорный момент, а я себя поймал на мысли, что если бы позвали пилить порносайт, то я бы и от этого не отказался.

В резюме я выставил, что я Middle+. На собесе в компании, куда я ухожу, спросили почему Middle+, а не Senior. Я ответил, что это психологический барьер.
А через пару дней подумал - а правда, какого это черта я не могу написать, что я сеньер? Ну и написал :D
И после этого просмотры резюме на хх поперли как сумасшедшие, жаль только, что уже поздно было - принял оффер. Интересная, однако, ситуация получается на рынке.
🔥6
Красивое начало

У меня с самого начала как я собрал печку были постоянные фризы и краши. Почти всегда проблема была в ошибках доступа к памяти.
Полгода жил, иногда перезагружая комп, но недавно решил выяснить что же все-таки не так.
Накатил чистейший дебиан, обновил биос до самой свежей версии, в самом биосе выставил огромную кучу настроек, но ничего не помогало.
Решил проверить мемтестом - оставил на 3-4 часа и мне вывалило огромную кучу ошибок. Понес в сервис, сказали проверят, но скорее всего проблема в процессоре и его модуле управления памятью :(

Сегодня из-за того что забрали рабочий ноут очень резко потребовалось продолжить работу на компе, поэтому пришлось ехать покупать оперативу.
У нас в городе, оказывается, с этим беда какая-то. Нормальная память была только в одном отделении DNS в жопе города.
Купил цветастую, на 32 гига, 6ГГц. Отдал за нее аж целых 14 косарей. Жалко, но что поделать, подработка не терпит ожиданий, а денег она принесет явно куда больше, чем траты на оперативку.
И что же произошло? Правильно! Абсолютно ничего, комп работает с 11 утра и еще ни разу не застыл, не упал, не выдал ошибок. Я в восторге. Надеюсь, теперь вообще никогда не придется вырубать комп.

А через пару часов после покупки мне позвонили из сервиса и сказали, что с памятью все ок, можно забирать. Похоже, она просто не подходит то ли к материнке, то ли к процу.
Любуемся😊
😍5🔥2
Сектор go на барабане

Вот сидишь такой спокойно в понедельник вечером, смотришь ютуб, как вдруг тебя как в жопу жалит и ты ставишь себе компилятор голанга
В следующий раз очнешься через 3 часа, когда сделал малюсенькое веб-приложение и начал пилить cli-утилиту
Опасно

А если серьезно, то на подработке мне недавно попалась задача по импорту адресов из базы ГАР ФИАС
И так она мне засела в душу и так долго* выполнялась на пхп, что я решил попробовать в жизни что-нибудь новенькое и переписать ее на голанге
* Под "долго" подразумевается 43 секунды на полный цикл импорта

Вот сейчас закончил приборку в проекте и голанг мне выдал 30 секунд на все
Каюсь, я выбрал плохую задачу - она на 80% полагается на базу (инсерты батчами по 50к строк)
Но разница в 13 секунд все равно очень радует
И это я еще не распараллеливал импорт, руки не дошли пока

Мне очень понравилось, что там из коробки нормально работает хттп-сервер и аргументы cli-скриптов
А еще прям супер легко организовать потоковое чтение из xml файла и парсинг отдельных его кусков в структуры
Бесит только каждый раз ребилдить, очень непривычно

Я когда только знакомился с голангом, то он мне показался несуразным каким-то, но сейчас почему-то вкатывает, посмотрим что дальше будет
👍2
Посвящение в красноглазики

Я убил Debian
Не специально, конечно, но кто же знал, что если у тебя KDE и ты решил поставить Gnome Disk Manager, то твоей системе, простите, пиздец?
Ничего не предвещало беды, но когда отказал блютус я понял, что дело пахнет жареным
Попытался как можно скорее закоммитить изменения, но оказалось, что команды git не существует! Весело!
Пришлось по старинке паковать проекты в архив и кидать себе на почту :D
Практически сразу после этого меня выкинуло из системы и больше зайти я уже не смог

Вот здесь и начинается самый прикол - никакого компа, кроме основного у меня нет. Макбук со старой работы уже забрали, а на ноуте с новой работы еще нет системы (DOS не в счет)
... так я думал, пока не вспомнил, что у меня есть мой замечательный Raspberry Pi 5
Вот только проблема в том, что на нем нет экрана, а единственное устройство с которого можно подключить по ssh - мой телефон
Поэтому пришлось как настоящему админу заливать образ убунты на флешку, имея доступ только к терминалу

Опыт прекрасный, повторять больше не хочу
Хотя на самом деле я сам удивился насколько легко стало общаться с терминалом за последние годы
Channel photo updated
Чудеса проектирования апи для взаимодействия с CRM🙄
😁2
Очередной первый месяц

26го числа уже месяц как работаю в новой компании
За последний год я повторяю эту фразу уже третий раз xD

В целом все отлично, тимлид доволен, я тоже
Одной из первых на меня прилетела задача со статусом "крит", которая была в бэклоге уже 4 месяца👍

Потом была долгая задача по наведению кодстайла в одном из проектов. Долгая потому, что пришлось со всей командой этот кодстайл согласовывать.
Все эти наработки щас уехали уже на прод и остальные коллеги будут потихоньку у себя на сервисах тоже внедрять. Красота

Но только я расслабился как мне дали уже реальный крит по разработке нового микросервиса
Как заправский монолитчик я наворотил там очень серьезную структуру папок и абстракций, но на деле так делать не надо было
Вообще, интересная смена парадигмы. Все всё время говорят, что надо прям изолироваться как следует, а когда ты по-настоящему изолирован на уровне инфраструктуры, то в коде на изоляцию уже как-то пофиг. Главное, чтобы тесты было удобно писать и чтобы запускались они без боли.
Ну и конечно, как же не оторваться на новом сервисе? Каких только линтеров туда не завезли. Вот прям красотища.

Жизнь продолжается, вроде пока уволнять не собираются :)
👍2
Я кстати себе офис снял отдельный
Я никогда не знал вообще, что это такое, когда ты приходишь на работу и ты один. Всегда рядом были люди, в последние пару месяцев вообще семья
А тут благодать - можно творить что угодно и никто ничего не скажет. И про барабаны тоже :)
Единственный минус, что кофе приходится отдельно покупать и микроволновки нет
😁4🔥1
Буквально вчера смотрел доклады с хайлоада об отказоустойчивости сервисов и фолбэках и сегодня на авито вижу вот это:
😁1🤔1
Давайте-ка я кое в чём сознаюсь

После того как переехал работать в офис дома остался только ноут
Так как живу я не один, да и самому иногда надо, на ноуте поставлена винда 11
Вместе с этим никуда не делась подработка, которую зачастую приходится делать дома

И вот, честно говоря, разница с линуксом была только в том, что пришлось поставить WSL2 и Docker Desktop. Все!
В остальном все абсолютно такое же, даже просадок по производительности нет:
- докер работает
- дебаггер работает
- терминал в шторме открывается сразу внутри WSL2
- проблем с правами нет
- порты из докер композа автоматом пробрасываются в винду и в браузере доступно все, что кодишь в WSL2

Да, у меня простое рабочее окружение на подработке, там нет даже кубера, но думаю и с этим проблем бы не возникло

Учитывая то, каким говном иногда бывает gnome на дебиане, страшные мысли о переезде на винду иногда закрадываются в голову...
👍5🤡1
Обожаю подобную мазафаку
Помню как выпал, когда первый раз увидел, что в С можно в структурах хранить указатели на функции и пользоваться ими как методами

https://youtu.be/6Riy9hVIFDE?si=XwRbWXaKxIvAc_jF
Ребята, я стал лидом

В среду мне позвонил СТО, сказал, что я закончил испытательный срок
После этого вывалил мне супер инфу о том, что меня назначают лидом, дают команду и большой проект, а сегодня рассказал об этом всем на дейлике
Что думать - я пока хз; пока что просто непонятно как это все будет происходить, опыта-то нет

Вообще, я рад, но я очень надеюсь, что не уйду совсем в менеджерство, слишком люблю кодить
🔥15🫡2
Из-за леса, из-за гор

... прилетела задача по перевозу 13 приложений на выделенную бд.

Когда мы на подработке только начинали пилить все эти приложения, я и подумать не мог, что их столько будет
Поэтому, для каждого приложения в докер композе была завернута база
Ну а что? Это как минимум удобно. И нет, вопросы производительности нас бы не коснулись - масштаб не тот

Но приложений меньше не становится, а смотреть на вывод docker ps становится страшно
Да и бэкапы бы не помешало делать, желательно не через костыли
А хуже всего то, что я не могу через IDE залезть в базу приложения на дев/прод контурах и посмотреть что творится - приходится лезть через ssh на сервак и там уже в контейнере шариться в БД

Поэтому было принято простое решение - сделать выделенный сервак с БД и загнать туда все БД всех приложений
Сказано - сделано. Осталось только в конфигах поменять домен для подключения и можно спокойно жить дальше

Но проблема в том, что мне на месте не сидится и вместе с переездом БД я решил полностью перелопатить раскатывание приложений на проде, деве и локалке
Вышло-то на самом деле очень даже ничего:
1. удобно - вся раскатка делается одной командой
2. нет мусора - теперь есть всего один корневой docker-compose.yml, а вот доп настройки к нему цепляются через docker-compose.override.yml, которые соответствуют нужному окружению
3. универсально - проекты теперь раскатываются и выглядят в плане деплоя как один
4. на всех приложениях теперь php8.2 + jit + opcache
5. редис был успешно везде заменен на файловый кеш (если вообще использовался; было такое, что редис поднят, а коннекта к нему нет)

Без провалов не обошлось - один раз накатил тестовую базу на прод. Но это мелочи :)

В общем и целом опыт очень крутой. Всегда приятно заниматься стандартизацией и улучшением DX
🔥5
Подумал, что давно очень ничего не писал сюда
А что писать? Каждый день теперь это пороховая бочка
Каждый день прилетают задачи, что все горит и уже вчера надо было сдать огромный кусок функционала
Как делать задачи? Да кто знает) последний чел, который знал уже месяц как не работает :D

Звучит как пиздец? Возможно
Но я поймал себя на мысли, что мне этого давно не хватало
Это какой-то особенный азарт решать нерешаемые жопы в краткие сроки и выходить победителем

Да, все пока очень спонтанно и все такое, но мы в начале пути к светлому будущему
🔥6🤝1
Черная полоса вроде закончилась, началась прикольная

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

Как раз последние пару дней я разгребал именно реальный случай, когда проду становится плохо
Заходишь в логи, а там бескрайнее море записей с уровнем emergency, в каждой из которых написано про таймаут

Какой-то из 4 сервисов наотрез отказывался укладываться в 20 секунд с ответом
Беда в том, что запросы делались асинхронно, через multicurl и при выбросе исключения не было никакой информации о том, кто именно уходит в таймаут
Спустя какое-то время все же нашел виновника и полез смотреть почему не успевает

А не успевал он по простой причине - на один апи запрос делалось 100500 запросов в базу и в среднем запрос работал около 44-48 секунд
И ладно бы это просто было простыней из вызовов к базе, но нет, все куда хуже
Там тянулась сущность из базы, а потом передавалась в экстратор
Экстрактор в нашем случае это такая шляпа, которой ты даешь список атрибутов, а он их каким-то образом тянет из сущности
И большая часть атрибутов - смежные сущности, за которыми доктрина каждый раз ходила в базу

Решение немного экстремальное, но я просто вытягивал все данные по сущности разом
Да, там много джоинов; да, там жирнющий селект
Но быстрее на стороне пхп эту кучу данных растолкать по сущностям, чем каждый раз ходить в базу

Результат в итоге с одной стороны неплохой - прирост х8 (с 48 секунд до 6 секунд)
С другой - это все равно 6 секунд :(
Но лучшее враг хорошего, поэтому такой результат нас устроит пока что
👍31
господи дай мне сил