Порты Docker: что вы на самом деле открываете?
Запуск всего приложения, его окружения и всех его зависимостей по одной команде — разве это не мечта?
Для тех, кто знает, как работает Docker, это невероятный инструмент для безопасного развертывания приложений.
Однако для начинающих в нем таится ужасающий риск — обойти по неведению все настройки брандмауэра и выложить контейнеры в открытый доступ в интернет. Недавно я читал документацию Docker по работе в сетях, и огромное оранжевое предупреждение напомнило мне о том, что застало меня врасплох, когда я только начинал работать с Docker.
Хотя данная статья посвящена проблеме безопасной работы в Docker, моя основная претензия не связана только с Docker.
Есть веские причины, по которым Docker работает именно так, как работает. Он очень неплохо документирован. На странице, посвященной сетевым технологиям, вы увидите строгое предупреждение, а, опустившись немного ниже по странице, найдете следующий абзац, в котором прямо говорится о взаимодействии Docker и брандмауэров:
📌 Читать
@javatg
Запуск всего приложения, его окружения и всех его зависимостей по одной команде — разве это не мечта?
Для тех, кто знает, как работает Docker, это невероятный инструмент для безопасного развертывания приложений.
Однако для начинающих в нем таится ужасающий риск — обойти по неведению все настройки брандмауэра и выложить контейнеры в открытый доступ в интернет. Недавно я читал документацию Docker по работе в сетях, и огромное оранжевое предупреждение напомнило мне о том, что застало меня врасплох, когда я только начинал работать с Docker.
Хотя данная статья посвящена проблеме безопасной работы в Docker, моя основная претензия не связана только с Docker.
Есть веские причины, по которым Docker работает именно так, как работает. Он очень неплохо документирован. На странице, посвященной сетевым технологиям, вы увидите строгое предупреждение, а, опустившись немного ниже по странице, найдете следующий абзац, в котором прямо говорится о взаимодействии Docker и брандмауэров:
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Git Совет 💡
Не используйте редактор кода для переименования имен файлов кода.⛔️
Используйте команду '
Переименование файла в редакторе кода приводит к двум отдельным действиям
- удаление старого файла и
- добавление нового)
Команда '
Использование '
Синтаксис:
Не используйте редактор кода для переименования имен файлов кода.⛔️
Используйте команду '
git mv
' для переименования файла.✅Переименование файла в редакторе кода приводит к двум отдельным действиям
- удаление старого файла и
- добавление нового)
Команда '
git mv
' выполняет переименование за один шаг. Это приводит к более чистой и информативной истории коммитов.Использование '
git mv
' помогает Git'у распознать, что файл был переименован, сохраняя его историю во всех коммитах. Синтаксис:
git mv <старое имя файла> <новое имя файла>
⚡️У команды @springframework сегодня день релизов! Spring Framework 6.1.3 и 6.0.16 доступны уже сейчас.
https://spring.io/blog/2024/01/11/spring-framework-6-1-3-and-6-0-16-available-now/
@javatg
https://spring.io/blog/2024/01/11/spring-framework-6-1-3-and-6-0-16-available-now/
@javatg
Spring Framework 6.1.3 and 6.0.16 available now
Level up your Java code and explore what Spring can do for you.
🚀 Улучшите свое приложение #SpringBoot с помощью сжатия контента! 🚀
Уменьшите размер передаваемых по сети данных. Просто добавьте несколько строк в свой конфиг 🔥
#WebDevelopment #Java #Optimization
@javatg
Уменьшите размер передаваемых по сети данных. Просто добавьте несколько строк в свой конфиг 🔥
#WebDevelopment #Java #Optimization
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Несмотря на наличие в Java надежной автоматической сборки мусора, утечки памяти в этом языке остаются сложной проблемой для разработчиков.
Такие утечки происходят, когда объекты больше не нужны приложению, но на них по-прежнему ссылаются другие объекты, что не позволяет сборщику мусора освободить занимаемую ими память.
Со временем это может привести к значительному снижению производительности приложения и даже к его аварийному завершению из-за исключения OutOfMemoryError. Цель данной статьи — разобраться в тонкостях утечек памяти в Java, изучить методы их обнаружения и стратегии предотвращения.
▪Читать
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Полезный инструмент для быстрого и эфективного реверс инжениринга Kotlin кода в Java байткод, Android DEX и OAT.
▪Github
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Android – https://github.com/android/nowinandroid
Slack – https://github.com/oianmol/SlackAndroidClone
Чистая архитектура – https://github.com/Farhandroid/AndroidCleanArchitecture
McCompose – https://github.com/hitanshu-dhawan/McCompose
JetQuotes – https://github.com/Spikeysanju/JetQuotes
Rebound – https://github.com/AnkitSuda/Rebound
Образец совы – https://github.com/android/compose-samples/tree/main/Owl
2048 – https://github.com/alexjlockwood/android-2048-compose
Alkaa 2.0 – https://github.com/igorescodro/alkaa
Delish – https://github.com/Elbehiry/Delish
Jettimer – https://github.com/ericktijerou/jettimer
NotyKT – https://github.com/PatilShreyas/NotyKT
Wiggles – https://github.com/Spikeysanju/Wiggles
WhatsApp – https://github.com/MindorksOpenSource/Jetpack-Compose-WhatsApp-Clone
Анимация – https://github.com/canopas/compose-animations-examples
Jetflix – https://github.com/MindorksOpenSource/Jetpack-Compose-WhatsApp-Clone
Jetpack Compose на примерах – https://github.com/vinaygaba/Learn-Jetpack-Compose-By-Example
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Apache Camel - это интеграционный фреймворк с открытым исходным кодом, который предоставляет инструменты и API для соединения различных систем.
С помощью Apache Camel разработчики могут создавать масштабируемые и надежные интеграционные решения, используя различные шаблоны, протоколы и форматы обмена сообщениями. #apachecamel #springboot #java
https://blackslate.io/articles/spring-boot-and-apache-camel-integration
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Совет по Java ☕️
В Java 22 появился новый форматированный тип `
ListFormat — это новый форматтер, который позволяет форматировать список строк символов в соответствии с локалью в соответствии со стандартом Unicode.
Пример :
Он создает или разбирает список конкатенированных строк.
Предусмотрено 3 типа конкатенации:
#java22
@javatg
В Java 22 появился новый форматированный тип `
ListFormat
`. ListFormat — это новый форматтер, который позволяет форматировать список строк символов в соответствии с локалью в соответствии со стандартом Unicode.
Пример :
var list = List.of("Black", "White", "Red");
var formatter = ListFormat.getInstance();
System.out.println(list);
// [Black, White, Red]
Он создает или разбирает список конкатенированных строк.
Предусмотрено 3 типа конкатенации:
STANDARD, OR, и UNIT,
и 3 стиля для каждого типа: FULL, SHORT и NARROW.
#java22
@javatg
🔥Подборка лучших обучающих каналов для программистов.
➡️Делитесь с коллегами и Сохраняйте себе, чтобы не потерять
⚡Машинное обучение
Machine Learning - полезные статьи новости гайды и разбор кода
Ml Собеседование - подготовка к собеседовению мл, алгоритмам, кодингу
Ml ru - актуальные статьи, новости, код и обучающие материалы
Ml Jobs - вакансии ML
ML Книги - актуальные бесплатные книги МО
ML чат
☕ Java
Java вакансии
Java чат
Java вопросы с собеседований
Java книги
Java академия
🚀 Data Science
Анализ данных - полезные фишки, код, гайды и советы, маст-хэв датасаентиста
Data Jobs - ds вакансии
Аналитик данных
Data Science книги - актуальные бесплатные книги
Big data
🏆 Golang
Golang - подробные гайды, разбор кода, лучшие практики, заметки
Golang собеседование
Golang вакансии
Golang книги
Golang задачи и тесты
Golang чат
Golang news - новости go
#️⃣C#
С# академия
С# заметки — код, лучшие практики, заметки программиста c#
С# задачи и тесты
С# библиотека - актуальные бесплатные книги
C# вакансии - работа
🐍 Python
Python/django
Python Собеседование - подготовка к собеседовению python и разбор алгоритмов
Pro python - статьи, новости, код и обучающие материалы
Python Jobs - вакансии Python
Python чат
Python книги
💻 C++
C++ академия
С++ книги
C++ задачи - подготовка к собеседовению мл, алгоритмам
C++ вакансии
💥 Хакинг Kali Linux
Kali linux
linux_kal - kali чат
Информационная безопасность
🐧 Linux
Linux academy
🦀 Rust
Rust программирование
Rust чат
🛢Базы данных
Sql базы данных
Библиотека баз данных
SQL чат
📲 Мобильная разработка
Android разработка
Мобильный разработчик гайды и уроки
🖥 Javascript/React/PHP
Javascript академия
React программирование
PHP
Книги frontend
Задачи frontend
🇬🇧 Английский для программистов
🧠 Искусственный интеллект
ИИ и технологии
Neural - нейросети для работы и жизни
Книги ИИ
Artificial Intelligence
🔥 DevOPs
Devops для программистов
Книги Devops
🌟 Docker/Kubernets
Docker
Kubernets
📓 Книги
Библиотеки Книг для программситов
💼 Папка с вакансиями:
Папка Go разработчика:
Папка Python разработчика:
Папка Data Science
Папка Java разработчика
Папка C#
➡️Делитесь с коллегами и Сохраняйте себе, чтобы не потерять
⚡Машинное обучение
Machine Learning - полезные статьи новости гайды и разбор кода
Ml Собеседование - подготовка к собеседовению мл, алгоритмам, кодингу
Ml ru - актуальные статьи, новости, код и обучающие материалы
Ml Jobs - вакансии ML
ML Книги - актуальные бесплатные книги МО
ML чат
☕ Java
Java вакансии
Java чат
Java вопросы с собеседований
Java книги
Java академия
🚀 Data Science
Анализ данных - полезные фишки, код, гайды и советы, маст-хэв датасаентиста
Data Jobs - ds вакансии
Аналитик данных
Data Science книги - актуальные бесплатные книги
Big data
🏆 Golang
Golang - подробные гайды, разбор кода, лучшие практики, заметки
Golang собеседование
Golang вакансии
Golang книги
Golang задачи и тесты
Golang чат
Golang news - новости go
#️⃣C#
С# академия
С# заметки — код, лучшие практики, заметки программиста c#
С# задачи и тесты
С# библиотека - актуальные бесплатные книги
C# вакансии - работа
🐍 Python
Python/django
Python Собеседование - подготовка к собеседовению python и разбор алгоритмов
Pro python - статьи, новости, код и обучающие материалы
Python Jobs - вакансии Python
Python чат
Python книги
💻 C++
C++ академия
С++ книги
C++ задачи - подготовка к собеседовению мл, алгоритмам
C++ вакансии
💥 Хакинг Kali Linux
Kali linux
linux_kal - kali чат
Информационная безопасность
🐧 Linux
Linux academy
🦀 Rust
Rust программирование
Rust чат
🛢Базы данных
Sql базы данных
Библиотека баз данных
SQL чат
📲 Мобильная разработка
Android разработка
Мобильный разработчик гайды и уроки
🖥 Javascript/React/PHP
Javascript академия
React программирование
PHP
Книги frontend
Задачи frontend
🇬🇧 Английский для программистов
🧠 Искусственный интеллект
ИИ и технологии
Neural - нейросети для работы и жизни
Книги ИИ
Artificial Intelligence
🔥 DevOPs
Devops для программистов
Книги Devops
🌟 Docker/Kubernets
Docker
Kubernets
📓 Книги
Библиотеки Книг для программситов
💼 Папка с вакансиями:
Папка Go разработчика:
Папка Python разработчика:
Папка Data Science
Папка Java разработчика
Папка C#
https://spring.io/blog/2024/01/19/spring-boot-3-2-2-available-now/
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Здесь представлены лучшие репозитории GitHub для
изучения Java и ссылки на них:
1. Awesome Java: https://github.com/akullpp/awesome-java
2. Modern Java - A Guide to Java 8: https://github.com/winterbe/java8-tutorial.
3. Java Design Patterns: https://github.com/iluwatar/java-design-patterns
4. Spring Framework: https://github.com/spring-projects/spring-framework
5. Алгоритмы: https://github.com/TheAlgorithms/Java
6. Самоучитель по Spring Boot: https://github.com/RameshMF/spring-boot-tutorial
7. Учебники по Java и Spring: https://github.com/eugenp/tutorials
8. Руководства по стилю Google: https://github.com/google/styleguide
9. Netflix - Open Source Java Projects: https://github.com/Netflix
10. Ultimate Java Resources: https://github.com/dubesar/Ultimate-Java-Resources
В этих хранилищах вы найдете множество ресурсов для тех, кто хочет научиться или улучшить свои навыки программирования на Java.
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Совет по Java🚀
Профилирование производительности
VisualVM. Анализируйте использование памяти, потребление процессора и поведение потоков для оптимизации вашего приложения.
https://visualvm.github.io
#Java #JavaMonitoring
@javatg
Профилирование производительности
Java
с помощью VisualVM. Анализируйте использование памяти, потребление процессора и поведение потоков для оптимизации вашего приложения.
https://visualvm.github.io
#Java #JavaMonitoring
@javatg
🚀 Юнит-тестирование вашей Java-архитектуры 🚀
https://archunit.org
#ArchUnit #Java #Тестирование
@javatg
@archtests
- это мощная библиотека Java, которая позволяет писать модульные тесты для обеспечения соблюдения архитектурных ограничений и правил в вашем коде.https://archunit.org
#ArchUnit #Java #Тестирование
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM