IT Собеседование: Алгоритмы
В этом видео я собрал из своего опыта несколько рекомендаций как проходить собеседование по алгоритмам.
https://www.youtube.com/watch?v=72jqTtfw2z4
В этом видео я собрал из своего опыта несколько рекомендаций как проходить собеседование по алгоритмам.
https://www.youtube.com/watch?v=72jqTtfw2z4
YouTube
IT Собеседование: Алгоритмы
В этом видео я собрал из своего опыта несколько рекомендаций как проходить собеседование по алгоритмам.
TOP 10 алгоритмов для интервью: http://www.programcreek.com/2012/11/top-10-algorithms-for-coding-interview/
Поддержи канал! https://seniorsoftwarevl…
TOP 10 алгоритмов для интервью: http://www.programcreek.com/2012/11/top-10-algorithms-for-coding-interview/
Поддержи канал! https://seniorsoftwarevl…
Всем привет! Меня зовут Роман Аймалетдинов и я разрабатываю клиентское приложение Ситимобил. Решил написать небольшую серию из трех статей по JNI, так как технология используется редко, но иногда она бывает очень полезной. Несмотря на то, что я разрабатываю классические приложения под Android, иногда хочется посмотреть технологии рядом со своей специализацией.
JNI Часть 1
JNI Часть 2: Примеры
JNI, часть 3: производительность Java/JNI/NDK
JNI Часть 1
JNI Часть 2: Примеры
JNI, часть 3: производительность Java/JNI/NDK
👍3
25 самых используемых регулярных выражений в Java
Список из 25 регулярных выражений в Java, без которых не обойтись ни новичку, ни профессиональному разработчику. С примерами.
Подробнее
Список из 25 регулярных выражений в Java, без которых не обойтись ни новичку, ни профессиональному разработчику. С примерами.
Подробнее
👍4
Helidon: простой и быстрый Java фреймворк
Современная разработка веб приложений зачастую основывается на использовании фреймворка Spring. Spring имеет большое количество модулей и готовых удобных решений, но время идет, и мир JVM меняется. Наиболее известными решениями для web-приложений являются следующие фреймворки:
Helidon
Micronaut
Quarkus
Подробнее
Современная разработка веб приложений зачастую основывается на использовании фреймворка Spring. Spring имеет большое количество модулей и готовых удобных решений, но время идет, и мир JVM меняется. Наиболее известными решениями для web-приложений являются следующие фреймворки:
Helidon
Micronaut
Quarkus
Подробнее
🔥3
Forwarded from Академия Кода
RestController
Аннотация RestController совмещает в себе аннотации Controller и ResponseBody. Первая указывает, что данный класс играет роль контроллера. Вторая указывает, что тип возврата должен быть записан прямо в тело ответа HTTP. RestController устраняет необходимость использования ResponseBody, так как запись в тело происходит автоматически.
Подписывайтесь на канал 👉@coddy_academy
#java
Аннотация RestController совмещает в себе аннотации Controller и ResponseBody. Первая указывает, что данный класс играет роль контроллера. Вторая указывает, что тип возврата должен быть записан прямо в тело ответа HTTP. RestController устраняет необходимость использования ResponseBody, так как запись в тело происходит автоматически.
Подписывайтесь на канал 👉@coddy_academy
#java
Lombok + JPA: Что может пойти не так?
Lombok — это отличный инструмент, с которым Java-код становится чище и лаконичнее. Однако есть несколько нюансов, которые надо учитывать при его использовании с JPA. В этой статье мы выясним, как неправильное применение Lombok может повлиять на производительность приложений или даже привести к ошибкам. Разберемся, как этого избежать не теряя преимуществ Lombok.
Подробнее
Lombok — это отличный инструмент, с которым Java-код становится чище и лаконичнее. Однако есть несколько нюансов, которые надо учитывать при его использовании с JPA. В этой статье мы выясним, как неправильное применение Lombok может повлиять на производительность приложений или даже привести к ошибкам. Разберемся, как этого избежать не теряя преимуществ Lombok.
Подробнее
Что учить новичку в Android: Java vs Kotlin? Мобильный разработчик
https://www.youtube.com/watch?v=C04KnNj_1IU
https://www.youtube.com/watch?v=C04KnNj_1IU
YouTube
Что учить новичку в Android: Java vs Kotlin? Мобильный разработчик [Ru, Android]
Мой курс по Kotlin Multiplatform: https://boosty.to/mobiledev/posts/942f2091-f2fd-4462-8ed4-e7f03efe645a?share=post_link
Что внутри курса по Kotlin Multiplatform: https://youtu.be/3zwKxNebi0U
Один из самых частых вопросов новичков в Android это с чего мне…
Что внутри курса по Kotlin Multiplatform: https://youtu.be/3zwKxNebi0U
Один из самых частых вопросов новичков в Android это с чего мне…
Способы хранения деревьев в реляционных базах данных c использованием ORM Hibernate
Здравствуйте! В этой статье, я постараюсь кратко рассказать о четырёх достаточно известных способах хранения деревьев с указанием преимуществ и недостатков.
Подробнее
Здравствуйте! В этой статье, я постараюсь кратко рассказать о четырёх достаточно известных способах хранения деревьев с указанием преимуществ и недостатков.
Подробнее
💥Прими участие в онлайн-хакатоне «ТФ Альянс» с призовым фондом 500 000 рублей
С 11 по 13 марта 2022 платформа токенизации проектных ИТ-команд «ТФ Альянс» проведет онлайн-хакатон для студентов и молодых IT-специалистов. Участники мероприятия поборются за призовой фонд в размере 500 тысяч рублей, а также за 3-х дневное бесплатное проживание в HackerHome в Иннополисе, городе высоких технологий.
Командам предстоит за 48 часов решить одну из трех задач на выбор с применением Data Science, Python и Blockchain:
👉 разработать робота-ассистента на основе Telegram-бота для тематической буферизации сообщений;
👉 создать систему учета метрик для оценки эффективности работы специалистов и команд в проектных задачах;
👉 разработать инструмент для обеспечения взаимосвязи блокчейнов реестра транзакций и реестра состояний.
После разработки прототипа участники продемонстрируют его работоспособность перед членами жюри в рамках финальной питч-сессии.
🕛‼️Для участия нужно подать заявку до 23:59 9 марта 2022 года на сайте.
Результаты будут объявлены 13 марта.
Хакатон приурочен к вступлению «ТФ Альянс» в сообщество Инновационного научно-технологического центра МГУ «Воробьевы горы». Компания планирует работать над инновационными проектами в сфере ИТ-услуг.
С 11 по 13 марта 2022 платформа токенизации проектных ИТ-команд «ТФ Альянс» проведет онлайн-хакатон для студентов и молодых IT-специалистов. Участники мероприятия поборются за призовой фонд в размере 500 тысяч рублей, а также за 3-х дневное бесплатное проживание в HackerHome в Иннополисе, городе высоких технологий.
Командам предстоит за 48 часов решить одну из трех задач на выбор с применением Data Science, Python и Blockchain:
👉 разработать робота-ассистента на основе Telegram-бота для тематической буферизации сообщений;
👉 создать систему учета метрик для оценки эффективности работы специалистов и команд в проектных задачах;
👉 разработать инструмент для обеспечения взаимосвязи блокчейнов реестра транзакций и реестра состояний.
После разработки прототипа участники продемонстрируют его работоспособность перед членами жюри в рамках финальной питч-сессии.
🕛‼️Для участия нужно подать заявку до 23:59 9 марта 2022 года на сайте.
Результаты будут объявлены 13 марта.
Хакатон приурочен к вступлению «ТФ Альянс» в сообщество Инновационного научно-технологического центра МГУ «Воробьевы горы». Компания планирует работать над инновационными проектами в сфере ИТ-услуг.
👍1
О чем говорит ключевое слово final?
Модификатор final может применяться к переменным, параметрам методов, полям и методам класса или самим классам.
• Класс не может иметь наследников;
• Метод не может быть переопределен в классах наследниках;
• Поле не может изменить свое значение после инициализации;
• Параметры методов не могут изменять своё значение внутри метода;
• Локальные переменные не могут быть изменены после присвоения им значения.
Модификатор final может применяться к переменным, параметрам методов, полям и методам класса или самим классам.
• Класс не может иметь наследников;
• Метод не может быть переопределен в классах наследниках;
• Поле не может изменить свое значение после инициализации;
• Параметры методов не могут изменять своё значение внутри метода;
• Локальные переменные не могут быть изменены после присвоения им значения.
👍3🤯2
Forwarded from Академия Кода
Модификация ArrayList
Для добавления элементов используется add(). В скобочках указывается элемент, который мы хотим добавить. Чтобы удалить элемент, пишем remove(). В скобочках можно писать как сам элемент, который мы хотим удалить, так и его индекс.
#java
Подписывайтесь на канал 👉@coddy_academy
Для добавления элементов используется add(). В скобочках указывается элемент, который мы хотим добавить. Чтобы удалить элемент, пишем remove(). В скобочках можно писать как сам элемент, который мы хотим удалить, так и его индекс.
#java
Подписывайтесь на канал 👉@coddy_academy
👍5👎2😁1🤯1
Как создать REST API - Spring Boot и Ballerina
https://medium.com/ballerina-techblog/how-to-create-a-rest-api-spring-boot-and-ballerina-cc85477e22c8
https://medium.com/ballerina-techblog/how-to-create-a-rest-api-spring-boot-and-ballerina-cc85477e22c8
🔥 Senior Backend Hiring Week: оффер в EPAM за 24 часа и welcome-бонус!
Мы приглашаем опытных Java-разработчиков присоединиться к команде EPAM за 24 часа. Никаких многодневных интервью - мы ценим ваше и свое время, поэтому вы пообщаетесь только с теми, кто имеет непосредственное отношение к проектам. Если мы подходим друг другу, вы получите оффер в течение суток, а еще дополнительный welcome-бонус в размере оклада.
Преимущества работы в EPAM:
📌 Вы сможете поработать с крупными международными проектами из разных отраслей: медицины, финтеха, торговли, Life Sciences, Big Data.
📌 Мы помогаем пройти сертификацию (AWS, Azure, GCP) и предлагаем программы повышения квалификации – Delivery Management School и Solution Architecture School.
📌 Карьерный рост в треке Advanced Software Engineer, если вы любите писать код и не видите себя в роли менеджера.
📌 Гибкость в выборе проектов и задач, ориентированную на интересы и цели развития каждого разработчика.
Ждем вас в EPAM!
Зарегистрироваться: epa.ms/senior-backend-hiring-week-9
Мы приглашаем опытных Java-разработчиков присоединиться к команде EPAM за 24 часа. Никаких многодневных интервью - мы ценим ваше и свое время, поэтому вы пообщаетесь только с теми, кто имеет непосредственное отношение к проектам. Если мы подходим друг другу, вы получите оффер в течение суток, а еще дополнительный welcome-бонус в размере оклада.
Преимущества работы в EPAM:
📌 Вы сможете поработать с крупными международными проектами из разных отраслей: медицины, финтеха, торговли, Life Sciences, Big Data.
📌 Мы помогаем пройти сертификацию (AWS, Azure, GCP) и предлагаем программы повышения квалификации – Delivery Management School и Solution Architecture School.
📌 Карьерный рост в треке Advanced Software Engineer, если вы любите писать код и не видите себя в роли менеджера.
📌 Гибкость в выборе проектов и задач, ориентированную на интересы и цели развития каждого разработчика.
Ждем вас в EPAM!
Зарегистрироваться: epa.ms/senior-backend-hiring-week-9
Что такое статическое и динамическое связывание?
Присоединение вызова метода к телу метода называется связыванием. Если связывание проводится компилятором (компоновщиком) перед запуском программы, то оно называется статическим или ранним связыванием (
В свою очередь, позднее связывание (
Для всех методов
Присоединение вызова метода к телу метода называется связыванием. Если связывание проводится компилятором (компоновщиком) перед запуском программы, то оно называется статическим или ранним связыванием (
early binding
).В свою очередь, позднее связывание (
late binding
) это связывание, проводимое непосредственно во время выполнения программы, в зависимости от типа объекта. Позднее связывание также называют динамическим (dynamic
) или связыванием на стадии выполнения (runtime binding
). В языках, реализующих позднее связывание, должен существовать механизм определения фактического типа объекта во время работы программы, для вызова подходящего метода. Иначе говоря, компилятор не знает тип объекта, но механизм вызова методов определяет его и вызывает соответствующее тело метода. Механизм позднего связывания зависит от конкретного языка, но нетрудно предположить, что для его реализации в объекты должна включаться какая-то дополнительная информация.Для всех методов
Java
используется механизм позднего (динамического) связывания, если только метод не был объявлен как final
(приватные методы являются final
по умолчанию).👍11
Как применить регулярное выражение в Java?
Регулярные выражения – мощный механизм работы со строками. Здесь мы не будем говорить о регулярных выражениях в целом, поговорим об их использовании в Java. Это становится возможно благодаря пакету
Работа с регулярными выражениями в Java начинается с класса Pattern. Это представление самого выражения, без привязки к целевому тексту. Создать его можно компиляцией строки, с помощью фабричного метода
Matcher – регулярное выражение, примененное к конкретному тексту. Пораждается вызовом метода
Работа с экземпляром Matcher похожа на работу с итератором. Результат метода
В объекте шаблона
Регулярные выражения – мощный механизм работы со строками. Здесь мы не будем говорить о регулярных выражениях в целом, поговорим об их использовании в Java. Это становится возможно благодаря пакету
java.util.regex
стандартной библиотеки.Работа с регулярными выражениями в Java начинается с класса Pattern. Это представление самого выражения, без привязки к целевому тексту. Создать его можно компиляцией строки, с помощью фабричного метода
Pattern.compile()
. Паттерн иммутабельный и потокобезопасный.Matcher – регулярное выражение, примененное к конкретному тексту. Пораждается вызовом метода
Pattern.matches()
. Одним паттерном можно порождать несколько разных матчеров. В отличие от паттерна, матчер мутирует. Он не безопасен для многопоточной среды. Основные операции регулярных выражений – перебор совпадений, доступ к группам, замена – реализованы именно в этом классе.Работа с экземпляром Matcher похожа на работу с итератором. Результат метода
matches()
просто скажет, соответствует ли строка шаблону. Но после его вызова матчер поменяет состояние. Теперь, из него можно получить группы, позицию совпадения в тексте, а также произвести замену. В объекте шаблона
Pattern
реализованы несколько методов-сокращений, чтобы не использовать Matcher
явно. Например, просто проверить строку на соответствие выражению можно одним методом Pattern.matches()
.👍5
Forwarded from Академия Кода
Как сделать скриншот на Java?
Вы можете испольщовать
Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@coddy_academy
#java
Вы можете испольщовать
Robot().createScreenCapture()
чтобы сделать скриншот экрана на Java.Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@coddy_academy
#java
👍11
Можно ли достать параметры метода рефлекшеном?
По умолчанию – нет. Рефлекшн-информация о параметрах метода представляется объектами класса
Начиная с Java 8 у компилятора (
Классический пример, когда информация об именах может понадобиться – библиотека JSON сериализации Jackson. Параметры конструктора могут трактоваться ей как поля сериализационной формы.
До появления флага
По умолчанию – нет. Рефлекшн-информация о параметрах метода представляется объектами класса
Parameter
. По умолчанию их свойство name
синтетическое: "arg0"
, "arg1"
, и так далее. Метод isNamePresent
при этом возвращает false
, что значит что действительная информация об имени недоступна. Она не попадает даже в байт-код.Начиная с Java 8 у компилятора (
javac
) появилась опция -parameters
. В скомпилированный с этой опцией класс добавляются имена аргументов методов. Parameter#getName()
тогда возвращает уже настоящее имя.Классический пример, когда информация об именах может понадобиться – библиотека JSON сериализации Jackson. Параметры конструктора могут трактоваться ей как поля сериализационной формы.
До появления флага
-parameters
Jackson использовал для этого аннотации. Каждый параметр снабжался аннотацией @JsonProperty
. Значением аннотации передавалась строка, которая повторяла имя параметра. Эти аннотации затем можно было получить, вызвав Method#getParameterAnnotations()
.👍5
Platformer Tutorial - Java
A New Beginning - Episode #01
INPUTS - Episode #02
GAME LOOP - Episode #03
HOW TO MAKE A Game Loop in Java
IMAGES - Episode #04
ANIMATIONS - Episode #05
GAME LOOP 2.0 - Episode #06
PLAYER CLASS - Episode #07
Level Creation - Episode #08
https://www.youtube.com/playlist?list=PL4rzdwizLaxYmltJQRjq18a9gsSyEQQ-0
A New Beginning - Episode #01
INPUTS - Episode #02
GAME LOOP - Episode #03
HOW TO MAKE A Game Loop in Java
IMAGES - Episode #04
ANIMATIONS - Episode #05
GAME LOOP 2.0 - Episode #06
PLAYER CLASS - Episode #07
Level Creation - Episode #08
https://www.youtube.com/playlist?list=PL4rzdwizLaxYmltJQRjq18a9gsSyEQQ-0