Найти в Дзене
Хранимые процедуры и почему их не используют «специалисты»?
В вашей практике, наверное, встречались ситуации, когда корпоративные данные хранятся в базе данных. Если вдруг используемая база данных не гаражная поделка, то в ней скорее всего есть возможность писать хранимые процедуры. И управлять этим хранимыми процедурами. Не буду вдаваться в детали работы и хранения данных с использованием хранимых процедур отмечу другие плюсы. Если вдруг ваш запрос к базе данных содержит больше 100 символов, то использование конструкции хранимой процедуры прячет от разработчика содержимое запроса. Создание запроса можно доверить настоящему специалисту по SQL. Т.е. обращение...
3 недели назад
Java enum лучший одиночка из всех одиночек
В java класс является отражение данных требующих обработки. В большинстве проектов типов данных значительно меньше чем классов в приложении. Это вызвано тем что разработчики создают еще и вспомогательные утилитарные классы, ведущие обработку классов-данных. А оно нам надо? Конечно же все подходы имеют и свои плюсы, и свои минусы, и все-таки не просто так разработчики из OracLe добавили специальный класс Enum способный самостоятельно выполнять обработку данных. В чем плюс Enum ? Конечное же в его уникальной идентичности...
1 месяц назад
Сколько ядер?
По умолчанию, наша jvm использует ForkJoinPool , тот в свою очередь использует все процессорное ядра доступные на конкретной машине. А оно нам надо ? Ведь кроме сборщика мусора есть и другие потоки требующие отдельных процессорных ядер например, вдруг есть какой-нибудь «слушатель» сокета или файловой системы . Соответственно количество процессорных ядер надо бы ограничить для ForkJoinPool, и сделать это можно использовав системное свойство : Java...
1 месяц назад
Spring и хлам
Spring в момент загрузки подгружает больше 20000 классов. А оно вам надо? «Разогрев» JDK + Spring занимает на порядок больше времени ,чем обычный JDK ( а учитывая ,что на территории РФ - никто не создает свои версии JDK, да да я про модульную сборку JDK для конкретных целей), и теперь борьба за производительность, ради которой используют Spring и прочий хлам, становиться безрезультатной. Короче, если приложение использует Spring создайте свою версию JDK, содержащую только и только необходимые модули...
1 месяц назад
Мы крутые перцы, Мы используем Java 20+!
Lover lover = new Lover (int idLover, BigDecimal costPerHour, String pogonyalovo ); Alien alien = new Alien (int idAlien, BigDecimal distanceToTarget, String pogonyalovo); Каждый из вышеуказанных классов кроме сеттеров и геттеров содержит переопределенные методы equal() и hashCode(), и даже toString(). ….. Крутые перцы, почему Вы не используете record? В таком случае...
1 месяц назад
Почему многопоточный пакет JDK называется конкуретным?
Java –разработчика хлебом не корми дай написать многопоточное приложение. И он пишет в ожидании увеличения производительности приложения. Написав приложение, запустив множество потоков ExecutorService (ForkJoinPool настоящий разработчик не использует по двум причинам: FJP создан какими то людьми из Oracle и вторая причина FJP оттюнингован и работает великолепно), разработчик с удовольствием смотрит на свой многостраничный, плохо документированный, труднопонимаемый код в котором различные потоки делают тривиальные задачи. Вроде быстро. И получается странная картина: с одной стороны кастомное решение...
1 месяц назад
Без SOLID никуда или куда?
Дйствительно ли SOLID так нужен Java разработчику? Итак –«S» или Single Responsible принцип единственной ответственности. По-простому один класс с одним методом. Вроде бы хороший принцип. Но как быть с родовым классом Object содержащего уйму методов изменения? Сам класс Object может быть и переопределён и наследован и серилиализован и десериализован. Как тогда быть с «S» принципом? Или «О» принцип, тот которой Open Closed. Все бы хорошо, но дженирки и дженерики тут как то плохо вписываются. А ведь есть еще PECSпринцип для наших дженериков. А «L» в честь мадам Лисковой. Разве не сам Г. Шилдт писал...
1 месяц назад
Миграция в Java
99% современных java-программистов используют только синтаксис java и не используют технологию Java (C) - Jose Paumard. Devoxx 2024 Другими словами, миграция с одной версии JDK на другую проходит легко и гладко только если программист производит перетаскивание синтаксических конструкций. Копирует текст. Но каждая новая версия JDK содержит не только "новый синтаксический сахар", но и различные новшества и даже новые запрещения. Кроме различных улучшений самой JVM, оптимизации...
2 месяца назад
Классные задачки по Java от Naftalin.
Задача №1 1. List ints = new ArrayList(List.of(1, 2, 3, 5, 6)); 2. List sublist = ints.subList(0, 0); 3. System.out.println(sublist); 4. sublist.addAll(List.of(10, 11, 12)); 5. System.out.println(ints); Что будет напечатано в строке 5? Задача №2 1. String[] stringArray = { "one", "two", "three" }; 2. List stringList = Arrays.asList(stringArray); 3. int[] intArray = { 1, 2, 3 }; 4. List intList = Arrays.asList(intArray); 5. System.out.println(stringList.contains("one")); 6. System.out.println(intList.contains(1)); Что будет напечатано в строках 5 и 6? Задача №3 1. String []strings = {"one", "two", "three", null}; 2...
2 месяца назад
Кого надо слушать java-разработчику, ну кроме родителей?
1. Для того чтобы слушать надо выработать привычку слушать. 2. Не думаю что слушать про java на русском хорошая идея, половина слов и так на английском 3. Даже на английском не рекомендуется слушать братьев из Индии 4. Про коллекции и дженерики José Paumard 5. Про «лучшие практики» Stephen Colebourne 6. Про устройство JVM Alex Shipilev 7...
2 месяца назад
Docker’изация java приложений.
Большинство Java разработчиков размещают java приложение в виртуальных средах, таких как Docker. Плохо это или хорошо зависит от приложения созданного java разработчиком. В основном, разработчики или девопсы даже не задумываются о настройке Docker, операционной системы и jvm. Написал один раз yaml и дальше пайпланишь в автоматическом режиме. Вот пример. Один из проектов, попавших на переработку, потому что был очень медленный в промышленной эксплуатации, а на машинах разработчиков естественно «летал». Каждый разработчик считал обязательным создать в своей части кода многопоточную реализацию класса ForkJoinPool...
2 месяца назад
Важность кодинга для Java разработчика
Утро, первая весточка на корпоративную почту. -Коллеги, проект очень важен для нашей компании, поэтому предлагаю делать встречи ежедневными, в 9.30. «На часик», —написал Директор по продуктам В это же время в общий чат. - Коллеги, вы же знаете, насколько важный у нас проект, предлагаю делать ежедневные встречи на полчасика-час, в 10.30- рубанул Аккаунт менеджер. В Телеграмм приходит сообщение от РП. - Все знают, насколько важный у нас проект! Поэтому всем отправлю приглашение на почту. Встречаться будем каждое утро на часик, с 11 до 12. Ватсап не заставил себя долго ждать. - Всем участникам проекта, наверное, не надо указывать на важность проекта...
3 месяца назад