• Как иерархические данные из таблицы преобразовать в объекты Java?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    Наверно как-то так:
    - делаем выборку всех ID в List;
    - заводим пустой List;
    - проходим по списку ID обязательно итератором;
    - рекурсивно достаём элементы, начиная с текущего ID, условия окончания рекурсии - parentId == null . Те элементы, которые достали - удаляем из списка ID (поэтому нужен итератор, а не простой цикл).
    Ответ написан
    Комментировать
  • Почему не загружается прошивка?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    1. Надо пробовать не разные порты, а тот который показывается в диспетчере устройств.
    2. Надо чтобы этот порт был свободен, например, закрыть Ардуино-терминал.
    3. Попробуй другой порт на компе, другой USB-кабель (маловероятно, но это может влиять).
    4. Нажми "загрузить" в программе и сразу кнопку (джампер) Reset на плате.
    Ответ написан
    Комментировать
  • В каком порядке и что учить в джаве?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    - возьми любой приличный курс по Java и посмотри его программу - это то что надо изучать;
    - решай задачи, много задач! Программирование - это практический навык, надо не только ботать теорию, но и писать код, чем больше - тем лучше. В идеале придумать себе домашний проект и пилить его;
    - смотри какие требования есть в вакансиях и учи всё чего не знаешь оттуда;
    - для студентов есть стажировки, в т.ч. онлайн - записывайся, проходи;
    - проходи собесы - так быстро узнаешь и своих пробелах в знаниях.
    Ответ написан
    Комментировать
  • Какую посоветуете библиотеку + IDE для кросс-платформенной разработки GUI-приложения?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    Dart + Flutter позволяют создавать не только мобилки, но и десктопы. Но под каждую платформу надо по машине ибо для сборки под винду нужна полная VS, а под Мак - XCode (ну или Мак с виртуалками).
    Kotlin + Compose, но насколько оно развито и перспективно - сказать не могу.
    Ответ написан
    Комментировать
  • Как сделать имитацию нажатия кнопки?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    Проще всего позвать знакомого школьника, который увлекается Ардуино. Можно взять Digispark, у него достаточно ног. На одну ногу подаём линию с лампочки, вторую подключаем к линии кнопки. Пишем код, реализующий описанную логику.
    Можно решить без кода: мультивибратор + схема И-НЕ. Одна микросхема + резистор-конденсатор. Но найти школьника с таким навыком уже сложнее.
    Ответ написан
  • Как взаимодействуют компоненты в проекте Java + Spring?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    Потому что способ получения данных может меняться. Например, сегодня ты получаешь данные напрямую из БД, а завтра она уедет на отдельный сервер и тебе будет предоставлен только какой-нить GraphQL. Ты перепишешь только свой класс доступа к данным, но так чтобы он реализовывал уже существующий интерфейс. Тогда весь остальной проект править не придётся.
    Интерфейсы обеспечивают контракт - правила, по которым части приложения обмениваются данными между собой.
    Благодаря этому, возможно на этапе планирования проекта "нарезать" приложение на интерфейсы, а потом раздать разработчикам задания на реализацию той или иной части. За счёт строгого контракта, повышается вероятность того что получившиеся части соберутся и заработают вместе :)

    Что касается ресурсов, если "для самых маленьких", то:
    - видео Наиля Алишева - объясняет подробно и понятно;
    - курс Заура Трегулова, есть на Udemi, промокод у него на ютубе. Если нет возможности оплатить Udemi, он же есть на Stepik. Курс платный, но "по цене шаурмы";
    - видео на каналах Евгения Сулейманова и LetsCode, там есть примеры создания проекта с нуля, можно познакомиться "как это вообще делается";
    - можно почитать лекции здесь.
    Ответ написан
    Комментировать
  • Как скачать microchip studio?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    Похоже на то. Через Tor Browser заходит.
    Ответ написан
  • Как скрыть трафик не подключаясь к удаленному серверу?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    Если весь интернет загрузить в Микротик - то да, а так нет :)
    Ответ написан
    Комментировать
  • Что почитать про практическое использование на JS?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    Варианты практического использования обычно рассматриваются на курсах по JS-фреймворкам (Angular, React, Vue и пр.). Их полно: платные, бесплатные, краткие на ютуп, Эти же те техники можно использовать и для написания программы на чистом JS.
    Что касается плагина. Для чего? Для браузера? Так тоже полно всяких руководств.
    Ответ написан
    Комментировать
  • Есть ли такая программа с исходным кодом?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    Тебе надо сделать рабочее решение или демо на столе?
    В любом случае, тебе надо разбить задачу на мелкие подзадачи, для каждой из которой можно найти примеры решения. Это называется декомпозиция задачи.
    1. Как считывать пропуска? Надо понять какой тип карт используется и подобрать считыватель. Разобраться как он работает.
    2. Как хранить данные пользователей? Файл? База данных? Как их пополнять, изменять, удалять?
    3. Как отправлять уведомления? Бот в телеге? Своё приложение для телефона?
    4. Определиться с аппаратной платформой, зависит от способа подключения считывателя и твоих навыков/предпочтений в части программирования:
    - считыватель - Ардуино - комп;
    - считыватель - ESP32 - карта памяти для хранения пользовательских данных - программа для компа/телефона для их редактирования;
    - считыватель - Raspberri PI;

    Для всех вариантов есть примеры с исходниками, твоя задача собрать из них готовый проект. Это если надо для обучения. Если для бизнеса - то просто купить готовое решение.
    Ответ написан
    Комментировать
  • Как искать по своим вопросам или ответам?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    Кликаешь на свой ник, открывается страница, на которой есть линки на твои вопросы и ответы. Неочевидно, да :)
    Ответ написан
  • Как реализовываются микросервисные проекты?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    Это неважно. Можно для удобства накидать папки с проектами в одну папку и открывать её в IDE, а проекты оформить как модули. Но проекты могут разрабатываться на разных языках, разными командами и в разных местах. Тогда вы просто договариваетесь о контракте - протоколах, форматах, порядке обмена информацией между модулями, а дальше каждый пилит так как ему удобно.
    Ответ написан
    2 комментария
  • Как оптимально питать такую схему?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    МК AVR вполне нормально питаются пониженным напряжением, поэтому можно использовать литий-ионный аккум от мобильника или модельный "пакетик". Надо только следить за тем чтобы не разрядить его ниже 3В. Можно использовать аккум со встроенной защитой от глубокого разряда или модуль заряда/защиты. Вся инфа по модулям и схемам есть на сайте автора видео.
    Чтобы Ардуино надёжно работала при пониженном напряжении, можно взять модель PRO MINI на 8 МГц, она и компактнее. Для загрузки программы использовать дополнительный модуль-переходник USB-UART.
    Скетч, вероятно, переписывать под 8МГц не придётся (а может и надо будет немного подправить).
    Ответ написан
    3 комментария
  • Существует ли обобщение контроллеров?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    Контроллеры пишутся не "для сущностей", это точки входа в твой сервер, которые все вместе образуют API.
    Иногда эти точки однозначно мапятся на сущности (например, "получить список пользователей"), иногда нет.
    Ответ написан
    Комментировать
  • В какой среде разработки приложений для iOS, android, windows, linux лучше всего вести разработку?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    Язык Dart, фреймворк Flutter, среда разработки Intellij IDEA, комп Mac.
    Ответ написан
    Комментировать
  • Зачем нужны class в Python?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    Классы позволяют описать объекты реального мира, а также разделить (классифицировать) одинаковые функции разных объектов, которые выполняются по-разному.
    Допустим, ты создаёшь зоопарк. Там есть разные животные. Для любого животного характерны одинаковые по названию функции ("есть", "говорить", "перемещаться" и пр.), но выполняемые по-разному. Поэтому для разных животных ты получишь разный результат выполнения функций с одинаковыми именами:
    frog.speak()     # "Ква-ква!"
    horse.speak()    # "И-го-го!"
    Ответ написан
    Комментировать
  • Как отследить запросы на базу данных firebird?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    У IBExpert есть инструмент аудита, там можно смотреть запросы. Ну и родной консольной приложухой тоже можно (вроде).
    Ответ написан
    Комментировать
  • Как проводить тестирование светодиодов при помощи arduino?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    Для регулировки напряжения обычно используют делитель напряжения, например, в виде потенциометра. Есть микросхемы - электронные потенциометры, которыми можно управлять с МК. Плюс надо будет добавить буфер (усилитель тока), например транзисторный каскад с общим коллектором.
    Тут есть другая проблема. Диод (и светодиод тоже) - нелинейный элемент. Напряжение на нём будет расти до определённого порога, после чего избыточное напряжение будет "сжираться" повышением тока. Надо понимать что ты хочешь измерять. То напряжение, которое ты хотел бы подать или то, которое в реальности оказалось. Может так получится что придётся ставить дополнительный ключ (или использовать ногу МК если она обеспечит необходимый ток) и измерять напряжение твоего регулятора сначала без нагрузки, а потом под нагрузкой.
    (тут могу нести всякую чушь, пусть коллеги поправят)
    Ответ написан
    Комментировать
  • Как из Flux собрать массив JSON?

    @Wan-Derer Автор вопроса
    Зобанели на Хабре, волки́ ;((
    Если кому интересно, придумал такой костыль:
    Flux<String> items = ... здесь исходный Flux ... ;
    Flux<Integer> numbers = Flux.generate(
      () -> 0,
      (state, sink) -> {
        sink.next(state);
        return state + 1;
      }
    );
    
    items.zipWith(numbers, (i,n) -> n + i)
      .map(item-> item.replace("0{", "{").replaceFirst("^[0-9]+", ", "))
      .startWith("[")
      .concatWithValues("]")
      .subscribe(System.out::println);


    Т.е. мы сначала к каждой строке пририсовываем последовательный номер. Потом первый номер (0) просто затираем, а остальные меняем на запятую. Ну и потом оборачиваем всё квадратными скобками.
    Не знаю насколько это хорошо, но работает :)
    Ответ написан
    Комментировать
  • На каком уровне нужно знать react для junior?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    Требования могут быть самые разные.
    Мне, например, хватило посмотреть бесплатный курс от Владилена Минина на ютубе. Плюс, когда-то давно смотрел курс от IT-KAMASUTRA, осилил примерно половину. И для моих задач - норм, правда я не фронтендер :)
    А недавно наткнулся на этот собес и мне показалось что там какой-то адЪ! Правда я не фронтендер :)
    Но если думаешь работать как фронт: то будет, скорее, как в п 2.
    Ответ написан