Forwarded from Библиотека собеса по Java | вопросы с собеседований
Локальные переменные в лямбда-выражениях
Java позволяет использовать локальные переменные внутри лямбда-выражений, но с одним важным ограничением: переменные должны быть эффективно финальными (effectively final).
Это означает, что после их инициализации переменные не могут быть изменены.
Использование локальных переменных в лямбда-выражениях может быть очень полезным для передачи дополнительных данных в лямбда-выражения
Java позволяет использовать локальные переменные внутри лямбда-выражений, но с одним важным ограничением: переменные должны быть эффективно финальными (effectively final).
Это означает, что после их инициализации переменные не могут быть изменены.
Использование локальных переменных в лямбда-выражениях может быть очень полезным для передачи дополнительных данных в лямбда-выражения
#дайджест перед выходными
⬅️ Hibernate WITH RECURSIVE query — статья посвящена запросам WITH RECURSIVE в Hibernate, как они работают и как могут быть использованы для иерархических структур данных.
⬅️ How to Identify Dependencies in Your Codebase During Microservices Migration — туториал о миграции с монолита на микросервисы с использованием Digma для сбора информации о зависимостях внутри кодовой базы
⬅️ Генерация HTTP клиентов для Spring Boot приложения по OpenAPI спецификации — в руководстве объясняют, как генерировать код HTTP клиентов для Spring Boot, используя плагин openapi-generator для Gradle
⬅️ Scalatra — крошечный веб-фреймворк, похожий на Sinatra, для Scala
⬅️ Разработка Java-проекта с ChatGPT-4 — от идеи до реализации
⬅️ Hibernate WITH RECURSIVE query — статья посвящена запросам WITH RECURSIVE в Hibernate, как они работают и как могут быть использованы для иерархических структур данных.
⬅️ How to Identify Dependencies in Your Codebase During Microservices Migration — туториал о миграции с монолита на микросервисы с использованием Digma для сбора информации о зависимостях внутри кодовой базы
⬅️ Генерация HTTP клиентов для Spring Boot приложения по OpenAPI спецификации — в руководстве объясняют, как генерировать код HTTP клиентов для Spring Boot, используя плагин openapi-generator для Gradle
⬅️ Scalatra — крошечный веб-фреймворк, похожий на Sinatra, для Scala
⬅️ Разработка Java-проекта с ChatGPT-4 — от идеи до реализации
Forwarded from Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
🎮🚀 Saturated Outer Space: как инди-разработчики перезапускают игру и бросают вызов жанровым стереотипам
Разработчики S.O.S. рассказывают, как создавать и продвигать инди-игру с нулевым бюджетом и что делать, если не хватает ресурсов продолжать дальше.
👉 Статья
👉 Группа игры ВК
👉 Стим
Разработчики S.O.S. рассказывают, как создавать и продвигать инди-игру с нулевым бюджетом и что делать, если не хватает ресурсов продолжать дальше.
👉 Статья
👉 Группа игры ВК
👉 Стим
Привет, друзья! 👋
Мы готовим статью о возможном снижении уровня знаний среди IT-специалистов и хотим узнать ваше мнение. Поделитесь своими мыслями, ответив на следующие вопросы:
Как вы оцениваете уровень знаний современных IT-специалистов по сравнению с их предшественниками 10-15 лет назад? 🤔
- Значительно снизился 📉
- Немного снизился 🔻
- Остался на том же уровне ➡️
- Немного повысился 🔼
- Значительно повысился 📈
Какие факторы, по вашему мнению, наиболее сильно влияют на уровень знаний IT-специалистов сегодня? (выберите до 3 вариантов) 🧠
- Качество образования в вузах 🎓
- Доступность онлайн-курсов и самообучения 💻
- Требования рынка труда 💼
- Развитие технологий и инструментов разработки 🛠️
- Влияние социальных сетей и информационного шума 📱
- Отток квалифицированных специалистов ✈️
- Другое (укажите в комментариях) 🗨️
Как вы считаете, что нужно сделать для повышения уровня знаний IT-специалистов? 💡
Поделитесь своими идеями в комментариях! Самые интересные и конструктивные предложения мы обязательно включим в нашу статью. Спасибо за участие! 🙏
Мы готовим статью о возможном снижении уровня знаний среди IT-специалистов и хотим узнать ваше мнение. Поделитесь своими мыслями, ответив на следующие вопросы:
Как вы оцениваете уровень знаний современных IT-специалистов по сравнению с их предшественниками 10-15 лет назад? 🤔
- Значительно снизился 📉
- Немного снизился 🔻
- Остался на том же уровне ➡️
- Немного повысился 🔼
- Значительно повысился 📈
Какие факторы, по вашему мнению, наиболее сильно влияют на уровень знаний IT-специалистов сегодня? (выберите до 3 вариантов) 🧠
- Качество образования в вузах 🎓
- Доступность онлайн-курсов и самообучения 💻
- Требования рынка труда 💼
- Развитие технологий и инструментов разработки 🛠️
- Влияние социальных сетей и информационного шума 📱
- Отток квалифицированных специалистов ✈️
- Другое (укажите в комментариях) 🗨️
Как вы считаете, что нужно сделать для повышения уровня знаний IT-специалистов? 💡
Поделитесь своими идеями в комментариях! Самые интересные и конструктивные предложения мы обязательно включим в нашу статью. Спасибо за участие! 🙏
Forwarded from Библиотека devops’а
🌐 9 основных паттернов для проектирования распределенных систем
В этой статье мы рассмотрим 9 основных паттернов и области их применения, что поможет вам в проектировании высоконагруженных приложений.
Читать статью
В этой статье мы рассмотрим 9 основных паттернов и области их применения, что поможет вам в проектировании высоконагруженных приложений.
Читать статью
1722832257768 (1).gif
4.4 MB
10 важнейших компонентов веб-приложения
1. CI/CD pipelines: Все начинается с непрерывной интеграции и доставки (Jenkins, GitHub).
2. Запросы пользователей: После разрешения DNS запросы поступают на сервера.
3. Балансировщики: Равномерно распределяют запросы между серверами (Nginx, HAProxy).
4. CDN: Запросы могут обслуживаться через сеть доставки контента.
5. API: Веб-приложение взаимодействует с бекендами через API.
6. Базы данных и кэши: Бекенды взаимодействуют с базами данных или кэшами для получения данных.
7. Очереди задач: Большие задачи отправляются на воркеры с помощью очередей.
8. Поисковые службы: Поиск поддерживается службами полнотекстового поиска (Elasticsearch, Apache Solr).
9. Мониторинг и логирование: Хранение логов помогает анализировать данные, чтобы убедиться, что все работает исправно (Sentry, Grafana, Prometheus).
10. Службы оповещения: Уведомляют разработчиков о проблемах для быстрого реагирования.
💬 Какие еще компоненты вы добавили бы в архитектуру производственного веб-приложения?
1. CI/CD pipelines: Все начинается с непрерывной интеграции и доставки (Jenkins, GitHub).
2. Запросы пользователей: После разрешения DNS запросы поступают на сервера.
3. Балансировщики: Равномерно распределяют запросы между серверами (Nginx, HAProxy).
4. CDN: Запросы могут обслуживаться через сеть доставки контента.
5. API: Веб-приложение взаимодействует с бекендами через API.
6. Базы данных и кэши: Бекенды взаимодействуют с базами данных или кэшами для получения данных.
7. Очереди задач: Большие задачи отправляются на воркеры с помощью очередей.
8. Поисковые службы: Поиск поддерживается службами полнотекстового поиска (Elasticsearch, Apache Solr).
9. Мониторинг и логирование: Хранение логов помогает анализировать данные, чтобы убедиться, что все работает исправно (Sentry, Grafana, Prometheus).
10. Службы оповещения: Уведомляют разработчиков о проблемах для быстрого реагирования.
💬 Какие еще компоненты вы добавили бы в архитектуру производственного веб-приложения?
Forwarded from Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
😨 Страх ошибок: как он мешает вам писать код
Страх совершить ошибку при внесении изменений в код может серьезно ограничивать профессиональный рост программиста. Как преодолеть этот психологический барьер и стать более эффективным разработчиком? Ответы — в нашей статье.
Страх совершить ошибку при внесении изменений в код может серьезно ограничивать профессиональный рост программиста. Как преодолеть этот психологический барьер и стать более эффективным разработчиком? Ответы — в нашей статье.
Ещё и Илон Маск
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Книги для программистов
🔸 Java для опытных разработчиков
Книга раскрывает внутренние механизмы работы языка. Она предлагает уникальные главы по конкурентному выполнению, сборке и развертыванию современных проектов, а также отдельные разделы, посвященные альтернативным языкам для JVM, таким как Kotlin и Clojure. Эта книга поможет вам не только овладеть передовыми методологиями разработки ПО, но и освоить принципы функционального программирования и оптимизации быстродействия, что делает её незаменимым инструментом для профессионального роста.
🔸Java: устранение проблем
Книга предоставляет практические методы для анализа и улучшения незнакомого кода, помогая разработчикам выявлять скрытые зависимости и устранять критические сбои в Java-приложениях. Идеально подходит для продвинутых разработчиков, желающих глубже понять процессы профилирования и отладки.
🔸 Реактивное программирование с применением RxJava
Книга подробно и практично раскрывает принципы реактивного программирования на примере RxJava, помогая Java-программистам создавать более надежные, масштабируемые и быстрые программы. Авторы делятся реальными примерами и стратегиями, что делает книгу ценным ресурсом как для новичков, так и для опытных разработчиков, стремящихся освоить эту перспективную парадигму.
🔸 97 вещей, о которых должен знать каждый Java-программист.
Книга объединяет мнения и советы нескольких десятков опытных Java-разработчиков, создавая единое руководство для начинающих программистов. Читатели найдут подробные инструкции по основным темам работы с Java, а также истории профессионального роста от экспертов. Книга служит отличным путеводителем для тех, кто хочет глубже погрузиться в мир Java-программирования.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Свежий #дайджест по Java
👩💻 Compose Desktop ShadowJar — статья посвящена созданию автономного JAR-файла для приложений на Compose Desktop с использованием ShadowJar и ProGuard.
👩💻 Состояние Spring в 2024 году — статья обсуждает последние тенденции в разработке программного обеспечения на платформе Spring, выделяя ключевые изменения и вызовы, с которыми сталкиваются разработчики.
👩💻 Нахождение сильно преобладающего элемента последовательности >n/2 (алгоритм большинства голосов Бойера-Мура) — статья рассматривает задачу "Majority Element" с LeetCode и сравнивает решение с использованием хэш-таблицы с более эффективным по пространственной сложности алгоритмом Бойера-Мура.
👩💻 Вышел Hibernate 7.0.0.Beta1 — статья рассказывает о выпуске обновления Hibernate 7.0.0.Beta1, которое включает в себя изменения и улучшения, такие как переход на новую версию технологии, улучшение проверки моделей и более строгие требования.
Please open Telegram to view this post
VIEW IN TELEGRAM
1723006850012 (1).gif
2 MB
Тестирование играет важнейшую роль в обеспечении качества и надежности ваших приложений. Пять популярных фреймворков для тестирования:
1. JUnit:
🔹 Используется для модульного тестирования.
🔹 Простой, удобный в использовании и легко интегрируется с инструментами разработки.
🔹 Идеален для написания и запуска повторяемых тестов, обеспечивая правильное функционирование отдельных частей кода.
2. TestNG:
🔹 Поддерживает различные категории тестирования.
🔹 Гибкий, масштабируемый и подходит как для простых, так и для сложных тестов.
🔹 Предлагает расширенные функции, такие как параллельное тестирование, тестирование на основе данных и подробные отчеты.
3. Mockito:
🔹 Фреймворк для создания мок-объектов в модульных тестах.
🔹 Легкость в использовании, уменьшение шаблонного кода и интеграция с JUnit/TestNG.
🔹 Позволяет разработчикам тестировать части кода изолированно, не полагаясь на внешние зависимости.
4. Selenium:
🔹 Фреймворк для автоматизации веб-браузеров.
🔹 Поддержка кроссплатформенности, интеграция с TestNG/JUnit и активная поддержка сообщества.
🔹 Обеспечивает правильное функционирование веб-интерфейсов на разных браузерах и платформах.
5. Cucumber:
🔹 Инструмент для разработки на основе BDD.
🔹 Улучшает коммуникацию с нетехническими заинтересованными сторонами.
🔹 Использует спецификации на простом языке для написания тестов, что позволяет заказчику лучше понимать тестовые кейсы.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека C/C++ разработчика | cpp, boost, qt
💻 15 продвинутых лайфхаков для работы в терминале Linux
Рассказываем, как использовать малоизвестные, но мощные инструменты терминала: от редактирования длинных команд в текстовом редакторе до автоматизации сложных процессов с помощью tmux.
👉 Ссылка
Рассказываем, как использовать малоизвестные, но мощные инструменты терминала: от редактирования длинных команд в текстовом редакторе до автоматизации сложных процессов с помощью tmux.
👉 Ссылка