Профиль пользователя заблокирован сроком с 24 марта 2024 г. и навсегда по причине: систематические нарушения пункта 5.2 правил сервиса
  • Почем ничего не выводится в консоль Java?

    @My1Name
    Ad1yar, Лайфхак под Windows:654cf27744c68784464880.jpeg При перетаскивании файлов, в cmd прописываются правильные пути. Проект предварительно собрать в .jar файл.
  • Есть ли в java оператор аналогичный ?: в php?

    @My1Name
    rukbrook,
    <условие> ? <выражение при true> : <выражение при false>

    Надо будет попробовать... Выглядит симпатично :)
  • Почему в .txt файле на Linux появляется "лишний" байт?

    @My1Name
    Rsa97, тогда почему смещение курсора выглядит как минус -1 или 0? position=((index-1)-(lineStr.length()+1)) Это рабочий код...
  • Почему в .txt файле на Linux появляется "лишний" байт?

    @My1Name
    Rsa97,
    В Linux при создании текстового файла автоматически неявно в конец файла добавляется символ

    Это наверно не от ОС зависит... В Windows при записи в файл добавляется 2 байта(?). А позиция курсора при вычислении этих 2-х байт выглядит так:
    index+=lineStr.getBytes("UTF-8").length+2;
    position=((index-1)-(lineStr.length()+1));
  • MySQL автоматически увеличивает размер ячейки?

    @My1Name Автор вопроса
    Василий Банников,
    прямой доступ к файлам, когда у тебя данных много, а получить тебе нужно небольшой их кусок будет сильно медленее

    В основной таблице (БД) хранятся ссылки...
    кто такое сказал?
    Отвечаю - я! :)

    в случае, если у тебя индекс есть, то на вопрос "заблокировал ли пользователь А пользователя Б" ты получишь ответ за почти константное время.

    Так на самом деле гораздо проще. Легче добавить вспомогательную таблицу, чем писать дополнительные инструменты.
  • MySQL автоматически увеличивает размер ячейки?

    @My1Name Автор вопроса
    Василий Банников, NoSql архитектура - это прямой доступ к файлам, которые гораздо меньше конечной (проектируемой) таблицы.
  • MySQL автоматически увеличивает размер ячейки?

    @My1Name Автор вопроса
    Василий Банников, потому что NoSql мне кажется будет быстрее и эффективнее.
  • MySQL автоматически увеличивает размер ячейки?

    @My1Name Автор вопроса
    Василий Банников,
    какой индекс повесишь, так и будет.

    Я немного удивлён такому решению... Недавно строил график средствами java с TXT файлов ISC: Event catalogue... Всего 140 шт. (на локальном диске ~471 МБ). На старом ноутбуке ASUS с процессором Intel 2Core N3350 up to 2.4GHz под win10, время на чтение+парсинг, вычисления и построение графика: ~19 sec. То есть, один такой файл читается менее 1 секунды. И у меня сложилось какое-то спорное мнение, по поводу эффективности реляционных БД при построении списка "заблокированные", относящегося к конкретному пользователю...

    График:654b973cb4842956441693.jpeg
    140 файлов
  • MySQL автоматически увеличивает размер ячейки?

    @My1Name Автор вопроса
    Василий Банников,
    Если нужно будет получить список пользователей, которых заблокировал пользователь 'A', то просто делаем запрос

    Какова скорость такой выборки, скажем при 100млн. записей в таблице? MySQL группирует данные с одинаковыми id, если при создании таблицы добавить INDEX по одному из полей?

    Такая таблица по длине может быть больше общего числа пользователей в десятки раз...
  • Как установить значение по дефолту в select из списка Thymeleaf?

    @My1Name
    Nulltiton, Вот и думайте теперь ;) Вам там написали тоже самое:

    При выборе чего-либо из формы Thymeleaf может вернуть лишь строку, все дальнейшие преобразования за Spring-ом.


    Если мы жёстко привязываемся к сущности Entity-Control-Boundary, то теряем гибкость в разработке, усложняем себе работу с разными типами данных и файловой системой. Это особенно актуально в тех случаях, когда к объекту привязываются "тяжеловесные файлы", например: картинки, видео и т.д. и т.п. Мы передаём такие данные в контроллере, а не при построении объекта. И это могут быть целые списки файлов (ссылок), которые берутся совершенно с другой БД/таблицы.
  • MySQL автоматически увеличивает размер ячейки?

    @My1Name Автор вопроса
    Rsa97, спасибо за ответ. Я вас понял... Я почему-то "упёрся" в PRIMARY KEY и поля с одинаковыми ID не вписывались в представление.
  • MySQL автоматически увеличивает размер ячейки?

    @My1Name Автор вопроса
    Василий Банников,
    зачем на каждого пользователя таблицу создавать?

    А как вы себе это представляете?
    Просто создаёте отдельную таблицу blocked_users (user_id, blocked_user_id)

    Допустим, есть таблица "Users". В ней хранятся основные данные всех пользователей. Чтоб писать список "blocked" с новой строки, относящийся к конкретному пользователю, таблица "blocked_users" у каждого пользователя должна быть своя.
  • MySQL автоматически увеличивает размер ячейки?

    @My1Name Автор вопроса
    Rsa97,
    Просто создаёте отдельную таблицу blocked_users (user_id, blocked_user_id).


    Для каждой отдельной блокировки создаётся отдельная запись

    Вы имеете ввиду, создавать отдельную таблицу для каждого пользователя?! Правильно? Чем тогда такой метод отличается от хранения данных в файловой системе? - С новой строки можно писать тупо в файл. А проверить, существует ли ID в файле - "секундное" дело. Самое затратное (по времени) в таком случае - перезапись файла.
  • MySQL автоматически увеличивает размер ячейки?

    @My1Name Автор вопроса
    Rsa97,
    С отдельной строкой на каждую блокировку.

    Как это понять? Вот например Akina написал/а:

    В MySQL нет "ячеек" - это не Excel. Есть записи, есть поля, есть поле отдельной записи.

    Что такое "отдельная строка" в вашем понимании?
  • MySQL автоматически увеличивает размер ячейки?

    @My1Name Автор вопроса
    Rsa97,
    Просто создаёте отдельную таблицу blocked_users (user_id, blocked_user_id).

    с полем LONGTEXT в 4 гигабайта? :)
  • MySQL автоматически увеличивает размер ячейки?

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

    Можно по подробней? - Я пишу список ID в виде стрингов. Как можно такие данные хранить в ещё более оптимальной форме?
  • MySQL автоматически увеличивает размер ячейки?

    @My1Name Автор вопроса
    Никак
    - плохо...

    если нужно помещать в таблицу данные, которые не лезут в LONGTEXT

    На старте поле (ячейка) может быть пустым, а с течением времени заполняться. И чтоб не ходить вокруг да около, вкратце речь идёт о поле "заблокированные". Пользователь сайта может заблокировать одного пользователя, и тогда даже типа TEXT - много... А может психануть и блокировать всех подряд в течение месяца. И что тогда делать? :) Мало того, что возникает необходимость проверять каждый раз размер этого поля, накладывается другой вопрос: Он (или его) больше не сможет блокировать?

    Вы явно выбрали инструмент не по задаче. Храните такое в файловой системе.

    Хранить такие данные в файловой системе?
  • Как установить значение по дефолту в select из списка Thymeleaf?

    @My1Name
    Хороший вопрос. А главное актуальный и для меня :) th:field не выводится только по одной причине: Нет доступа к полю/ям объекта. Хоть и выводится java.lang.NumberFormatException эта ошибка возникает и с полями другого типа. У меня была такая же проблема, и я кстати её не решил... На данный момент тоже думаю, выводить через th:block или вообще формировать кусок кода программно, а в модель передавать один большой html стринг. Есть ли в этом всём какая-то разница, кроме эстетических предпочтений?

    Все ошибки подобного рода на стороне сервера, а значит все страницы проходят через компилятор, и только потом отправляются пользователю в виде html согласно общепринятых стандартов.
  • Можно ли использовать Elasticsearch для поиска в файлах?

    @My1Name Автор вопроса
    rPman,
    дозапись это простая операция, не затрагивает остальной файл, но что означает первый ушел?

    Это значит, что объём индексированных данных, по которым необходимо осуществлять полнотекстовый поиск - фиксированного размера (например: 100 текстовых блоков +- одинаковой длины. Типа "TOP-100"). И тема закрыта. Решение найдено в другой ветке комментариев... Ответ: Apache Lucene решает такие задачи без особых проблем и затрат ресурсов.

    настоятельно рекомендую изменить бизнеслогику этого процесса

    В этом нет необходимости.
  • Как POJO влияет на производительность приложения?

    @My1Name Автор вопроса
    Elmo Sputterspark, вот так выглядит самый простой контроллер изображений (для браузера):
    @RequestMapping("/images/**")
    @ResponseBody
    public HttpEntity<byte[]> uploadImagesToBrowser (HttpServletRequest req) {
    	String imageURL = req.getRequestURL().toString();
    	File file = new File (imageURL);
    	byte[] image = new byte [(int) file.length()];
    	try {
    		image = Files.readAllBytes(file.toPath());  // массив байтов передаваемый в стриме.
    	} catch (IOException e) {
    	// нет доступа или файл не найден 
    		e.printStackTrace();
    	}
    	String format = imageURL.substring(imageURL.indexOf("."));
    	HttpHeaders headers = new HttpHeaders(); 
    	headers.setContentLength(image.length);
    	switch (format) {
    	  case ".png" : headers.setContentType(MediaType.IMAGE_PNG); break;
    	  case ".jpg" : headers.setContentType(MediaType.IMAGE_JPEG); break;
    	  case ".gif" : headers.setContentType(MediaType.IMAGE_GIF); break;
    	}
    return new HttpEntity<byte[]>(image, headers);
    }


    модераторам жалуешься на вполне вежливые и обоснованные комментарии.

    - ваши комментарии никчёмные и вводят в заблуждение.