• Как установить расширения КриптоПро и Госуслуг на Электрон?

    @zkrvndm Автор вопроса
    Боты, парсеры, расширения
    Люди которые подписались на мой вопрос, пишу именно для вас. В общем, я смог установить эти расширения в Электроне, но увы, они не работают из-за того, что в электроне не полная поддержка Chrome Extesion API. Короче, зря только время потратил. Я обычно ботов делаю в виде браузерных расширений, но на этот раз решил сделать все красиво и завернуть весь свой код в Электрон - это была плохая идея)

    6025340fda0f8535904933.jpeg
    Ответ написан
    Комментировать
  • Каким образом лучше создать администратора в Spring Boot проекте?

    BorLaze
    @BorLaze
    Java developer
    мне не нужно никаких пользователей, мне нужен только админ сайта

    Ошибаешься. У тебя будет как раз два пользователя - admin и guest.
    С разными правами.
    Ответ написан
    3 комментария
  • Каким образом лучше создать администратора в Spring Boot проекте?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Приветствую, коллега!
    Да, Spring посложнее, чем Django. Но раз тебе удобно писать именно на нем, то конечно же стоит писать backend на нем.
    И да, если уж делать проект по-хорошему, то тебе нужен Spring Security. Тебе нужно создать роль ADMIN.
    Так как проект простой, то можешь использовать In-Memory Auth.
    Так как ты пишешь REST, то скорее всего тебе нужно будет реализовать jwt auth.
    Чтобы по умолчанию при старте приложения создать пользователя, можешь имплементировать интерфейс CommandLineRunner и в методе run() создать юзеров и сохранить в БД.

    P.S. БД необязательно.
    Ответ написан
    Комментировать
  • Надёжный SSD и HDD диск?

    Jump
    @Jump Куратор тега Твердотельные накопители
    Системный администратор со стажем.
    Все HDD диски одинаково надежны.
    Их и осталось то несколько производителей.

    Всегда считал WD надёжной маркой и доверял ей.
    Так и есть.

    Вчера сломался WD blue SSD 1Tb не проработав и 2 лет. Битые сектора, невозможность загрузки ОС.
    Надежные диски точно так же ломаются как и ненадежные. При чем тут надежность?
    Все диски ломаются.

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

    Все диски проходят жесткий контроль качества. Но даже жесткий контроль не может гарантировать отсутствие проблем. Он их просто минимизирует.
    Все HDD боятся ударов. Производят их в Китае и на Тайване в основном, потом везут к нам. Контейнер с дисками может упасть с крана при перегрузке - и вся партия будет проблемной.
    Продавец в магазине может уронить диск или целую коробку с дисками - у них у всех будут проблемы. Но он же никому не скажет, он продаст их вам.

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

    А к дискам надо относится как к расходнику. Выходил срок гарантии - отлично. Сломался раньше срока - сдали по гарантии, купили на эти деньги новый.
    Ответ написан
    6 комментариев
  • Надёжный SSD и HDD диск?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Сравниваете и выбираете максимально суммарный коэффициент:
    Цена+гарантия+линейка+часов_на_отказ+брэнд => MAX.

    Брать там, где продают сервера новых моделей для разных задач и комплектующие для них.
    Там и оборот, и больший контроль за браком у поставщиков магазина.
    Ответ написан
    Комментировать
  • Надёжный SSD и HDD диск?

    @klepiku
    вам нужены серверные hdd и ssd
    хотя бы потому что столько вы наработаете на ssd лет через 7
    Ответ написан
    Комментировать
  • Какая формула используется для перевода координат из WGS84 в десятичную ( lat long)?

    shurshur
    @shurshur
    WGS84 это не координаты, это эллипсоид. А координаты, скорее всего, имеются в виду:

    - EPSG:4326 - географические координаты на эллипсоиде WGS84 в градусах.

    - EPSG:3857 (WGS84 World Pseudo-Mercator, Google Mercator) - земной шар (сфера, не эллипсоид) без полярных шапочек (от 85.06 до 90 градусов широты) представляется как квадрат со стороной 20037508.3427892 метров (число "пи" умноженное на радиус Земли 6378137 метров). Единица измерения - метры. Это самая распространённая в вебе система координат, популяризированная гуглом, но нелюбимая профессионалами (Земля же не шар!!!111!1!!), у неё даже своего номера EPSG много лет не было (отчего использовались виртуальные номера типа 900913, 102100 и др.).

    - EPSG:3395 (WGS84 World Mercator) - почти то же самое, но на эллипсоиде и от -80 до 84 широт, тоже в метрах. Используется, например, в Яндекс-Картах и kosmosnimki.ru.
    Ответ написан
    2 комментария
  • Как скрыть на карте координаты при приблежении?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Ничего не понял про координаты. Про скрытие улиц же вас ждёт облом, так как гуглояндексы такой возможности не предоставляют.
    Ответ написан
    2 комментария
  • Как поменять тип столбца в postgresql через spring boot?

    azerphoenix
    @azerphoenix Куратор тега Spring
    Java Software Engineer
    Здравствуйте!
    Вы можете задавать length. Например,
    @Column (length = 2000)
    private String message;

    https://www.baeldung.com/jpa-size-length-column-di...
    или
    Использовать аннотацию @Lob
    https://www.baeldung.com/hibernate-lob
    Ответ написан
    Комментировать
  • Стоит ли начинать учить node.js?

    ramil_bayramov
    @ramil_bayramov
    Beginner programmer of HTML,CSS,JS
    JS изучают не менее 400 часов (может показаться это громадная цифра, но за качество нужно платить ибо большой обьем работ будет охватывать JS), когда будешь готовь тогда можешь изучать ноду (обычно 100 часов)
    Ответ написан
    Комментировать
  • Изучил java, куда дальше пойти?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Для начала узнайте куда тянет вас...
    Сферы связанные с java:
    - Enterprise - фреймворки Spring, Akka, Play и др. Изучить Java EE (Jakarta EE), Hibernate, JPA и т.д.
    - Android разработка
    Ну есть еще сферы J2ME & Desktop. Но они менее распространены.
    Ответ написан
    Комментировать
  • Почему при удалении строки в Spring Boot с помощью JPA выводит ошибку?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    То что вы видите 403 ошибку (Forbidden) особо ни о чем не говорит.
    1) Если у вас подключен Spring Security, то проверьте может ли пользователь совершить нужный вам запрос. @PreAuthorize("hasAuthority('ADMIN')") Пользователь должен быть админом
    2) Проверьте правильно ли вы обрабатываете post || get запрос.
    3) В этом участке кода тоже ошибка. Вы сперва удаляете admrem, а потом пытаетесь сохранить удаленный admrem.
    for (AdminProductions admrem : rmadm){
                adminProductRepo.deleteById(admrem.getId());
                adminProductRepo.save(admrem);
            }


    Скорее всего это лишнее
    adminProductRepo.save(admrem);

    4) Тут тоже может быть проблема. Например, в camelCase.
    deleteByAdminproductname()
    Потому, что у вас сущность называется AdminProduct и поле name
    А структура запроса у вас:
    Adminproductname
    Тоже что-то не так...

    Ну в конце концов, поставьте точки остановки, включите дебаг и посмотрите какая ошибка прибегает на сервер. Может быть у вас запрос даже не доходит до контроллера из-за ошибки в Spring Security
    Ответ написан
    3 комментария
  • Почему один класс не видит переменных другого?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Потому что:
    1. Класс, это не просто файл в котором написан код. Пока вы не создали объект (экземпляр класса), его не существует, как и его переменных (за исключением статических переменных).
    2. Чтобы обратиться к переменным другого класса, вы должны обращаться к ним через этот класс, например:
    Question question = new Question();
    ....
    public boolean isCorrect(Question quest) {
        return quest.correctAnswer == quest.playerAnswer;
    }

    3. В третьих, в вашем случае, вы не должны вообще писать как написали вы, или как показал я в п.2 метод isCorrect должен быть методом класса Question и вызываться как: quest.isCorrect()

    И если вам показалось, что я ответил лучше чем Сергей Горностаев то вы ошибаетесь. Он полностью прав, читайте учебники, а на том сайте можете закрепить свои знания, хотя даже для этого собственный пет-проект лучше.
    Ответ написан
    1 комментарий
  • Какие отличия у NodeJS сервера от LAMP?

    khegay
    @khegay
    Founder, Garuna
    Тут подход к разработке и деплойменту нужно чуток объяснить:

    LAMP - это стак технологий: Linux, Apache, MySQL, PHP.
    node.js - это технология.

    Чтобы удалённый сервер смог общаться с внешним миром, используются веб-сервера: nginx / Apache / IIS и т.п. Дальше запросы переходят к языку программирования. Лучше всего использовать фреймворки. А дальше, запросы обрабатываются (делаются запросы в БД, общение с файловой системой и т.д.).

    Если вы говорите, что вам удобнее работать с JS, то тогда советую вам данный подход:

    • Виртульная машина VirtualBox. Виртуальная машина необходима для того, чтобы создать примерно такое же окружение, как и на сервере, а также для того, чтобы выделить исполнение кода из вашей системы в отдельное окружение.
    • Vagrant - это такая надстройка над виртуальными машинами. Коробки, внутри которых есть всё для ВМ.
    • В виде ОС - Linux Ubuntu (18.04 либо 20.04)
    • nginx в виде веб-сервера, он же как обратный прокси
    • nvm в виде менеджера версий node.js, с помощью nvm вы сможете устанавливать нужные версии node.js и npm
    • MongoDB в виде базы данных. Либо MariaDB, если нужна SQL-подобная БД
    • express.js в виде веб-фреймворка, который будет работать с БД, файлами и прочим
    • Если нужна визуальная админ-панель, то лучше взять один из мейнстрим фреймворков: Angular / Vue / Reqct
    Ответ написан
    7 комментариев
  • Какие отличия у NodeJS сервера от LAMP?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    LAMP - это Linux-Apache-MySQL- PHP.
    Нодой ты заменяешь сразу A и P, и никакой это уже не LAMP получается. Я бы ещё посоветовал поверх ноды поставить Nginx (из стека LEMP :))
    Так же и БД ты можешь использовать другую.
    Не понимаю почему ты так привязался именно к стеку.

    Т.е. я где-то в консоли админ панели моего сервера пишу node имяфайла.js и сервер будет круглосуточно работать и возвращать ответ при запросе по определённому пути?

    Да, именно так.
    Лучше это сделать через screen или tmux


    И получается, что раз сервер будет без стэка LAMP, то я теряю возможность конфигурации через .htaccess?

    Да. Но не вижу в этом ничего страшного
    Ответ написан
    Комментировать
  • JAVA, можете ли вы объяснить странное для меня for(: );?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Noodle noodle : allTheNoodles
    Условно можно прочитать как: переменная noodle в массиве объектов Noodle[].
    Это тип цикла for each, где итерируя вы получаете каждый объект содержащийся в массиве Noodle[]
    А чтобы обратиться к соответствующему объекту в цикле вы можете использовать переменную noodle. Т.е. в каждой итерации этой переменной будет присвоен следующий объект содержащийся в массиве
    Ответ написан
    Комментировать
  • Как правильно подгружать ресурсы в Spring?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Еще простое решение -
    Создайте файл ApplicationProperties
    @Configuration
    @ConfigurationProperties(prefix = "application")
    public class AppProperties {
    
        @Getter
        @Setter
        private String baseUrl;
    
       
        @Getter
        @Setter
        private String uploadPath;
    
    }


    Добавьте нужные конфиги:
    application.base_url=http://localhost:7777
    application.upload_path=/home/admin/application.com/uploads

    Обратите внимание на названия параметров.
    Сперва в конфиге указываем префикс application (вы можете указать свой префикс).
    Далее base_url => baseUrl upload_path => uploadPath

    Далее в MyApplication (в точку входа приложения) добавьте аннотацию:

    @EnableConfigurationProperties({
            ApplicationProperties.class
    })
    public class MyApplication {
    }


    Теперь в любом компоненте Spring вы можете аутовайрить этот класс и при помощи геттеров получать нужные параметры.
    Вот, .пример:

    @Controller
    @RequiredArgsConstructor
    public class MyController {
    
    private final ApplicationProperties properties;
    
    // ... тут методы контроллера
    String uploadPath = properties.getUploadPath();
    //...
    
    }

    Источник - https://www.baeldung.com/properties-with-spring
    Ответ написан
    Комментировать
  • Spring Boot deploy?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Я видел вариант, когда внутри докера создается докер, который собирает jar, а потом этот внутренний докер удаляется. Apereo CAS так работает.

    Удобно ли это? Не особо, на самом деле, пушо хочется при старте докера иметь готовое изделие, а не полуфабрикат, который будет еще сам себя собирать полчаса, из которых 20 минут он будет выкачивать тулчейн, который раз в 10 больше готового jar
    Ответ написан
    Комментировать
  • Есть ли более производительная библиотека для отображения Карт и графиков чем Amcharts?

    Aetae
    @Aetae
    Тлен
    Мне нравятся echarts от китайских товарищей.
    Но на счёт производительности - только экспериментально смотреть.
    Ответ написан
    1 комментарий
  • Как привлекать помощника на почасовые проекты на Upwork?

    @Stalinko Куратор тега Фриланс
    PHP'шник и фрилансер до мозга костей
    Тоже сталкивался с такой проблемой.

    1. Давать доступ к своему аккаунту вообще не вариант. Слишком много там ценной инфы и доступ к деньгам.
    2. Агентство пробовал открывать, но с ним слишком много мороки. Нужно перетащить человека на Upwork, научить пользоваться тайм-трекером, создать новый контракт с тем же заказчиком, деньги от агенства выводятся отдельно от твоих собственных денег. В итоге я забросил этот вариант. Он только для тех, кто реально собирается развивать агенство.
    3. В итоге остановился на самом простом варианте:
    - на берегу договариваемся с заказчиком, что часть работ вы делегируете, обговариваете цену таких работ
    - ваш помощник делает работу и может вообще не знать про Upwork, просто сообщает вам количество часов, если вы договаривались на часовую ставку
    - вы идёте на Upwork и вручную логируете соответствующее количество часов, либо просто просите заказчика сделать платёж на фиксированную сумму
    - получаете оплату от заказчика и оплачиваете услуги помощника

    Тут есть ещё момент, что передача части работы другому человеку может быть против правил Upwork, поэтому обсуждать такую схему стоит не через Upwork Messenger. А раз уж пошла игра в тёмную, то появляется ещё один вариант: оплата услуг помощника вам на PayPal или другим способом вне Upwork.
    Ответ написан
    1 комментарий