• В чем "вкус" react?

    @12rbah
    В связи с этим у меня вопрос, чем же обоснована такая популярность этой библиотеки у работодателей?
    Если вы программируете 3 месяца то скорее всего не поймете. React или другой фреймворк изначально подразуевает то, что код хорошо делится по модулям и компонентам, что очень удобно, в обычном js нужно принимать больше усилий чтобы добиться этого. Также есть много готовых решений из коробки, которые уже были отлажены другими более опытными людьми.
    а модульность со мной сыграла злую шутку (прочитал, что хорошим тоном считается разбивать проект на мельчайшие модули, разбил свой, через пару недель я просто почти забыл, что от чего у меня зависит и какой модуль у меня что тянет за собой и главное куда тянет!
    Видимо вы попробовали выучить реакт за неделю, потом потом на 2-3 недели ушли заниматься своими делами и не трогали его и "внезапно" всё забыли. В целом можно писать комментарии для пояснения. Модульность как раз наоборот упрощает чтение кода и если правильно всё называть и прописывать, то в небольших проектах до 5-10к строк можно будет без проблем разобраться за пару дней тому кто не писал это код.
    P.S. Возможно вам лучше выложить вопрос с сылкой на ваш проект и вам подскажут что не так вы сделали, будет полезнее.
    Ответ написан
    Комментировать
  • В чем "вкус" react?

    vfreelancer
    @vfreelancer
    php
    представьте форму из 5 табов, в каждой по 15-20 полей. при изменении некоторых селектов часть полей пропадает, другие появляются, плюс какие-то селекты заполняются с сервера. плюс часть полей зависят от того, кто именно заполняет, плюс локализация, плюс валидация онлайн с проверками в бд на сервере. с реактом решение в разы легче и быстрее должно быть
    Ответ написан
    Комментировать
  • Как правильно отправлять файлы в RESTfull приложении?

    Jacen11
    @Jacen11
    обычно ссылку на файл передают в объекте, клиент потом по ссылке качает
    получается больше гибкости, клиент может не дожидаться окончания загрузки тяжелого файла и уже что то показывать. Ну и так проще обычно
    Ответ написан
    2 комментария
  • Как правильно отправлять файлы в RESTfull приложении?

    @Dmtm
    Android
    сейчас, раз уже есть массив байт, то передавать вместе с классом, так проще
    а вообще - вынести работу с файлами в отдельный репозиторий (там и кеширование можно добавить для экономии) и в Book останется только имя файла
    Ответ написан
    2 комментария
  • Зачем нужен WebFlux?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Чем хорош вебфлакс... асинхронностью.
    По своему опыту скажу, что он имеет преимущества в плане отзывчивости перед вебом.

    Пока не вижу кейсов, при которых не хватало SpringBoot, либо MicroProfile-фреймворков.

    Уж поверьте, когда понадобится, тогда увидите нужные кейсы.

    Мне например, приходилось разрабатывать приложение, который на вход принимает огромное количество точек (более 1000), строит маршруты и возвращает инструкции. Тав вот, асинхронно (flux) я возвращал данные по мере готовности. А если вы работаете с БД, то можете вместо jdbc подключить r2dbc.
    Ответ написан
    Комментировать
  • Как использовать АОП в паттернах?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    5 комментариев
  • Как запустить приложение JavaFX из винды?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Установите джаву с fx-ом.
    Например, от сюда: https://www.azul.com/downloads/?package=jdk#downlo...
    Нужно выбрать jdk fx
    Ответ написан
    Комментировать
  • Подскажете по архитектуре "мультисервисного" приложения?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Приложение будет предоставлять несколько WEB-сервисов, за каждый будет отвечать отдельный микросервис :) Но все они будут обращаться к одной базе данных.

    Может быть вам нужны не микросервисы, а distributed monolith? Ну и реализовать паттерн shared database access

    Я хочу сделать микросервис (или модуль?), который абстрагирует БД. Т.е. он умеет читать (пока только читать, а в перспективе и писать, и кэшировать запросы) записи из БД и раздавать их другим частям приложения. Все остальные части ничего не знают про БД, а пользуются готовыми объектами.

    Тут можно и про SAGA задуматься.

    Но допустим, у меня БД на 1000 таблиц (плюс ещё таблицы взаимосвязаны что порождает вложенные Java-объекты). Это значит, мне надо сделать 1000 репозиториев, в каждом Х методов (получение по ID, получение по значению поля, одного объекта, коллекции...). И ещё 1000*Х методов в контроллерах....

    Честно, не уловил сути между количеством таблиц в БД и количеством репозиториев. Но если что можно же монорепо сделать.

    Думаю, вам не нужны микросервисы. Вам понадобится monolith, ну или максимумdistributed monolith.
    Много чего можно вынести в отдельные модули. Например, создать модуль persistence и вынести DAO туда
    Ответ написан
    2 комментария
  • Зачем нужен WebFlux?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Я эту тему представляю так: вот есть стримы, которые позволяют писать понятно, в декларативном стиле, почти на человеческом языке, но с «одним недостатком» - они оперируют с уже какими-то уже «сложившимися» коллекциями.
    Flux-ы предлагают похожий api, с которым можно сконструировать весь пайплайн приложения от начала до конца: от данных на входе, до данных на выходе, в таком же стиле.
    Так что:
    1. Это удобно
    2. Сравнение со springboot - это тёплое против мягкого.
    3. Flux-ы, применимы решительно в любом проекте, как развитие идеи стримов.
    4. Идеально подходит, если речь идёт о mq или websocket.
    Ответ написан
    Комментировать
  • Зачем нужен WebFlux?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Мне кажется что внедрение WebFlux идет от "реактивного манифеста". Вообще классические сервлетные серваки которые раньше поддерживались Tomcat/Jetty сегодня могут быть прозрачно подменены на netty, на уровне конфигураций бута, что как-бы приближает нас к асинхронщине. И современному бизнес-разработчику практически будет безразлично, написан ли его контроллер на блокирующем IO или на каком-то другом. По сути речь идет о диспетчеризации ресурсов. Где создавать поток. А где и хватит единого потока диспетчера на всех.

    По поводу WebFlux, я видел один проект по обработке web-messages и это было удобно. Но только если мы на уровне алгоритма гарантируем что хендлер месседжа не будет занимать много времени.
    Ответ написан
    Комментировать
  • Подскажете по архитектуре "мультисервисного" приложения?

    НО! Они все пользуются одной и той же БД, из которой "черпают" данные "общего назначения": юзеры, ассеты, события и пр.

    Вот я и хочу "общую часть" вынести куда-то отдельно. И спрашиваю как это принято делать: библиотека? модуль? сервис?
    Можно сделать как подключаемую библиотеку (пакет Java), вынеся всё в ядро самое необходимое. Вокруг библиотеки ядра могут быть созданы какие-то библиотеки-обвески. Репозиториев библиотек может быть несколько, для простоты. Каждая библиотека может иметь свою версию и использоваться монолитом при сборке.

    Это значит, мне надо сделать 1000 репозиториев, в каждом Х методов (получение по ID, получение по значению поля, одного объекта, коллекции...). И ещё 1000*Х методов в контроллерах....
    Ну зачем так? Нет смысла дробить даже на десятки, не говоря уже о тысячах.

    Начните с разделения по модулям, где у каждого компонента своя зона ответственности и нет переплетений зависимостей с другими компонентами.
    Нужно знать больше подробностей о предметной области и текущей архитектуре проекта, чтобы дать дополнительные советы.
    Ответ написан
    1 комментарий
  • Может ли быть MVC Без views?

    vabka
    @vabka
    Токсичный шарпист
    View - это не всегда то, что видит пользователь.
    Под View также вполне подпадает json-объект, который возвращает контроллер в случае апишки.


    Или для чистого API есть более подходящие архитектуры?

    MVC - это не то чтобы архитектура, строго говоря. Скорее паттерн, который может быть реализован по разному.
    У тебя есть какие-то объекты-представления, которые отдаются клиенту, какая-то модель предметной области, в которой описаны все ограничения и возможные операции, и контроллер, который гоняет из одного в другое.

    PS: Не нужно придумывать красивое название для архитектуры, чтобы писать нормально.

    А так вообще для вдохновения посмотри на:
    - Hexagonal architecture
    - Onion architecture
    - Clean architecture
    - Ports and adapters
    - N-tier architecture
    - Vertical slice architecture
    Ответ написан
    1 комментарий
  • Как занять домен первым?

    @RoundRobin
    Заказать домен на большинстве крупных аукционов Domain Backorder (как минимум на namejet и snapnames, а также дополнительно dropcatch и т.д.)
    Конечно это не даст 100%, гарантии успешного перехвата, но сильно увеличит шансы;
    Ответ написан
    1 комментарий
  • Как занять домен первым?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Подать заявку на аукцион.

    Правда тут надо вот чего иметь в виду. Если регистратор посчитает, что этот домен можно пристроить и повыгоднее - то он подключит к аукциону карманную конторку, которая тоже подаст заявку и будет постоянно повышать ставку. Выиграть аукцион можно - но по цене, заметно превышающей обычную.
    Можно написать текущему владельцу, чтобы он сделал направленный перевод домена
    Ответ написан
    Комментировать
  • Как узнать кто ДДОСИТ?

    @vitaly_il1
    DevOps Consulting
    Как я могу узнать откуда и куда идут атаки? И могу ли я как - то это предотвратить, путем блокировки исходящего трафика

    Куда - мы уже знаем из сообщения хостера (кстати, это не DDoS, а brute force).
    Откуда? - в реальном времени это можно узнать например сравнивая "lsof" для соединений 22 портом c "ps" выводом. Соответственно можно вставить скрипт в крон.
    И да, если речь только о атаках на 22 порт, его можно закрыть в iptables.
    Ответ написан
    2 комментария
  • Какие курсы выбрать по java?

    @Sergey_USB
    Я проходил курс от скиллбокса - не советую. Но в гик брейнсе не учился. Т.к. в скиллбокса курс мне очень не понравился - то я бы сейчас попробовал именно ГБ.
    Ответ написан
    1 комментарий
  • Где есть приватный maven/gradle репозиторий?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Вы можете поднять Nexus репозиторий и использовать сколько угодно
    https://habr.com/ru/post/473358/
    https://www.sonatype.com/products/nexus-repository
    Ответ написан
    Комментировать
  • Angular 14, как подгружать произвольный файл с бэка?

    @Ghoulll
    Посмотри в сторону APP_INITIALIZER.
    https://angular.io/api/core/APP_INITIALIZER
    Ответ написан
    Комментировать
  • Может ли приложение менять файлы внутри JAR?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Изменяемые ресурсы лучше хранить где-то отдельно.
    Путь до ресурсов можно объявить с помощью системных переменных или конфиг файла.
    Ответ написан
    2 комментария
  • Обход кэширования js/css

    iswitch
    @iswitch
    Geek, Programmer, ????
    main.js?123
    main.css?123
    Если файлу передаются параметры (?123), то браузер обязан его загрузить заного.
    Ответ написан
    5 комментариев