Alex pfp

Alex

@slenderoff

690 Following
712 Followers


Alex pfp
Alex
@slenderoff
👩‍💻 Gallery — реализация приложения "Галерея" на языке Kotlin для Android. Основная цель проекта — предоставить пользователю возможность просматривать, управлять и упорядочивать свои изображения и видео на устройстве. 🔍 Основные особенности репозитория: 🌟 Просмотр медиафайлов — отображение изображений и видео, хранящихся на устройстве 🌟 Упорядочивание — поддержка сортировки и фильтрации контента. Минималистичный интерфейс — простая и удобная навигация 🌟 Основы на стандартных API Android — использование стандартных библиотек для работы с медиафайла
0 reply
0 recast
0 reaction

Alex pfp
Alex
@slenderoff
Китайцы пилят свою «Horizon Zero Dawn» — это будет выживач с открытом миром и поддержкой кооператива до 10 человек. В Light of Motiram игрокам предстоит гонять по миру, населенному механическими животными и исследовать его: добывать ресы, строить базу, устраивать эпичные зарубы с боссами, прокачиваться и крафтить. Дата выхода не называется, но игра будет условно-бесплатной.
0 reply
0 recast
1 reaction

Alex pfp
Alex
@slenderoff
Для чего в Java используются статические блоки инициализации? Статические блоки инициализация используются для выполнения кода, который должен выполняться один раз при инициализации класса загрузчиком классов, в момент, предшествующий созданию объектов этого класса при помощи конструктора. Такой блок (в отличие от нестатических, принадлежащих конкретном объекту класса) принадлежит только самому классу (объекту метакласса Class).
0 reply
0 recast
0 reaction

Alex pfp
Alex
@slenderoff
🧑‍🎓🧑‍🎓 Expression Problem и Объектные алгебры Expression Problem (EP) — это классическая задача в программировании на совмещение несовместимого. Автор задачи формулирует следующие цели: создать такую абстракцию, что позволяла бы расширять иерархию в двух направлениях: добавлять новые классы и добавлять новые методы для обработки иерархии, сохраняя при этом строгую статическую типизацию и не требуя изменений существующего кода.
0 reply
0 recast
0 reaction

Alex pfp
Alex
@slenderoff
Когда стоит выбрать char[] вместо String? Первая, очевидная причина – оптимизация. Если вам заранее известен размер строки, и он фиксирован, может быть полезно выбрать массив. Если программа работает с неизменяемыми подстроками, удобно представить их в виде offset-ов общего массива (как это было сделано раньше в самом String). Следует помнить, что оптимизировать нужно осознанно и своевременно. JVM тоже прикладывает усилия по оптимизации строк (вроде интернирования), которые могут оказаться эффективнее ваших.
0 reply
0 recast
0 reaction

Alex pfp
Alex
@slenderoff
Оператор instanceof Оператор java instanceof используется для проверки того, является ли объект экземпляром указанного типа (класса или подкласса или интерфейса). Во время выполнения результат оператора instanceof равен true, если значение выражения не равно null. Это важное свойство операции instanceof, которое делает ее полезной для проверки приведения типов.
0 reply
0 recast
0 reaction

Alex pfp
Alex
@slenderoff
➡️ JOOQ JOOQ (Java Object Oriented Querying) — это мощная библиотека для построения SQL-запросов в Java с использованием объектно-ориентированного подхода. Она генерирует типизированный SQL-код на основе вашей базы данных, что позволяет избежать ошибок на этапе компиляции. 🗣 JOOQ — идеальный инструмент для тех, кто хочет сочетать мощь SQL с безопасностью и удобством объектно-ориентированного программирования в Java. Если вы еще не пробовали JOOQ, самое время начать!
0 reply
0 recast
0 reaction

Alex pfp
Alex
@slenderoff
➡️ Stream API и Collectors.toMap Stream API позволяет легко трансформировать коллекции. В данном примере используется Collectors.toMap для создания мапы, где ключами являются строки из списка, а значениями — их длины. • Использование LinkedHashMap::new гарантирует сохранение порядка элементов, как в исходном списке, что может быть полезно в ситуациях, где порядок имеет значение.
0 reply
0 recast
13 reactions

Alex pfp
Alex
@slenderoff
Подчеркивание в числовых литералах В Java SE 7 и более поздних версиях символы подчеркивания могут использоваться в числовых литералах без появления каких-либо предупреждений или ошибок в выводе.
0 reply
0 recast
0 reaction

Alex pfp
Alex
@slenderoff
GM
0 reply
0 recast
0 reaction

Alex pfp
Alex
@slenderoff
👩‍💻 Параллельная редукция Параллельная редукция — это процесс сокращения (редукции) коллекции элементов с использованием параллельных вычислений. В Java для этого можно использовать параллельные потоки и функциональные интерфейсы, такие как reduce(), collect() и stream(). Использование параллельной редукции имеет смысл только при выполнении тяжелых вычислений или обработки больших коллекций данных.
0 reply
0 recast
0 reaction

Alex pfp
Alex
@slenderoff
Узнаем разницу между 2 датами, представленными в виде строк Для вычисления разницы между двумя датами, представленными в виде строк, можно использовать классы java.time.LocalDate и java.time.temporal.ChronoUnit из пакета java.time. В этом примере мы используем метод LocalDate.parse() для преобразования строковых значений в объекты типа LocalDate. Затем мы используем метод ChronoUnit.between() для вычисления разницы между двумя датами в днях, месяцах и годах. Обратите внимание, что вы должны использовать формат даты "yyyy-MM-dd" для парсинга строковых значений даты.
0 reply
0 recast
0 reaction

Alex pfp
Alex
@slenderoff
В чем разница между interrupted() и isInterrupted()? Механизм прерывания работы потока в Java реализован с использованием внутреннего флага, известного как статус прерывания. Прерывание потока вызовом Thread.interrupt() устанавливает этот флаг. Методы Thread.interrupted() и isInterrupted() позволяют проверить, является ли поток прерванным. Когда прерванный поток проверяет статус прерывания, вызывая статический метод Thread.interrupted(), статус прерывания сбрасывается. Нестатический метод isInterrupted() используется одним потоком для проверки статуса прерывания у другого потока
0 reply
0 recast
0 reaction

Alex pfp
Alex
@slenderoff
Трюк с битовыми операциями Этот код демонстрирует обмен значений двух переменных (a и b) без использования дополнительной временной переменной. Он использует битовую операцию XOR (^). Ключевой момент здесь в том, что XOR двух одинаковых чисел возвращает 0, а XOR числа с 0 возвращает само это число. Таким образом, когда мы применяем XOR к a и b и затем обратно, мы фактически обмениваем их значения.
1 reply
0 recast
2 reactions

Alex pfp
Alex
@slenderoff
StringBuffer StringBuffer — это класс, предназначенный для работы со строками. Он позволяет создавать модифицируемые (изменяемые) строки. В отличие от класса String, объекты StringBuffer можно изменять после их создания, используя различные методы, такие как append(), insert(), delete(). Также StringBuffer эффективнее String при частых изменениях строки, так как не создает новый объект при каждом изменении. Класс является потокобезопасным, т. е. может использоваться в многопоточных приложениях.
0 reply
0 recast
12 reactions

Alex pfp
Alex
@slenderoff
Что подразумевается под конфигурацией контейнера на основе аннотаций? Вместо использования XML для описания связывания компонента разработчик перемещает конфигурацию в сам класс компонента, используя аннотации в соответствующем объявлении класса, метода или поля. Это работает как альтернатива настройкам XML. Пример на картинке.
0 reply
0 recast
2 reactions

Alex pfp
Alex
@slenderoff
Основы ООП на примере Java Константин Ботнарь, Senior Java Android Developer, расскажет об основах ООП с нуля и максимально доступно для всех начинающих разработчиков. Часть 1 - https://www.youtube.com/watch?v=CHwzlHpp5CI Часть 2 - https://www.youtube.com/watch?v=1-BTrgexqiQ
0 reply
0 recast
0 reaction

Alex pfp
Alex
@slenderoff
✅ Spring аннотация @Lazy Как известно Spring создает бины сразу при поднятии контекста и со скоупом Singletone. Но бывают случаи, когда мы не хотим создавать его сразу. И Spring дает нам такую возможность с аннотацией @org.springframework.context.annotation.Lazy. Эта аннотация используется в Spring Framework для отложенной инициализации бина. Это означает, что бин будет создан только при первом обращении к нему.
0 reply
0 recast
0 reaction

Alex pfp
Alex
@slenderoff
Что такое Lambda-выражения? Это способ написать анонимные функции (или функциональные объекты) в Java. Они были введены в Java 8 и позволяют передавать поведение как аргументы в методы. Они значительно упрощают работу с такими функциональными интерфейсами, как Runnable, Callable, Comparator. Преимущества: 👉 Краткость: Лямбда-выражения позволяют писать меньше кода. 👉 Читаемость: Код становится более читабельным и понятным. 👉 Поддержка функциональных интерфейсов: Лямбда-выражения работают с функциональными интерфейсами, делая работу с ними проще и интуитивно понятной.
0 reply
0 recast
24 reactions

Alex pfp
Alex
@slenderoff
Часть 5. -параметры запросов и формы ответа; - обработка ошибок, возвращаемый тип, создание собственных исключений; - базы данных, sql, агрегация данных и сортировки, связи в таблицах; - создание таблиц и создание crud запросов; - jdbc, для работы с базами данных;
0 reply
1 recast
16 reactions