Exception in thread "main" java.lang.NullPointerException
at com.example.myproject.Book.getTitle(Book.java:16)
at com.example.myproject.Author.getBookTitles(Author.java:25)
at com.example.myproject.Bootstrap.main(Bootstrap.java:14)
Это называется «трассировка стека» или «stack trace». Что вообще такое трассировка? Какую полезную информацию об ошибке в разрабатываемой программе она содержит?
Exception in thread "main" java.lang.NullPointerException
at com.example.myproject.Book.getTitle(Book.java:16)
at com.example.myproject.Author.getBookTitles(Author.java:25)
at com.example.myproject.Bootstrap.main(Bootstrap.java:14)
Это пример очень простой трассировки. Если пойти по списку строк вида «at…» с самого начала, мы можем понять, где произошла ошибка. Мы смотрим на верхний вызов функции. В нашем случае, это:
at com.example.myproject.Book.getTitle(Book.java:16)
Для отладки этого фрагмента открываем
Book.java
и смотрим, что находится на строке 16
:public String getTitle() {
System.out.println(title.toString()); <-- line 16
return title;
}
Это означает то, что в приведенном фрагменте кода какая-то переменная (вероятно,
title
) имеет значение null
.try {
....
} catch (NullPointerException e) {
throw new IllegalStateException("A book has a null property", e)
}
Трассировка в этом случае может иметь следующий вид:
Exception in thread "main" java.lang.IllegalStateException: A book has a null property
at com.example.myproject.Author.getBookIds(Author.java:38)
at com.example.myproject.Bootstrap.main(Bootstrap.java:14)
Caused by: java.lang.NullPointerException
at com.example.myproject.Book.getId(Book.java:22)
at com.example.myproject.Author.getBookIds(Author.java:35)
... 1 more
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤3🔥1🥰1
Tomcat – это открытая реализация технологий Java Servlet и JavaServer Pages.
apt
:sudo apt update && sudo apt install default-jdk wget curl
После установки Java создайте специального пользователя tomcat для запуска сервиса Tomcat.
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤3🔥3😁1
—
brew install semgrep
Semgrep — это быстрый open-source инструмент статического анализа для обнаружения ошибок и проверки соблюдения стандартов в процессе редактирования, коммита и т.д.
Semgrep — это семантический
grep
для кода: если grep "2"
будет искать только точную строку 2
, то Semgrep будет искать x = 1; y = x + 1
при поиске 2
. И он делает это на 30 с лишним языках! Правила Semgrep выглядят как код, который вы уже пишете; никаких абстрактных синтаксических деревьев, сложных regex или DSL.
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤6🔥3🤯1
Это самая совершенная модель из всех, намного превосходящая своих предшественников, включая таинственный gpt2-chatbot.
Она появится уже сегодня в виде приложения для пк.
GPT-4 Omni будет понимать эмоции и тон голоса.
https://www.youtube.com/watch?v=8TW0zMqIG_E
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
ВЫШЛА новая РЕВОЛЮЦИОННАЯ версия GPT-4 Omni, которая порвала всех! GPT4o - будущее оживает!
Вышла новая, улучшенная версия GPT-4 Omni для. И что самое главное — она доступна всем БЕСПЛАТНО!
⚡https://www.tg-me.com/ai_machinelearning_big_data - машинное обучение, нейростеи и топовые технологии в нашем канале
⚡https://www.tg-me.com/Chatgpturbobot - наш бесплатный бот…
⚡https://www.tg-me.com/ai_machinelearning_big_data - машинное обучение, нейростеи и топовые технологии в нашем канале
⚡https://www.tg-me.com/Chatgpturbobot - наш бесплатный бот…
❤3🔥3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Фишки бота:
— Легко запускается (нужно только Java)
— Быстрая загрузка песен
— Не требуется никаких внешних ключей (кроме токена Discord Bot)
— Плавное воспроизведение
— Настройка сервера для роли диджея, который может модерировать музыку
— Чистые и красивые меню
— Поддерживает множество сайтов, включая Youtube, Soundcloud и другие
— Поддержка многих онлайн-радио/потоков
— Поддержка локальных файлов
— Поддержка плейлистов (как веб-/ютуб, так и локальных)
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍4🔥2
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai</artifactId>
<version>0.30.0</version>
</dependency>
Цель LangChain4j - упростить интеграцию возможностей AI/LLM в Java-приложения.
Проект воплощает идеи из LangChain, Haystack и LlamaIndex.
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🔥1
Java 8, Java 11, Java 13 — какая разница?
Вы можете использовать это руководство, чтобы понять различия между дистрибутивами Java (AdoptOpenJdk, OpenJDK, OracleJDK и т.д.), А также получить обзор возможностей языка Java, включая версии Java 8-13.
С появлением большого количества новых версий Java имеются следующие сценарии использования:
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🔥1🤯1
Можно это делать с помощью сторонней библиотеки
BackgroundLibrary
, вот так: <androidx.appcompat.widget.AppCompatButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:stateListAnimator="@null"
app:bl_unpressed_color="@color/colorAccent"
app:bl_pressed_color="@color/colorPrimaryDark"
app:bl_stroke_width="2dp"
app:bl_stroke_color="#2196F3"
app:bl_stroke_position="right|bottom"
android:text="Button"/>
Но как это сделать нативно с помощью
drawable
?Drawable
файл button_background_ripple.xml
:<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="#9C1816"> // цвет заполнения при нажатии
<item>
<shape android:shape="rectangle">
<solid android:color="@color/colorAccent" /> // цвет в обычном состоянии
</shape>
</item>
<item
android:bottom="0dp" // обводка снизу как положено
android:left="-20dp" // обводка слева выведена за края (не видно)
android:right="0dp" // обводка справа как положено
android:top="-20dp"> // обводка сверху выведена за края (не видно)
<shape>
<stroke
android:width="2dp" // толщина обводки
android:color="#0000FA" /> // цвет обводки
</shape>
</item>
Затем нужно установить на кнопку бэкграундом:
android:background="@drawable/button_background_ripple"
Вот такие дела
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3😁2🔥1
Что внутри:
— Relay и для чего он нужен
— Как его установить
— Как настроить проект
— Как создать новостное приложение с помощью Relay
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍2🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23❤3🔥2
Некоторые особенности Jailer:
— повышает производительность базы данных за счет удаления и архивирования устаревших данных без нарушения целостности.
— генерирует топологически отсортированные наборы данных SQL-DML, иерархически структурированные XML и DbUnit
— позволяет удобно просмотривать данные при помощи двунаправленной навигации по БД
— предоставляет консоль SQL с автодополнением кода, подсветкой синтаксиса и визуализацией метаданных БД
В комплект Jailer входит демонстрационная БД для быстрого тестирования Jailer без каких-либо усилий по настройке.
Без проблем работает с PostgreSQL, Oracle, MySQL, MariaDB, Microsoft SQL Server, IBM Db2, SQLite, Sybase, Amazon Redshift, Firebird, Informix Dynamic Server, H2, Exasol.
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥5❤4
—
implementation 'io.github.oshai:kotlin-logging-jvm:5.1.0'
kotlin-logging предоставляет обертку для slf4j-api для использования классами Kotlin; при этом kotlin-logging имеет такие преимущества:
— нет необходимости писать шаблонный код, содержащий имя логгера и класса или имя логгера
— простой способ регистрации сообщений в виде строки с ленивой оценкой с помощью лямбда-выражения
{}
— все предыдущие реализации slf4j по-прежнему могут быть использованы
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🔥1
🔥Подборка лучших обучающих каналов для программистов.
➡️ Делитесь с коллегами и сохраняйте себе, чтобы не потерять
⚡Машинное обучение
Machine Learning - запускаем лучшие ИИ модели, пишем код, погружаемся в нейросети
Ml Собеседование - подготовка к собесу по мл, алгоритмам, коду
Ml ru - актуальные статьи, новости, код и обучающие материалы
Ml Jobs - вакансии ML
ML Книги - актуальные бесплатные книги МО
ML чат
🏆 Golang
Golang
Golang собеседование - разбор задач и вопросов с собесов
Golang вакансии -работа для Go разработчика
Golang книги библиотека книг
Golang задачи и тесты
Golang чат
Golang news - новости из мира go
Golang дайджест
💥 Linux /Этичный хакинг
Linux Academy - гайды, секреты и лучшие материалы по Linux
Kali linux - погрузись в мир этичного хакинга и кибербезопасности
linux_kal - kali чат
Информационная безопасность
🚀 Data Science
Анализ данных - полезные фишки, код, гайды и советы, маст-хэв датасаентиста
Data Jobs - ds вакансии
Аналитик данных
Data Science книги - актуальные бесплатные книги
Big data
🛢Базы данных
Sql базы данных - научим работе с базами данных профессионально
Библиотека баз данных
SQL чат
Вакансии Sql аналитик данных
#️⃣C#
С# академия - лучший канал по c#
С# заметки — код, лучшие практики, заметки программиста c#
С# задачи и тесты
С# библиотека - актуальные бесплатные книги
C# вакансии - работа
🐍 Python
Python/django - самый крупный обучающий канал по Python
Python Собеседование - подготовка к собеседовению python и разбор алгоритмов
Pro python - статьи, новости, код и обучающие материалы
Python Jobs - вакансии Python
Python чат
Python книги
☕ Java
Java академия - java от Senior разработчика
Java вакансии
Java чат
Java вопросы с собеседований
Java книги
💻 C++
C++ академия
С++ книги
C++ задачи - подготовка к собеседовению мл, алгоритмам
C++ вакансии
⚡️ Frontend
Javascript академия - крупнейший js канал
React - лучшие гайды и советы по работе с react
Frontend - тутрориалы, уроки, гайды, код
PHP
Книги frontend
Задачи frontend
🦀 Rust
Rust программирование
Rust чат
Rust книги для программистов
📲 Мобильная разработка
Android разработка
Мобильный разработчик гайды и уроки
🇬🇧 Английский для программистов
🧠 Искусственный интеллект
ИИ и технологии
Neural - нейросети для работы и жизни
Книги ИИ
Artificial Intelligence
🔥 DevOPs
Devops для программистов
Книги Devops
🌟 Docker/Kubernets
Docker
Kubernets
📓 Книги
Библиотеки Книг для программситов
💼 Папка с вакансиями:
Папка Go разработчика:
Папка Python разработчика:
Папка Data Science
Папка Java разработчика
Папка C#
Папка Frontend
💥 Бесплатный Chatgpt бот
➡️ Делитесь с коллегами и сохраняйте себе, чтобы не потерять
⚡Машинное обучение
Machine Learning - запускаем лучшие ИИ модели, пишем код, погружаемся в нейросети
Ml Собеседование - подготовка к собесу по мл, алгоритмам, коду
Ml ru - актуальные статьи, новости, код и обучающие материалы
Ml Jobs - вакансии ML
ML Книги - актуальные бесплатные книги МО
ML чат
🏆 Golang
Golang
Golang собеседование - разбор задач и вопросов с собесов
Golang вакансии -работа для Go разработчика
Golang книги библиотека книг
Golang задачи и тесты
Golang чат
Golang news - новости из мира go
Golang дайджест
💥 Linux /Этичный хакинг
Linux Academy - гайды, секреты и лучшие материалы по Linux
Kali linux - погрузись в мир этичного хакинга и кибербезопасности
linux_kal - kali чат
Информационная безопасность
🚀 Data Science
Анализ данных - полезные фишки, код, гайды и советы, маст-хэв датасаентиста
Data Jobs - ds вакансии
Аналитик данных
Data Science книги - актуальные бесплатные книги
Big data
🛢Базы данных
Sql базы данных - научим работе с базами данных профессионально
Библиотека баз данных
SQL чат
Вакансии Sql аналитик данных
#️⃣C#
С# академия - лучший канал по c#
С# заметки — код, лучшие практики, заметки программиста c#
С# задачи и тесты
С# библиотека - актуальные бесплатные книги
C# вакансии - работа
🐍 Python
Python/django - самый крупный обучающий канал по Python
Python Собеседование - подготовка к собеседовению python и разбор алгоритмов
Pro python - статьи, новости, код и обучающие материалы
Python Jobs - вакансии Python
Python чат
Python книги
☕ Java
Java академия - java от Senior разработчика
Java вакансии
Java чат
Java вопросы с собеседований
Java книги
💻 C++
C++ академия
С++ книги
C++ задачи - подготовка к собеседовению мл, алгоритмам
C++ вакансии
⚡️ Frontend
Javascript академия - крупнейший js канал
React - лучшие гайды и советы по работе с react
Frontend - тутрориалы, уроки, гайды, код
PHP
Книги frontend
Задачи frontend
🦀 Rust
Rust программирование
Rust чат
Rust книги для программистов
📲 Мобильная разработка
Android разработка
Мобильный разработчик гайды и уроки
🇬🇧 Английский для программистов
🧠 Искусственный интеллект
ИИ и технологии
Neural - нейросети для работы и жизни
Книги ИИ
Artificial Intelligence
🔥 DevOPs
Devops для программистов
Книги Devops
🌟 Docker/Kubernets
Docker
Kubernets
📓 Книги
Библиотеки Книг для программситов
💼 Папка с вакансиями:
Папка Go разработчика:
Папка Python разработчика:
Папка Data Science
Папка Java разработчика
Папка C#
Папка Frontend
💥 Бесплатный Chatgpt бот
❤6