Чему равен элемент массива a с индексом [51]?
Anonymous Quiz
16%
50
7%
51
55%
100
15%
программа завершится ошибкой
7%
101
Из интересных событий в индустрии:
Онлайн-конференция IT Nights 3.0
🗓10 декабря, 19:00
Стоимость билета: 990 ₽
Обещают много инфы про:
☑️ изменения в IT;
☑️ софт скилы;
☑️ собесы и построение карьеры;
возможности для обучения.
✅ Что особенно полезного: доклады Тагира Валеева и Паши Финкельштейна, где они будут сравнивать Java и Kotlin.
Посмотреть полную программу конференции и купить билеты можно здесь.
Онлайн-конференция IT Nights 3.0
🗓10 декабря, 19:00
Стоимость билета: 990 ₽
Обещают много инфы про:
☑️ изменения в IT;
☑️ софт скилы;
☑️ собесы и построение карьеры;
возможности для обучения.
✅ Что особенно полезного: доклады Тагира Валеева и Паши Финкельштейна, где они будут сравнивать Java и Kotlin.
Посмотреть полную программу конференции и купить билеты можно здесь.
Важнейшие принципы разработки ПО
Вряд ли есть заповеди, соблюдая которые, любой программист напишет чистый код, но выделить основные принципы можно.
Их суть сводится к одному – не усложнять и не халтурить. Невнимательность к требованиям, попытки реализовать все функции сразу или провести оптимизацию на начальном этапе разработки приведут только к бессмысленной трате времени и сил.
В статье подробно описаны 10 принципов разработки, которые помогут улучшить ваш код. Если придерживаться хотя бы нескольких, эффективность работы точно повысится. Кстати, про мой любимый (и, я считаю, важнейший) принцип KISS я рассказывал здесь.
Вряд ли есть заповеди, соблюдая которые, любой программист напишет чистый код, но выделить основные принципы можно.
Их суть сводится к одному – не усложнять и не халтурить. Невнимательность к требованиям, попытки реализовать все функции сразу или провести оптимизацию на начальном этапе разработки приведут только к бессмысленной трате времени и сил.
В статье подробно описаны 10 принципов разработки, которые помогут улучшить ваш код. Если придерживаться хотя бы нескольких, эффективность работы точно повысится. Кстати, про мой любимый (и, я считаю, важнейший) принцип KISS я рассказывал здесь.
Хабр
10 важнейших принципов разработки программного обеспечения
Принципы разработки программного обеспечения необходимо знать каждому инженеру, который хочет писать чистый код. Следование этим принципам позволяет вам и другим разработчикам понять проект. Кроме...
Какой из перечисленных методов и операций может быть использован для замены символов в строках String или StringBuffer в Java-программах?
Anonymous Quiz
10%
substring()
78%
replace()
6%
getChars()
2%
concat()
3%
charAt()
algorithms-illuminated-part-1.pdf
5.5 MB
Если хочется лучше разбираться в алгоритмах, читайте Рафгардена. Это первая часть четырехтомника, посвящена введению в основы.
Из плюсов:
✅ максимально понятный язык;
✅ баланс между теорией и разбором конкретных примеров;
✅ все необходимое для хорошей базы: MergeSort, QuickSort, асимптотический анализ, “разделяй и властвуй”, алгоритмы сортировки.
Из минусов:
❌ к некоторым задачам нет ответов, а чтобы их узнать, нужно пройти курс автора на Coursera. Хитро, но, справедливости ради, курс и правда годный. Найти его можно по ссылке.
Из плюсов:
✅ максимально понятный язык;
✅ баланс между теорией и разбором конкретных примеров;
✅ все необходимое для хорошей базы: MergeSort, QuickSort, асимптотический анализ, “разделяй и властвуй”, алгоритмы сортировки.
Из минусов:
❌ к некоторым задачам нет ответов, а чтобы их узнать, нужно пройти курс автора на Coursera. Хитро, но, справедливости ради, курс и правда годный. Найти его можно по ссылке.
Декабрь оказался богат на полезные мероприятия.
Online Java Meetup от Haulmont
🗓 9 декабря, 18:00
Небольшой, но информативный митап, где будут обсуждать проблемы доступа к данным.
🔹 «Данные и микросервисы: проблемы и решения»
Developer Advocate Андрей Беляев расскажет о переходе от монолита к микросервисам, микрофреймворках (с подробностями про Micronaut Data, Panache и Helidon DB Client) и реактивном программировании.
🔹 «Удалять, чтобы осталось: решение от Hibernate и его последствия»
Developer Advocate Андрей Оганесян выступит с докладом о мягком удалении и разберет неочевидные факты на конкретных примерах. Заявлено, что доклад будет полезен опытным разработчикам. Учитывая, что большинство моих коллег относятся к soft delete скептически, послушать будет интересно.
Участие бесплатное, нужно только зарегистрироваться на Timepad. За час до начала вам пришлют ссылку на трансляцию.
Online Java Meetup от Haulmont
🗓 9 декабря, 18:00
Небольшой, но информативный митап, где будут обсуждать проблемы доступа к данным.
🔹 «Данные и микросервисы: проблемы и решения»
Developer Advocate Андрей Беляев расскажет о переходе от монолита к микросервисам, микрофреймворках (с подробностями про Micronaut Data, Panache и Helidon DB Client) и реактивном программировании.
🔹 «Удалять, чтобы осталось: решение от Hibernate и его последствия»
Developer Advocate Андрей Оганесян выступит с докладом о мягком удалении и разберет неочевидные факты на конкретных примерах. Заявлено, что доклад будет полезен опытным разработчикам. Учитывая, что большинство моих коллег относятся к soft delete скептически, послушать будет интересно.
Участие бесплатное, нужно только зарегистрироваться на Timepad. За час до начала вам пришлют ссылку на трансляцию.
Что будет выведено на экран следующим кодом?
int a = 15;
System.out.print(a);
{
a ++;
System.out.print(a);
}
System.out.print(a);
int a = 15;
System.out.print(a);
{
a ++;
System.out.print(a);
}
System.out.print(a);
Что будет выведено на экран следующим кодом?
Anonymous Quiz
24%
сообщение об ошибке
16%
151615
49%
151616
11%
151516
Не всегда понятно, действительно ли для вашей задачи Hibernate Reactive подойдет лучше, чем классический Hibernate ORM, и стоит ли использовать его вообще. В статье, кроме логичного ответа (стоит, если ваше приложение уже по сути является реактивным), даны метрики производительности, по которым можно судить об эффективности. Стоит почитать, чтобы понять, на что обращать внимание при анализе сценария.
А еще приятно, что во всех случаях учитывается контекст и нет попытки сделать единый далеко идущий вывод.
А еще приятно, что во всех случаях учитывается контекст и нет попытки сделать единый далеко идущий вывод.
Хабр
Hibernate Reactive: стоит ли оно того?
В течение последнего года мы готовились к выпуску первого стабильного релиза Hibernate Reactive и пытались ответить на некоторые вопросы, которые у нас возникли. Анализ производительности и...
Алгоритмы_на_Java_by_Седжвик_Р_Уэйн_К_Sedgewick_Wayne_z_lib_org.pdf
186.6 MB
Наряду с Корменом, это классика, которую надо знать.
✅ вся необходимая база описана с учетом особенностей Java;
✅ даны реальные примеры, а не псевдокод (всегда ценю такое);
✅ написано легко и доступно: в свое время с трудом продирался сквозь Кнута и Скиену, а вот Седжвик зашел прекрасно.
К сожалению, под рукой оказался только перевод, но если у вас есть возможность – читайте в оригинале. В русскоязычном издании при оформлении почему-то решили переносить вложенные циклы на следующую страницу – читать, мягко говоря, неудобно.
✅ вся необходимая база описана с учетом особенностей Java;
✅ даны реальные примеры, а не псевдокод (всегда ценю такое);
✅ написано легко и доступно: в свое время с трудом продирался сквозь Кнута и Скиену, а вот Седжвик зашел прекрасно.
К сожалению, под рукой оказался только перевод, но если у вас есть возможность – читайте в оригинале. В русскоязычном издании при оформлении почему-то решили переносить вложенные циклы на следующую страницу – читать, мягко говоря, неудобно.
Полезный ресурс для работы с TLS 🔐
Рано или поздно с протоколом TLS сталкивается каждый: например, если нужно настроить протокол в приложении на Spring Boot. И к такой встрече лучше подготовиться.
На этом сайте в полуинтерактивной форме демонстрируются все этапы TLS-хендшейка. Можно подробно изучить, как работает соединение, и посмотреть код на GitHub. Будет интересно даже тем, кто совсем не представляет, как функционируют криптографические протоколы.
Рано или поздно с протоколом TLS сталкивается каждый: например, если нужно настроить протокол в приложении на Spring Boot. И к такой встрече лучше подготовиться.
На этом сайте в полуинтерактивной форме демонстрируются все этапы TLS-хендшейка. Можно подробно изучить, как работает соединение, и посмотреть код на GitHub. Будет интересно даже тем, кто совсем не представляет, как функционируют криптографические протоколы.
tls12.xargs.org
The Illustrated TLS 1.2 Connection
Every byte of a TLS connection explained and reproduced
Какой из перечисленных компонентов класса А не будет доступен расширяющему его классу B?
Anonymous Quiz
2%
public short a;
2%
protected void summ (int a, int b)
87%
private void pow (int a, double b)
2%
protected int summ (double x1, double x2)
7%
void mult (float a) при условии, что классы А и B находятся в одном пакете
Замечал, что даже вполне опытные разработчики временами путаются в определениях многопоточности, параллелизма и асинхронности. Ничего удивительного, вопрос и правда сложный, но разрешимый – нужно только упорство и желание разобраться.
Прочитав статью, можно увидеть отчетливую разницу между тремя понятиями. Только не поддавайтесь на уловку автора: он нахваливает преимущества асинхронной модели перед синхронной, но на графиках нет привязки ни ко времени, ни к размеру задач.
Каждая модель хороша для своих целей, а наша задача – не путаться в способах их достижения. С этим статья точно поможет.
Прочитав статью, можно увидеть отчетливую разницу между тремя понятиями. Только не поддавайтесь на уловку автора: он нахваливает преимущества асинхронной модели перед синхронной, но на графиках нет привязки ни ко времени, ни к размеру задач.
Каждая модель хороша для своих целей, а наша задача – не путаться в способах их достижения. С этим статья точно поможет.
Code Wala
Concurrency vs Multi-threading vs Asynchronous Programming : Explained
Recently, I was speaking in an event and I asked a question about Asynchronous programming to the audience, I found that many were confused between multi-threading and asynchronous programming and …
Java_Concurrency_In_Practice_Brian_Goetz_with_Tim_Peierls,_Joshua.pdf
6.3 MB
Базовая книга про concurrency, считается классикой. Стоит прочесть, если:
✅ вам надо разобраться в основах работы с потоками;
✅ вы хотите понять, как избежать распространенных ошибок компиляции при работе с многопоточностью;
✅ вы уже не новичок, но немного «плаваете» в терминологии.
Есть значительный недостаток:
❌ книга 2006 года выпуска, так что про новые фичи никакой инфы оттуда вы не почерпнете. Автор говорил, что даже с учетом обновлений Java перерабатывать материал не собирается. Но если вам нужна только база – смело читайте.
✅ вам надо разобраться в основах работы с потоками;
✅ вы хотите понять, как избежать распространенных ошибок компиляции при работе с многопоточностью;
✅ вы уже не новичок, но немного «плаваете» в терминологии.
Есть значительный недостаток:
❌ книга 2006 года выпуска, так что про новые фичи никакой инфы оттуда вы не почерпнете. Автор говорил, что даже с учетом обновлений Java перерабатывать материал не собирается. Но если вам нужна только база – смело читайте.