Профиль пользователя заблокирован сроком с 24 марта 2024 г. и навсегда по причине: систематические нарушения пункта 5.2 правил сервиса
  • Spring boot websocket через postman всегда возвращает 403, как так?

    @My1Name
    Попробуйте добавить бин:
    @Configuration
    @EnableWebSocketSecurity  
    public class WebSocketSecurityConfig {
    
        @Bean
        AuthorizationManager<Message<?>> messageAuthorizationManager(MessageMatcherDelegatingAuthorizationManager.Builder messages) {
            return AuthorityAuthorizationManager.hasRole("USER");
        }
    }

    Возможно вы отправляете запросы без авторизации...
    Ответ написан
    Комментировать
  • Почему берет одну запись по селектору?

    @My1Name
    Если JavaScript не принципиально, то на jQuery это можно сделать так:
    $('.fraud').css('backgroundColor' , '#f1f7bc');
    Предварительно, желательно добавить к <tbody> id чтоб ограничить область селектора на тот случай, если у вас не одна таблица... Например: <tbody id="123"> Тогда запись будет выглядеть вот так:
    $('#123').find('.fraud').css('background-color', '#f1f7bc');
    Ответ написан
    Комментировать
  • Как перевести текст с помощью API Google/Yandex?

    @My1Name
    Как перевести текст с помощью API Google/Yandex?

    - За денежку очень просто. Google (и Яндекс*) API даже сами определяют язык исходного текста. Вам всего-то нужно добавить скрипт на сайт, а дальше дело за малым:

    Google: $20 per million characters;
    Yandex: $15 per million characters;

    У гугла относительно гибкая система цен для малых проектов, не смотря на ценник в 20$ До 500ты. символов вроде как бесплатно... У Яндекс цена из расчета на колличество. Типа - оптом дешевле, но нужно проверить :)

    Смотреть другие варианты.
    Ответ написан
    Комментировать
  • Ошибка, в чем проблема?

    @My1Name
    Проблема в конструкции if / else Такой калькулятор нужно через switch писать. Массив выходит за пределы...
    java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 1
    Ответ написан
    Комментировать
  • Как получить индекс элемента с определенным классом на jQuery?

    @My1Name
    Нужно перебрать все элементы <li>
    Получилось получить так:
    let currentIndex = $(".js-practice_button").index($(".current"));


    Можно попробовать ещё вот так:
    var index = $('.practices_list').find('.practice_item').map(function() {
    if($(this).hasClass('current')){
            return this;
    }
        }).get().index;

    Или как-то так:
    var index = $('.practices_list').find('.practice_item').each(function() {
        if ($(this).hasClass('current')){
    return $(this).index();
    }
    });

    В обоих случаях нужно проверить. Я писал ответ с телефона и работоспособность кода не проверял...
    Ответ написан
    Комментировать
  • Как избавиться от ломающих тегов HTML которые создаются пользователем на странице?

    @My1Name
    С помощью JS можно просто запретить теги, при этом оставить только те, что вам надо, например img.
    var bodyText = text.replace(/<!--[\s\S]*--!?>/g, "").replace(/<(?!img)\/?[a-z][^>]*(>|$)/gi, "");

    А вообще, по идее в каждом языке программирования есть библиотеки - парсеры. Например в JAVA есть замечательный плагин (API) JSOUP. Он позволяет находить теги и работать с DOM по аналогии JavaScript.
    Ответ написан
    Комментировать
  • Как оцените тестовое задание для junior front-end?

    @My1Name
    Если это не вакансия в компанию, которая занимается картами и навигацией (например геодезическая компания, или какой-то сервис геолокации/доставки), то вас культурно послали. А на вопрос "куда?" - дали ТЗ написать навигатор. Кнопку "построить маршрут" оставили на самодоработку (9,10,11 и 12 пункт ТЗ).
    Ответ написан
  • Как сделать preview img by input file?

    @My1Name Автор вопроса
    function loadLogo(){
    var div = $('#u-data #logo');
    $(div).click().change(function(){
    if($(this).val()){
      var input = $(this);
      var reader = new FileReader();
      reader.onload = function (){
         $('.content').find('img').attr('src', reader.result);
      }
      reader.readAsDataURL(input[0].files[0]);
    }
    $(div).off('change');
    $(div).unbind('click');
    });
    }

    Вроде бы всё работает.
    Ответ написан
    Комментировать
  • Бесплатный онлайн-чат для сайта на JS?

    @My1Name
    Прототип чата (JavaScript & jQuery) на основе Bootstrap и CKEDITOR 4. Ориентирован на работу с сервером ̶S̶p̶r̶i̶n̶g̶ (как в соц. сетях или сайтах знакомств) с приватной перепиской. download
    Ответ написан
  • Как реализовать пролистывание блока при прокрутке с учётом скролла страницы?

    @My1Name
    как называется такой эффект

    Если я правильно понял описание, то этот эффект называется Scrollspy. По крайней мере, что-то похожее есть на Bootstrap.
    Ответ написан
    Комментировать
  • Бесплатный онлайн переводчик для сайта?

    @My1Name Автор вопроса
    можно ли встроить onlline-перводчик (например google или яндекс) как в twitter. ... при этом бесплатно?

    Можно. Но это не очень честные методы и компании об этом не знают :) Cудя по комментариям к вопросу, ответ на вопрос "как?" никто не даст. В интернете есть разные решения, и все они работают по разному...
    Ответ написан
    Комментировать
  • Как скрыть/показать длинный текст в div-ном блоке?

    @My1Name Автор вопроса
    Немного погуглив, решение нашлось на qna.habr и по ссылке https://www.tune-it.ru/web/leksa/blog/-/blogs/3044392 — хороший пример оформления. В целом (моё) решение выглядит следующим образом:

    HTML
    <div class="truncate-text">
    <p>Тут какой-то текст длиной до 2000 символов, но нужно показывать до 200 символов. По событию onClick блок должен развернуться. А если блок развёрнутый - свернуться.
    </p>
    </div>

    CSS
    .truncate-text{
      height: 130px;
      overflow: hidden;
      position: relative;
    }
    .truncate-text.opener {
      height: auto;
    }
    .truncate-text:after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 40px;
      background: linear-gradient(180deg, transparent, white 50%);
    }
    .truncate-text.opener:after {
      opacity: 0;
    }

    Javascript (jQuery)
    <script>
        $('.truncate-text').click(function(){
            $('.truncate-text').toggleClass('opener');
        });
    </script>

    Можно ещё добавитьcursor: pointer; в стили, но как по мне - это лишнее. Если текст не завершённый, обычно человек тыкает на него пальцем интуитивно :)
    Ответ написан
    Комментировать
  • Spring Security: Как получить username и password?

    @My1Name Автор вопроса
    В Spring Security нельзя получить username и password привычными методами. После аутентификации запроса, данные обычно хранятся в локальном потоке SecurityContext, управляемом SecurityContextHolder. А чтоб достать username и password, нужно переопределить метод "Authentication" в классе AuthenticationProvider ("прослойка" между базой данных и клиентом, вшитая в Spring Security):
    @Component
    public class CustomAuthencationProvider implements AuthenticationProvider {
        @Autowired
        private CustomPersonRepository DAO;
        @Override
        public Authentication authenticate(Authentication authentication) 
                                              throws AuthenticationException {
            String userName = authentication.getName();
            String password = authentication.getCredentials().toString();
            Person myUser = DAO.findByUsername(userName);
            if (myUser == null) {
                throw new BadCredentialsException("Unknown user "+userName);
            }
            if (!password.equals(myUser.getPassword())) {
                throw new BadCredentialsException("Bad password");
            }
            UserDetails principal = User.builder()
                    .username(myUser.getLogin())
                    .password(myUser.getPassword())
                    .roles(myUser.getLogin())
                    .build();
            return new UsernamePasswordAuthenticationToken(
                    principal, password, principal.getAuthorities());
        }
        @Override
        public boolean supports(Class<?> authentication) {
            return authentication.equals(UsernamePasswordAuthenticationToken.class);
        }
    }

    Спринг работает на прямую с объектами "User" хранящимися в базе данных (или в локальном репозитории) и автоматизирует процесс обмена данными до уровня "запрос - ответ", а в контексте происходит аутентификация (кодирование/декодирование + проверка). То есть, хождение по сайту, подразумевает постоянный обмен пакетами данных сервера и клиента, между которыми существует прослойка "проверка" (аутентификация) реализованная в Spring Security. И если нам нужно что-то достать, то нужно реализовать методы спринга. В идеале, даже разработчик не должен видеть личные данные пользователя.

    Пароль в Spring Security по умолчанию закодирован на уровне контекста. И если мы хотим убрать кодирование (не рекомендуется), то нужно в классе конфигурации SecurityConfig implements WebMvcConfigurer указать соответствующий бин:
    @Bean
    	 public PasswordEncoder passwordEncoder() {
    		return NoOpPasswordEncoder.getInstance();
    	 }

    Пользовательская аутентификация в Spring Security
    Ответ написан
  • Как исправить проблему импорта классов после добавления JPA зависимости?

    @My1Name Автор вопроса
    Нужно добавить ещё одну зависимость:
    <dependency>  
    		<groupId>org.springframework.data</groupId>  
    		<artifactId>spring-data-jpa</artifactId>    
    		</dependency>

    Видимо произошёл какой-то конфликт зависимостей, от того все классы стали недоступны... Spring Data JPA предоставляет три репозитория: CrudRepository, PagingAndSortingRepository и JpaRepository. А Spring Boot Starter Data JPA позволяет подключаться приложению к реляционной базе данных.
    Ответ написан
    1 комментарий
  • Почему окно закрылось, а приложение нет SWING?

    @My1Name
    У вас в этом участке кода какая-то путаница:
    if (Objects.equals(selectedOption, options[0])) {
                        menu.setVisible(true);
                        viewer.dispose();
                    } else {
                        viewer.setVisible(false);
    ....

    Если options[0]=="Exit" а options[1]=="Restart"; то для закрытия приложения нужно сделать System.exit(0);Изменение параметров видимости окна "setVisible" и закрытие программы, это не одно и тоже.

    Проблема с логикой: Судя по вашему коду, вы создаёте объект класса GraphicsViewer(model) и позиционируете его при нажатии "Exit" вместо завершения программы.
    Ответ написан
    Комментировать
  • В Java массив дат без года (день и месяц только) и сравнение даты с датами в массиве?

    @My1Name
    Самый простой способ сравнивать даты как строки, используя метод compareTo
    Если у вас имеется массив LinkedList<String> listDates в виде строковых чисел, например: 01.01.2023 или 01-01-2023 и т.п., то его можно отсортировать или найти нужную дату следующим образом:
    String tmp;
    		for(int i = listDates.size()-1; i >=0 ; i--){
    	        for(int j = 0; j < i; j++){
    	            if(listDates.get(j).compareTo(listDates.get(j+1))>0){ 
    	            	tmp = listDates.get(j);
    	            	listDates.set(j, listDates.get(j+1));
    	            	listDates.set(j+1, tmp);
    	            }
    	        }
    	    }
    Ответ написан
    Комментировать
  • Как расчитать для каждого района и количества комнат среднюю стоимость квадратного метра?

    @My1Name
    выбрали посчитать у них всю стоимость и всю площадь и поделить всю стоимость на всю площадь

    - Нужно выбрать наименьшую и наибольшую стоимость в районе, предварительно отсортировав по количеству комнат. Затем сравнить метры квадратные и вывести среднее значение стоимости и только потом программировать!
    Ответ написан
    Комментировать
  • Есть ли аналог БД (MySQL и т.д) для разработки прикладного ПО?

    @My1Name
    можно хранить всё в файлах, но это на мой взгляд выглядит дико и крайне неудобно с точки зрения разработки и в принципе удобства.

    Базы данных тоже хранят всё в файлах табличного типа в виде массива байтов... Вы можете создать свою БД так, как вам удобно. А если не можете, то я могу, за отдельную плату ;) Используя файлы, на выходе у вас получится что-то типа Apache Cassandra

    В таких системах данные хранятся в виде разреженной матрицы, строки и столбцы которой используются как ключи (номер байта в конечном файле-таблице). Относятся к «семейству столбцов» и документно-ориентированным системам NoSQL
    Ответ написан
    Комментировать
  • Какой api использовать для подсчёта количества предметов на изображении?

    @My1Name
    Какой api использовать для подсчёта количества предметов на изображении?

    - Никакой. Такие задачи нужно решать самому. Сначала нужно найти предмет, а потом можно посчитать. Однако, если поискать ответ в интернете, то чаще всего применяют OpenCV, PixelLib или Яндекс Vision
    Ответ написан
    Комментировать
  • ИИ генерирующая звуки по описанию?

    @My1Name
    ИИ способный генерировать звуки по описанию(Например шаги)

    — Приблизительно так же, как это делают студенты при изучении Turbo Pascal. А если нужно по шагам, то писать программу лучше всего на языке java, используя встроенный в телефон акселерометр.

    как обучать и как собственно генерировать конечный файл?

    — Обучать по описанию "что такое шаг?" и как на него реагировать. Конечный файл, если имеется ввиду звука - обычный .mp3 или .wav
    Ответ написан
    Комментировать