IT-блогер Серж Потаман | Мурманск
1.13K subscribers
3.15K photos
512 videos
2 files
201 links
IT, мемы, рассуждения и немного хаоса. Канал заполярного разработчика, который делится всем, что кажется важным и забавным.

Комьюнити канала: @p1ngcom

Наш стикерпак: t.me/addstickers/ITPotaman
Download Telegram
Ну и пятница, гайз!

Традиционно предостерегаю от ошибок! 😉
🥰5🔥4👍2
Это не смерть забрала Чака, это он решил её навестить 😢

Что, гайз, ушла ещё одна легенда — Чак Норрис.
Но Крутой Уокер навсегда в нашей памяти 💪
1😢21😱2🫡1
Пришлось настраивать рабочий телефон на Андройде.

Так вот, MAX пришлось сносить аж дважды 😳
Первый раз, после предложения вроде «вы не завершили настройку системы» и подтверждения, это недоразумение (которое полностью безопасное и абсолютно без мошенников, конечно же) установилось повторно 😂

Чтоб ко мне так деньги «липли» 🙏
🤬8🤣3😱2
This media is not supported in your browser
VIEW IN TELEGRAM
Пишут, что так работает доставка Walmart.

Нижняя подсветка вкл.

Тем временем чел, который заказал месячный запас яиц — 😐
🤣93🫡2👍1
Доброе!)

А помните рекламу по ТВ от налоговой про «самый низкий налог в мире»? 😳

В общем, я вижу это как-то так 🥲
1👍7🤣6😢3
Знаете, гайз, есть кое-что показательное в том, как люди реагируют на сбои Роскомнадзора 🤔

Когда у ведомства что-то ломается — перегружаются ТСПУ, проседают блокировки — реакция в сети не сочувствие и даже не равнодушие. Люди радуются. Открыто, массово, без стеснения.

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

Ведомство, которое по идее должно защищать граждан от реальных угроз, вместо этого методично давило YouTube и Telegram — то, чем люди пользуются каждый день. Вы просто подумайте: нам, гражданам приходится защищаться от «защитника».

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

Забавно получается: РКН умудрился сделать то, чего не смогла никакая западная пропаганда за первые годы СВО — разобщить народ и государство. Интересно, это и была цель? 😡

#РКН #Блокировки #Разобщенность
1👍14🤬6😱3🔥1
Ну, гайз, фиксируем +15кг за зиму и начинаем тихонечко срезать калорийность рациона 🍔

Не личный рекорд по массонабору, но показатель, что ваш маленький ИТ-блоггер хорошо кушал 💪

Считаю зажировку успешной 🥳

#CodeLifeBalance #Зал #Зажировка
2🥰11👍5🔥5🍌1
Good News, everyone! 🔥

Гайз, есть таки и хорошие новости про российский ИТ-сектор 💪

Он в 2026 году переходит от ажиотажного импортозамещения к более зрелой фазе роста.

Рынку прогнозируют восстановление динамики после замедления в 2025-м.

В общем, если бы я был каналом-миллионником, то начал бы как-то так:

РОСТ РЫНКА ВОЗОБНОВЛЯЕТСЯ!!! 📈💰🥳💪🫶

А если без кликбейта, то ожидают роста ИТ-рынка на ~10% в 2026 году (было 3–4% в 2025-м). Объём может достичь 4,5 трлн рублей, а доля в ВВП вырастет до 1,9%!

Среди возможных причин указывается: переход к тиражируемым архитектурам, управляемым сервисам и стандартизации после «быстрых миграций».

Да, редко бывают новости, подходящие под #ITХорошести, но это одна из них 😉

#ИТ_Хорошести #Импортозамещение #IT_Новости #IT_Хорошести
7🤣2
Вчера камрад спросил меня, как я решил проблему с блокировкой АПИ Телеграмма 🤔

Я сначала ответил, что у меня нет серверов в РФ, которые работают с их АПИ.

…я ошибся 😒

У меня же есть blog.polar-dev.com, который используется как архив моего канала… и этот сервер в РФ 😐

В общем, если хотите, то я расскажу завтра, как решил эту проблему, не перенося основной функционал

#API #Telegram #Блокировки
1👍9😱3😢3
Доброе!)

Гайз, помогите выбрать?
Кому где больше нравилось? 🤔
🤣18🔥32
Вроде, так эта дедовская штука же называлась 🤔
🤣9🔥6👍2
Гайз, как обещал — рассказываю, как решил проблему с блокировкой АПИ Телеграмма на сервере 🔧

Дисклеймер: сразу скажу, что тут никакого рокет саенс не будет, это даже не единственный способ. Я выбрал его и он рабочий. Всё!

Итак, вводная: мой блог (blog.polar-dev.com) парсит канал через Telethon — тянет посты, медиа, пишет в базу. Сервер стоит в РФ, на FreeBSD. И вчера всё тихо сломалось — парсер перестал доставать новые посты 😐

Ясно-понятно, похоже, появились ограничения доступа к API Telegram с российских IP.
Для защиты граждан, конечно же 🫡

Первая мысль — поднять SOCKS5-туннель через SSH до зарубежного VPS. Telethon это умеет нативно.

Но меня напрягло, что постоянное соединение, которое надо держать и мониторить,
весь трафик (включая медиа) через туннель приведёт к просадке скорости. Ну, и это лишняя точка отказа

Решил, как по мне, проще:💡

Вынес сам парсер на зарубежный VPS. Теперь он парсит канал, скачивает фото/аудио, конвертит в WebP — и складывает всё в JSON + папку media/.

А на FreeBSD-сервере по крону запускается sync-скрипт:
1. SSH на VPS -> запускает парсер
2. rsync забирает posts.json + media/
3. Скрипт импорта пишет в MySQL

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

Получился такой вот пайплайн:
VPS: Telegram API -> JSON + WebP
FreeBSD: rsync -> MySQL -> сайт

З.Ы. Заметьте, делая полностью законный сервис для использования гражданами РФ, разработчики вынуждены для этого переносить сервер из РФ. Т.е. буквально лишают возможности соблюдать закон о локализации персональных данных (152-ФЗ)🤯

И да, мой способ позволит сохранять данные юзеров (если собираете) на территории РФ 💪

В общем, в этом случае я vs «Контора Оптимистов» — 1:0 😉

#API #Telegram #Блокировки #DevOps #РКН
1👍5🔥33
Доброе!)

Вайб такой. Я вам его позже поясню 😩
1🤣9😱4🔥3
Гайз, а какой радиоактивный изотоп выбрали бы для детей вы? 😏
🤣14🔥3👍2
Я обещал пояснить утренний вайб 🤔

Вот вам история, детишки о том, как я продолбался с N+1 запросами и не замечал этого 😳

Писал несколько ночей подряд, так что ногами не пинайте, но получилось так, что всё вроде работает. А потом открываю АПИ через Postman — и он грузится 11 секунд.

И данных-то кот наплакал.

Открываю MenuService и вижу красивое:

Для КАЖДОГО товара — отдельный SQL-запрос за размерами. Ну,кайф?

menuItems. stream()
.collect(Collectors.toMap(
MenuItem::getId,
menuItemSizeRepository::findByMenuItemId));


Т.е. то, что называют N+1.

Вместо того чтобы одним SELECT ... WHERE id IN (...) загрузить все размеры разом, для каждого товара делал отдельный поход в базу.

И это ещё, сука, не всё — то же самое для модификаторов 😒

Причём модификаторы — это N+1 в квадрате: сначала для каждой категории запрос за списком ID модификаторов, потом для каждого ID — ещё запрос за самим модификатором.

Итого при 50 позициях в меню: 1 запрос за товарами + 50 за размерами + 8 за связями категорий + 24 за модификаторами = 83 SQL-запроса на один API-эндпоинт.

И этот паттерн был в 6 методах. Переделал на batch-метод
findByMenuItemIds(List<String>) с IN(...)

И 83 запроса превратились в 4 😊


Но вот в чём ирония: после деплоя фикса почти не стало лучше 😩

А потом оказалось, что у провайдера были проблемы с каналом 😡

Но в итоге, это толкнуло меня к рефакторингу и вместо 11 секунд — меньше секунды.

З.Ы. Гоните меня, насмехайтесь надо мной 😅

#Разработка #Рефакторинг #СраныйПровайдер
1🔥9😱2🫡21
Доброе!)

Вот и зачем я, спрашивается, в школе английский учил? 😡
🤣10😱4🔥3
Буквально, про меня 😩

Только ещё про блокировки добавить 🥲
😢7😱6🤣6
Forwarded from Кирилл Малышев
🤣12🔥5🥰4