Forwarded from BZD • Книги для программистов
Норманд_Эрик_Грокаем_функциональное_мышление.pdf
10.8 MB
📔 Title: Грокаем функциональное мышление
#book #RU
🌐 Lang.: Russian
🧔 Author: Эрик Норманд
🕘 Year: 2023
📑 Pages: 608
#️⃣ ISBN: 978-5-4461-1887-8
📝 Description: Кодовые базы разрастаются, становясь все сложнее и запутаннее, что не может не пугать
разработчиков. Как обнаружить код, изменяющий состояние вашей системы? Как сделать код
таким, чтобы он не увеличивал сложность и запутанность кодовой базы?
Большую часть «действий», изменяющих состояние, можно превратить в «вычисления»,
чтобы ваш код стал проще и логичнее.
Вы научитесь бороться со сложными ошибками синхронизации, которые неизбежно проникают в асинхронный и многопоточный код, узнаете, как компонуемые абстракции предотвращают
дублирование кода, и откроете для себя новые уровни его выразительности.
Книга предназначена для разработчиков среднего и высокого уровня, создающих сложный
код. Примеры, иллюстрации, вопросы для самопроверки и практические задания помогут надежно закрепить новые знания.
@bzd_channel
#book #RU
🌐 Lang.: Russian
🧔 Author: Эрик Норманд
🕘 Year: 2023
📑 Pages: 608
#️⃣ ISBN: 978-5-4461-1887-8
📝 Description: Кодовые базы разрастаются, становясь все сложнее и запутаннее, что не может не пугать
разработчиков. Как обнаружить код, изменяющий состояние вашей системы? Как сделать код
таким, чтобы он не увеличивал сложность и запутанность кодовой базы?
Большую часть «действий», изменяющих состояние, можно превратить в «вычисления»,
чтобы ваш код стал проще и логичнее.
Вы научитесь бороться со сложными ошибками синхронизации, которые неизбежно проникают в асинхронный и многопоточный код, узнаете, как компонуемые абстракции предотвращают
дублирование кода, и откроете для себя новые уровни его выразительности.
Книга предназначена для разработчиков среднего и высокого уровня, создающих сложный
код. Примеры, иллюстрации, вопросы для самопроверки и практические задания помогут надежно закрепить новые знания.
@bzd_channel
Какие из методов отсутствуют в String?
Anonymous Quiz
50%
codePointBefore()
35%
capacity()
11%
isEmpty(
5%
length()
Скомпилируется ли приведенный код?
Anonymous Quiz
36%
Скомпилируется успешно
6%
Произойдет ошибка компиляции на строке 1
38%
Произойдет ошибка компиляции на строке 3
20%
Произойдет ошибка компиляции на строке 2
Какой класс лучше всего использовать для реализации кеша или для хранения метаданных об объектах?
Anonymous Quiz
40%
HashMap
13%
IdentityHashMap
32%
WeakHashMap
15%
LinkedHashMap
Какой флаг JVM позволяет расширить диапазон кешируемых значений для целых типов?
Anonymous Quiz
3%
-XX:+PrintFlagsFinal
23%
-Xss<size>
71%
-XX:AutoBoxCacheMax=<size>
3%
-XX:BiasedLockingStartupDelay=<delay>
Что выведет следующий код?
Anonymous Quiz
24%
falsetrue
32%
Произойдет ошибка компиляции
30%
truetrue
14%
falsefalse
Что выведет следующий код?
Anonymous Quiz
32%
Произойдет ошибка компиляции
22%
Во время исполнения возникнет исключение NullPointerException
38%
null
8%
1
Зачем нужна аннотация @ApplicationException?
Anonymous Quiz
19%
Для того, чтобы сделать помеченное исключение checked
14%
Для того, чтобы сделать помеченное исключение unchecked
66%
Помечает исключение как прикладное, т. е. то, которое будет обработано клиентом в модели EJB
Сколько объектов станут доступны для сборщика мусора после выполнения строки 1?
Anonymous Quiz
25%
5
44%
6
26%
1
5%
11
Какой метод запускает программу на Java?
Anonymous Quiz
3%
запуск программы происходит через компиляцию проекта, основного метода нет
89%
метод main
8%
любой, его можно задавать в настройках проекта
Что выведет этот код?
int a = 9;
switch (a) { case 0: System.out.print ("0"); case 5: System.out.print ("5"); break; case 9: System.out.print ("9"); case 10: System.out.print ("10"); break; default: System.out.print ("!"); }
int a = 9;
switch (a) { case 0: System.out.print ("0"); case 5: System.out.print ("5"); break; case 9: System.out.print ("9"); case 10: System.out.print ("10"); break; default: System.out.print ("!"); }
Anonymous Quiz
25%
ошибка в коде
3%
9910
3%
10
16%
910!
53%
910