Удаление числа из строки

Иногда мы пользуемся трюком, сохраняя числа (ID из базы данных) в строке через запятую. Например: «1024,15,8,0,55». И теперь, допустим, какое-то число из этого списка не нужно, и его необходимо убрать из исходной строки. Как это реализовать? Первый вариант: 1) разбить строку по запятой 2) отфильтровать удаляемое число 3) собрать строку заново Второй вариант (допустим, удаляем
Читать далее…

Некоторые вещи про закачку файлов

В любом web-проекте в определенное время возникает вопрос как загружать/скачивать файлы. В этой статье рассмотрим важные аспекты этих процедур: Можно загружать файлы не только в виде байт, но и формате base64. Файл загружается на веб-сервер и сохраняется как временный файл При передаче файла на сервер используется кодирование multipart/form-data Из временного файла можно получить оригинальное название
Читать далее…

Бинарный алгоритм вычисления НОД

Наибольшим общим делителем (НОД) для двух целых чисел называется наибольший из их общих делителей. Например: для чисел 8 и 12 наибольший общий делитель равен 4. Ранее мы уже рассматривали нахождение НОД с помощью Алгоритма Евклида: long gcd(long a,long b){ return b == 0 ? a : gcd(b,a % b); }long gcd(long a,long b){ return b
Читать далее…

Как из Java обратиться к сервису по протоколу HTTPS

Это юбилейная 100-я статья!!! Уже не знаю в какой раз приходится обращаться к сервису по протоколу HTTPS, и каждый раз уходит время, чтобы воспроизвести шаги. Сегодня решил все-таки написать шпаргалку и больше не тратить время на такую проблему. Для начала открываем сайт в браузере: В адресной строке браузера рядом с текстом https:// есть иконка, нажав
Читать далее…

Получение содержимого текстового файла (Spring Boot)

Вот уже несколько месяцев последние два проекта делаю с использованием Spring Boot. Бывает так, что нужно интегрироваться с внешней системой, но эта система не готова по каким-то причинам, а нужно показать свой функционал, в этом случае пишем заглушку. Т.к. в моем случае внешний сервис давал данные в формате JSON, я решил положить пример ответа сервиса
Читать далее…

Замер времени (Java)

Иногда возникает потребность измерить время работы определенного фрагмента кода в вашем проекте. Можно, конечно, писать так: long start = System.currentTimeMillis(); //тут замеряемый код System.out.println(System.currentTimeMillis() — start);long start = System.currentTimeMillis(); //тут замеряемый код System.out.println(System.currentTimeMillis() — start); Но такой подход быстро надоедает. Я выделил замер времени в отдельный класс TimeMeter, теперь можно удобно останавливать несколько раз таймер
Читать далее…

$(…).size is not a function

Второй раз за последние месяцы прикручиваю тему Metronic и ловлю такую ошибку: $(…).size is not a function В первый раз я потратил достаточно времени, чтобы понять в чем причина, а во второй раз было дело техники. Всё дело в том, что Metronic использует 1-ю версию jQuery (v1.12.4), а в проекте bower брал последную 3-ю версию
Читать далее…

Запустил платное приложение Bilemin Cards в Google Play

Наконец-то, 31 октября 2016 я запустил своё первое платное приложение в Google Play под названием «Bilemin Cards». Вот ссылка на приложение: https://play.google.com/store/apps/details?id=kz.bilemin.cards. Стоимость приложения 3$, что составляет 990 тенге. Вообще, я настроен скептически, кажется, я вообще не заработаю денег на этом приложении, но посмотрим… В этой статье я буду через определенные промежутки времени писать о
Читать далее…

Подбор окончания в соответствии с количеством

Шлифуя очередную программу и вкладывая в нее души, хочется выводить не: «1 карточек», «2 карточек» и «5 карточек», а «1 карточка», «2 карточки» и 5 «карточек». Т.е. к слову, связанному с целым количественным числительным хочется подобрать правильное окончание. Можно заменить, что для целых количественных числительных максимально можно выделить три различных окончания. Эти рассуждения привели меня
Читать далее…

Парсинг DN (Distinguished Names)

В ЭЦП данные о её владельце и изготовителе хранятся в виде Distinguished Names (DN). Например: CN=БЛОГОВ БЛОГ,SURNAME=БЛОГОВ,SERIALNUMBER=IIN123456789012,C=KZ,L=АСТАНА,S=АСТАНА,G=БЛОГОВИЧ,O=ТОО \"Рога\, копыта 24\\7\",OU=BIN000111222333CN=БЛОГОВ БЛОГ,SURNAME=БЛОГОВ,SERIALNUMBER=IIN123456789012,C=KZ,L=АСТАНА,S=АСТАНА,G=БЛОГОВИЧ,O=ТОО \"Рога\, копыта 24\\7\",OU=BIN000111222333 Атрибуты отделяются между собой запятыми, каждый атрибут представляет из себя ключ и значение, разделенные символом равно (=). Так же некоторые символы экранируются, например: \" \, Предлагаю следующую функцию, которая принимает строку
Читать далее…