This media is not supported in your browser
VIEW IN TELEGRAM
Сommand completion (..) расширяет обычный code completion. Помимо автодополнения API и postfix completion, автодополнение кода теперь включает и команды. Чтобы отфильтровать список только до команд, используйте
👉 Java Portal
.. Список поддерживает поиск, чтобы быстрее находить нужное.Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Java tip : старайся не шарить данные между потоками.
✅ Используй immutable-объекты
✅ Или пусть потоки общаются сообщениями, не лезя напрямую в общий state и не мутируя его
👉 Java Portal
// With immutable objects:
record Book(String title, int price) {} //Immutable
public class BookJob implements Runnable {
private final Book book;
....//constructor
@Override
public void run() {
System.out.println(book.title() + " " + book.price());
}
}
// Exchanging messages:
...
new Thread(() -> {
try {
queue.put("mess1");
} catch (InterruptedException e) {}
}).start();
...
new Thread(() -> {
try {
String mess = queue.take();
} catch (InterruptedException e) {}
}).start();
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
10 золотых правил чистого кода:
1. Избегай магических чисел и строк
2. Используй осмысленные, говорящие имена
3. Предпочитай ранние
4. Избегай длинных списков параметров
5. Делай функции маленькими и сфокусированными
6. Соблюдай DRY (Don’t Repeat Yourself) — не дублируй код
7. Применяй принцип KISS (Keep It Simple, Stupid) — делай проще
8. Отдавай предпочтение композиции, а не наследованию
9. Комментируй только там, где это действительно необходимо
10. Пиши хорошие сообщения к коммитам
Какие еще правила чистого кода ты бы добавил в этот список?
👉 Java Portal
1. Избегай магических чисел и строк
2. Используй осмысленные, говорящие имена
3. Предпочитай ранние
return вместо глубокой вложенности4. Избегай длинных списков параметров
5. Делай функции маленькими и сфокусированными
6. Соблюдай DRY (Don’t Repeat Yourself) — не дублируй код
7. Применяй принцип KISS (Keep It Simple, Stupid) — делай проще
8. Отдавай предпочтение композиции, а не наследованию
9. Комментируй только там, где это действительно необходимо
10. Пиши хорошие сообщения к коммитам
Какие еще правила чистого кода ты бы добавил в этот список?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥5
Совет по Java: если нужна максимально хорошая производительность в общем случае, бери HashMap как реализацию Map.
✅
🪲 Он не потокобезопасный (если нужна thread-safety, используй
Пример:
👉 Java Portal
HashMap внутри реализован как хеш-таблица, и в среднем put(), get() и remove() работают за O(1).ConcurrentHashMap).Пример:
Map<String, Integer> ages = new HashMap<>();
// Добавляем данные
ages.put("Michael", 31);
ages.put("Lisa", 25);
ages.put("Alice", 42);
// Поиск
System.out.println("Возраст Lisa: " + ages.get("Lisa"));
// Удаление
ages.remove("Alice");
// Итерация
for (Map.Entry<String, Integer> entry : ages.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤4💊1
На Stepik вышел курс по Linux
Этот курс закрывает всю обязательную Linux-базу для работы в IT: от установки Linux и работы с файлами до сетей, прав, дисков, процессов, автоматизации на Bash и многого другого. Всё сразу закрепляется на практике (200+ заданий с автопроверкой)
Материал подаётся понятным языком, шаг за шагом, на реальных примерах и с наглядными схемами
После прохождения вы получите сертификат, который можно добавить в резюме.
Есть бесплатные демо-уроки для ознакомления. В ближайшие 48ч курс доступен со скидкой 25% по промокоду «
Этот курс закрывает всю обязательную Linux-базу для работы в IT: от установки Linux и работы с файлами до сетей, прав, дисков, процессов, автоматизации на Bash и многого другого. Всё сразу закрепляется на практике (200+ заданий с автопроверкой)
Материал подаётся понятным языком, шаг за шагом, на реальных примерах и с наглядными схемами
После прохождения вы получите сертификат, который можно добавить в резюме.
Есть бесплатные демо-уроки для ознакомления. В ближайшие 48ч курс доступен со скидкой 25% по промокоду «
POST25»: открыть курс на Stepik❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Если ты изучаешь Java или хочешь прокачать навыки, обрати внимание на JBook — это интерактивная книга по Java, доступная прямо на GitHub.
Что внутри:
🔸 Подробное объяснение основ языка Java;
🔸 Примеры кода с пояснениями;
🔸 Упражнения для закрепления знаний;
🔸 Поддержка Jupyter Notebook + Java (IJava kernel) — можно запускать код прямо в браузере
GitHub: https://github.com/qcha/JBook
👉 Java Portal
Что внутри:
GitHub: https://github.com/qcha/JBook
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥4
Java-совет: начиная с Java 14 можно использовать switch-выражения, чтобы писать многоветвистую логику короче и чище.
👉 Java Portal
// Old way:
String season;
switch (month) {
case 12:
case 1:
case 2:
season = "Winter";
break;
case 3:
case 4:
case 5:
season = "Spring";
break;
default:
season = "Invalid";
}
// New switch expression:
String season = switch (month) {
case 12, 1, 2 -> "Winter";
case 3, 4, 5 -> "Spring";
default -> "Invalid";
};
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤6
This media is not supported in your browser
VIEW IN TELEGRAM
Batch Processing vs Stream Processing: в чем разница?
Batch processing (пакетная обработка)
▪️ Обрабатывает данные большими порциями (батчами) по расписанию.
▪️ Отлично подходит для исторических данных, хранилищ (DWH) и аналитики.
▪️ Примеры: расчёт зарплаты, периодические отчёты, ETL/ELT джобы.
Плюсы: эффективно на больших объёмах, дешевле по ресурсам, хорошо оптимизируется под throughput
Минусы: высокая задержка (latency), не подходит для задач, где нужно “прямо сейчас”
⚙️ Инструменты: Apache Hadoop, Apache Spark, AWS Glue
Stream processing (потоковая обработка)
▪️ Обрабатывает данные непрерывно, по мере поступления.
▪️ Используется для real-time аналитики, антифрода, мониторинга “вживую”.
▪️ Примеры: мониторинг биржи, рекомендации в реальном времени, IoT-датчики.
Плюсы: низкая задержка, инсайты в реальном времени, реактивные системы
Минусы: сложнее в реализации и поддержке, требует высокой доступности и масштабируемости
⚙️ Инструменты: Apache Kafka, Apache Flink, Apache Storm, Spark Streaming
Во многих современных системах делают гибрид: batch для хранения и аналитики, stream для реакций и real-time сигналов.
👉 Java Portal
Batch processing (пакетная обработка)
Плюсы: эффективно на больших объёмах, дешевле по ресурсам, хорошо оптимизируется под throughput
Минусы: высокая задержка (latency), не подходит для задач, где нужно “прямо сейчас”
Stream processing (потоковая обработка)
Плюсы: низкая задержка, инсайты в реальном времени, реактивные системы
Минусы: сложнее в реализации и поддержке, требует высокой доступности и масштабируемости
Во многих современных системах делают гибрид: batch для хранения и аналитики, stream для реакций и real-time сигналов.
Please open Telegram to view this post
VIEW IN TELEGRAM