Задать вопрос
  • Как парсить imap4rev1, FETCH Response, message data?

    @Wan-Derer
    Лэйн Куб, ну прям так взять и получить нельзя, у нас же не Питон :)
    Надо:
    - открыть mailbox;
    - получить массив message;
    - найти нужное (по заголовку или ещё как);
    - получить parts сообщения;
    - пройтись по ним, получая content и склеить из них тело.
    Я не могу выложить свой код т.к. у меня там специфичная специфика, запутаешься ещё больше. Но я пользовался той ссылкой и у меня всё получилось.
  • Нужно ли вынимать зарядное из розетки, если ноутбук не питается от него?

    @Wan-Derer
    Владимир Шаблий, я имел в виду "выходят из строя". Но мой личный выбор - не оставлять в розетке ничего что можно не оставлять :)
  • Нужно ли вынимать зарядное из розетки, если ноутбук не питается от него?

    @Wan-Derer
    Но тут необходимо добавить что устройства горят в основном при включении или отключении от сети :)
  • На сколько сложно утроиться джуном на позицию C++ dev?

    @Wan-Derer
    можно пощупать упругих студенток за окорок

    Нельзя. Они не для того окорок готовят чтобы всяк нищеброд-ботаник пользовался.

    уставать морально как чорт

    В этом возрасте организм эластичен и стоек к перегрузкам. Так что совмещать можно, хоть и с потерей качества (или без). К тому же есть много резерва времени. Исключаем игрульки до ночи - и вот оно, время на учёбу!

    @Levandr9999 :
    1. Подтяни русский. Такой уровень грамотности ни куда нигадиццо!
    2. Ты плюсы выбрал сознательно? Если "просто так", рекомендую таки смотреть в сторону WEB-стека:
    - JavaScript/TypeScript + фреймворки (React в первую очередь);
    - если больше нравится бэк, то Java или C# + опять же WEB-фреймворки;
    - можно Python как более "проходной" вариант, сейчас часто используется и для вэба;
    - PHP - многие критикуют, зато максимальное кол-во заказов на фрилансе.
    3. Ищи стажировку. Мне вот Яндекс надысь спамил свои летние школы. Там всё есть: и на Ц++, и на других стеках.
    Удачи!
  • Как в Spring перехватить создание бинов определённого типа?

    @Wan-Derer
    Процесс создания бина спрингом и способы вмешательства в этот процесс рассматриваются в видео "Спринг-потрошитель" на ютупе. Глянь, м.б. поможет.
  • Возможно ли на java сделать микросервис, который бы генерировал xls со сложной структурой и использовать его через api?

    @Wan-Derer
    mayton2019,
    почему я тут - адвокат apache poi?

    М.б. потому что ничего другого толком нет? А выпиливать XML руками всем (джаверам) лень? :)
  • Возможно ли на java сделать микросервис, который бы генерировал xls со сложной структурой и использовать его через api?

    @Wan-Derer
    Слава,
    что нужно чтоб на vps работал микросервис написанный на Java Spring?

    Spring это модульный фреймворк, функциональность которого зависит от состава подключённых модулей. Например, если подключить Spring Web, будет подтянут сервер Tomcat, если подключить Spring WebFux - сервер Netty. В обоих случаях приложение получит автономный WEB-сервер, для работы ему будет достаточно работающей Java-машины. Далее открываешь доступ к соответствующему порту на своём VPS и обращаешься к сервису примерно так:
    https://myservice.com:8081/xlsreport
    Конечно, все вызовы можно проксировать через Nginx, Apache etc.

    PS: и если я ничего не путаю, библа Apache POI не работает со старым форматом XLS, только с новым XLSX.
  • Как в Reactor Netty Http Server получить тело POST-запроса?

    @Wan-Derer Автор вопроса
    Dmitry Roo, Да, так пашет ваще огонь! Большое СПАСИБО! :)
  • Как в Reactor Netty Http Server получить тело POST-запроса?

    @Wan-Derer Автор вопроса
    Это работает! Но получается не всё тело, а часть.
    По логам:
    - прилетает чанк 1024 байта вкл заголовки, из него достаётся часть тела и печатается;
    - сразу улетает RESPONSE, типа всё Ок;
    - прилетает второй чанк с остатками тела, но он уже никуда не записывается.
    Как получить всё тело?
  • Как в Reactor Netty Http Server получить тело POST-запроса?

    @Wan-Derer Автор вопроса
    Dmitry Roo, Алексей Черемисин, Сервер у меня определён так:
    // Netty HTTP server
        final HttpServer httpServer = HttpServer.create()
          .host(config.server.host)
          .port(config.server.port)
          .wiretap(true)
          .accessLog(true)
          .compress(true)
          .route(routes -> routes
            .post(base + "/reports", reportController::addReport)
          );
    
        server = httpServer.bindNow();
        log.info("Server started");
        server.onDispose().block();


    Контроллер такой:
    public class ReportController {
    
      private static Flux<HttpContent> content;
    
      // POST /api/reports
      public Publisher<Void> addReport(HttpServerRequest req, HttpServerResponse resp) {
    
        System.out.println("POST");
    //    System.out.println(req);
    
        content = req.receiveContent();
        handleContent();
    
        return resp
          .status(HttpResponseStatus.OK)
          .addHeader(ACCESS_CONTROL_ALLOW_ORIGIN, "*")     // CORS
          .sendString(Mono.just(""));
      }
    
    
      private void handleContent() {
        content
          .doOnNext(item -> {
            ByteBuf content = item.content();
            if (content.isReadable()) System.out.println(content.toString(StandardCharsets.UTF_8));
          })
          .doOnComplete(() -> System.out.println("COMPLETE"))
          .doOnError(System.out::println)
          .subscribe(System.out::println);
      }
    }


    При исполнении сразу выскакивает "COMPLETE" как будто данных нет, но они там точно есть, если включить полное логирование, то в логах они есть.
    Пробовал и receive(), и receiveObject() - всё то же самое.
  • Владения небольшой сетью с автономной системой и на сколько это законно?

    @Wan-Derer
    ne-vlezay80, Виртуальный сервер у хостинг-провайдера, на нём домен и доменная почта. Если хочется поднимать сервер с нуля - VPS.
  • Почему код останавливается и не работает?

    @Wan-Derer
    qqqaa, в общем да, но я не знаю как работает эта библиотека. У тебя есть метод void irIsr(), который ты никак не используешь. Возможно, его надо периодически дёргать чтобы он ir стал available. Это надо смотреть доку на библиотеку или примеры к ней.
  • Почему код останавливается и не работает?

    @Wan-Derer
    Ну ты пишешь значение в переменную mode, выводишь её в консоль и далее никак не используешь. На каждом витке лупа ты зажигаешь на ленте синий цвет. Соответственно, он не меняется.
    Как запрогал - так и работает :)
  • Как организовать юзер-сервис в виде микросервиса?

    @Wan-Derer Автор вопроса
    Drno, я ж говорю: есть старый монолит, который переписывается на новый стек путём отпиливания от него кусков. Можно, наверно наращивать новый монолит путём прикручивания к нему отпиленного от старого, но, КМК, лучше и гибче иметь набор мелких приложений, которые когда-то потом можно будет собрать вокруг нового ядра. Хотя я в курсе сложностей микросервисов: проблемы с деплоем и пр.

    mayton2019, я почитаю конечно, но мне кажется, это немного не в ту сторону. Вот есть простой пример как сделать сервис с авторизацией и токенами. Но это простая демка, поэтому у автора всё вместе: бэк с секурити и фронт на шаблонизаторе. Я могу отделить фронт от бэка, но как выделить часть секурити - не понимаю.
    Как я это вижу (м.б. далее ерунда, но тем не менее). Есть старое приложение, которое логинит пользователя (своими механизмами, которые мы не трогаем). В нём есть кнопка, например "Выдать что-л со склада". Ранее она вызывала окно в старом приложении, а теперь открывает браузер с моим сервисом (на кнопку можно повесить скрипт с логикой). Т.к. пользователь уже залогинен, я не хочу чтобы он логинился ещё и в моём сервисе (кои будут плодиться). Я предполагаю что кнопка вызовет сначала юзер-сервис и скажет ему: "Вот Васямба, он проверенный камрад, залогинь его, пж." Сервис такой: "Окэ, вот тебе токен". Далее открывается сервис "Склад" и такой: "А кто это к нам пришёл? А, это Василий! А какие у Васи права? А, вот такие! Ну вот тебе, Вася твой интерфейс...". Если же Вася оставит комп и уйдёт на обед, то сервис уже предложит ему залогиниться или снова зайти через старое приложение.
  • Моя почта попадает в спам на Яндексе. Как бороться?

    @Wan-Derer
    d-stream, письмо кому? Яндыксу? Мне кажется, я могу процитировать ответ: "Сервис-бесплатный-предоставляется-эз-из-работает-в-тестовом-режиме-идитевзопу!".
    В общении с ТПшками самое главное - прорваться через ИИ, который умело маскируется под человека и отвечает не на тот вопрос, который задан. Я в таких случаях пишу "Позови человека!". За несколько итераций помогает (иногда).
  • Как организовать юзер-сервис в виде микросервиса?

    @Wan-Derer Автор вопроса
    mayton2019, Drno,
    зачем тогда вообще

    Например, происходит переписывание старого огромного монолита на новые технологии. Сразу это сделать нельзя (он огромный и в эксплуатации), поэтому от него отпиливаются куски и оформляются отдельными сервисами. Со временем можно будет и БД распилить.
    Мне кажется, вопрос о базе не так важен в контексте вопроса. Если я правильно понимаю, сервисы вообще ничего не должны знать о пользователях. Они просто должны иметь возможность узнать что вот этого токена зовут Пётр и ему можно отдать данные по бухгалтерии, а всё остальное - ни-ни! А вот Маша имеет право знать за транспортный цех. А Иннокентий Ананьевич вообще испортился и пусть идёт логиниться заново.
    На данный момент будем считать что база общая,
  • Моя почта попадает в спам на Яндексе. Как бороться?

    @Wan-Derer
    Поговори с ТП хостера. Наверняка они с подобным сталкивались. Для начала пусть тебя перекинут на другой диапазон IP.
  • TypeScript, можно ли создавать экземпляры класса по имени?

    @Wan-Derer Автор вопроса
    Модератор, хочу выполнять! Но не понимаю что нарушил. Как мне надо было написать заголовок чтобы он был без нарушений?