underground dev
815 subscribers
35 photos
4 videos
37 links
Пишу бэк на шарпах
Хожу на собесы
Делюсь опытом и мотивацией
Рофлю над IT

Contact: @danny_v3
YT: https://youtube.com/@undergrounddev_v1
GH: https://github.com/dannythehumbleguy
Карта канала: https://telegra.ph/Karta-TG-kanala-Loggiruyu-razrabotku-10-01
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Недавно на стриме Петра такой рофл поймал, что не могу не поделиться🍊
Сначала смотрим видео, потом читаем дальше.

Будет жирно, по частям:
1. Ну SSV реально ах*ел, контент делает для себя в кайф. Нет, чтобы как все нормальные люди, менторство каждую секунду впаривать и джунам делать калтент, которого и так в наше тяжелое время не хватает, особенно про вкат, составление резюме, soft skills. Жирует он в своей Германии пока дети в Африке голодают 😭 Ладно хоть смотрят его душные чсв сеньоры. Ничего не утверждаю, возможно.
2. AlekOS - очень хороший контент, жаль что поверхностная хуйня, которую сможет применить 0.01% людей.
3. Кошачья Бацыла и Honey Montana - контент очень похожий друг на друга , если потратить на просмотр их контента 20 секунд.
4. Winderton - блогер, к которому очень тяжело докопаться, и если ввести "winderton разоблачение" в ютубе или глянуть код, то там точно ничего не вылезет, он чист.

Помню как какие-то время назад продвигалась идея о том, что контента про soft skill в айти ютубе представлено очень мало. И его реально начали делать, правда по итогу получилось, то что получилось. Огромное кол-во видео где постоянно пережевываются одни и те же темы - как составить резюме, как накрутить, как попросить повышение, как вести деловые отношения. Полезный ли это контент? Да, он принесет пользу, если сказанное будет для вас новым! Есть ли в нем глубина? Нет! Все это можно вкурить за пару месяцев максимум, информации там на небольшую брошюру. И все, вы больше к этому не вернетесь.

🤔 А что там по техничке? Это необъятный океан, даже если брать только ту инфу, которая вам реально приходится на средних-больших проектах. Как это представлено в медиа? Редкие видосы с практикой для джунов, единичны видосы для разрабов с опытом, где чуть глубже и на практике разбирается какой-то аспект.

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

PS: может видос кончено пост мета ирония, но я не распознал🤤
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14
Проработка самопрезентации✍️

Короче, до меня не так давно дошла довольно очевидная вещь, что для каждого подхода или технологии у вас должен быть заготовлен кейс его использования.
Допустим вас спрашивают:
A: У вас был опыт Redis?
B: Да, я реализовывал покупательскую корзину через write-back стратегию... А так же использовал распределенные блокировки для rate limiting.
То есть, во-первых, вы сразу показываете, что у вас есть практический опыт применения технологий. Во-вторых вы довольно детально можете описать реализацию, что займет времени и вероятно у интервьюера больше не останется чисто теоретических вопросов по этой теме, к которым вы можете быть не готовы.
При этом конечно же, все примеры должны совпадать с теми проектами, что у вас есть в резюме.

Лучше вообще завести себе список в ноушене, где будет "технология/подход - пример применения", потому что часто такие вещи забываются и нужно иногда вспоминать что ты делал, а в резюме такое не вариант писать - слишком много.

Конечно можно и выдумывать таким способом себе опыт, попутно его прорабатывая. Нужна вам какая-то технология - придумайте как бы вы могли её применить в вашем домене. Еще лучше накидайте кода, хотя бы через claude code, чтобы понимать детали реализации и чувствовать увереннее. Как последний шаг - можно задаться вопросами "А что может пойти не так? И как бы я это исправил?", даже если сами ничего не придумаете, можете спросить опять же нейронку, и в итоге придумать героическую историю как вы спасли прод🙂

Ну и на последок, это еще дает возможность перебивать неудобные вопросы, ответ на которые вы не знаете, по типу:
A: Вы знаете, что такое write-through стратегия в кэшировании?
B: Нет, но я реализовывал покупательскую корзину через write-back стратегию... А так же использовал распределенные блокировки для rate limiting.
Типа вы дофига за практику😏 Правда злоупотреблять не нужно.

Короче можете в коментах поугорать, что я только сейчас до этого додумался, но лучше поставьте реакцию🤷‍♂️🤷‍♂️🤷‍♂️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥29🌚74
Есть тут какая-то проблема?
CREATE TABLE users (
id BIGSERIAL PRIMARY KEY,
close_date TIMESTAMPTZ
);
INSERT INTO users (close_date) VALUES
(NULL),
(NULL);
----------------------------------------------
set timezone = 'UTC';
select * from users;

set timezone = 'Europe/Moscow';
UPDATE users
SET close_date = now() at time zone 'utc';

set timezone = 'UTC';
select * from users;


Ну очевидно, если спросил - значит есть. Результат будет примерно такой: если выполнить в 20 по мск, то в close_date будет 14 часов по utc. То есть 3 часа исчезнут😬
Вся проблема в том, что 'at time zone' возвращает не timestampz, а timestamp.

По итогу:
1. now() at time zone 'utc' отнимаем -3, чтобы сделать utc, возвращает timestamp.
2. при сравнении происходит приведение timestamp к timestampz, postgres зная, что в сессии установлен мск таймзона приводит к utc, то есть еще раз делает -3.

Мне это ногу прострелило из-за
Npgsql.EnableLegacyTimestampBehavior=true, перенесенного из легаси системы. Потому что при таком флаге, если делаете запрос с DateTimeOffset.UtcNow - это превращается в now() at time zone 'utc', то есть только что созданные записи запрос не видет🚬 Без этого флага будет просто now() и локальная дата просто переведется в utc при присваивании.
Кстати да, никогда до этого не задумывался, но timestampz и timestamp работают не так же как и DateTimeOffset и DateTime - оффсет не хранится в БД. Если вы видите в каком-нибудь datagrip или psql, что дата выводиться с оффетом на конце, то это просто для удобного просмотра.

Мне повезло 🙂 такого не должно было возникнуть, потому что по дефолту для всех сессий стоит timezone='UTC' в конфиге постгри. Да, если заменить в запросе 'Europe/Moscow' на 'UTC", то отниматься ничего не будет, поведение будет ожидаемым.

Ну и бэст практис - это:
1. Генерировать дату на сервисе приводя к UTC(ака DateTimeOffset.UtcNow)
2. Использовать DateTimeOffset в ef core запросах.
3. Использовать timezone='UTC', если необходим Npgsql.EnableLegacyTimestampBehavior=true
4. Если третий пункт не про вас, то просто не писать это вручную now() at time zone 'utc', проверять чтобы его не было.

Ладно хоть у меня это на селекте случилось, представляю как было бы весело на вставке данных такое получить🎧

PS: пример может не во всех playground работать, реакцию поставьте что ли🤑
Please open Telegram to view this post
VIEW IN TELEGRAM
18🔥6🌚5🤡3
underground dev
Кодинг мертв, да здравствует Вайб-кодинг!
А ваш проект сложнее компилятора C, который может собрать Linux?
https://www.anthropic.com/engineering/building-c-compiler
😁4🔥1
Сап🕺
С начала этого года я снова трекаю полезное время - работа, спорт, учеба. Хочу чтобы было всегда понимание, меньше среднего я сегодня поработал или нет.
Так вот, я знаю, что в фитнес трекерах есть тема, когда люди добавляются в группу и соревнуются друг с другом, кто больше пробежит, с каким темпом и тп. Короче, если хотите в чем-то подобном поучаствовать, только относительно pomodora трекера - голосуйте ниже🔫
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥1
Добавишься?
Anonymous Poll
30%
Точно да
70%
Маловероятно
underground dev
Добавишься?
Я доделал, можете регаться🦔
https://pomodoro.undergrounddev.club/

Вот ссылка на группу: https://pomodoro.undergrounddev.club/groups/join/7toznumv
Кто будет накидывать себе по 100 часов в сутки, выдам бан в группе)


И не ломайте её пока, мне еще нужно пофиксить все проблемы со секьюрити ассасмента, может потом репу открою.
Если найдете баги, пишите в лс.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9🌚4
underground dev
Добавишься?
А разговоров то былоооооооо
😁9
Короче у меня есть очень навязчивая идея - переименовать тг, ютуб в underground dev.
Этот username конечно почти везде занят, но не активно используется.
Так что не удивляйтесь, если название поменяется.
🔥6
Я вот последние пару месяцев почти не пишу код вручную, а вы?

Пишу руками:
Anonymous Poll
22%
> 10%
22%
> 30%
27%
> 60%
30%
> 90%
🔥5🌚1
Дроп лучшего гайда на transactional outbox паттерн 😧
https://youtu.be/0xsjNy81o2w

Исходники: https://github.com/dannythehumbleguy/outbox-example
Схемы: https://link.excalidraw.com/readonly/iEgrXvKOyUvO3PabRxLy?darkMode=true

ставьте лайки, делайте репосты, хочу вторую часть сделать
Please open Telegram to view this post
VIEW IN TELEGRAM
213🔥5
В LinkedIn разрешили верификацию через рф загранник, из других стран. Я проверил - работает.
Надеюсь через месяц не прилетит бан😄
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
Многие пиратят не потому, что они не хотят или не могут платить, а потому что сервис — говно.

Так сказал отец гейминга — Гейб Ньюэлл🤑 (да, да, так на русском и сказал, дословно). После чего создал Steam, к которому так никто и не приблизился в плане пользовательского опыта.

К сожалению, сейчас вспоминать об этом приходится в негативном свете. Если здесь есть меломаны, особенно те, кто двигается в стиле хип-хоп (ю ноу😎), а также живущие в РФ, то вы уже знаете, что госуха решила опять обдать людей из ассенизационного шланга, запретив любое упоминание и даже НАМЁКИ на наркотики, даже в отрицательном контексте. Ну, казалось бы, запретили и запретили, кто-то будет исполнять?
Да, сука, будут 😰. Теперь на Яндекс Музыке и даже на ютубе почти вся музыка от РФ-исполнителей перезалита и все подобные слова заменены на какой-то эффект.
И да, я сначала подумал, что это только РФ-сервисы так будут делать, чтобы соблюсти законы. И я попытался перейти на YouTube Music (даже пофиг, что без подписки), но проблема оказалась глобальней — вскоре я заметил, что у группы Kunteynir и там всё заменено.

Вторая проблема, которая меня бесконечно бесит, — это отсутствие или удаление той или иной музыки с площадок. До начала войны это не было критично, но последние 2-3 года темпы просто ужасают. За последний год я наверное лишился пары десятков треков, а может и больше. Сервисы же не парятся на этот счёт, никак не уведомляют и не сохраняют хотя бы названия — «пользователь стерпит, хах😗». И да, проблема удаления есть и на том же YouTube, просто она имеет меньшие масштабы. А мне бы даже один трек не хотелось бы терять, ибо бывает как включишь что-то из плейлистов двух-трёхлетней давности и всё равно кайфуешь, потому что ощущается как "хорошее давно забытое старое".

Ну и, как вы наверное поняли, подводка была про то, что сервис музыки стал говном и пришло время пиратить😎.
Какие вообще есть варианты? Понятно, что массово для других пользователей никто не может хранить музыку — притянут по АП, а может по чему-нибудь и похуже, — но если чисто для себя...
В общем, всё просто — self-hosted решение. Сервачок, запускаем там приложение, закидываем через админку музыку, скачиваем приложение на телефон, связываем его с сервером — и всё, свой музыкальный сервис.
Понятно, что в таком решении есть минусы — это и ручная настройка этого всего чуда, и ручное скачивание и перенос музыки, а также отсутствие ленты с похожей музыкой. Хотя для меня лично, пожалуй, только последнее является значимым минусом, но никто не мешает слушать музыку периодически на том же ютубе.

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

Если есть люди, которые имеют опыт в подобном, то будет интересно почитать, что ставили, что зашло, а что нет😌

// ------------------------------------------------------------------
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥1
Я выкачал свое музло, я рад🎉
Написал вкратце как я это делал здесь:
https://www.notion.so/dannylogs/3312e595faa280ddba66e4bc6c5ac194
Как оказалось есть довольно удобные тулзы для скачивания.

Скачалось конечно не все, но со временем докину, из забавного:
Я переносил музыку из Yandex Music в Youtube с помощью сервиса Soundiiz, так вот из 508 треков 168 недоступно на ютубе, и это не при переносе потерялось, именно заблочено ютубом.
С самой Yandex Music было удалено 64 из 709, что тоже как бы не мало.

Кстати забыл упомянуть про главную проблему, музыка на стримингах то уже отредачена😵‍💫, теперь нужно будет искать нормальные версии и заменять, эхххх.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
https://habr.com/ru/articles/1019200/
Чувак, ваша сторона не делала ровно ничего, пока комьюнити не принесло вам готовый PR с байтами, тестами и объяснением на пальцах. «Наша сторона» в этой истории — это анонимные ребята в чатах, которые разбирали hex-дампы пока вы молчали три месяца. Хотя, честно говоря, вы молчали с 2018 года!


Классика, как всегда пофиксили два землекопа за спасибо(андерграунд), а не корпорация с прибылью 18 млрд.
Ну хоть спасибо Паше-заботливому за подписку до 28-го года, а то как бы я без неё жил😉
Please open Telegram to view this post
VIEW IN TELEGRAM
😁11
This media is not supported in your browser
VIEW IN TELEGRAM
От "ИИ не помогает или даже мешает программисту" до "ИИ делают только то, что ты иму говоришь" всего один шаг... кхм, ну или 4 недели.
Как там говорится, "я в айти конечно не работаю, но вот знаю много людей, которые работают, поэтому и рассказываю".

Очень хочу сделать видос с разбором сторон "ИИ нас заменит" и "ИИ нас не заменит", но все лень начать, надеюсь успею в хайптрейн.
😁9🔥2
UPDATE
чет я опять подвыгорел, даже не понял почему, ненавижу длительный отдых🤨

музыка
я попытался поюзать тот софт, про который я писал пару постов назад, и мой вывод - все это полный кал. Самый классный музыкальный сервис даже не имеет возможности грузить музыку, нужно отдельно хостить файл браузер😔 А единственное нормальное приложение для телефона платное, хоть и разово. Короче, если кто-то хочет сделать реально крутой open source продукт, то вот вам ниша. Я даже покомичу)

openclaw
Посидел на этой хайповой штуке примерно месяц.
Вывод такой - слишком сыро. Хотел использовать, чтобы заметки составлять по книгам, управлять календарем, но частые затупы, после которых я трачу х5 времени, отбили желание.
К тому же нужно думать о переключении/подборе модели, очистке контекста и тп, иногда не работают скилы. На дорогих моделях, конечно это сведено к минимуму, но они за день использования могут несколько долларов сожрать🙃
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
https://youtu.be/5UlRL_ImvQ0
Как же они хоронят SaaS'ы

Даже интересно насколько сложные вещи оно сможет сделать, ну там распределенность по AZ, миграции данных, схемы и тп.
👌2🤡1