Изучаем Java. По вопросам сотрудничества: @seniorvladislav
База IT с Романом Сакутиным
Получите всё, что нужно для старта в IT от программиста с 10 летним опытом. Роман превратил легендарный Гарвардский курс в двухдневный трениг для гуманитариев и адаптировал под актуальные технологии.
Трансляции будут в эти выходные, для всех участников доступные записи, подборки книг и бесплатного материала для самообразования.
Записывайтесь бесплатно - https://ijunior.ru/free-base-it?utm_source=telegain&utm_medium=17042024&erid=LjN8KEWBZ
JMapper
JMapper — это библиотека Java для преобразования объектов, которая позволяет легко и эффективно переносить данные между объектами разных классов. Она обладает следующими преимуществами:
Простота использования: JMapper имеет простой и понятный API, основанный на аннотациях.
Эффективность: JMapper оптимизирован для производительности и может выполнять преобразования объектов очень быстро.
Гибкость: JMapper поддерживает различные типы преобразований.
#для_продвинутых
Ehcache
Ehcache — это популярная библиотека кеширования в Java, известная своей надежностью, функциональностью и простотой использования. Она используется для кэширования объектов в памяти, на диске, а также в кластерных конфигурациях.
#для_продвинутых
Infinispan
Infinispan — это масштабируемая, высокодоступная платформа для хранения данных типа ключ-значение, написанная на Java и распространяемая под свободной лицензией (Apache License 2.0). Основная область применения Infinispan — распределенный кэш, но также её применяют как KV-хранилище в базах данных типа NoSQL.
Платформа поддерживает два способа запуска: развертывание в качестве отдельно-стоящего сервера / кластера серверов и использование в виде встроенной библиотеки для расширения функций основного приложения.
#для_продвинутых
Считаешь себя экспертом в IT? Участвуй в «Цифровом марафоне» от Сбера и «Школы 21» и будь на код впереди! Миллион рублей уже ждёт тебя.
В этом масштабном конкурсе ты будешь соревноваться со специалистами по всей России. Тройка лучших поделит в финале в Москве призовой фонд в 1,8 миллионов рублей.
Но сначала нужно пройти онлайн-игру, тестирование и цифровой диктант. Начнёшь с «разминки» и покажешь свои аналитические и мягкие навыки. Далее — ответь на вопросы теста согласно своему уровню подготовки. Прослушай на диктанте техническое задание и напиши код решения.
Поспеши: 20 апреля — твой последний шанс нажать на кнопку «Хочу участвовать». Переходи на сайт и регистрируйся прямо сейчас!
«Миграция в облако: быстро и без ошибок»
Чтобы мигрировать в облако быстро, без простоев и лишних затрат, необходимо очень тщательно продумать все шаги и тщательно спланировать весь процесс. 26 апреля 16:00 МСК на вебинаре «Миграция в облако: быстро и без ошибок» команда Professional Services VK Cloud в прямом эфире расскажет:
• из каких этапов состоит миграция;
• как сделать процесс миграции прозрачным и простым;
• как мигрировать IaaS и PaaS в VK Cloud;
• что делать, если вы попали под «вендор лок»? Спойлер: «вендор лок» — не приговор. Выход есть!
• как локализовать данные и серверную инфраструктуру в России;
• как получить двойной бонус от чека Microsoft Azure, AWS и Google Cloud и бесплатно мигрировать в облако VK Cloud.
Спикеры проведут life-demo миграции наиболее популярных сервисов и инфраструктуры в VK Cloud, а также ответят на все вопросы во время Q&A-сессии.
Вебинар будет интересен специалистам ИT-подразделений компаний, разработчикам, инженерам и системным администраторам.
Зарегистрироваться
Новосибирск, 25 апреля приглашаем на митап IT Talk by Sber для Java- и DevOps-разработчиков! 🤩
Мы собрали экспертов из разных команд и городов, чтобы рассказать о технологиях и инструментах, которые увеличивают эффективность работы разработчика и всей команды.
На митапе обсудим интересные темы:
👉 Советы для оптимизации сборки Java-проектов, практики CI и автоматизации сборки приложений.
👉 Что такое код с точки зрения законодательства, кому он принадлежит и какие есть права у автора кода?
👉 Инциденты в проме: что делать и не делать, чтобы устранить инцидент, и что на самом деле происходит, когда вы видите «Сервис недоступен, повторите операцию через 5 минут или позже»?
Встречаемся 25 апреля с 17:30 до 22:00 в лофте FoodFactory: Новосибирск, ул. Коммунистическая, 14.
Регистрируйтесь по ссылке!
Жадный алгоритм
Жадный алгоритм (greedy algorithm) — это алгоритм, который на каждом шаге делает локально оптимальный выбор, в надежде, что итоговое решение будет оптимальным.
Алгоритм работает следующим образом:
Инициализируем minPrice
максимальным значением. Затем перебираем все цены акций. На каждом шаге обновляем minPrice
, если текущая цена меньше, чем minPrice
, и maxProfit, если разница между текущей ценой и minPrice
больше, чем maxProfit. Возвращаем maxProfit
.
Жадные алгоритмы могут быть очень эффективными для решения некоторых задач. Однако важно помнить, что жадный алгоритм не всегда приводит к оптимальному решению.
#для_продвинутых
RefactorFirst
RefactorFirst — это инструмент для Java-кода, помогающий определить и расставить по приоритетам классы, которые следует рефакторить в первую очередь. Он работает, сканируя код на наличие «божественных классов» (God Classes) и классов с высокой степенью связности.
«Божественных классов» — это классы, которые делают слишком много и, следовательно, являются плохо спроектированными. Они могут быть трудными для понимания, тестирования и сопровождения.
#для_продвинутых
Есть опыт backend-разработки на Java? Приглашаем принять участие в создании революционно новой core banking платформы.
ГК «Иннотех» входит в один из крупнейших* ИТ-Холдингов России. С 2020 мы разрабатываем инновации для цифровизации финансового сектора 📈.
👨🏼💻 Вместе нам предстоит работать над масштабным проектом по импортозамещению: высоконагруженные системы, передовой технологический стек (Spring Boot, Quarkus, Kotlin) и микросервисная архитектура.
Необходимые скилы:
🔹опыт работы с java от 3 лет,
🔹разработка на Java с использованием технологий SpringFramework (Cloud, Boot, AOP), Hibernate,
🔹знание и опыт применения: Stream, Optional, Collections и др., подробнее – на сайте.
Что предлагаем:
🔹интересные задачи на развитие hard-скилов
🔹быстрый оффер и фаст-трек
🔹удалёнка, ДМС и бонусы
🔹развитая культура и профессиональная команда
В нашей команде уже 13 000+ ИТ-профессионалов, и мы продолжаем расти.
📩 Успей подать заявку до 30.04!
*По версии CNews Analytics 2022, TAdviser 2021 и RAEX 2023
Реклама. ООО "ГК "ИННОТЕХ". ИНН 9703073496.
Telosys
Telosys — это генератор кода, который позволяет создавать код Java, JavaScript, Python, NodeJS, PHP, C#, JavaEE, Spring, JAX-RS, VueJS, Angular, JPA и других языков программирования. Он работает с двумя типами моделей:
— Модели баз данных: создаются на основе схемы базы данных.
— DSL-модели: проектируются с нуля с использованием текстовых файлов.
Telosys обладает возможностями создания каркасов, что позволяет генерировать CRUD-экраны или REST-бэкэнд в течение нескольких минут.
#для_продвинутых
Юнит-тесты: чек-лист методик проектирования
Смотреть статью
Зачем нужны и какие бывают блоки инициализации?
Блоки инициализации представляют собой код, заключенный в фигурные скобки и размещаемый внутри класса вне объявления методов или конструкторов.
• Существуют статические и нестатические блоки инициализации.
• Блок инициализации выполняется перед инициализацией класса загрузчиком классов или созданием объекта класса с помощью конструктора.
• Несколько блоков инициализации выполняются в порядке следования в коде класса.
• Блок инициализации способен генерировать исключения, если их объявления перечислены в throws
всех конструкторов класса.
• Блок инициализации возможно создать и в анонимном классе.
Приглашаем в Гостиную к Алисе!
«Гостиная Алисы. Не один дома» — это митап от команды Яндекса для middle+ бэкендеров: доклады о том, как устроена Алиса, Умные устройства, Беспилотные технологии и нетворкинг в неформальной обстановка
🔸 Павел Капля, руководитель продуктовой разработки Алисы. Расскажет, как запускали Новые возможности — и что пришлось изменить в нашем помощнике, чтобы заставить её думать по новому
🔸 Марат Мавлютов, руководитель службы разработки роботов-доставщиков. Объяснит, как наши роботы-доставщики видят мир вокруг себя, строят маршрут, ориентируются в толпе и проезжают светофоры
18 апреля, 19:00
Москва
Зарегистрироваться можно здесь.
Реклама ООО "Яндекс"
ИНН 7736207543
Apache POI
Apache POI – это библиотека с открытым исходным кодом для работы с форматами файлов Microsoft Office в Java.
Она позволяет читать, создавать и редактировать файлы Excel, Word, PowerPoint и другие.
#для_начинающих
therapi-runtime-javadoc - небольшая библиотека, позволяющая читать Javadoc из Java-кода во время выполнения.
https://github.com/dnault/therapi-runtime-javadoc
Больше, чем просто разработчик: начните думать как архитектор ПО на курсе от Слёрм 🤔
Архитектор приложений — это не просто человек с мощным техническим бэкграундом. Это специалист, который думает о бизнес-процессах и понимает, как грамотно масштабировать систему.
Пиши, как разработчик, думай, как архитектор — этому учит Слёрм на своём курсе «Архитектура приложений».
🧐 Чему вы научитесь?
🟠Писать чистый и понятный код
🟠Проектировать разработку ПО
🟠Улучшать качество кода с помощью алгоритмов и структур данных
В конце курса вы сможете защитить итоговый проект и получить сертификат.
🔮 Кто будет наставником?
Спикеры курса: Александр Вагнер, Senior Software Engineer в Bidease
Более 10 лет в IT, построил с нуля компанию и платформу Torrow.
Вячеслав Гагарин, Старший разработчик ПО в Retail Rocket,
более 7 лет опыта в IT.
☕️Как проходит обучение?
Курс длится 3 месяца, все материалы к нему будут открываться постепенно. Наставники будут поддерживать вас на протяжении всего обучения: отвечать на вопросы в чате студентов и проводить онлайн-встречи.
Старт 29 апреля. Присоединяйтесь!
Реклама ООО «Слёрм» ИНН 3652901451
Из джуна в мидла вместе с Холдингом Т1🚀 Приглашаем java-разработчиков в Открытые школы Т1!
🎓 Открытые школы Т1 — это новая карьерная программа для IТ-специалистов, объединяющая обучение без отрыва от работы и offer weeks.
👨💻 Для участия необходим опыт работы java-разработчиком от 1 года, а также желание присоединиться к команде Т1.
Т1 занимает 2 место среди крупнейших ИКТ-компаний по версии RAEX 2023 и является партнёром ключевых производителей и разработчиков в сфере ИТ.
В программу входит: spring framework; docker; синхронное и асинхронное взаимодействие, брокеры сообщений; паттерны, SOLID
⏰ Длительность 1 месяц.
💻 Формат: онлайн по вечерам (от 8 часов в неделю на вебинары и практику).
Лучшим назначим интервью и направим оффер!
📌 Подробнее о программе — в карточках внутри поста.
Принимаем заявки до 22 апреля! 🚀
Реклама. ООО "Т1". ИНН 7720484492.
Сортировка расческой
Сортировка расческой (Comb sort) — алгоритм сортировки, являющийся улучшенной версией сортировки пузырьком. Он работает быстрее, чем сортировка пузырьком, но медленнее, чем более продвинутые алгоритмы, такие как быстрая сортировка.
1. Начинаем с шага, равного длине массива.
2. Сравниваем элементы массива, находящиеся на расстоянии шаг друг от друга.
3. Если элемент слева больше, чем элемент справа, то мы их переставляем.
4. Уменьшаем шаг, деля его на 1.3 (или другую константу).
5. Повторяем шаги 2-4, пока шаг не станет меньше 1.
#для_продвинутых
Fluent Interface
Fluent Interface (Текучий интерфейс) — это шаблон проектирования, который позволяет создавать код, читающийся как текст на естественном языке.
Он достигается путем создания методов, которые возвращают ссылку на this
объект, позволяя вызывать их в цепочке.
#для_продвинутых
Стирание типов
Стирание типов (type erasure) — это процесс, при котором информация о типах параметризованных типов (generic types) удаляется во время компиляции и не сохраняется во время выполнения программы.
#для_начинающих
dOOv
dOOv (Domain Object Oriented Validation) — это фреймворк для Java, который позволяет легко и удобно выполнять валидацию и отображение объектов предметной области. Он использует аннотации, генерацию кода и DSL с безопасной типизацией, что делает процесс валидации и отображения быстрым и простым.
#для_продвинутых
SonarJava
SonarJava — это плагин для статического анализа кода, который используется для проверки качества кода Java. Он может обнаруживать различные проблемы, такие как ошибки кода, дублирование кода, потенциальные уязвимости безопасности и т. д.
#для_продвинутых
Lanterna
Lanterna — это библиотека Java, которая позволяет создавать простые текстовые пользовательские интерфейсы (TUI). Она может быть использована для создания различных приложений,
включая игры, утилиты и даже простые текстовые редакторы.
#для_продвинутых
Bazel
Bazel — это инструмент сборки с открытым исходным кодом, который используется для сборки и тестирования программного обеспечения на разных платформах. Он может использоваться для сборки проектов Java, а также других языков программирования, таких как C++, Python и Go.
#для_продвинутых
HyperMinHash-java
HyperMinHash-java — это библиотека Java, реализующая алгоритм HyperMinHash, который используется для
приблизительного сравнения наборов данных. Библиотека позволяет cоздавать эскизы наборов данных, cравнивать эскизы, oбъединять эскизы,
#для_продвинутых
I like techno — подкаст о технологиях в сервисах Яндекса
Запустили подкаст, где специалисты Яндекса говорят о том, как устроены простые приложения в наших гаджетах.
Первый эпизод посвящен технологиям Фудтеха — узнайте, как алгоритмы Еды и Лавки помогают доставлять продукты пользователям, несмотря на погодные условия и другие неопределенности.
Слушать на Яндекс Музыке
Смотреть на Youtube
Mockito
Mockito — это фреймворк для создания заглушек (mocks) в Java. Заглушки — это имитаторы реальных объектов, которые используются при тестировании кода.
Зачем использовать Mockito?
С помощью Mockito вы можете легко создавать заглушки для сложных объектов, что позволяет вам сосредоточиться на тестировании конкретного фрагмента кода. Также заглушки Mockito позволяют вам имитировать различные сценарии, что помогает вам написать более надежные тесты.
#для_продвинутых
Jackson
Jackson — это популярная библиотека Java для сериализации и десериализации объектов Java в различные текстовые форматы, такие как JSON, XML, YAML и CSV.
Jackson имеет простой и понятный API, что делает его доступным для начинающих разработчиков. Он работает очень быстро, что делает его идеальным выбором для высокопроизводительных приложений.
Jackson поддерживает широкий спектр функций и возможностей, что позволяет настроить его под ваши конкретные нужды. А также его можно расширить с помощью модулей для поддержки дополнительных форматов данных и функций.
#для_продвинутых
Доступ к GigaCode — AI-ассистенту разработчика!
GigaCode – это AI-помощник*, который ускоряет работу с кодом. Он поддерживает 15 языков программирования и может предлагать полные конструкции функций, циклов и других элементов кода.
AI-ассистента можно использовать в любой привычной среде разработки, такой как IDEA, PyCharm, VSCode, Jupyter и других. Он генерирует варианты завершения кода в режиме реального времени, что ускоряет и упрощает процесс работы. По опыту команд в Сбере, GigaCode поможет писать код до 25% быстрее!
GigaCode развивается вместе c сервисом GigaChat. В AI-ассистенте есть нейросетевые модели, которые обучены на больших корпусах исходного кода и специализируются на определенных задачах разработки. А по опыту команд в Сбере, GigaCode может сокращать время для создания кода до 25%.
AI-ассистент доступен для раннего использования на площадке GitVerse — платформе для работы с исходным кодом от СберТеха. Здесь можно размещать проекты с открытым и закрытым кодом, вести совместную разработку и участвовать в жизни комьюнити.
Чтобы получить доступ к GigaCode, зарегистрируйтесь на GitVerse.
*AI, artificial intelligence — искусственный интеллект