1. Apache Netbeans - может использоваться не только как IDE, но и как отладчик. Работает во всех операционных системах, поддерживающих Java: Windows, Linux, Mac OSX и BSD.
2. Apache Skywalking - инструмент мониторинга производительности приложений для распределенных систем, специально разработанный для микросервисов, облачных и контейнерных (Docker, Kubernetes, Mesos) архитектур, включая Java.
3. AppDynamics - Когда дело доходит до бесплатных инструментов для мониторинга приложений Java, обычно выбирают JConsole и VisualVM. AppDynamics предоставляет третий вариант, который поможет вам в мониторинге производительности веб-приложений.
4. Cobertura - это скорее инструмент разработки, чем мониторинга, но я считаю, что весь код должен быть протестирован перед запуском в производство, а Cobertura — это бесплатный инструмент Java, который вычисляет процент кода, доступного для тестов. Его можно использовать для определения того, какие части вашей программы Java не покрыты тестами. Основан на jcoverage.
5. Flamegraph Datadog - анализирует каждый запрос Java для обнаружения и устранения проблем с производительностью приложений в распределенной системе.
6. Chatgpt бот - бесплатный бот в телеграме, который помогает писать модули тестирования на Java.
📌 Полный список
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Java: awesome-java
JavaScript: awesome-javascript
React: awesome-react
Vue: awesome-vue
Angular: awesome-angular
Node.js: awesome-nodejs
Typescript: awesome-typescript
Go: awesome-go
Ruby: awesome-ruby
PHP: awesome-php
Kotlin: awesome-kotlin
Rust: awesome-rust
Swift: awesome-swift
iOS-разработка: awesome-ios
Android-разработка: awesome-android
C: awesome-c
C++: awesome-cpp
C#: awesome-dotnet
Unreal Engine: awesome-unreal
Unity: awesome-unity3d
Python: awesome-python
Django: awesome-django
Data Science: awesome-datascience
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
echo "# название" >> README.md
- создание файла README.mdgit init
- инициализация репозиторияgit add README.md
- добавления файла README.md в проектgit commit -m "first commit"
- получает проиндексированный снимок состояния и выполняет его коммит в историю проектаgit remote add origin https://github.com/stanruss/название.git
- команда, которой устанавливается подключение к удаленному серверу и git репозиторию, размещающемуся на нем.git push -u origin master
- кзменения отправляются на удаленный серверgit log --oneline
- посмотреть все коммиты.git checkout .
- восстановить все.git checkout "код коммита"
- вернуть до состояния этого коммита.git checkout master
- вернуться в ветку мастер.Восстановить файлы на локальном компьютере:
```git fetch --all
git reset --hard origin/master или git reset --hard origin/<название_ветки>
```
git add text.txt
- Добавить файл в репозиторийgit rm text.txt
- Удалить файлgit status
- Текущее состояние репозитория (изменения, неразрешенные конфликты и тп)git commit -a -m "Commit description"
- Сделать коммитgit push origin
- Замерджить все ветки локального репозитория на удаленный репозиторий git push origin master
- Аналогично предыдущему, но делается пуш только ветки mastergit push origin HEAD
- Запушить текущую ветку, не вводя целиком ее названиеgit pull origin
- Замерджить все ветки с удаленного репозиторияgit pull origin master
- Аналогично предыдущему, но накатывается только ветка mastergit pull origin HEAD
- Накатить текущую ветку, не вводя ее длинное имяgit fetch origin
- Скачать все ветки с origin, но не мерджить их в локальный репозиторийgit fetch origin master
- Аналогично предыдущему, но только для одной заданной веткиgit checkout -b some_branch origin/some_branch
- Начать работать с веткой some_branch (уже существующей)git branch some_branch
- Создать новый бранч (ответвится от текущего)git checkout some_branch
- Переключиться на другую ветку (из тех, с которыми уже работаем)git branch
# звездочкой отмечена текущая ветвь - Получаем список веток, с которыми работаемgit branch -a # | grep something
- Просмотреть все существующие ветвиgit merge some_branch
- Замерджить some_branch в текущую веткуgit branch -d some_branch
- Удалить бранч (после мерджа)git branch -D some_branch
- Просто удалить бранч (тупиковая ветвь)git show d8578edf8458ce06fbc5bb76a58c5ca4a58c5ca4
- Изменения, сделанные в заданном коммитеgit push origin :branch-name
- Удалить бранч из репозитория на сервереgit reset --hard d8578edf8458ce06fbc5bb76a58c5ca4a58c5ca4
- Откатиться к конкретному коммиту и удалить последующие (хэш смотрим в «git log»)git push -f
- залить на сервер измененные коммитыgit clean -f
- Удаление untracked files#git #github #doc #cheatsheet
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Kotlin: Null-безопасность и 3 подводных камня
Если вы изучаете Kotlin, то наверняка слышали про Null-безопасность. Система типов в Kotlin направлена на искоренение опасности нулевых(null) значений. Но на все ли 100%?
В этой статье автор рассматривает 3 случая, которые могут вызвать ошибку, а компилятор даже не попытается вас защитить:
https://betterprogramming.pub/kotlin-isnt-null-safe-yet-here-are-3-gotchas-23258fada62
#kotlin
@javatg
Если вы изучаете Kotlin, то наверняка слышали про Null-безопасность. Система типов в Kotlin направлена на искоренение опасности нулевых(null) значений. Но на все ли 100%?
В этой статье автор рассматривает 3 случая, которые могут вызвать ошибку, а компилятор даже не попытается вас защитить:
https://betterprogramming.pub/kotlin-isnt-null-safe-yet-here-are-3-gotchas-23258fada62
#kotlin
@javatg
1. Установка Java - https://www.youtube.com/watch?v=YjySSHYaKWA&list=PLysMDSbb9HcwWoCd-KQ-cl-nk6nuqRF1h&index=1
2. Типы данных - https://www.youtube.com/watch?v=CXBpGQYSncM&list=PLysMDSbb9HcwWoCd-KQ-cl-nk6nuqRF1h&index=2&t=8s
3. Переменные - https://www.youtube.com/watch?v=hE--HpL2ajQ&list=PLysMDSbb9HcwWoCd-KQ-cl-nk6nuqRF1h&index=3&t=10s
4. ООП основные понятия - https://www.youtube.com/watch?v=jim4qd3wOs8&list=PLysMDSbb9HcwWoCd-KQ-cl-nk6nuqRF1h&index=4&t=5s
5. Основы наследования - https://www.youtube.com/watch?v=8NcjXK1LFQQ&list=PLysMDSbb9HcwWoCd-KQ-cl-nk6nuqRF1h&index=5
6. Наследование методово класса - https://www.youtube.com/watch?v=GwuR6Jzy6uU&list=PLysMDSbb9HcwWoCd-KQ-cl-nk6nuqRF1h&index=6&t=37s
7. Порядок вызова конструкторов классов - https://www.youtube.com/watch?v=n9XXFKOdoEI&list=PLysMDSbb9HcwWoCd-KQ-cl-nk6nuqRF1h&index=7&t=1s
8. Работа с пакетами - https://www.youtube.com/watch?v=aIn0EbyOSXg&list=PLysMDSbb9HcwWoCd-KQ-cl-nk6nuqRF1h&index=8&t=4s
9. Создание интерфейсов - https://www.youtube.com/watch?v=RZ82tD1wDa8&list=PLysMDSbb9HcwWoCd-KQ-cl-nk6nuqRF1h&index=9
10. Изучаем исключения - https://www.youtube.com/watch?v=FqLBzLRIrdw&list=PLysMDSbb9HcwWoCd-KQ-cl-nk6nuqRF1h&index=10
11. Обобщения Generics - https://www.youtube.com/watch?v=SffahGhgyRw&list=PLysMDSbb9HcwWoCd-KQ-cl-nk6nuqRF1h&index=12
12. Коллекции - https://www.youtube.com/watch?v=PSI83wyAxO8&list=PLysMDSbb9HcwWoCd-KQ-cl-nk6nuqRF1h&index=13
13. Практика 1 учимся делать игры - https://www.youtube.com/watch?v=14zcOCAB4sI&list=PLysMDSbb9HcwWoCd-KQ-cl-nk6nuqRF1h&index=13
14. Разработка игры часть 2 - https://www.youtube.com/watch?v=MuDYMCKbzm8&list=PLysMDSbb9HcwWoCd-KQ-cl-nk6nuqRF1h&index=14
15. Создание и выполнение потоков - https://www.youtube.com/watch?v=DOY5LzMmSSM&list=PLysMDSbb9HcwWoCd-KQ-cl-nk6nuqRF1h&index=15
https://www.youtube.com/playlist?list=PLysMDSbb9HcwWoCd-KQ-cl-nk6nuqRF1h
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Вложенные классы в Java — важная особенность этого языка. Они помогают сделать код более модульным, позволяя сгруппировать связанные классы вместе.
Однако стоит помнить, что задача вложенных классов Java — дополнять внешний класс, предоставляя дополнительную функциональность, расширяя его возможности или упрощая взаимодействие. То есть внутренний класс своей сутью и предназначением неразрывно связан с внешним, иначе его стоит вынести в отдельную, самостоятельную структуру.
▪ Читать
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Я пишу эту статью, чтобы поделиться общими фрагментами кода автоматизации Selenium.
Надеюсь, что этот источник станет служить вам справочником, на который можно ссылаться, когда вы добавляете несколько новых скриптов в свою существующую среду автоматизации или готовитесь к собеседованию.
▪ Читать
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
В курсе 28 уроков, 9 заданий и даже 2 экзамена. Программа рассчитана на начинающих, кто только начинает знакомиться с програмированием. Из минусов — некоторые части без обновления, однако их можно подтянуть после изучения основ:
https://see.stanford.edu/Course/CS106A
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Основы Kotlin — руководство
Подборка статей по Kotlin, которая будет полезна не только новичкам, но и тем, кто уже освоил основы языка. Категории:
— Основы для начинающих, статьи для разработчиков с опытом и профессионалов.
— Библиотеки для Android.
— Инструменты.
— Советы и фишки:
https://androidgeek.co/mastering-kotlin-a-comprehensive-guide-c70220318962
#kotlin
@javatg
Подборка статей по Kotlin, которая будет полезна не только новичкам, но и тем, кто уже освоил основы языка. Категории:
— Основы для начинающих, статьи для разработчиков с опытом и профессионалов.
— Библиотеки для Android.
— Инструменты.
— Советы и фишки:
https://androidgeek.co/mastering-kotlin-a-comprehensive-guide-c70220318962
#kotlin
@javatg
#вопросы_с_собеседований
Как одной строкой преобразовать HashSet в ArrayList?
Ответ на картинке.
@javatg
Как одной строкой преобразовать HashSet в ArrayList?
Ответ на картинке.
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - codenameone/CodenameOne: Cross-platform framework for building truly native mobile apps with Java or Kotlin. Write Once…
Cross-platform framework for building truly native mobile apps with Java or Kotlin. Write Once Run Anywhere support for iOS, Android, Desktop & Web. - codenameone/CodenameOne
Язык программирования Kotlin часто ассоциируется с мобильной разработкой для Android и это неудивительно, учитывая что он принят Google как официальный язык разработки, и принес множество необходимых и удобных языковых конструкций и кооперативной многозадачности, при этом сохраняя совместимость на уровне байт-кода с ранними версиями JVM.
Но применимость языка существенно выше и имеющиеся библиотеки (как созданные для Java, так и разработанные специально для Kotlin) позволяют создавать обычные приложения (например, на JavaFX или с использованием платформенных графических библиотек и Kotlin Native), а также создавать код для бэкэнда c подключениям к базам данных, кэшам, очередям сообщений и т.д.
При этом, если для мобильной разработки проблем с поддержкой многоязычных сообщений не возникает (благодаря механизму ресурсов, в том числе строк, которые могут быть переопределены для конкретной локали), то для бэкэнда это становится нетривиальной задачей. В этой статье мы обсудим несколько подходов для создания бэкэнда с поддержкой нескольких языков.
▪ Читать
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Модификаторы видимости — это ключевые слова, которыми определяется уровень доступности элементов: классов, объектов, интерфейсов, конструкторов, функций, свойств и их сеттеров.
В Kotlin имеется четыре модификатора видимости. А в Java их три: недоступен
internal
. В Kotlin видимость по умолчанию — public
, в Java — private
.▪ Читать
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Для Android-разработчиков и начинающих, кто хочет писать код на Kotlin у Android Developers есть бесплатный курс по основам. Материалы курса включают в себя и домашние задания. В зависимости от ваших знаний вы можете проходить программу, выбирая только те разделы, которые интересны вам:
https://developer.android.com/courses/kotlin-bootcamp/overview
#kotlin
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Top it channels
🖥 Linux
@linux -топ фишки, гайды, уроки по работе с Linux.
@linux_read - бесплатные книги linux
@linux chat - чат linux для обучения и помощи.
@linuxacadd - linux с нуля
🖥 SQL базы данных
@sqllib - библиотека баз данных
@sqlhub - повышение эффективности кода с грамотным использованием бд.
@chat_sql - чат изучения бд.
databooks - лучшие бесплатные книги по базам данных
🖥 Python
@pythonl - гайды по Python.
@pro_python_code – Python практика.
@python_job_interview – подготовка к Python собеседованию.
@python_testit - проверочные тесты на python
@pythonlbooks - современные книги Python
@python_djangojobs - работа для Python программистов
@python_django_work - чат обсуждения вакансий
🖥 Java
@javatg - выучить Java с senior разработчиком по профессиональной методике.
@javachats - чат для ответов на вопросы по Java
@java_library - библиотека книг Java
@android_its - Android разработка
@java_quizes - тесты Java
@Java_workit - работа Java
@progersit - шпаргалки ит
👣 Golang
@Golang_google - восхитительный язык от Google, мощный и перспективный.
@golang_interview - вопросы и ответы с собеседований по Go. Для всех уровней разработчиков.
@golangtests - интересные тесты и задачи GO
@golangl - чат изучающих Go
@GolangJobsit - отборные вакансии и работа GO
@golang_jobsgo - чат для ищущих работу.
@golang_books - полезные книги Golang
@golang_speak - обсуждение языка Go
⭐️ Нейронные сети
@data_analysis_ml - data science
@vistehno - chatgpt ведет блог, решает любые задачи и отвечает на любые ваши вопросы.
@aigen - сети для генерации картинок. видео, музыки и многого другого.
@neural – погружение в нейросети.
🖥 Machine learning
@ai_ml – погружение в нейросети, ai, Chatgpt, midjourney, машинное обучение.
@machinelearning_ru – машинное обучении на русском от новичка до профессионала.
@machinelearning_interview – подготовка к собеседованию.
@datascienceiot – бесплатные книги Machine learning
@ArtificialIntelligencedl – канал о искусственном интеллекте
@machinee_learning – чат о машинном обучении
@datascienceml_jobs - работа ds, ml
@Machinelearning_Jobs - чат работы мл
🖥 Javascript / front
@react_tg - - 40,14% разработчиков сайтов использовали React в 2022 году - это самая популярная библиотека для создания сайтов.
@javascript -канал для JS и FrontEnd разработчиков. Лучшие практики и примеры кода. Туториалы и фишки JS
@Js Tests - каверзные тесты JS
@hashdev - погружение в web разработку.
@javascriptjobjs - отборные вакансии и работа FrontEnd.
@jsspeak - чат поиска FrontEnd работы.
👷♂️ IT работа
@hr_itwork - кураторский список актуальных ит-ваканнсии
🤡It memes
@memes_prog - ит-мемы
⚙️ Rust
@rust_code - Rust избавлен от болевых точек, которые есть во многих современных яп
@rust_chats - чат rust
#️⃣ c# c++
C# - объединяет лучшие идеи современных языков программирования
@csharp_cplus чат
С++ - Универсальность. Возможно, этот главный плюс C++.
📓 Книги
@programming_books_it - большая библиотека. программиста
@datascienceiot -ds книги
@pythonlbooks - python библиотека.
@golang_books - книги Golang
@frontendbooksit - front книги
@progersit - ит-шпаргалки
@linux_read - Linux books
@java_library - Java books
🖥 Github
@github_code - лучшие проекты с github
@bigdatai - инструменты по работе с данными
🍏 🖥 Mobile dev
@mobdevelop
🖥 Android
@android_its
🖥 Devops
Devops - специалист общего профиля, которому нужны обширные знания в области разработки.
📢 English for coders
@english_forprogrammers - Английский для программистов
🔢 Math
@dsmath - математика программиста
💡 ChatGpt bot
@Chatgpturbobot - бесплатный бот ChatGpt
@linux -топ фишки, гайды, уроки по работе с Linux.
@linux_read - бесплатные книги linux
@linux chat - чат linux для обучения и помощи.
@linuxacadd - linux с нуля
@sqllib - библиотека баз данных
@sqlhub - повышение эффективности кода с грамотным использованием бд.
@chat_sql - чат изучения бд.
databooks - лучшие бесплатные книги по базам данных
@pythonl - гайды по Python.
@pro_python_code – Python практика.
@python_job_interview – подготовка к Python собеседованию.
@python_testit - проверочные тесты на python
@pythonlbooks - современные книги Python
@python_djangojobs - работа для Python программистов
@python_django_work - чат обсуждения вакансий
@javatg - выучить Java с senior разработчиком по профессиональной методике.
@javachats - чат для ответов на вопросы по Java
@java_library - библиотека книг Java
@android_its - Android разработка
@java_quizes - тесты Java
@Java_workit - работа Java
@progersit - шпаргалки ит
@Golang_google - восхитительный язык от Google, мощный и перспективный.
@golang_interview - вопросы и ответы с собеседований по Go. Для всех уровней разработчиков.
@golangtests - интересные тесты и задачи GO
@golangl - чат изучающих Go
@GolangJobsit - отборные вакансии и работа GO
@golang_jobsgo - чат для ищущих работу.
@golang_books - полезные книги Golang
@golang_speak - обсуждение языка Go
@data_analysis_ml - data science
@vistehno - chatgpt ведет блог, решает любые задачи и отвечает на любые ваши вопросы.
@aigen - сети для генерации картинок. видео, музыки и многого другого.
@neural – погружение в нейросети.
@ai_ml – погружение в нейросети, ai, Chatgpt, midjourney, машинное обучение.
@machinelearning_ru – машинное обучении на русском от новичка до профессионала.
@machinelearning_interview – подготовка к собеседованию.
@datascienceiot – бесплатные книги Machine learning
@ArtificialIntelligencedl – канал о искусственном интеллекте
@machinee_learning – чат о машинном обучении
@datascienceml_jobs - работа ds, ml
@Machinelearning_Jobs - чат работы мл
@react_tg - - 40,14% разработчиков сайтов использовали React в 2022 году - это самая популярная библиотека для создания сайтов.
@javascript -канал для JS и FrontEnd разработчиков. Лучшие практики и примеры кода. Туториалы и фишки JS
@Js Tests - каверзные тесты JS
@hashdev - погружение в web разработку.
@javascriptjobjs - отборные вакансии и работа FrontEnd.
@jsspeak - чат поиска FrontEnd работы.
👷♂️ IT работа
@hr_itwork - кураторский список актуальных ит-ваканнсии
🤡It memes
@memes_prog - ит-мемы
⚙️ Rust
@rust_code - Rust избавлен от болевых точек, которые есть во многих современных яп
@rust_chats - чат rust
#️⃣ c# c++
C# - объединяет лучшие идеи современных языков программирования
@csharp_cplus чат
С++ - Универсальность. Возможно, этот главный плюс C++.
📓 Книги
@programming_books_it - большая библиотека. программиста
@datascienceiot -ds книги
@pythonlbooks - python библиотека.
@golang_books - книги Golang
@frontendbooksit - front книги
@progersit - ит-шпаргалки
@linux_read - Linux books
@java_library - Java books
@github_code - лучшие проекты с github
@bigdatai - инструменты по работе с данными
@mobdevelop
@android_its
Devops - специалист общего профиля, которому нужны обширные знания в области разработки.
@english_forprogrammers - Английский для программистов
🔢 Math
@dsmath - математика программиста
@Chatgpturbobot - бесплатный бот ChatGpt
Please open Telegram to view this post
VIEW IN TELEGRAM
Глубокое погружение в лямбда-выражения на Java
Это руководство полностью посвящено освоению лямбда-выражений на Java. Вы узнаете всё, что вам нужно знать, от основ создания и работы до более продвинутых тем, таких как функциональные интерфейсы и ссылки на методы. Независимо от того, новичок вы или опытный разработчик, это руководство поможет вам повысить уровень вашей лямбда-игры. Итак, давайте погрузимся в мир функционального программирования с помощью Java-лямбд!
Бонус: В конце статьи есть несколько практических вопросов, которые помогут вам подготовиться к следующему собеседованию и оценить свои знания.
TL; DR: Лямбда-выражения – это мощный инструмент для Java-разработчиков, который включает парадигмы функционального программирования и предоставляет способ работы с коллекциями и потоками в Java. Освоив лямбда-выражения, вы, как разработчик, будете писать лучший код, работать эффективнее и создавать более удобные в обслуживании и масштабируемые приложения.
▪Читать
@javatg
Это руководство полностью посвящено освоению лямбда-выражений на Java. Вы узнаете всё, что вам нужно знать, от основ создания и работы до более продвинутых тем, таких как функциональные интерфейсы и ссылки на методы. Независимо от того, новичок вы или опытный разработчик, это руководство поможет вам повысить уровень вашей лямбда-игры. Итак, давайте погрузимся в мир функционального программирования с помощью Java-лямбд!
Бонус: В конце статьи есть несколько практических вопросов, которые помогут вам подготовиться к следующему собеседованию и оценить свои знания.
TL; DR: Лямбда-выражения – это мощный инструмент для Java-разработчиков, который включает парадигмы функционального программирования и предоставляет способ работы с коллекциями и потоками в Java. Освоив лямбда-выражения, вы, как разработчик, будете писать лучший код, работать эффективнее и создавать более удобные в обслуживании и масштабируемые приложения.
▪Читать
@javatg
VAVR, который много лет назад назывался JavaSlang, — это Java API, который привносит возможности функционального программирования в код, а также предоставляет отличный API для неизменяемых коллекций. В этой статье рассмотрим обычный код на Java и его эквивалент с VAVR, чтобы вы увидели, как приятно работать с этой библиотекой.
▪Читать
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Пять задач, которые приходится решать при трудоустройстве начинающим Java-разработчикам
В процессе подбора кандидатов работодатель хочет понять, насколько ему подходит тот или иной соискатель — насколько он комфортен в общении и работе, обладает необходимым опытом и, что самое важное, техническими навыками для предстоящей работы.
В этой статье я приведу примеры конкретных задач, которые могут давать на собеседованиях, и разберу, на что смотрит работодатель при их решении.
▪Читать
@javatg
В процессе подбора кандидатов работодатель хочет понять, насколько ему подходит тот или иной соискатель — насколько он комфортен в общении и работе, обладает необходимым опытом и, что самое важное, техническими навыками для предстоящей работы.
В этой статье я приведу примеры конкретных задач, которые могут давать на собеседованиях, и разберу, на что смотрит работодатель при их решении.
▪Читать
@javatg