Опциональное значение Optional — это контейнер для объекта, который может содержать или не содержать значение null. Такая обёртка является удобным средством предотвращения NullPointerException, т.к. имеет некоторые функции высшего порядка, избавляющие от добавления повторяющихся if null/notNull проверок:
Optional<String> optional = Optional.of("hello");
optional.isPresent(); // true
optional.ifPresent(s -> System.out.println(s.length())); // 5
optional.get(); // "hello"
optional.orElse("ops..."); // "hello"
Попробуй свои силы в Java-разработке, пройди трёхдневное обучение от Даниила Пилипенко, директора центра SymbioWay, и напиши своё первое приложение.
Бесплатный доступ по ссылке: 👉 https://clc.to/vBHB_Q.
⚡️ На интенсиве ты познакомишься с синтаксисом языка Java, научишься работать с файлами, создавать потоки, подключать внешние библиотеки.
🎧 В результате разработаешь приложение, которое записывает звук с микрофона компьютера и отправляет записи в Dropbox.
🎁 Авторы трёх лучших проектов получат сертификаты на 30 000 рублей для поступления на любой онлайн-курс университета Skillbox, а все участники, дошедшие до конца, — электронную книгу Кея Петерсона и Дэвида Колба «Век живи — век учись» от издательства «МИФ».
Бесплатный доступ по ссылке: 👉 https://clc.to/vBHB_Q.
⚡️ На интенсиве ты познакомишься с синтаксисом языка Java, научишься работать с файлами, создавать потоки, подключать внешние библиотеки.
🎧 В результате разработаешь приложение, которое записывает звук с микрофона компьютера и отправляет записи в Dropbox.
🎁 Авторы трёх лучших проектов получат сертификаты на 30 000 рублей для поступления на любой онлайн-курс университета Skillbox, а все участники, дошедшие до конца, — электронную книгу Кея Петерсона и Дэвида Колба «Век живи — век учись» от издательства «МИФ».
#вопросы_с_собеседований
В чём разница между «конкуренцией» и «параллелизмом»?
В чём разница между «конкуренцией» и «параллелизмом»?
Мы снова проводим конкурс (с увеличенным призовым фондом) во ВКонтакте для самых креативных из вас на лучший мем для статьи с нашего сайта. Правила простые:
1. Вы берете произвольную статью с сайта, не утратившую свою актуальность
2. Делаете для нее мем
3. Отправляете в предложенные новости ссылку и вашу картинку
4. Мы оформляем и публикуем.
Автор картинки с публикацией с наибольшим охватом среди всех нам отправленных получит 15 тысяч рублей. Поехали: https://vk.com/proglib
Срок окончания конкурса — 18 августа 2020 года.
1. Вы берете произвольную статью с сайта, не утратившую свою актуальность
2. Делаете для нее мем
3. Отправляете в предложенные новости ссылку и вашу картинку
4. Мы оформляем и публикуем.
Автор картинки с публикацией с наибольшим охватом среди всех нам отправленных получит 15 тысяч рублей. Поехали: https://vk.com/proglib
Срок окончания конкурса — 18 августа 2020 года.
Конкуренция — это способ одновременного решения множества задач.
Признаки:
☕️ Наличие нескольких потоков управления (например Thread в Java, корутина в Kotlin), если поток управления один, то конкурентного выполнения быть не может
☕️ Недетерминированный результат выполнения. Результат зависит от случайных событий, реализации и того как была проведена синхронизация. Даже если каждый поток полностью детерминированный, итоговый результат будет недетерминированным
Параллелизм — это способ выполнения разных частей одной задачи.
Признаки:
☕️ Необязательно имеет несколько потоков управления
☕️ Может приводить к детерминированному результату, так, например, результат умножения каждого элемента массива на число, не изменится, если умножать его по частям параллельно.
Признаки:
☕️ Наличие нескольких потоков управления (например Thread в Java, корутина в Kotlin), если поток управления один, то конкурентного выполнения быть не может
☕️ Недетерминированный результат выполнения. Результат зависит от случайных событий, реализации и того как была проведена синхронизация. Даже если каждый поток полностью детерминированный, итоговый результат будет недетерминированным
Параллелизм — это способ выполнения разных частей одной задачи.
Признаки:
☕️ Необязательно имеет несколько потоков управления
☕️ Может приводить к детерминированному результату, так, например, результат умножения каждого элемента массива на число, не изменится, если умножать его по частям параллельно.
Крутой Java-разработчик, Data-scientist или аналитик? 😎
DigitalSuperHero ждет тебя! Успей зарегистрироваться до 27 июля на онлайн-хакатон Fintech & Security Superhero!🚀
Не пропусти, команды уже вовсю подают заявки! Хакатон пройдет с 1 по 8 августа, принять участие можно из любой точки России.
🏆Что тебя ждет?🏆
- задачи от Ак Барс Банка, Kaspersky Innovation Hub и InnoSTage
- общий призовой фонд в 700 000 рублей
- возможность получить предложение на работу
- поддержка в запуске пилота
Тематика хакатона Кибербезопасность и Финтех , основные виды задач:
● Автоматизировать ежедневные рутинные операции эксперта по кибербезопасности
● Создать новые сервисы для банка.
Подавайте заявку до 27 июля тут: dshkazan.ru/its
P.S. А еще у нас есть телеграм-канал, где выкладываем свежие новости о хакатонах: https://yangx.top/dshkzn
DigitalSuperHero ждет тебя! Успей зарегистрироваться до 27 июля на онлайн-хакатон Fintech & Security Superhero!🚀
Не пропусти, команды уже вовсю подают заявки! Хакатон пройдет с 1 по 8 августа, принять участие можно из любой точки России.
🏆Что тебя ждет?🏆
- задачи от Ак Барс Банка, Kaspersky Innovation Hub и InnoSTage
- общий призовой фонд в 700 000 рублей
- возможность получить предложение на работу
- поддержка в запуске пилота
Тематика хакатона Кибербезопасность и Финтех , основные виды задач:
● Автоматизировать ежедневные рутинные операции эксперта по кибербезопасности
● Создать новые сервисы для банка.
Подавайте заявку до 27 июля тут: dshkazan.ru/its
P.S. А еще у нас есть телеграм-канал, где выкладываем свежие новости о хакатонах: https://yangx.top/dshkzn
#вопросы_с_собеседований
Опишите работу блока try-catch-finally.
Опишите работу блока try-catch-finally.
try — данное ключевое слово используется для отметки начала блока кода, который потенциально может привести к ошибке. catch — ключевое слово для отметки начала блока кода, предназначенного для перехвата и обработки исключений в случае их возникновения. finally — ключевое слово для отметки начала блока кода, который является дополнительным. Этот блок помещается после последнего блока catch. Управление передаётся в блок finally в любом случае, было выброшено исключение или нет.
Общий вид конструкции для обработки исключительной ситуации выглядит так, как показано на картинке.
Общий вид конструкции для обработки исключительной ситуации выглядит так, как показано на картинке.
#вопросы_с_собеседований
Почему char предпочтительнее String для хранения пароля?
Почему char предпочтительнее String для хранения пароля?
👋 Всем привет!
28 июля приглашаем на онлайн-лекцию о разработке приложений на Java Spring, Quarkus, Vert.x и GraalVM с деплоем в MicroK8s.
Сергей Кошкинов и Андрей Смирнов покажут процесс создания приложения на Java-фреймворке Quarkus с деплоем в MicroK8s. А также сравнят производительность и потребления памяти приложений на Spring WebFlux, Spring Boot, Quarkus, Quarkus+Vert.x и скомпилированными в native code с помощью GraalVM.
Подробности и регистрация 👉 https://clc.to/_java_MicroK8s
28 июля приглашаем на онлайн-лекцию о разработке приложений на Java Spring, Quarkus, Vert.x и GraalVM с деплоем в MicroK8s.
Сергей Кошкинов и Андрей Смирнов покажут процесс создания приложения на Java-фреймворке Quarkus с деплоем в MicroK8s. А также сравнят производительность и потребления памяти приложений на Spring WebFlux, Spring Boot, Quarkus, Quarkus+Vert.x и скомпилированными в native code с помощью GraalVM.
Подробности и регистрация 👉 https://clc.to/_java_MicroK8s
С момента создания строка остаётся в пуле, до тех пор, пока не будет удалена сборщиком мусора. Поэтому, даже после окончания использования пароля, он некоторое время продолжает оставаться доступным в памяти и способа избежать этого не существует. Это представляет определённый риск для безопасности, поскольку кто-либо, имеющий доступ к памяти сможет найти пароль в виде текста. В случае использования массива символов для хранения пароля имеется возможность очистить его сразу по окончанию работы с паролем, позволяя избежать риска безопасности, свойственного строке.
#вопросы_с_собеседований
Что такое «нормализация»?
Что такое «нормализация»?
Нормализация - это процесс преобразования отношений базы данных к виду, отвечающему нормальным формам (пошаговый, обратимый процесс замены исходной схемы другой схемой, в которой наборы данных имеют более простую и логичную структуру).
Нормализация предназначена для приведения структуры базы данных к виду, обеспечивающему минимальную логическую избыточность, и не имеет целью уменьшение или увеличение производительности работы или же уменьшение или увеличение физического объёма базы данных. Конечной целью нормализации является уменьшение потенциальной противоречивости хранимой в базе данных информации.
Нормализация предназначена для приведения структуры базы данных к виду, обеспечивающему минимальную логическую избыточность, и не имеет целью уменьшение или увеличение производительности работы или же уменьшение или увеличение физического объёма базы данных. Конечной целью нормализации является уменьшение потенциальной противоречивости хранимой в базе данных информации.
#вопросы_с_собеседований
Что вы знаете о функции main()?
Что вы знаете о функции main()?
Метод main() — точка входа в программу. В приложении может быть несколько таких методов. Если метод отсутствует, то компиляция возможна, но при запуске будет получена ошибка Error: Main method not found.
static void main(String[] args) {}
#вопросы_с_собеседований
Что будет, если добавлять элементы в TreeSet по возрастанию?
Что будет, если добавлять элементы в TreeSet по возрастанию?
В основе TreeSet лежит красно-черное дерево, которое умеет само себя балансировать. В итоге TreeSet все равно в каком порядке вы добавляете в него элементы, преимущества этой структуры данных будут сохраняться.
Не пропусти — докладов еще нет в сети и они будут доступны только в онлайн-формате в четверг на Java MeetUp😉
С нами на связи будут два классных спикера:
👨🏻💻Владимир Плизга расскажет о том, как добавлять в чистовой код тестовое поведение и спать спокойно.
👨🏻💻Иван Углянский отправит в путешествие в нативный код из уютного мира Java: туда и обратно.
Эксперты митапа:
🗣Всеволод Брекелов — Software engineer, PMM в JUG Ru Group, член программного комитета конференций HeisenBug, JPoint, Joker, ведущий шоу «Ошибка Выжившего» и подкаста «Битовая каска».
🗣Евгений Мандриков — занимается разработкой статических анализаторов кода в SonarSource, является одним из ведущих разработчиков JaCoCo, руководитель проекта EclEmma в Eclipse Foundation, OpenJDK контрибьютор, спикер.
Когда: 30 июля 17:00 по МСК
Подробности и регистрация
Ссылка на трансляцию
С нами на связи будут два классных спикера:
👨🏻💻Владимир Плизга расскажет о том, как добавлять в чистовой код тестовое поведение и спать спокойно.
👨🏻💻Иван Углянский отправит в путешествие в нативный код из уютного мира Java: туда и обратно.
Эксперты митапа:
🗣Всеволод Брекелов — Software engineer, PMM в JUG Ru Group, член программного комитета конференций HeisenBug, JPoint, Joker, ведущий шоу «Ошибка Выжившего» и подкаста «Битовая каска».
🗣Евгений Мандриков — занимается разработкой статических анализаторов кода в SonarSource, является одним из ведущих разработчиков JaCoCo, руководитель проекта EclEmma в Eclipse Foundation, OpenJDK контрибьютор, спикер.
Когда: 30 июля 17:00 по МСК
Подробности и регистрация
Ссылка на трансляцию
Learning Java by Building Android Games (2018)
Автор: John Horton
Android - одна из самых популярных операционных систем для мобильных устройств. Для написания приложений любого типа под Android хорошо подходит язык Java. В своей книге автор учит создавать приложения для смартфонов и планшетов, используя Java. В отличие от остальных книг по мобильной разработке, здесь вам не обязательно знать Java до чтения для комфортного обучения.
Скачать книгу
Автор: John Horton
Android - одна из самых популярных операционных систем для мобильных устройств. Для написания приложений любого типа под Android хорошо подходит язык Java. В своей книге автор учит создавать приложения для смартфонов и планшетов, используя Java. В отличие от остальных книг по мобильной разработке, здесь вам не обязательно знать Java до чтения для комфортного обучения.
Скачать книгу
Telegram
Книги для программистов (reserved)
Learning Java by Building Android Games (2018)
Автор: John Horton
Автор: John Horton
🆓 Лучшие бесплатные онлайн-курсы по Kotlin
В захвате мира языком Kotlin заинтересованы не только JetBrains и Google, но и «простые смертные». Посмотрим, какие есть бесплатные онлайн-курсы по Kotlin, чтобы начать разработку на этом языке уже сегодня.
https://proglib.io/sh/GFJiCL4jeE
В захвате мира языком Kotlin заинтересованы не только JetBrains и Google, но и «простые смертные». Посмотрим, какие есть бесплатные онлайн-курсы по Kotlin, чтобы начать разработку на этом языке уже сегодня.
https://proglib.io/sh/GFJiCL4jeE
📱 Как стать Android-разработчиком: с нуля до публикации приложения на Google Play
15 шагов, и вы Android-разработчик! Какой язык выбрать, как научиться писать приложения и на что обратить внимание при разработке программ под мобильные устройства.
https://proglib.io/sh/aIEUG3R520
15 шагов, и вы Android-разработчик! Какой язык выбрать, как научиться писать приложения и на что обратить внимание при разработке программ под мобильные устройства.
https://proglib.io/sh/aIEUG3R520