Шутки про дроп базы джуном же очень смешные, да?
Так вот, мне вчера было не смешно, потому что я уже не джун совсем
В пылу работы по воспроизведению критичного бага перепутал вкладки и сделал
Смертельный рев команды тестировки был слышен аж из самой Москвы
Сисадмин сказал, что дело житейское, но все равно выточит мне медальку!
А если смотреть чуть позитивнее, то наконец-то тестировщики в работу возьмут мою задачу по репликации данных на превью - очень даже хороший плюс :D
Так вот, мне вчера было не смешно, потому что я уже не джун совсем
В пылу работы по воспроизведению критичного бага перепутал вкладки и сделал
truncate table_name cascade на превью нашей компании вместо локалки. Ржака да и только :DСмертельный рев команды тестировки был слышен аж из самой Москвы
Сисадмин сказал, что дело житейское, но все равно выточит мне медальку!
А если смотреть чуть позитивнее, то наконец-то тестировщики в работу возьмут мою задачу по репликации данных на превью - очень даже хороший плюс :D
🔥3😁3🤯1
Забыл рассказать важную (для меня) новость
Наконец-то, спустя год ожидания мы с семьей переехали в другую квартиру🥳
У меня теперь есть свой отдельный уголок, где можно спокойно с комфортом работать за большим столом
Впервые в жизни мне предоставилась нормальная возможность работать с перерывами на еду, недалеко отходя от кровати😃
График теперь примерно такой: 8:30 проснулся, до 18 основная работа, до 21 с семьей, до 00 подработка. По выходным тоже, конечно же, в обед и ночью подработка.
Благодаря этому я в этом месяце на подработке отработал 80 часов, что не может не радовать, потому что наконец-то куплю себе xbox, почему-то прям чешется его купить🤔
Справедливости ради, у меня и до этого был такой график (уже чуть больше месяца), просто сейчас не надо тратить время на дорогу до офиса и ночью гораздо удобнее работать за рабочей станцией, чем на ноуте
На подработке фронт еще молодой, иногда пишет после 21, вопросы задаёт. На резонный вопрос "ебанулся? Выгоришь" - смеется. Хороший запал
Наконец-то, спустя год ожидания мы с семьей переехали в другую квартиру🥳
У меня теперь есть свой отдельный уголок, где можно спокойно с комфортом работать за большим столом
Впервые в жизни мне предоставилась нормальная возможность работать с перерывами на еду, недалеко отходя от кровати😃
График теперь примерно такой: 8:30 проснулся, до 18 основная работа, до 21 с семьей, до 00 подработка. По выходным тоже, конечно же, в обед и ночью подработка.
Благодаря этому я в этом месяце на подработке отработал 80 часов, что не может не радовать, потому что наконец-то куплю себе xbox, почему-то прям чешется его купить🤔
Справедливости ради, у меня и до этого был такой график (уже чуть больше месяца), просто сейчас не надо тратить время на дорогу до офиса и ночью гораздо удобнее работать за рабочей станцией, чем на ноуте
На подработке фронт еще молодой, иногда пишет после 21, вопросы задаёт. На резонный вопрос "ебанулся? Выгоришь" - смеется. Хороший запал
👍3❤1
Вот кстати и само рабочее место, а еще кошка, которая из-за стресса из-за переезда теперь от меня не отходит и даже спит со мной, хотя раньше даже подумать бы не мог о таком ❤️
❤1👍1
О важности автогенерации документации вашего api
Tl;dr: дока только через автоген, а чтобы этого достичь иногда можно и нужно срать на стандарты
Как-то меня последний год обходила стороной необходимость вручную писать доку. Сначала был graphql, где доку вообще делать не надо, а потом перешёл на проект на симфони, где дока генерится при деплое исходя из аннотаций на экшене контроллера.
Я даже и не подозревал, во-первых, насколько это удобно, а во-вторых, насколько это важно для скорости разработки и главное для желания вообще хоть что-нибудь разрабывать и менять.
Извечная проблема программистов в том, что программу постоянно надо менять и чем легче это делать, тем нам проще.
Так вот я все это к чему: на подработке используется yii2 и еще мои собственные наработки, максимально облегчающие разработку апи, НО! совершенно не трогающие момент с документацией. Из-за этого приходилось руками писать доку на аннотациях в пхп, следя, не забыл ли я случайно где-то параметр или тот ли я указал тип. Это жопа. Это трудоемко, это пустая трата времени.
Плюнул, потратил 3 часа на полную переработку подхода и в итоге получил автогенерацию доки при деплое, прямо как на основной работе. Вдовесок к этому получил полную типизацию всех возвращаемых значений при обработке данных. Двойной выигрыш.
Есть очевидный минус - в классе, производящем обработку данных, мы теперь имеем аннотации, относящиеся к документации апихи, о которых класс знать не должен вообще. Плохо ли это? Очень! Но мне абсолютно все равно🤣 В конце концов, код выполняет свою цель, не сильно при этом засираясь. Более того, такой подход куда практичнее, чем многоуровневый маппинг с "запросов" на "команды", а потом на "ответы".
Но давайте я все же подчеркну основную мысль - это не энтерпрайз и это не команда из 10 человек, я тут один. Тут срать все хотели на подобные мелочи, заказчику важен результат здесь и сейчас. Соответственно, и подходы мной выбираются исходя из этого.
Писать чистый совершенный код невозможно, абсолютно в любой ситуации придется чем-то жертвовать и уж лучше это будет небольшое нарушение разделения зон ответственности, чем мое время и нервы
Tl;dr: дока только через автоген, а чтобы этого достичь иногда можно и нужно срать на стандарты
Как-то меня последний год обходила стороной необходимость вручную писать доку. Сначала был graphql, где доку вообще делать не надо, а потом перешёл на проект на симфони, где дока генерится при деплое исходя из аннотаций на экшене контроллера.
Я даже и не подозревал, во-первых, насколько это удобно, а во-вторых, насколько это важно для скорости разработки и главное для желания вообще хоть что-нибудь разрабывать и менять.
Извечная проблема программистов в том, что программу постоянно надо менять и чем легче это делать, тем нам проще.
Так вот я все это к чему: на подработке используется yii2 и еще мои собственные наработки, максимально облегчающие разработку апи, НО! совершенно не трогающие момент с документацией. Из-за этого приходилось руками писать доку на аннотациях в пхп, следя, не забыл ли я случайно где-то параметр или тот ли я указал тип. Это жопа. Это трудоемко, это пустая трата времени.
Плюнул, потратил 3 часа на полную переработку подхода и в итоге получил автогенерацию доки при деплое, прямо как на основной работе. Вдовесок к этому получил полную типизацию всех возвращаемых значений при обработке данных. Двойной выигрыш.
Есть очевидный минус - в классе, производящем обработку данных, мы теперь имеем аннотации, относящиеся к документации апихи, о которых класс знать не должен вообще. Плохо ли это? Очень! Но мне абсолютно все равно🤣 В конце концов, код выполняет свою цель, не сильно при этом засираясь. Более того, такой подход куда практичнее, чем многоуровневый маппинг с "запросов" на "команды", а потом на "ответы".
Но давайте я все же подчеркну основную мысль - это не энтерпрайз и это не команда из 10 человек, я тут один. Тут срать все хотели на подобные мелочи, заказчику важен результат здесь и сейчас. Соответственно, и подходы мной выбираются исходя из этого.
Писать чистый совершенный код невозможно, абсолютно в любой ситуации придется чем-то жертвовать и уж лучше это будет небольшое нарушение разделения зон ответственности, чем мое время и нервы
❤1👍1
Очередная статья против микросервисов
К сожалению, пока не за моим авторством
https://habr.com/ru/articles/779362/
Почему-то с каждым разом как про них заходит разговор, мне все меньше хочется с ними работать. Звучит как дроч и решение зачастую несуществующих проблем
Хотя нет, работать с ними хочется - обычно там платят много😃
К сожалению, пока не за моим авторством
https://habr.com/ru/articles/779362/
Почему-то с каждым разом как про них заходит разговор, мне все меньше хочется с ними работать. Звучит как дроч и решение зачастую несуществующих проблем
Хотя нет, работать с ними хочется - обычно там платят много😃
Хабр
Смерть от тысячи микросервисов
пролог и ссылка на оригинал Это перевод-адаптация https://renegadeotter.com/2023/09/10/death-by-a-thousand-microservices с вкраплениями моих собственных мыслей. Я не профессиональный переводчик,...
🙈1
Говно с дымом!
Первый год, когда сложно подвести итоги, потому что дома просто атас
У нас по факту с новым годом празднуется и новоселье, поэтому толпа родственников с радостным гулом сейчас играет в мафию, я естественно с ними)
Кратко итоги года:
1. Вас стало 37, это +25 с прошлого нового года🥳
2. Поменял 2 работы, щас наконец-то прям всем доволен🥳
3. Переехал 🥳
За год чисто по техническим моментам была куча изменений и новшеств, поэтому сложно все упомнить
Я каждый год думаю, что стал умнее, но в конце года каждый раз осознаю как был глуп; звучит грустно, но я этому рад😃
Всех с новым годом! Спасибо, что остаетесь со мной и читаете! В новом году желаю сумасшедшего роста всем, как карьерного, так и личностного!❤️
Первый год, когда сложно подвести итоги, потому что дома просто атас
У нас по факту с новым годом празднуется и новоселье, поэтому толпа родственников с радостным гулом сейчас играет в мафию, я естественно с ними)
Кратко итоги года:
1. Вас стало 37, это +25 с прошлого нового года🥳
2. Поменял 2 работы, щас наконец-то прям всем доволен🥳
3. Переехал 🥳
За год чисто по техническим моментам была куча изменений и новшеств, поэтому сложно все упомнить
Я каждый год думаю, что стал умнее, но в конце года каждый раз осознаю как был глуп; звучит грустно, но я этому рад😃
Всех с новым годом! Спасибо, что остаетесь со мной и читаете! В новом году желаю сумасшедшего роста всем, как карьерного, так и личностного!❤️
❤6🎉3👍1
Пакетные менеджеры и их приколы
Речь пойдет об устаревшей тулзе, во второй версии которой надеюсь такое поправили
Ставил я значит сегодня зависимости через
Полез смотреть - вижу, что пакет вообще не установился.
Ну раз при общей сборке не поставился, значит надо ставить в частном порядке.
Однако, при запуске команды получаем
Поднимаем до двух гигов - ситуация повторяется. Чисто для прикола пробуем 4 и все завелось!
В логах операций обнаруживаем удивительно смешную запись:
СУКА!
Кто тебе мешал сказать мне, что тебе пакеты распаковывать нечем?
Зачем насиловать мне мозг и оперативу?
Зачем вообще для этого использовать пхп в качестве фолбэка???
Ну да ладно, и не с таким жили. После кружечки кофе отпустило, идем дальше работать🌝
Речь пойдет об устаревшей тулзе, во второй версии которой надеюсь такое поправили
Ставил я значит сегодня зависимости через
composer на старом проекте, и по словам утилиты все прошло отлично, но вот беда - проект лежит и валит меня ошибками о том, что не может найти файл в одном из пакетовПолез смотреть - вижу, что пакет вообще не установился.
Ну раз при общей сборке не поставился, значит надо ставить в частном порядке.
Однако, при запуске команды получаем
fatal error о превышении использования памяти.Поднимаем до двух гигов - ситуация повторяется. Чисто для прикола пробуем 4 и все завелось!
В логах операций обнаруживаем удивительно смешную запись:
As there is no 'unzip' command installed zip files are being unpacked using the PHP zip extension.СУКА!
Кто тебе мешал сказать мне, что тебе пакеты распаковывать нечем?
Зачем насиловать мне мозг и оперативу?
Зачем вообще для этого использовать пхп в качестве фолбэка???
Ну да ладно, и не с таким жили. После кружечки кофе отпустило, идем дальше работать🌝
😁2
Магия сиквела
Или "почему я раньше об этом не знал?"
У всех у нас есть грешок иногда хранить в базе массив данных в виде json и проект на подработке не стал исключением
Сегодня потребовалось найти такие строки в таблице, среди которых есть совпадение с элементами массива
Например, есть строка адреса с названием "Ленина" и массивом домов [1, 12, 123]
На входе принимаем "12" в качестве поиска и должны выдать "Ленина, 12" и "Ленина, 123"
Можно конечно сделать like на строковом представлении json'а, но мы тогда получим всю строку и придется в коде вручную выбирать подходящие значения
Но я обнаружил очень интересную конструкцию в потсгре -
Теперь плохие архитектурные решения можно оправдывать тем, что даже из такой ситуации есть удобный выход😄
Или "почему я раньше об этом не знал?"
У всех у нас есть грешок иногда хранить в базе массив данных в виде json и проект на подработке не стал исключением
Сегодня потребовалось найти такие строки в таблице, среди которых есть совпадение с элементами массива
Например, есть строка адреса с названием "Ленина" и массивом домов [1, 12, 123]
На входе принимаем "12" в качестве поиска и должны выдать "Ленина, 12" и "Ленина, 123"
Можно конечно сделать like на строковом представлении json'а, но мы тогда получим всю строку и придется в коде вручную выбирать подходящие значения
Но я обнаружил очень интересную конструкцию в потсгре -
lateral, и запрос стал выглядеть так:select street_name,
house_number::int
from address,
lateral jsonb_array_elements_text(house_numbers) as house_number
where street_name = 'Ленина'
and house_number like '12'
По факту мы получаем какое-то виртуальное представление, где каждая строка с адресом разрослась столькими копиями, сколько есть вхождений в массивах и каждое это значение можно вытянуть, обратившись к house_number
На выходе естественно имеем две записи, как и требовалось!Теперь плохие архитектурные решения можно оправдывать тем, что даже из такой ситуации есть удобный выход😄
Сегодня я узнал
... что при поимке исключения сливать в логи
Оказывается, если забрать трейс из исключения через
Это сумасшедше облегчает дебаг исключений, потому что не нужно выдумывать какие же там данные пришли, можно просто сразу идти и воспроизводить ошибку
... что при поимке исключения сливать в логи
getTraceAsString() это далеко не самое лучшее, что можно сделатьОказывается, если забрать трейс из исключения через
getTrace(), то там будет описан весь стек вызовов методов, но при этом там будут еще и все аргументы, передаваемые в эти методыЭто сумасшедше облегчает дебаг исключений, потому что не нужно выдумывать какие же там данные пришли, можно просто сразу идти и воспроизводить ошибку
🔥2👍1
Ни минуты покоя
Купил себе еще на новый год Raspberry Pi 5, но пришла только на днях
Сел разбираться как ее теперь включить, не имея ни монитора, на клавиатуры, ни мыши - максимальный headless
Казалось бы, ну это же RPI, самый известный и раскрученный одноплатник. Там все должно работать просто по щелчку пальца и вообще без боли, но нет :)))
Я два часа провел, пытаясь бутнуть ее с внешнего ссд. Вроде бы образ прожег, креды для wifi и ssh в конфиге верные, подключаю к питанию - горит зеленым и моргает; даже пингуется!*
На форумах прочитал, что первый раз она грузится долго, подождал минут 15 - без успеха
Залез даже на морду роутера, чтобы смотреть кто сейчас подключен к wifi, но малины там не было
В итоге оказалось, что малина сначала горит красным, потом моргает один раз долго и один раз коротко. Что это значит? Правильно! Мой блок питания по ее мнению - говно. Ей подавай только заморский за 2к + доcтавка + налоги + на пиво.
Что еще интереснее так это то, что где-то в недрах потного форума обладателей малинок есть тред в котором говорится, что там где-то в неведомых краях в мануале черным по белому написано, что если блок питания не родной, то надо после сигнала малины прожать кнопку питания и все заведется.
И ведь завелось! Теперь дело за малым - сделать как-то ее видимой из внешней сети, настроить реверс-прокси и начать пилить потихоньку пет-проекты :)
* на самом деле, при прожиге образа я указал имя малины как
Купил себе еще на новый год Raspberry Pi 5, но пришла только на днях
Сел разбираться как ее теперь включить, не имея ни монитора, на клавиатуры, ни мыши - максимальный headless
Казалось бы, ну это же RPI, самый известный и раскрученный одноплатник. Там все должно работать просто по щелчку пальца и вообще без боли, но нет :)))
Я два часа провел, пытаясь бутнуть ее с внешнего ссд. Вроде бы образ прожег, креды для wifi и ssh в конфиге верные, подключаю к питанию - горит зеленым и моргает; даже пингуется!*
На форумах прочитал, что первый раз она грузится долго, подождал минут 15 - без успеха
Залез даже на морду роутера, чтобы смотреть кто сейчас подключен к wifi, но малины там не было
В итоге оказалось, что малина сначала горит красным, потом моргает один раз долго и один раз коротко. Что это значит? Правильно! Мой блок питания по ее мнению - говно. Ей подавай только заморский за 2к + доcтавка + налоги + на пиво.
Что еще интереснее так это то, что где-то в недрах потного форума обладателей малинок есть тред в котором говорится, что там где-то в неведомых краях в мануале черным по белому написано, что если блок питания не родной, то надо после сигнала малины прожать кнопку питания и все заведется.
И ведь завелось! Теперь дело за малым - сделать как-то ее видимой из внешней сети, настроить реверс-прокси и начать пилить потихоньку пет-проекты :)
* на самом деле, при прожиге образа я указал имя малины как
ddruganov - ровно такое же, как и у компа, с которого пытался тыкаться по ssh; счастливо делая ping ddruganov.local я видел, что малина пингуется, а вот ssh почему-то не работает, не открыт 22 порт; ответ простой - я пинговал сам себя, думая что пингую малину; стоило пережечь образ и указать ей имя как dd-rpi, как она сразу же перестала пинговаться :D👍1
Продолжаем веселье
Оооооуууу ееее!
Всего полтора часа работы и накатил графану на малину; буду теперь постоянно мониторить ее состояние
Вообще, это оказалось далеко не так сложно, как я думал. Конечно, пришлось на гитхабе на каком-то проекте подглядеть как именно организовать связь между графаном, прометеусом и нодэкспортером, но в целом все достаточно прямолинейно.
Вот только почему-то пока этим занимался, малина перестала пинговаться через
Оооооуууу ееее!
Всего полтора часа работы и накатил графану на малину; буду теперь постоянно мониторить ее состояние
Вообще, это оказалось далеко не так сложно, как я думал. Конечно, пришлось на гитхабе на каком-то проекте подглядеть как именно организовать связь между графаном, прометеусом и нодэкспортером, но в целом все достаточно прямолинейно.
Вот только почему-то пока этим занимался, малина перестала пинговаться через
dd-rpi.local. Не понос, так золотуха)Как-то все слишком просто
Чем больше вожусь с raspberry pi, тем больше понимаю, что весь процесс разворачивания базовой инфраструктуры все больше аналогичен простому запуску exe-файла инсталлятора на винде. Да, есть нюансы вроде настройки реверс прокси и прокидывания портов, но в целом ситуация следующая:
- Надо мониторинг? Вот тебе docker-compose файл графаны с прометеусом
- Надо гитлаб? Вот тебе docker-compose файл, запускай и поехали
Даже направление домена на статический айпи с последующим прокидыванием всех запросов на одну машину внутри локальной сети сводиться к паре кликов в гуях доменного регистратора и самого роутера
Дальше у меня по плану развернуть на малине раннеры для ci/cd, но я это уже делал на других машинах и процесс по факту сводится к запуску одной команды
Очень смешанные чувства по этому поводу: с одной стороны - круто, что можно просто так вот взять и поднять дома полноценную инфраструктуру и поизучать что к чему, а с другой стороны - это сильно снижает порог входа и то, что 5 лет назад считалось продвинутым использованием теперь считается базой
Чем больше вожусь с raspberry pi, тем больше понимаю, что весь процесс разворачивания базовой инфраструктуры все больше аналогичен простому запуску exe-файла инсталлятора на винде. Да, есть нюансы вроде настройки реверс прокси и прокидывания портов, но в целом ситуация следующая:
- Надо мониторинг? Вот тебе docker-compose файл графаны с прометеусом
- Надо гитлаб? Вот тебе docker-compose файл, запускай и поехали
Даже направление домена на статический айпи с последующим прокидыванием всех запросов на одну машину внутри локальной сети сводиться к паре кликов в гуях доменного регистратора и самого роутера
Дальше у меня по плану развернуть на малине раннеры для ci/cd, но я это уже делал на других машинах и процесс по факту сводится к запуску одной команды
Очень смешанные чувства по этому поводу: с одной стороны - круто, что можно просто так вот взять и поднять дома полноценную инфраструктуру и поизучать что к чему, а с другой стороны - это сильно снижает порог входа и то, что 5 лет назад считалось продвинутым использованием теперь считается базой
👍1
Вообще, я когда еще не занимался программированием, то думал, что люди, держащие сервера дома, выделают под них целые комнаты, прям как для настоящего сервера - с кучей стоек, лампочек, проводов, с вечным шумом. Как же на деле выглядит домашняя серверная можно посмотреть на пикрелейтед. Надеюсь, когда-нибудь доживу до нормальной стойки)))
Кстати, я наконец-то обзавелся собственным сайтом - ddruganov.ru
Пока не придумал зачем он мне, но просто весело пока скидывать друзьям эту ссылку, а там... ну, сами посмотрите)
Кстати, я наконец-то обзавелся собственным сайтом - ddruganov.ru
Пока не придумал зачем он мне, но просто весело пока скидывать друзьям эту ссылку, а там... ну, сами посмотрите)
😁4
Хорошие новости!
Меня сократили🥲
Но это было предсказуемо. Еще когда в сентябре ипотечные ставки пробили все потолки моя жопа чуяла, что работать осталось недолго.
Поэтому от собесиков осенью и зимой не отказывался, если сами находили. Так же остались офферы с августа, так что без работы не останусь, но вот сам факт...
Первый раз со мной такое и голова-то ясно понимает, что ситуация штатная, сто раз проходили трудоустройство, проблем быть не должно. Но вот эта маленькая иррациональная мразь где-то в закоулках извилин так и норовит навести суету
Ждите очередных постов про собесы и экстренное трудоустройство, будет весело (надеюсь) 😃
Меня сократили🥲
Но это было предсказуемо. Еще когда в сентябре ипотечные ставки пробили все потолки моя жопа чуяла, что работать осталось недолго.
Поэтому от собесиков осенью и зимой не отказывался, если сами находили. Так же остались офферы с августа, так что без работы не останусь, но вот сам факт...
Первый раз со мной такое и голова-то ясно понимает, что ситуация штатная, сто раз проходили трудоустройство, проблем быть не должно. Но вот эта маленькая иррациональная мразь где-то в закоулках извилин так и норовит навести суету
Ждите очередных постов про собесы и экстренное трудоустройство, будет весело (надеюсь) 😃
🥴4😢1
Новое начало
Сегодня был последний рабочий день на старой работе.
Забрали ноут, отдали доки и провели полный расчет. Когда увидел сумму стало приятно, а потом понял, что весь летний отпуск, который я планировал потратить дачу, накрылся медным тазом. Тупая ситуация, когда деньги чинить дачу есть, а времени нет.
Очень жалею, что приходится с этой работой расставаться, потому что команда там просто пушка. Всегда было очень весело, без всякой официозности, по-дружески.
Две недели крайне активно собеседовался.
Прошел 7 технических собеседований, но только по 5 получил оффер. К счастью, не из-за скиллов, а из-за того, что компании медленно думали - сами технички проходили очень даже хорошо.
Дожидаться до конца всех не стал потому как предложили святой грааль пхпшника - финтех, микросервисы, хайлоад, с возможностью иногда делать задачки на go.
Вы спросите в чем подвох? Все очень просто - сфера специфическая - микрокредитная организация. Для кого-то это морально спорный момент, а я себя поймал на мысли, что если бы позвали пилить порносайт, то я бы и от этого не отказался.
В резюме я выставил, что я Middle+. На собесе в компании, куда я ухожу, спросили почему Middle+, а не Senior. Я ответил, что это психологический барьер.
А через пару дней подумал - а правда, какого это черта я не могу написать, что я сеньер? Ну и написал :D
И после этого просмотры резюме на хх поперли как сумасшедшие, жаль только, что уже поздно было - принял оффер. Интересная, однако, ситуация получается на рынке.
Сегодня был последний рабочий день на старой работе.
Забрали ноут, отдали доки и провели полный расчет. Когда увидел сумму стало приятно, а потом понял, что весь летний отпуск, который я планировал потратить дачу, накрылся медным тазом. Тупая ситуация, когда деньги чинить дачу есть, а времени нет.
Очень жалею, что приходится с этой работой расставаться, потому что команда там просто пушка. Всегда было очень весело, без всякой официозности, по-дружески.
Две недели крайне активно собеседовался.
Прошел 7 технических собеседований, но только по 5 получил оффер. К счастью, не из-за скиллов, а из-за того, что компании медленно думали - сами технички проходили очень даже хорошо.
Дожидаться до конца всех не стал потому как предложили святой грааль пхпшника - финтех, микросервисы, хайлоад, с возможностью иногда делать задачки на go.
Вы спросите в чем подвох? Все очень просто - сфера специфическая - микрокредитная организация. Для кого-то это морально спорный момент, а я себя поймал на мысли, что если бы позвали пилить порносайт, то я бы и от этого не отказался.
В резюме я выставил, что я Middle+. На собесе в компании, куда я ухожу, спросили почему Middle+, а не Senior. Я ответил, что это психологический барьер.
А через пару дней подумал - а правда, какого это черта я не могу написать, что я сеньер? Ну и написал :D
И после этого просмотры резюме на хх поперли как сумасшедшие, жаль только, что уже поздно было - принял оффер. Интересная, однако, ситуация получается на рынке.
🔥6
Красивое начало
У меня с самого начала как я собрал печку были постоянные фризы и краши. Почти всегда проблема была в ошибках доступа к памяти.
Полгода жил, иногда перезагружая комп, но недавно решил выяснить что же все-таки не так.
Накатил чистейший дебиан, обновил биос до самой свежей версии, в самом биосе выставил огромную кучу настроек, но ничего не помогало.
Решил проверить мемтестом - оставил на 3-4 часа и мне вывалило огромную кучу ошибок. Понес в сервис, сказали проверят, но скорее всего проблема в процессоре и его модуле управления памятью :(
Сегодня из-за того что забрали рабочий ноут очень резко потребовалось продолжить работу на компе, поэтому пришлось ехать покупать оперативу.
У нас в городе, оказывается, с этим беда какая-то. Нормальная память была только в одном отделении DNS в жопе города.
Купил цветастую, на 32 гига, 6ГГц. Отдал за нее аж целых 14 косарей. Жалко, но что поделать, подработка не терпит ожиданий, а денег она принесет явно куда больше, чем траты на оперативку.
И что же произошло? Правильно! Абсолютно ничего, комп работает с 11 утра и еще ни разу не застыл, не упал, не выдал ошибок. Я в восторге. Надеюсь, теперь вообще никогда не придется вырубать комп.
А через пару часов после покупки мне позвонили из сервиса и сказали, что с памятью все ок, можно забирать. Похоже, она просто не подходит то ли к материнке, то ли к процу.
У меня с самого начала как я собрал печку были постоянные фризы и краши. Почти всегда проблема была в ошибках доступа к памяти.
Полгода жил, иногда перезагружая комп, но недавно решил выяснить что же все-таки не так.
Накатил чистейший дебиан, обновил биос до самой свежей версии, в самом биосе выставил огромную кучу настроек, но ничего не помогало.
Решил проверить мемтестом - оставил на 3-4 часа и мне вывалило огромную кучу ошибок. Понес в сервис, сказали проверят, но скорее всего проблема в процессоре и его модуле управления памятью :(
Сегодня из-за того что забрали рабочий ноут очень резко потребовалось продолжить работу на компе, поэтому пришлось ехать покупать оперативу.
У нас в городе, оказывается, с этим беда какая-то. Нормальная память была только в одном отделении DNS в жопе города.
Купил цветастую, на 32 гига, 6ГГц. Отдал за нее аж целых 14 косарей. Жалко, но что поделать, подработка не терпит ожиданий, а денег она принесет явно куда больше, чем траты на оперативку.
И что же произошло? Правильно! Абсолютно ничего, комп работает с 11 утра и еще ни разу не застыл, не упал, не выдал ошибок. Я в восторге. Надеюсь, теперь вообще никогда не придется вырубать комп.
А через пару часов после покупки мне позвонили из сервиса и сказали, что с памятью все ок, можно забирать. Похоже, она просто не подходит то ли к материнке, то ли к процу.
Сектор go на барабане
Вот сидишь такой спокойно в понедельник вечером, смотришь ютуб, как вдруг тебя как в жопу жалит и ты ставишь себе компилятор голанга
В следующий раз очнешься через 3 часа, когда сделал малюсенькое веб-приложение и начал пилить cli-утилиту
Опасно
А если серьезно, то на подработке мне недавно попалась задача по импорту адресов из базы ГАР ФИАС
И так она мне засела в душу и так долго* выполнялась на пхп, что я решил попробовать в жизни что-нибудь новенькое и переписать ее на голанге
* Под "долго" подразумевается 43 секунды на полный цикл импорта
Вот сейчас закончил приборку в проекте и голанг мне выдал 30 секунд на все
Каюсь, я выбрал плохую задачу - она на 80% полагается на базу (инсерты батчами по 50к строк)
Но разница в 13 секунд все равно очень радует
И это я еще не распараллеливал импорт, руки не дошли пока
Мне очень понравилось, что там из коробки нормально работает хттп-сервер и аргументы cli-скриптов
А еще прям супер легко организовать потоковое чтение из xml файла и парсинг отдельных его кусков в структуры
Бесит только каждый раз ребилдить, очень непривычно
Я когда только знакомился с голангом, то он мне показался несуразным каким-то, но сейчас почему-то вкатывает, посмотрим что дальше будет
Вот сидишь такой спокойно в понедельник вечером, смотришь ютуб, как вдруг тебя как в жопу жалит и ты ставишь себе компилятор голанга
В следующий раз очнешься через 3 часа, когда сделал малюсенькое веб-приложение и начал пилить cli-утилиту
Опасно
А если серьезно, то на подработке мне недавно попалась задача по импорту адресов из базы ГАР ФИАС
И так она мне засела в душу и так долго* выполнялась на пхп, что я решил попробовать в жизни что-нибудь новенькое и переписать ее на голанге
* Под "долго" подразумевается 43 секунды на полный цикл импорта
Вот сейчас закончил приборку в проекте и голанг мне выдал 30 секунд на все
Каюсь, я выбрал плохую задачу - она на 80% полагается на базу (инсерты батчами по 50к строк)
Но разница в 13 секунд все равно очень радует
И это я еще не распараллеливал импорт, руки не дошли пока
Мне очень понравилось, что там из коробки нормально работает хттп-сервер и аргументы cli-скриптов
А еще прям супер легко организовать потоковое чтение из xml файла и парсинг отдельных его кусков в структуры
Бесит только каждый раз ребилдить, очень непривычно
Я когда только знакомился с голангом, то он мне показался несуразным каким-то, но сейчас почему-то вкатывает, посмотрим что дальше будет
👍2
Посвящение в красноглазики
Я убил Debian
Не специально, конечно, но кто же знал, что если у тебя KDE и ты решил поставить Gnome Disk Manager, то твоей системе, простите, пиздец?
Ничего не предвещало беды, но когда отказал блютус я понял, что дело пахнет жареным
Попытался как можно скорее закоммитить изменения, но оказалось, что команды
Пришлось по старинке паковать проекты в архив и кидать себе на почту :D
Практически сразу после этого меня выкинуло из системы и больше зайти я уже не смог
Вот здесь и начинается самый прикол - никакого компа, кроме основного у меня нет. Макбук со старой работы уже забрали, а на ноуте с новой работы еще нет системы (DOS не в счет)
... так я думал, пока не вспомнил, что у меня есть мой замечательный Raspberry Pi 5
Вот только проблема в том, что на нем нет экрана, а единственное устройство с которого можно подключить по ssh - мой телефон
Поэтому пришлось как настоящему админу заливать образ убунты на флешку, имея доступ только к терминалу
Опыт прекрасный, повторять больше не хочу
Хотя на самом деле я сам удивился насколько легко стало общаться с терминалом за последние годы
Я убил Debian
Не специально, конечно, но кто же знал, что если у тебя KDE и ты решил поставить Gnome Disk Manager, то твоей системе, простите, пиздец?
Ничего не предвещало беды, но когда отказал блютус я понял, что дело пахнет жареным
Попытался как можно скорее закоммитить изменения, но оказалось, что команды
git не существует! Весело!Пришлось по старинке паковать проекты в архив и кидать себе на почту :D
Практически сразу после этого меня выкинуло из системы и больше зайти я уже не смог
Вот здесь и начинается самый прикол - никакого компа, кроме основного у меня нет. Макбук со старой работы уже забрали, а на ноуте с новой работы еще нет системы (DOS не в счет)
... так я думал, пока не вспомнил, что у меня есть мой замечательный Raspberry Pi 5
Вот только проблема в том, что на нем нет экрана, а единственное устройство с которого можно подключить по ssh - мой телефон
Поэтому пришлось как настоящему админу заливать образ убунты на флешку, имея доступ только к терминалу
Опыт прекрасный, повторять больше не хочу
Хотя на самом деле я сам удивился насколько легко стало общаться с терминалом за последние годы