Yellow Leaf
41 subscribers
243 photos
118 links
Всякое около IT-шное.

Связь с автором: @moose_kazan
Download Telegram
PHP, Golang и JSON

Уже как-то писал что отсутствие строгой типизации в PHP приводит к тому что данные в JSON кодируются как бог на душу положит и это приводит к проблемам при декодировании этих данных в других языках программирования.

Вобщем это всё меня настолько утомило что я на текущем проекте определил типы phpString, phpInt, phpBool и написал функции для их декодирования.

И теперь при описании структур использую эти типы вместо обычных string, int и bool.

Подумываю оформить это всё в виде нормальной библиотеки и опубликовать под свободной лицензией.
👍1
Альтернатива sudo: doas

В BSD-системах есть утилита doas. Альтернатива sudo от разработчиков OpenBSD. Оказывается она и на Linux портирована. Настройки мне показались в целом проще чем у sudo при в целом схожих базовых возможностях.

Из того что есть в sudo, чего нет в doas: проверка контрольных сумм исполняемых файлов перед запуском. Хотя в реальной жизни я ещё не видел чтобы кто-то эту возможность использовал, но и выборка у меня небольшая, и возможность ведь добавлена не просто так.

В Linux пожалуй менять sudo на doas не буду, но в BSD-системах пользуюсь и мне нравится.
👍1
Про разность восприятия

Интересная история: я работаю в сфере разработки ПО. У нас всё опирается на контейнеры с ограниченным сроком жизни. Сервисов с длинным сроком жизни довольно мало и их существование тоже связано с запуском короткоживущих контейнеров.

Например раннеры для Gitlab в рамках CI/CD постоянно создают короткоживущие контейнеры. На проде используется kubernetes, который так же управляет большим количеством контейнеров. На локальных машинах разработчики используют Docker для различных тестов.

И вот я настолько привык к виртуальным машинам и контейнерам что постоянно забываю что есть и другие кейсы, где контейнеры как будто не очень нужны и все эти "контейнеропроблемы" не близки и непонятны. И это нормально. Офисный шлюз, контроллер домена или почтовый сервер упаковывать в контейнер и регулярно пересобирать идея несколько странная.

Спасибо тем кто мне про это напоминает)
Социально-значимые ресурсы по белорусски

Беларусь. Орша. Гостиница "Орша". При попытке подключиться к wifi от Белтелеком по 114-й опции получаем captive portal url где предлагается бесплатный доступ к социально значимым ресурсам.

Если кому интересно вот ссылка на список ресурсов: https://ciscowifi.beltelecom.by/inline_sites/16

ИМХО интересно в контексте ознакомления с культурой страны.

UPD: похоже ссылка открывается только если подключиться к wifi от Белтелеком
Про сим-карты Беларуси

В Беларуси все операторы иностранным гражданам не имеющим регистрации продают только сим-карты с туристическими тарифами.

Цена 40-45 BYN в месяц. В тарифах много всяких примечаний и оговорок.

Сменить тариф после покупки по крайней мере в МТС - нельзя. Т.е. покупать в Беларуси сим-карту чтобы потом пользоваться ей в другой стране не очень выгодно.

Да и заблокированные ресурсы в РБ тоже есть. Хотя и не так массово как в РФ
Ещё немного про интернет в Беларуси

За несколько дней успел побывать в Орше, Могилёве и Минске.

В гостиницах WiFi как правило от Белтелеком и очень не быстрый. Скорость в районе мегабита, а то и того меньше.

Мобильный интернет интереснее: местами есть 5G, но скорости всего 120-150мбит/с. Для 5G не много.

4G: он тут есть и это хорошая новость. Плохая в том что и LTE и 5G сети строит инфраструктурный оператор beCloud, а остальные используют эту сеть (ran sharing) и значит если у вашего оператора где-то нет 4G то и смена оператора не поможет.

Качество покрытия довольно спорное. С одной стороны есть полноценный LTE-A, но с другой - покрытие довольно дырявое и телефон постоянно сваливается в 3G. Сначала думал что это проблема российских сим-карт, но купив симку местного МТС понял что разницы никакой.

Интересно что Band 1 полностью отдан под 3G и похоже рефарминг не планируется. В РФ его уже много где отдали под LTE.

Ну и как вишенка на торте: пока был в Могилеве Мегафон умудрился включить "белые списки". От какой опасности он меня защищал я так и не понял. Возможно белые списки включаются тупо по региону приписки, а не по фактическому нахождению. Но гипотеза требует проверки.
5G в Беларуси

Не сразу, но нашел информацию что 5G SA в РБ строят в band n28, n38, и n78, а так же 5G NSA в n7 и n3.

Почему-то Samsung у меня вообще игнорирует 5G, а Realme подключается только к 5G NSA.

Для тех кто не в курсе: 5G SA это полноценный 5G, а 5G NSA это тоже 5G, но поверх существующих LTE-сетей (грубо). И вот в NSA задержки выше, а скорости ниже чем в SA.

Возможно поэтому я и не смог пока насладиться всеми прелестями 5G.

Кто пользовался 5G-сетями, какой у вас опыт?
Про период охлаждения сим-карт

Въехал в РФ из Беларуси по трассе Кричев-Рославль. Под Шумячами остановился заправить машину и съесть хотдог. Все это время интернет работал нормально.

Период охлаждения включился уже после того как я под Рославлем свернул на Брянск. Если бы я был дроном то у меня было бы достаточно времени.

Отдельный привет российскому МТС, который на номер Беларусского МТС прислали СМС с предложением перейти по ссылке чтобы снять ограничения. Ссылка не открылась из-за этих самых ограничений.

А ещё после 30+ попыток пройти капчу и звонка в техподдержку МТС РФ выяснилось что если СИМ-карта в модеме то даже правильно распознанная капча считается нераспознанной. Пришлось выковыривать симку из машины и ставить в телефон чтобы навигатор снова заработал.

Не знаю как дронам, а людям это мешает сильно.
И ещё чуть-чуть про путешествия

Возможно олды помнят студию Антимульт и снятый ими эпизод "Сасово". Я точно помню.

Потому увидев на карте этот населенный пункт всего в сотне километров от моего маршрута я решил сделать крюк.

Вобщем оказывается там расположен один из ДЦ Яндекса. По всему городу указатели, чтобы его точно не пропустить. Ну и расцветочка самого здания в наше время смотрится неоднозначно.

Теперь думаю как бы туда при случае на экскурсию попасть. Если вообще такое бывает)
Кибер-музей в Муроме

Заглянул в Кибер-музей в Муроме. Очень доволен посещением. Много рассказывать не буду, потому что потом будет не интересно. Просто рекоммендую доехать.

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

А ещё можно поиграть на ретро-машинах в ретро игры. Вобщем всем интересующимся темой рекоммендую к посещению.
👍1
Оформление банковских карт в РБ

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

Открыть карту беларусского банка удалённо нельзя. Только очно. Но для въезда в страну гражданам РФ достаточно паспорта. Можно хорошо провести отпуск и совместить приятное с полезным. Далее делюсь личным опытом.

РРБ-Банк. Открывать имеет смысл две карты: VISA для оплаты зарубежных сервисов и Белкарт для пополнения из РФ. За выпуск карты просят 20 BYN. За обе карты с учётом комиссий я отдал ~45 BYN. Если оформлять заявку в головном офисе банка в Минске то карты будут готовы на следующий день после 16:00. Если хочется совсем одним днём то при заказе карты до 11.00 и доплате 50 BYN за срочность карту можно забрать в тот же день после 16:00.


БНБ-Банк. Так же две карты. Сейчас у них акция: 50 BYN за карту. С учётом комиссий и страховок (очень сильно навязывают) отдал ~192 BYN. Заявку оставил во вторник, карты забрал в пятницу после 16.00. Из плюсов - не обязательно ехать в Минск. Я оформлял в Могилёве. Так же белкарт можно выпустить виртуальную прямо в приложении. Это бесплатно. Из минусов - просят беларусский номер телефона (~45 BYN). После выпуска карты номер можно сменить на российский.

В других банках для россиян выпуск карты стоит от 180 до 600 BYN. Либо требуется внесение страхового депозита.

Надеюсь эта информация будет кому-то полезной.
👍1🔥1
Меняем VPN на socks5-прокси

Есть интересная утилита: ocproxy. Позволяет создать socks5-прокси из vpn-подключения. Например если подключиться к openconnect-серверу командой:

openconnect --script-tun --script "ocproxy -D 11080" oc.example.com


То получится socks5-прокси на порту 11080, весь трафик которого пойдёт через openconnect-сервер.

Это удобно когда необходимо не заворачивать весь трафик машины в туннель, а нуждающееся в туннелировании ПО поддерживает работу через socks5-прокси.
🔥1
Хочу систему рейтингов для музеев

Производитель шин Мишлен в своё время создал путеводитель по ресторанам, где присваивал им рейтинг. Если кто не знал:

- 1 звезда: можно поесть если по пути
- 2 звезды: заведение достойно отклонения от маршрута если не совсем по пути
- 3 звезды: заведение достойно того чтобы быть самостоятельной целью поездки

Вот было бы здорово иметь такой же путеводитель по музеям. Чтобы сразу понимать стоит туда ехать или нет.

Живя в Казани сам несколько раз целенаправленно ездил на мероприятия в музей Сахарова в Нижнем Новгороде. Т.е. определённо это три звезды. В Тольятти есть музей АвтоВАЗ (гусары, молчать!), который стоит посетить если ты где-то недалеко от Тольятти. Ну т.е. определённо две звезды.

А в Чкаловске есть музейный комплекс "Русские крылья", который с одной стороны содержит уникальные экспонаты, а с другой - персонал, которому ты мешаешь пить чай. Тут пожалуй одна звезда.

Если когда-то появится такой путеводитель то я обязательно буду им пользоваться.
😁1
Про контейнеры

Пост во многом для тех кто далёк от разработки или как минимум далёк от *nix. Когда-то я считал что все эти контейнерные истории это удел маленьких проектов. А для больших только физические сервера. Сейчас я очень люблю контейнеры и не представляю своей работы без них. Понятно что контейнеры не парят в воздухе и без физических серверов никуда. Но у контейнеров есть огромные преимущества.

Самое главное: в контейнере окружение всегда одинаковое: не важно какая ОС на хосте у разработчика. Внутри контейнера будет ровно то что нужно. И у него. И у его коллеги. И на боевом сервере. Главное правильно описать эти самые контейнеры.

И сценариев использования очень много. Например в процессе отладки можно запустить несколько контейнеров с разными версиями сервиса и сравнивать поведение. Иногда очень помогает

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

На проде так же контейнеры. И если нагрузка на какой-то сервис растёт то запускаются новые копии сервиса (так же в контейнерах) и балансировщик распределяет между ними нагрузку. Kubernetes вообще великая штука)
Thefuck: исправление опечаток в командах

Нашёл интересный пакет: thefuck. Присутствует как минимум в Debian и AltLinux. После конфигурирования помогает повторно выполнять ранее введённые команды исправив опечатки в них.

Поддерживает bash, но к сожалению не работает в fish (да, я предпочитаю fish). Но в любом случае штука интересная и для пользователей bash выглядит полезной.