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

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

Наш стикерпак: t.me/addstickers/ITPotaman
Download Telegram
Ну, гайз, фиксируем +15кг за зиму и начинаем тихонечко срезать калорийность рациона 🍔

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

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

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

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

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

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

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

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

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

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

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

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

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

…я ошибся 😒

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

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

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

Гайз, помогите выбрать?
Кому где больше нравилось? 🤔
🤣18🔥22
Вроде, так эта дедовская штука же называлась 🤔
🤣8🔥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👍4🔥33
Доброе!)

Вайб такой. Я вам его позже поясню 😩
1🤣8😱4🔥3
Гайз, а какой радиоактивный изотоп выбрали бы для детей вы? 😏
🤣13🔥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🔥8😱2🫡21
Доброе!)

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

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

Гайз, помните я виртуально «переезжал» в Финляндию?

Так вот, Гугл оказался хитрее — одной сменой страны дело не обошлось. Gemini наотрез отказывался работать, даже через чистый финский IP.

Гугл палит не только по стране, но и по типу IP. Видит, что адрес дата-центровый — и лепит свою заглушку про «недоступно в вашей стране». Мол, мы тебя не знаем, мальчик, иди отсюда 🫠

А у меня картиночки к постам 😭

В общем, пускаем трафик Gemini через Cloudflare WARP. Схема такая: я —> мой сервер в Финляндии —> Cloudflare —> Гугл.

Гугл видит IP Cloudflare и думает: «О, свой пацан, заходи». К клаудфлейр у Гугла претензий нет по понятным причинам 😅

Кстати, скажу сразу про причину щедрости: Cloudflare раздаёт WARP не по доброте душевной — им нужен наш трафик для телеметрии и чтобы потом продавать корпоративные продукты. Но мне-то что, работает и ладно 🤷‍♂️

З.Ы. Если у вас Gemini не работает даже с VPN — первым делом проверьте привязку аккаунта к стране: policies.google.com/country-association-form. Если там Россия — никакой WARP может не спасти.

З.З.Ы. Так как за меня уже переживает, насчет моей темы про блокировки, даже старший коллега по цеху @vvg1975 , то отмечу, что речь не о блокировках со стороны РФ, а о внешних блокировках. Их можно обходить небоясь 💪

#Блокировки #WARP #Gemini #VPN
1👍6🔥4🫡3
This media is not supported in your browser
VIEW IN TELEGRAM
Гайз, насколько реалистичным вы оцениваете такой сценарий?
🤣10🔥3👍2
Доброе!)

Гайз, вот как выглядит современный ИТ-завод 😊
🤣11👍5🔥4🫡11
Вы не поверите, но это, похоже, вообще единственное применение подобных площадей при строительстве 😉
2🤣155😱3