Please open Telegram to view this post
VIEW IN TELEGRAM
Уверены, что знаете Java на отлично? Проверьте себя на этих 10 каверзных вопросах, которые могут встретиться на собеседовании или просто сломать код.
Пройдите тест и узнайте, насколько знаете тонкости языка.
🔗 Пройти тест
Please open Telegram to view this post
VIEW IN TELEGRAM
🎯 Как быстро настроить распределённую трассировку в Spring Boot с OpenTelemetry
Дебажить без трейсинга — как ловить баги с завязанными глазами. Но Spring Boot и тут не подвёл: подключаем, настраиваем — и уже можно видеть, что происходит внутри сервиса (и между сервисами тоже).
1️⃣ Добавляем зависимости
Плюс агент (нужно будет передать при запуске JAR-а):
2️⃣ Настраиваем экспорт в Jaeger / Zipkin / OTEL Collector
Добавляем конфигурацию в application.yml:
Можно слать трейсинг напрямую в Jaeger или Zipkin, или в OTEL Collector для гибкости.
3️⃣ Автоматическая трассировка веб-запросов и JDBC
Ничего руками писать не нужно. Всё, что проходит через @RestController и JdbcTemplate — уже обвешано спанами. Нужно только запустить приложение с агентом:
Сразу работают:
— Спаны на все входящие HTTP-запросы
— Спаны на SQL-запросы
— Привязку логов к трейсам (если логгер поддерживает traceId)
4️⃣ Кастомные спаны
Нужно залезть в середину метода и обернуть свою логику? Без проблем:
5️⃣ Визуализация трассировок
Установите Jaeger UI или Zipkin — и смотрите в реальном времени, что делает сервис и как долго.
💬 Что вы используете для трейсинга?
🐸 Библиотека джависта #буст
Дебажить без трейсинга — как ловить баги с завязанными глазами. Но Spring Boot и тут не подвёл: подключаем, настраиваем — и уже можно видеть, что происходит внутри сервиса (и между сервисами тоже).
<dependency>
<groupId>io.opentelemetry.instrumentation</groupId>
<artifactId>opentelemetry-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
ИЛИ
implementation 'io.opentelemetry.instrumentation:opentelemetry-spring-boot-starter:2.1.0'
Плюс агент (нужно будет передать при запуске JAR-а):
-javaagent:opentelemetry-javaagent.jar
Добавляем конфигурацию в application.yml:
otel:
exporter:
otlp:
endpoint: http://localhost:4317
resource:
attributes:
service.name: my-service
instrumentation:
spring-web:
enabled: true
jdbc:
enabled: true
Можно слать трейсинг напрямую в Jaeger или Zipkin, или в OTEL Collector для гибкости.
Ничего руками писать не нужно. Всё, что проходит через @RestController и JdbcTemplate — уже обвешано спанами. Нужно только запустить приложение с агентом:
java -javaagent:opentelemetry-javaagent.jar -jar myapp.jar
Сразу работают:
— Спаны на все входящие HTTP-запросы
— Спаны на SQL-запросы
— Привязку логов к трейсам (если логгер поддерживает traceId)
Нужно залезть в середину метода и обернуть свою логику? Без проблем:
@Autowired
private Tracer tracer;
public void doSomething() {
Span span = tracer.spanBuilder("custom-operation").startSpan();
try (Scope scope = span.makeCurrent()) {
// какая-то магия
} finally {
span.end();
}
}
Установите Jaeger UI или Zipkin — и смотрите в реальном времени, что делает сервис и как долго.
Please open Telegram to view this post
VIEW IN TELEGRAM
Залетай на стажировку в Kaspersky ⚡️
Если ты хорошо знаешь Java или Kotlin и хочешь освоить новые скиллы, весенняя стажировка от «Лаборатории Касперского» — для тебя. Мы ищем студентов на направление SDET Android — работа на стыке мобильной разработки и автотестирования.
Если ты учишься в вузе в Москве/МО на любом курсе, кроме выпускного, или в Школе 21 и готов(а) работать от 20 часов в неделю — присоединяйся к нам и начинай карьеру еще до окончания учебы 😎
☕️ Во время стажировки ты будешь получать зарплату и компенсацию питания, пользоваться сауной и игровыми комнатами в офисе 😇
☕️ Границы только в голове! Теперь время играет на тебя, действуй и регистрируйся здесь: https://kas.pr/3krn?erid=2W5zFJUGNe4
Реклама. Рекламодатель АО «Лаборатория Касперского» ИНН 7713140469
Если ты хорошо знаешь Java или Kotlin и хочешь освоить новые скиллы, весенняя стажировка от «Лаборатории Касперского» — для тебя. Мы ищем студентов на направление SDET Android — работа на стыке мобильной разработки и автотестирования.
Если ты учишься в вузе в Москве/МО на любом курсе, кроме выпускного, или в Школе 21 и готов(а) работать от 20 часов в неделю — присоединяйся к нам и начинай карьеру еще до окончания учебы 😎
☕️ Во время стажировки ты будешь получать зарплату и компенсацию питания, пользоваться сауной и игровыми комнатами в офисе 😇
☕️ Границы только в голове! Теперь время играет на тебя, действуй и регистрируйся здесь: https://kas.pr/3krn?erid=2W5zFJUGNe4
Реклама. Рекламодатель АО «Лаборатория Касперского» ИНН 7713140469
Please open Telegram to view this post
VIEW IN TELEGRAM
Устали копаться в логах или ловить баги методом “на авось”? Попробуйте вот этот промпт — он сэкономит вам часы мучений:
📝 Промпт:
Debug the following code and identify potential issues or anti-patterns. Suggest fixes, explain the root cause of errors, and recommend tools or techniques to prevent such bugs in the future.
// Вставьте глючный код сюда
— Добавьте
Simulate expected vs actual output behavior
если не понимаете, почему оно работает не так, как вы думаете— Добавьте
Point out hidden performance issues or memory leaks
если подозреваете, что код ест больше, чем должен— Добавьте
Suggest logging or monitoring strategies
чтобы ловить баги ещё до того, как они вас поймаютPlease open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека питониста | Python, Django, Flask
На собеседовании важно уметь выделить главное — свои сильные стороны, мышление и ценности. Это помогает справляться со стрессом, неожиданными вопросами и субъективной оценкой.
• Как работает PCA
• Зачем он нужен
• Как применять его на практике — например, для анализа доходностей акций S&P 500
Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
Надоело тратить время на создание шаблонных тестов вручную? IntelliJ IDEA поможет и с этим. С помощью Ctrl + Shift + T можно сгенерировать структуру тестов для классов и методов.
🔹 Зачем это нужно
— Вместо того, чтобы вручную писать шаблон тестов, IDEA сгенерирует базовую структуру тестов для классов или методов.
— Особенно полезно, когда проект растет, а тестов слишком много, чтобы каждый раз выдумывать тестовую структуру с нуля.
🔹 Как использовать
— Поместите курсор на класс или метод, для которого нужен тест.
— Нажмите
Ctrl + Shift + T
(на Windows/Linux) или Cmd + Shift + T
(на macOS).— Выберите, какой тестовый фреймворк использовать (JUnit, TestNG и т.д.), и IDEA предложит создать тестовый класс с нужной структурой.
IDE автоматически создаст тестовый класс с методами для проверки каждого (или выбранного) публичного метода.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека шарписта | C#, F#, .NET, ASP.NET
🤔📝 Псевдокод: когда преподы не шарят, а ты в тупике
Псевдокод может быть настоящим головняком, особенно если требования к нему кажутся непонятными или не совпадают с тем, что вы видите в реальной практике программирования.
Узнайте, как сделать псевдокод полезным инструментом, а не дополнительной нагрузкой.
➡️ Читать статью
🐸 Библиотека шарписта
Псевдокод может быть настоящим головняком, особенно если требования к нему кажутся непонятными или не совпадают с тем, что вы видите в реальной практике программирования.
Узнайте, как сделать псевдокод полезным инструментом, а не дополнительной нагрузкой.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
💼🚫 Собес провален? 8 советов, как извлечь пользу из каждого отказа
Отказы на собеседованиях — явление крайне неприятное и даже демотивирующее. Особенно если вы действительно готовились к интервью, вложили много усилий и личного времени в подготовку.
Однако отказ — это всего лишь один из этапов в поиске работы и не стоит воспринимать его как конец света.
➡️ Читать статью
🐸 Библиотека программиста
Отказы на собеседованиях — явление крайне неприятное и даже демотивирующее. Особенно если вы действительно готовились к интервью, вложили много усилий и личного времени в подготовку.
Однако отказ — это всего лишь один из этапов в поиске работы и не стоит воспринимать его как конец света.
Please open Telegram to view this post
VIEW IN TELEGRAM