Forwarded from Библиотека C/C++ разработчика | cpp, boost, qt
⛓️ Программирование и блокчейн: что нужно знать новичку?
❗Если ты не смог купить Биткоин в 2009, но интересна эта область, не стоит переживать. Ты всё ещё сможешь попробовать себя в качестве блокчейн-разработчика и создать свою крипту😉
❗Сейчас блокчейн становится всё более популярен и уже применяется не только для реализации криптовалюты (а также например в играх)
‼️ Чтобы не потеряться в обилии информации, предлагаю к прочтению небольшую статью об разработке блокчейн-приложений, в ней ты узнаешь об основных аспектах применяемых для использования данной технологии
❗Если ты не смог купить Биткоин в 2009, но интересна эта область, не стоит переживать. Ты всё ещё сможешь попробовать себя в качестве блокчейн-разработчика и создать свою крипту😉
❗Сейчас блокчейн становится всё более популярен и уже применяется не только для реализации криптовалюты (а также например в играх)
‼️ Чтобы не потеряться в обилии информации, предлагаю к прочтению небольшую статью об разработке блокчейн-приложений, в ней ты узнаешь об основных аспектах применяемых для использования данной технологии
🤔🤔 Разбираемся с динамической памятью (кучей) в приложениях Java
В самом ли деле каждый Java-разработчик понимает, как в Java работает память? Одна из обязанностей любого Java-разработчика — гарантировать, что в результате тонкой настройки приложения на Java из него получится выжать такую производительность, какую только возможно. Требуется время, чтобы научиться управлять памятью в Java и понять этот процесс, это касается всех, кто имеет дело с Java. В этой статье автор попробует объяснить, как овладеть этими умениями.
Продолжение тут
#почитать
В самом ли деле каждый Java-разработчик понимает, как в Java работает память? Одна из обязанностей любого Java-разработчика — гарантировать, что в результате тонкой настройки приложения на Java из него получится выжать такую производительность, какую только возможно. Требуется время, чтобы научиться управлять памятью в Java и понять этот процесс, это касается всех, кто имеет дело с Java. В этой статье автор попробует объяснить, как овладеть этими умениями.
Продолжение тут
#почитать
Forwarded from Библиотека задач по Java | тесты, код, задания
Forwarded from Библиотека задач по Java | тесты, код, задания
Forwarded from Библиотека C/C++ разработчика | cpp, boost, qt
🙀 Опросик
Хотим узнать, на какие на какие ссылки/статьй вы переходили в последнее время из Telegram? Речь идёт не только о наших статьях и ссылках, а о любых)
👇 Пишите ответы в комментариях в стиле «был пост со статьёй такой-то, я её открыл и почитал»
Хотим узнать, на какие на какие ссылки/статьй вы переходили в последнее время из Telegram? Речь идёт не только о наших статьях и ссылках, а о любых)
👇 Пишите ответы в комментариях в стиле «был пост со статьёй такой-то, я её открыл и почитал»
Очередной #дайджест по java
❌ Иерархия в PostgreSQL. Doobie vs Skunk — сравнение Doobie и Skunk в задаче по работе с иерархиями сущностей
❌ JEP 447: Statements before super(...) — позволяет добавлять инструкции перед вызовом super в конструкторах
❌ Отправка сообщения в несколько слушателей Kafka одновременно — несколько слушателей будут получать одно и то же сообщение, от одного и того же отправителя сообщений, в данной реализации решения
❌ Инциденты с авторизацией: уменьшаем радиус поражения — разбор и разговоры о постмортемах команды, занимающейся сервисом аутентификации
❌ Усовершенствование безопасности JDK 22 — содержит улучшения безопасности, сгруппированные по категориям: крипто, TLS и так далее
❌ Иерархия в PostgreSQL. Doobie vs Skunk — сравнение Doobie и Skunk в задаче по работе с иерархиями сущностей
❌ JEP 447: Statements before super(...) — позволяет добавлять инструкции перед вызовом super в конструкторах
❌ Отправка сообщения в несколько слушателей Kafka одновременно — несколько слушателей будут получать одно и то же сообщение, от одного и того же отправителя сообщений, в данной реализации решения
❌ Инциденты с авторизацией: уменьшаем радиус поражения — разбор и разговоры о постмортемах команды, занимающейся сервисом аутентификации
❌ Усовершенствование безопасности JDK 22 — содержит улучшения безопасности, сгруппированные по категориям: крипто, TLS и так далее
Forwarded from Библиотека собеса по Java | вопросы с собеседований
Что может произойти если два потока будут выполнять один и тот же код в программе?
В многопоточных приложениях возможны ситуации, когда два или более потока пытаются получить доступ и изменить общие данные одновременно.
Это может привести к непредсказуемому поведению и ошибкам, таким как race condition или deadlock.
Чтобы избежать таких проблем, нужно предотвратить одновременный доступ к общим данным с помощью синхронизации, например используя мониторы или блокировки.
Также полезны инструменты высокого уровня для синхронизации, такие как семафоры, очереди производителя-потребителя и другие коллекции из java.util.concurrent.
Важно тщательно продумывать доступ к общим данным в многопоточных приложениях, чтобы избежать некорректного поведения. Хороший дизайн многопоточности поможет создать надежное и эффективное приложение.
В многопоточных приложениях возможны ситуации, когда два или более потока пытаются получить доступ и изменить общие данные одновременно.
Это может привести к непредсказуемому поведению и ошибкам, таким как race condition или deadlock.
Чтобы избежать таких проблем, нужно предотвратить одновременный доступ к общим данным с помощью синхронизации, например используя мониторы или блокировки.
Также полезны инструменты высокого уровня для синхронизации, такие как семафоры, очереди производителя-потребителя и другие коллекции из java.util.concurrent.
Важно тщательно продумывать доступ к общим данным в многопоточных приложениях, чтобы избежать некорректного поведения. Хороший дизайн многопоточности поможет создать надежное и эффективное приложение.
🤩🤩 Принципы SOLID, только понятно
При написании кода программисту следует руководствоваться определенными правилами. Часто эти правила написаны если не кровью, то слезами разработчиков, которые потом стараются исправить ваш код. Если это вообще возможно :)
Принципы S.O.L.I.D. — это 5 принципов, которые желательно принять во внимание программисту. В этой серии постов мы рассмотрим их один за другим. Принципы справедливы почти для любого современного ЯП.
👉 Single Responsibility Principle — принцип единственной ответственности
👉 Open Closed Principle — принцип открытости-закрытости
👉 Liskov Substitution Principle — принцип подстановки Барбары Лисков
👉 Interface Segregation Principle — принцип разделения интерфейса
👉 Dependency Inversion Principle — принцип инверсии зависимостей
Продолжение тут
#туториал
При написании кода программисту следует руководствоваться определенными правилами. Часто эти правила написаны если не кровью, то слезами разработчиков, которые потом стараются исправить ваш код. Если это вообще возможно :)
Принципы S.O.L.I.D. — это 5 принципов, которые желательно принять во внимание программисту. В этой серии постов мы рассмотрим их один за другим. Принципы справедливы почти для любого современного ЯП.
👉 Single Responsibility Principle — принцип единственной ответственности
👉 Open Closed Principle — принцип открытости-закрытости
👉 Liskov Substitution Principle — принцип подстановки Барбары Лисков
👉 Interface Segregation Principle — принцип разделения интерфейса
👉 Dependency Inversion Principle — принцип инверсии зависимостей
Продолжение тут
#туториал
👉👉 Перемещение указателя на смещение в Kafka
В статье описывается задача, в которой необходимо слушать сообщения с определенного смещения(offset) в Kafka. Для решения данной задачи потребуется интерфейс ConsumerSeekAware и найти позицию с которой нужно начать слушание. Так же необходимо будет создать механизм перезапуска слушателя сообщений Kafka. В примерах кода используются Java и Spring фреймворк.
Читать статью
#туториал
В статье описывается задача, в которой необходимо слушать сообщения с определенного смещения(offset) в Kafka. Для решения данной задачи потребуется интерфейс ConsumerSeekAware и найти позицию с которой нужно начать слушание. Так же необходимо будет создать механизм перезапуска слушателя сообщений Kafka. В примерах кода используются Java и Spring фреймворк.
Читать статью
#туториал
Декартово произведение
Декартово произведение (cartesian product) в математике означает комбинацию всех возможных пар элементов из двух множеств. В Java это понятие может использоваться для описания ситуации, когда необходимо создать все возможные комбинации элементов из двух или более наборов данных.
Например, представьте, что у вас есть два множества: A = {1, 2} и B = {a, b}. Декартово произведение этих множеств будет: {(1, a), (1, b), (2, a), (2, b)}.
Проблема декартова произведения может возникнуть, когда вам нужно сгенерировать или обработать все возможные комбинации элементов из двух или более коллекций.
Для решения проблемы декартова произведения можно использовать вложенные циклы, рекурсию или специализированные библиотеки, такие как Apache Commons Collections или Stream API, чтобы более эффективно генерировать и обрабатывать комбинации элементов из разных множеств.
Декартово произведение (cartesian product) в математике означает комбинацию всех возможных пар элементов из двух множеств. В Java это понятие может использоваться для описания ситуации, когда необходимо создать все возможные комбинации элементов из двух или более наборов данных.
Например, представьте, что у вас есть два множества: A = {1, 2} и B = {a, b}. Декартово произведение этих множеств будет: {(1, a), (1, b), (2, a), (2, b)}.
Проблема декартова произведения может возникнуть, когда вам нужно сгенерировать или обработать все возможные комбинации элементов из двух или более коллекций.
Для решения проблемы декартова произведения можно использовать вложенные циклы, рекурсию или специализированные библиотеки, такие как Apache Commons Collections или Stream API, чтобы более эффективно генерировать и обрабатывать комбинации элементов из разных множеств.
Forwarded from Библиотека собеса по Java | вопросы с собеседований
Worker Thread
Worker Thread (рабочий поток) — это обычный поток, который выполняет задачи в фоновом режиме, отдельно от главного потока приложения.
Использование Worker Thread:
— Worker Threadы отлично подходят для выполнения длительных задач, которые не должны блокировать главный поток.
— Отделение длительных задач от главного потока позволяет сохранить отзывчивость интерфейса пользователя.
— Распределение задач между несколькими Worker Threadами может повысить производительность приложения, особенно на многоядерных процессорах.
Worker Thread (рабочий поток) — это обычный поток, который выполняет задачи в фоновом режиме, отдельно от главного потока приложения.
Использование Worker Thread:
— Worker Threadы отлично подходят для выполнения длительных задач, которые не должны блокировать главный поток.
— Отделение длительных задач от главного потока позволяет сохранить отзывчивость интерфейса пользователя.
— Распределение задач между несколькими Worker Threadами может повысить производительность приложения, особенно на многоядерных процессорах.
🦾🧠🏋️Качаем мозги к лету!
Курс «Алгоритмы и структуры данных» для тех, кто хочет научиться работать с алгоритмами, подготовиться к собеседованию крупную IT-компанию и начать брать более сложные проекты.
➡️ Алгоритмы и структуры данных35 990 ₽ 21 594 ₽
⭐️ Переходите и активируйте бесплатные вводные занятия курса — https://proglib.io/w/da6727d1
Вас ждут:
– 150 практических заданий и 47 видеолекций
– бессрочный доступ к обучению
– поддержка преподавателя в чате
А также очень харизматичный спикер из Яндекса 🙌🏻
Курс «Алгоритмы и структуры данных» для тех, кто хочет научиться работать с алгоритмами, подготовиться к собеседованию крупную IT-компанию и начать брать более сложные проекты.
➡️ Алгоритмы и структуры данных
⭐️ Переходите и активируйте бесплатные вводные занятия курса — https://proglib.io/w/da6727d1
Вас ждут:
– 150 практических заданий и 47 видеолекций
– бессрочный доступ к обучению
– поддержка преподавателя в чате
А также очень харизматичный спикер из Яндекса 🙌🏻
Очередной #дайджест для джависта
➕ Kafka Visualization Showcase — пошаговое объяснение, как моделировать поток данных в реплицированных разделах Kafka
➕ Byte Pack — либа для сериализации-десериализации case class в IArray[Byte]
➕ Spring Modulith 1.2 M3 — релиз принес поддержку открытых модулей, также добавили возможность использовать аннотации уровня конфигураций
➕ Gradle Release Notes — поддержка Java 22 и еще несколько новостей
➕ Как начать писать на Java в VSCode — подавляющее большинство пишет Java код, используя JetBrains IntelliJ IDEA Ultimate. Тогда зачем пробовать что‑то другое?
➕ Kafka Visualization Showcase — пошаговое объяснение, как моделировать поток данных в реплицированных разделах Kafka
➕ Byte Pack — либа для сериализации-десериализации case class в IArray[Byte]
➕ Spring Modulith 1.2 M3 — релиз принес поддержку открытых модулей, также добавили возможность использовать аннотации уровня конфигураций
➕ Gradle Release Notes — поддержка Java 22 и еще несколько новостей
➕ Как начать писать на Java в VSCode — подавляющее большинство пишет Java код, используя JetBrains IntelliJ IDEA Ultimate. Тогда зачем пробовать что‑то другое?
Что такое «IS-A» отношение?
Такое отношение относится к понятию наследования и полиморфизма в ООП. Оно также называется «является типом» или «является подтипом». Это отношение указывает на то, что один класс является подклассом другого класса.
Наследование позволяет создавать новый класс на основе существующего класса. Подкласс наследует поля и методы суперкласса, что позволяет расширять функциональность и переиспользовать код. «IS-A» отношение означает, что объекты подкласса могут быть рассматриваемыми как объекты суперкласса, так как они наследуют его свойства и методы.
Такое отношение относится к понятию наследования и полиморфизма в ООП. Оно также называется «является типом» или «является подтипом». Это отношение указывает на то, что один класс является подклассом другого класса.
Наследование позволяет создавать новый класс на основе существующего класса. Подкласс наследует поля и методы суперкласса, что позволяет расширять функциональность и переиспользовать код. «IS-A» отношение означает, что объекты подкласса могут быть рассматриваемыми как объекты суперкласса, так как они наследуют его свойства и методы.
Forwarded from Библиотека задач по Java | тесты, код, задания
Forwarded from Библиотека задач по Java | тесты, код, задания