Обновить
14
0.2
Dmitrii T.@talbot

Financial services on Java beans

Отправить сообщение

Лента поменялась после отжима в марте 2014 (на пике своей популярности), а Дзен запустили как infinite scroll рекомендательное дополнение на СЕРПе в 2017.

А какой у нас аналог именно Роскомнадзора? KPN—это старейший провайдер и владелец физических линий связи (аналог РТК), но функций РКН у него нет. В стране ограничительные меры принимает прокуратура (Openbaar Ministerie) по решению суда.

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

Лично мне это очень сильно напоминает ситуацию в России 15 лет назад.

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

Думаю, путь будет такой же, как в России, только займёт больше времени, так как (ну как минимум в Нидерландах) парламент всё же отличается некоторой свободой. Опять же, тут хорошая иллюстрация, что изложенное в посте есть результат директивы ЕС, а не решение местного парламента. Посмотрим, может удастся оспорить эту директиву в парламенте, тут и так есть недовольство теми решениями, которые продвигаются сверху.

А пока настраиваем роутеры и готовимся снова участвовать в битве за Телеграм.

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

Всё ещё можно использовать DNS от Яндекса (77.88.8.8 и 77.88.8.1), чтобы резолвить нормально.

Кстати, на скриншоте вариант от KPN (Голландсктелеком, местный Ростелеком) с красивым объяснением причины. В случае с T-Mobile как у меня просто резолвится левый адрес:

$ nslookup dzen.ru
Non-authoritative answer:
Name:   dzen.ru
Address: 3.126.45.54

А вот так с DNS от Яндекса:

$ nslookup dzen.ru 77.88.8.8
Server:         77.88.8.8
Address:        77.88.8.8#53

Non-authoritative answer:
Name:   dzen.ru
Address: 185.180.200.2
Name:   dzen.ru
Address: 5.61.23.39
Name:   dzen.ru
Address: 83.222.28.15

А не наоборот? Южная как раз в Ораниенбаум, а северная на Старую Деревню и Просвет. Ну и паромы-ледоколы до Ораниенбаума ещё остались.

Спасибо за перевод и за ссылку на оригинал. Очень полезно как сумма ошибок, находящихся в основе GitHub actions.

Сами используем и SHA pinning, и Dependabot scans, контролируем вендорские actions и даже запрещаем разработчикам самостоятельно вносить изменения в .github/workflows (что целиком убивает весь смысл GitHub actions).

Но всё это лишь костыли, так как сама платформа спроектирована уязвимой.

Ну в GitHub workflows—это буквально рабочий поток задач, так как все workflows состоят из списка в виде одной или более задач (jobs):

---
name: My Workflow
on:
  workflow-dispatch:
jobs:
  my-job:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          token: "${{ secrets.GITHUB_TOKEN }}"

Молодцы, что починили:

$ nc -v pxl.yoomoney.ru 443
Connection to pxl.yoomoney.ru port 443 [tcp/https] succeeded!

Собственно, как я и говорил, форма не загружается, потому что скрипт embed_v1.js с домена pxl[.]yoomoney[.]ru не отдаётся с ошибкой CONNECTION_TIMED_OUT.

netcat не подключается к узлу:

Hidden text

$ nc -v pxl.yoomoney.ru 443
nc: connectx to pxl.yoomoney.ru port 443 (tcp) failed: Operation timed out

Проверьте работу не из внутренней сети, возможно, какие-то ограничения на поддомен.

Интересно, но записаться невозможно: ни одной формы не показывается, страница разваливается что в последнем FF, что в Я.Браузере.

С каких пор вы на Тильду перебрались кстати? Раньше же все промо-странички делали своими силами.

«Как принято» зависит от компании и проекта: где-то может быть netty «кишками наружу», где Future Future погоняет, а где-то (у меня сейчас такой проект) обычные разработчики даже не в курсе, что за фреймворк там под капотом, так как всё спрятано под толстыми слоями абстракций, которыми управляет команда платформы.

Такая гибкость и является основным преимуществом Java, на мой взгляд.

Ну вот Java с миллионом абстракций (нет):

package com.example;

import com.sun.net.httpserver.HttpServer;

import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.charset.StandardCharsets;

public class HttpServerExample {

    public static void main(String[] args) {
        try {
            var server = HttpServer.create(new InetSocketAddress(8080), 0, "/", exchange -> {
                try (var out = exchange.getResponseBody()) {
                    var response = "Hello from oldschool style".getBytes(StandardCharsets.UTF_8);
                    exchange.sendResponseHeaders(200, response.length);
                    out.write(response);
                }
                exchange.close();
            });
            server.start();
        } catch (IOException e) {
            System.out.println("Could not start HTTP server: " + e.getMessage());
        }
    }
}

Для меня именно Lion стал первой версией, которую захотелось откатить. Я как-то тогда тоже писал похожий пост, только собирал косяки Lion’а: казалось, что там поломали вообще всё, от интерфейса до драйверов на WiFi и Bluetooth. Ну и выпилили бэкенд для профессиональных сканеров, что стало неприятным сюрприз.

Эх, кажется, стабильности Тигра мы уже никогда не увидим.

Automat'ы, как ни странно, просуществовали аж до 1991 года

Типичный автомат FEBO
Типичный автомат FEBO

В Нидерландах существуют и поныне, сеть FEBO никуда не делась: всё также бросаешь монетку и получаешь из открывшегося окошечка порцию курицы или крокет.

Добавлю примеров в копилку из своего опыта, где работал сам:

- Яндекс (Яндекс.Касса). Decimal base units: Java BigDecimal на бэкенде, DECIMAL в базе данных (Postgres), строковое представление в API.
- Ingenico e-Payments / Worldline (четвёртый в мире Payment Gateway, самый большой в Европе). Integer with minor units: Java BigInteger на бэкенде, BigInt в базе данных (Oracle), где minor units = 1/1000000. В API то же самое, только minor units = 1/100 (для большинства валют) или 1/1000 (для определённого списка, но в документации об этом ни слова, просто костыли в коде).
- Банк ING (электронный кошелёк Yolt). Сам затащил подход «как в Яндексе», так как мог влиять на принятие решений. Стек тоже «как в Яндексе».
- Maersk (морские грузоперевозки). String Base Units: сериализация / десериализация из / в Java BigDecimal на бэкенде, хранение в виде строк в базе данных (MongoDB). API использует строки.

Забавный факт про Integer with minor units:

Большие суммы: Int64 может переполниться при работе с крупными транзакциями

Если уж Int64 может переполниться, то что тут говорить про int32 (Java int), который был до перехода на BigDecimal (а, возможно, где-то в коде каких-то сервисов ещё и есть) в Ingenico e-Payments. Так и случилось в один прекрасный момент несколько лет назад, когда путешествия на Бали (смотри курс индонезийской рупии IDR) стали внезапно стоить сущие центы из-за переполнения. Распродажу Лавочку прикрыли только к утру, когда заметили невероятную популярность клиента Agoda и отелей на Бали, и до исправления просто прекратили (на полгода) принимать платежи в валюте IDR. Убытки, как водится, просто списали, никого не наказали.

Прошу прощения, вы правы: четверть миллиарда.

Нидерланды: две недели поезда не ходят из-за забастовок, зато договорились поднять зарплаты на сумму больше, чем официальная инфляция.

Не забываем, что в COVID раздавали деньги, не бесплатно. И теперь пришло время их отдавать.

1
23 ...

Информация

В рейтинге
3 198-й
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Архитектор программного обеспечения
Ведущий
От 130 000 €
Java
Oracle
PostgreSQL
Java Spring Framework
Высоконагруженные системы
API Интерфейсы