Telegram Web Link
This media is not supported in your browser
VIEW IN TELEGRAM
27 августа встречаемся на DrinkUp от Авито для backend-разработчиков в Нижнем Новгороде. Уже предчувствуем горячие споры… ☄️

В планах в формате дискуссий обсудить:
➡️ как правильно структурировать проекты;
➡️ кому и как проще вкатиться в Go и почему он такой странный;
➡️ как LLM помогает разработчикам.

Остальные темы раскрывать не будем — можете посмотреть их по ссылке! Там же, кстати, и регистрация на ивент.
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🔧 JavaCV — мост между Java и нативными библиотеками компьютерного зрения

Проект предоставляет Java-обёртки для популярных C/C++ библиотек вроде OpenCV, FFmpeg и libdc1394, позволяя использовать их возможности без необходимости писать нативный код.

Инструмент имеет встроенные утилиты для калибровки камер, обнаружения объектов и работы с GPU через OpenCL/OpenGL. Поддерживается интеграция с аппаратными SDK. Установка возможна через Maven/Gradle или вручную.

🤖 GitHub

@javatg
🔥10👍74🥰2🤩1
🎮 Погружаемся в SQL, с помощью увлекательной аркадной игры

Разработчики замутили настоящий олдскульный
шедевр, который сделает из вас МАСТЕРА баз данных и точно не даст заскучать.

• Проходим уровни, собираем пазлы вместе с уткой DuckDB и прокачиваем SQL на максимум.
• Квесты, задачи, подсказки — всё как в настоящем приключении.
• Работает прямо в браузере и даже на телефоне.

Любые запросы к базам — щёлкаем как семечки 👉 https://dbquacks.com/.
🔥126👍4
🤖 AI заменит разработчиков?
Этот вопрос звучит как кликбейт. Но когда смотришь на то, что делает Explyt Agent, начинаешь думать иначе.

Этот AI не просто подсказывает код, а реально:
• редактирует файлы в проекте
• запускает тесты и отлавливает ошибки
• выполняет команды в терминале
• анализирует проект и добавляет недостающие файлы

Фактически, он ведет себя как джун, которому ты говоришь: «вот таска, сделай». А ты только проверяешь результат.

Попробуйте, как устроен этот агент и что он умеет🚀
🔥5🤬5😁42👍1
🖥 Java 21: String Templates (JEP 430) — Интерполяция строк как в JavaScript, но со своим подходом

Java 21 представила новый способ работы со строками — *string templates*. Это функция-превью (preview), которую нужно включать явно (`--enable-preview`) и использовать с JDK 21 или 22. В Java 23 от неё отказались, чтобы переработать дизайн.

Как это работает?

- Используется шаблонный процессор, например STR.
- Сразу после него идёт точка . и строка-шаблон с выражениями внутри \{...}:

String name = "Duke";
String greeting = STR."My name is \{name}";
// -> "My name is Duke"

Встроенные выражения могут быть любыми Java-выражениями: арифметика, методы, поля:


int x = 10, y = 20;
String result = STR."\{x} + \{y} = \{x + y}";

- Поддержка многострочных шаблонов
Можно использовать текстовые блоки для JSON, SQL и других структур:


String json = STR."""
{
"user": "\{name}",
"temp": \{tempC}
}
""";

Технические детали
Шаблоны создают объект StringTemplate (runtime представление), содержащий массив литералов и значений выражений.

- Есть разные шаблонные процессоры:
- STR — стандартная интерполяция
- FMT — поддерживает форматирование и локаль
- RAW — необработанный шаблон, для кастомной обработки

Текущее состояние
- Java 21: функция доступна как preview (JEP 430)
- Java 22: вторая preview-итерация
- Java 23: удалена (даже как preview), дизайн требует доработки

Почему удалили?
- Жалобы на синтаксис — \{} вместо привычного ${}, processor.template вместо простого подхода

- Смешение capture (формирование шаблона) и processing нарушает удобство расширения

- Производительность можно обеспечить и без специального синтаксиса

- Дискуссия среди разработчиков: часть считает interpolation небезопасной/бесполезной, часть — нужной функцией качества жизни

Итог

Java 21 попыталась упростить работу со строками и структурными текстами с помощью string templates — но разработка приостановлена из-за критики синтаксиса и архитектуры. Пока функция нестабильна и требует пересмотра.

📌 Подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1410🔥3🤬1
📉 The Hidden Cost of Readability

Учёные проверили простой приём: убрать из кода *всё форматирование* перед подачей в LLM — и оказалось, что это экономит в среднем 24,5% входных токенов, при этом точность моделей почти не падает.

🔎 Почему так работает
- Отступы, пробелы и переносы строк помогают людям, но заставляют модель платить больше за каждый токен.
- Они удаляли только косметику, сохраняя смысл программы (контроль через сравнение AST).
- Тест: задача Fill-in-the-Middle на Java, C++, C# и Python.

📊 Результаты
- Большие модели почти не теряют в качестве, маленькие слегка «шатаются».
- В Python экономия меньше, так как пробелы — часть синтаксиса.
- Интересно: даже если на вход подать «смятый» код, модели всё равно печатают красиво отформатированный вывод. Поэтому экономия на выходе мала.

Решение
- Явный промпт «выводи без форматирования» или лёгкий дообучение на неформатированных примерах.
- В таком случае выходные токены сокращаются ещё на 25–36%, а pass-rate остаётся прежним.
- Авторы предлагают утилиту: она стирает форматирование перед инференсом и восстанавливает после — человек читает аккуратный код, а модель тратит меньше.

📑 Статья: *The Hidden Cost of Readability: How Code Formatting Silently Consumes Your LLM Budget*

👉 arxiv.org/abs/2508.13666
👍108🔥2🤔2
🔧 JLine — мощная Java-библиотека для работы с консольным вводом, которая делает интерактивные CLI-приложения удобнее и функциональнее. Она предлагает продвинутые возможности вроде редактирования строк, истории команд, автодополнения и даже интерактивных элементов интерфейса — меню, чекбоксов и подсказок.

Библиотека кроссплатформенная, поддерживает синтаксис ANSI, Unicode и даже интеграцию с SSH/Telnet. Минимальная требуемая версия Java — 11, а для проектов на JPMS есть готовые модули. Подключить инструмент просто: достаточно добавить зависимость в Maven или Gradle.

🤖 GitHub

@javatg
🔥87🥰2🎉1
🚀 Docker + Java совет

Для Java-приложений в Docker лучше всего использовать многоступенчатую сборку с jlink или jpackage, чтобы собрать кастомный JRE только с нужными модулями.


# Этап сборки jar
FROM maven:3.9.8-eclipse-temurin-21 AS builder
WORKDIR /app
COPY pom.xml .
COPY src ./src
RUN mvn package -DskipTests

# Этап с оптимизированным JRE
FROM eclipse-temurin:21-jre-jammy
WORKDIR /app
COPY --from=builder /app/target/myapp.jar myapp.jar

# Оптимизация: ограничим потребление памяти JVM в контейнере
ENTRYPOINT ["java", "-XX:+UseContainerSupport", "-XX:MaxRAMPercentage=75", "-jar", "myapp.jar"]


💡 Такой подход:

- уменьшает размер образа,
- использует только нужные зависимости,
- и корректно учитывает ограничения памяти/CPU контейнера.

@javatg
👍12🔥73
Лучший способ познакомиться с городом — закатить вечеринку 🚀

Вот и Авито в честь открытия офиса в Нижнем Новгороде приглашает ИТ-специалистов на квест по городу и вечеринку, на которой они устроят сессии нетворка с командой Авито и Fuckup Night.

🗂 Встречаемся 3 сентября в 17:00. Подробности о месте вышлют после регистрации.

Пересылайте пост друзьям, с которыми пойдёте, и не забудьте зарегистрироваться по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
🖥 Malimite — это декомпилятор iOS, призванный помочь исследователям анализировать и декодировать файлы IPA!

🌟 Он создан на основе декомпиляции Ghidra для обеспечения прямой поддержки ресурсов Swift, Objective-C и iOS.

🔐 Лицензия: Apache-2.0

🖥 Github

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5😱3
Быстрый совет Java 💡

Хотите быстро замерить время выполнения кода без тяжёлых библиотек?

Используйте System.nanoTime() - он точнее, чем currentTimeMillis(), и подходит для измерения производительности:


long start = System.nanoTime();

// код, который нужно замерить
Thread.sleep(500);

long end = System.nanoTime();
System.out.println("Время выполнения: " + (end - start) / 1_000_000 + " ms");

@javatg

#junior #java
👍19🔥74🤬2😁1
Что мешает тебе писать код вот так?
😁274🤔3
⚡️Готовиться к собеседованиям стало проще!

Женя Янченко, Java developer и руководитель разработки, cделала конспекты самой популярной книги по архитектуре систем — «Высоконагруженные приложения» Мартина Клеппмана (книга с кабанчиком). Подробные разборы репликации, шардирования, транзакций:

▶️ ЧИТАТЬ КОНСПЕКТ КАБАНЧИКА

В канале Женя разбирает и другие технические темы, которые могут пригодиться на собесе:

🟡 Load Balancer
🟡 CAP-теорема простыми словами
🟡 Индексы: как один запрос сломал расчет

А как же алгоритмы? Они тоже есть!
Женя объявила челлендж — решить 300 задач за год 😱
Каждый месяц делает отчеты и разборы популярных задач:

🟡Разбор паттерна "Два указателя"
🟡Разбор бинарного поиска

Истории из опыта, рекомендации и ответы на вопросы:

🟡Как произвести крутое впечатление на техсобесе
🟡«Ты не оправдываешь ожиданий» и что с этим делать
🟡Как я боролась с неуверенностью в себе
🟡«Просто нажми кнопку» или история одного релиза

📝 и ещё 100+ полезных технических и жизненных постов.

Подписывайтесь, чтобы не потерять полезный канал
➡️ @jane_yanchenko
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3😁21
🦙 Jlama — LLM-движок для Java-разработчиков. Проект поддерживает популярные модели вроде Llama 3, Mistral и Gemma 2, предлагая инструменты для их загрузки, квантования и запуска. Он работает с Java 20+ и поддерживает распределенные вычисления.

Разработчики могут использовать Jlama как через CLI-интерфейс для локального тестирования моделей, так и встраивать его в свои проекты через Maven-зависимости. Проект будет полезен для интеграции LLM в enterprise-решения без перехода на Python-стек.

🤖 GitHub

@javatg
👍12🤯54🔥1😁1
VK JT = Java + Go!

16 сентября VK приглашает Go‑ и Java‑разработчиков на VK JT Meetup в Санкт-Петербурге.

В программе:
— Максимально практические доклады от техлидов VK о трансформации ВКонтакте, переходе части сервисов на Go и об устройстве и развитии единой видеоплатформы VK
— Командные бэкенд-баттлы под менторством опытных разработчиков VK — кейсы, вдохновлённые реальной архитектурой VK
Задавайте вопросы экспертам, ищите лучшее командное решение кейса и оставайтесь на афтепати: нетворкинг, фуршет, свободное общение с коллегами.
Только офлайн, в офисе VK на Мойке.

🎟 Участие бесплатное, почитать подробнее и зарегистрироваться вы сможете на сайте
🔥2👍1😁1
Java25 уже на подходе!

В свежем релизе — важные улучшения, о которых стоит знать каждому Java-разработчику:

🔹 JEP 502: Stable Values — новый способ работы со значениями, который делает код надёжнее и эффективнее.
🔹 JEP 514/515: Project Leyden — фокус на время запуска приложений и оптимизацию старта JVM.

📖 Подробный разбор:
https://softwaremill.com/jep-502-stable-values-new-feature-of-java-25-explained/

#Java #JEP #Leyden #Programming
5👍5🎉2
Docker и Kubernetes: основы разработки под облачную инфраструктуру

Курс для тех, кто хочет держать свой стэк и знания актуальными и глубоко разбираться, как устроены Docker, Kubernetes, и современная облачная инфраструктура в целом.

🌐 Чему вы научитесь:

🤩 Создавать облачную инфраструктуру «с нуля» управление и конфигурация серверов с Terraform, Ansible, cloud‑init
🤩 Уверенно работать с Docker: Dockerfile, слои, кэш, многоступенчатые сборки, реестры, безопасность, air‑gapped
🤩 Проектировать многоконтейнерные приложения: паттерны Sidecar, Ambassador, Adapter, проверки (liveness/readiness), DaemonSet и поды
🤩 Настраивать сеть и балансировку в Kubernetes
ClusterIP, Services, Ingress, MetalLB, TLS/SNI, сервис‑меши (Istio)
🤩 Организовывать хранение данных: PersistentVolumes / PVC, StorageClasses, резервное копирование. Упаковка в Helm и поддержка через Operator

🥸 Кто мы: R&D-центр Devhands. Автор курса — Николай Ихалайнен, эксперт по СУБД и бекенду (ex-Percona), со-основатель MyDB, энтузиаст открытого ПО.

🗓 Старт курса: 17 сентября, 6 недель обучения.
Изучить программу и записаться можно здесь.

Ждем вас!

Реклама. ИП Рыбак А.А. ИНН 771407709607 Erid: 2VtzqxNnFKA
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4🔥4😁1
💡 Полезный совет по Java

В Java часто нужно работать с датами и временем. Вместо устаревших Date и Calendar лучше использовать современное API java.time, появившееся в Java 8. Оно более удобное, безопасное и читаемое.

Например, если нужно добавить дни к текущей дате:


import java.time.LocalDate;

public class Main {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
LocalDate nextWeek = today.plusDays(7);

System.out.println("Сегодня: " + today);
System.out.println("Через неделю: " + nextWeek);
}
}


Код становится проще и понятнее.
📌 Совет: всегда отдавайте предпочтение java.time вместо старых классов.

@javatg
🔥12👍3🥰1
🚀 Linux Pro совет

Хотите быстро найти, какой процесс держит порт и мешает вашему сервису запуститься?
Вместо хаотичных перезапусков используйте:


# Проверка, кто слушает на порту 8080
lsof -i :8080

# Или
fuser 8080/tcp


💡 Отличный способ понять, почему приложение не стартует:
сразу видно PID процесса, который занял порт.
Дальше можно решить — убить процесс, изменить конфиг или переназначить порт.

@javatg
🔥8👍63
🔥 Успех в IT = скорость + знания + окружение

Здесь ты найдёшь всё это — коротко, по делу и без воды.
Пока другие ищут, где “подглядеть решение”, ты уже используешь самые свежие инструменты!

AI: www.tg-me.com/ai_machinelearning_big_data
Python: www.tg-me.com/pythonl
Linux: www.tg-me.com/linuxacademiya
Собеседования DS: www.tg-me.com/machinelearning_interview
C++ www.tg-me.com/cpluspluc
Docker: www.tg-me.com/devops_teleg
Хакинг: www.tg-me.com/linuxkalii
Devops: www.tg-me.com/DevOPSitsec
Data Science: www.tg-me.com/data_analysis_ml
Javascript: www.tg-me.com/javascriptv
C#: www.tg-me.com/csharp_1001_notes
Java: www.tg-me.com/java_library
Базы данных: www.tg-me.com/sqlhub
Python собеседования: www.tg-me.com/python_job_interview
Мобильная разработка: www.tg-me.com/mobdevelop
Golang: www.tg-me.com/Golang_google
React: www.tg-me.com/react_tg
Rust: www.tg-me.com/rust_code
ИИ: www.tg-me.com/vistehno
PHP: www.tg-me.com/phpshka
Android: www.tg-me.com/android_its
Frontend: www.tg-me.com/front
Big Data: www.tg-me.com/bigdatai
МАТЕМАТИКА: www.tg-me.com/data_math
Kubernets: www.tg-me.com/kubernetc
Разработка игр: https://www.tg-me.com/gamedev
Haskell: www.tg-me.com/haskell_tg
Физика: www.tg-me.com/fizmat

💼 Папка с вакансиями: www.tg-me.com/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: www.tg-me.com/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: www.tg-me.com/addlist/eEPya-HF6mkxMGIy
Папка ML: https://www.tg-me.com/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://www.tg-me.com/addlist/mzMMG3RPZhY2M2Iy

😆ИТ-Мемы: www.tg-me.com/memes_prog
🇬🇧Английский: www.tg-me.com/english_forprogrammers
🧠ИИ: www.tg-me.com/vistehno

🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://www.tg-me.com/addlist/BkskQciUW_FhNjEy

Подпишись, если хочешь быть в числе тех, кого зовут в топовые проекты!
2025/09/14 09:27:34
Back to Top
HTML Embed Code: