Алгоритмы_на_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 перерабатывать материал не собирается. Но если вам нужна только база – смело читайте.
Радует, когда выходят переводы по-настоящему годных материалов.
Появился неплохой перевод статьи о создании нативных образов при помощи Spring Boot. Рассматриваются все аспекты: создание нового проекта, конфигурирование компонента и контроллера, неблокирующий HTTP-клиент, параметризация, тестирование и многое другое.
Можно сохранить и использовать как туториал 📝
Появился неплохой перевод статьи о создании нативных образов при помощи Spring Boot. Рассматриваются все аспекты: создание нового проекта, конфигурирование компонента и контроллера, неблокирующий HTTP-клиент, параметризация, тестирование и многое другое.
Можно сохранить и использовать как туториал 📝
Хабр
Создаем нативный образ при помощи Spring Boot
Облачные технологии открыли путь к множеству новых практических областей, среди которых есть и такие, которые ранее были совершенно невозможны. Среди них выделяется бессерверная парадигма:...
Недавняя уязвимость Apache Log4j для пользователей Spring Boot может быть деликатно устранена переходом на версию Log4j 2.15.0. Например, при использовании системы сборки Maven, изменить версию можно, добавив в pom-файл в раздел Properties следующую строку: <log4j2.version>2.15.0</log4j2.version>.
Появилась подробная статья об уязвимости Apache Log4j. Информативный обзор, где собрали все необходимые данные и рассказали о способах защиты (описанный мной в прошлом посте тоже упоминают), за что авторам отдельное спасибо.
vc.ru
Уровень опасности — 10 баллов из 10: уязвимость Log4Shell угрожает миллионам серверов по всему миру — Техника на vc.ru
Хакеры могут получить удалённый контроль над приложениями и устройствами: в большинстве случаев специальные знания для такой атаки не нужны.
Это должно было случиться: неравнодушные из Intruder создали сайт с мемами про уязвимость Apache Log4j. Можно полистать, посмеяться (или поплакать) и даже отправить свой мем по теме.
Мой любимый пока вот этот.
(источник)
Мой любимый пока вот этот.
(источник)
Трудности импортозамещения: Сбер отказался от серверов на базе российских процессоров «Эльбрус-8С» после предварительного тестирования. Причина – абсолютное техническое несоответствие требованиям. Из 44 параметров предоставленные на тестирование серверы соответствовали лишь 7.
На данном этапе российское железо настолько не вызывает доверия, что фраза: «Мы приятно удивлены, что это вообще работает» никого не смущает. Вокруг «Эльбруса» много негатива, но на текущей стадии ожидать конкуренции с тем же Intel Xeon как минимум странно. Посмотрим, что будет, когда поступят в массовое использование «Эльбрус-8СВ», которые по характеристикам обещают быть значительно лучше.
А еще отбракованные «Эльбрусы» можно было купить как магнит на холодильник. Теперь такой раритет разве что на авито искать.
На данном этапе российское железо настолько не вызывает доверия, что фраза: «Мы приятно удивлены, что это вообще работает» никого не смущает. Вокруг «Эльбруса» много негатива, но на текущей стадии ожидать конкуренции с тем же Intel Xeon как минимум странно. Посмотрим, что будет, когда поступят в массовое использование «Эльбрус-8СВ», которые по характеристикам обещают быть значительно лучше.
А еще отбракованные «Эльбрусы» можно было купить как магнит на холодильник. Теперь такой раритет разве что на авито искать.
Ситуация с Log4j меняется стремительно, лучше обновлять до версии 2.17.0 и следить за новостями. А пока вот хорошая статья о том, как определить, зависит ли ваш Java-проект от уязвимой версии Log4j.
P.S. Друзья и коллеги, скоро вернусь к прежнему формату, буду делиться полезным контентом и мемами, но пока, сами понимаете, пишу о том, что волнует больше всего.
P.S. Друзья и коллеги, скоро вернусь к прежнему формату, буду делиться полезным контентом и мемами, но пока, сами понимаете, пишу о том, что волнует больше всего.
DZone
How to Check if a Java Project Depends on A Vulnerable Version of Log4j
If your application uses Log4j from version 2.0-alpha1 to 2.14.1, you should update to the latest version (2.16.0 at the time of writing this) as soon as ...
При условии,что коды символов 'a' и 'b' равны 97 и 98 соответственно, укажите, что будет выведено на экран в результате выполнения следующего фрагмента программы?
char ch1 = 'a';
char ch2 = 'b';
System.out.print(ch1 * ch2);
System.out.print(ch1 + ch2);
char ch1 = 'a';
char ch2 = 'b';
System.out.print(ch1 * ch2);
System.out.print(ch1 + ch2);
При условии,что коды символов 'a' и 'b' равны 97 и 98 соответственно, укажите, что будет выведено на экран в результате выполнения следующего фрагмента программы?
Anonymous Quiz
32%
сообщение об ошибке
44%
9506195
5%
a + b
11%
9506a + b
8%
NaNNaN
Algorithm_design_Pearson_Kleinberg,_Jon_Tardos,_Éva_2013_2014.pdf
4.6 MB
Jon Kleinberg, Eva Tardos, “Algorithm Design”
Чем книга хороша:
✅ прекрасно разобраны назначения алгоритмов: зачем вообще изучать их особенности и какую проблему/задачу помогает решить каждый алгоритм;
✅ подробно расписаны примеры, даны задачи для самостоятельной работы;
✅ материал четко структурирован, никакой путаницы и перескакивания с темы на тему.
Что не очень классно:
❗️мало инфы про анализ алгоритмов, потребуются дополнительные источники;
❗️не подойдет для начинающих: авторы не объясняют вещи, которые считают очевидными, и не всем терминам дают определение. Хотя, если вам не лень постоянно гуглить, можете попробовать.
Чем книга хороша:
✅ прекрасно разобраны назначения алгоритмов: зачем вообще изучать их особенности и какую проблему/задачу помогает решить каждый алгоритм;
✅ подробно расписаны примеры, даны задачи для самостоятельной работы;
✅ материал четко структурирован, никакой путаницы и перескакивания с темы на тему.
Что не очень классно:
❗️мало инфы про анализ алгоритмов, потребуются дополнительные источники;
❗️не подойдет для начинающих: авторы не объясняют вещи, которые считают очевидными, и не всем терминам дают определение. Хотя, если вам не лень постоянно гуглить, можете попробовать.
Обсуждения Log4j не утихают, а мы и рады почитать что-нибудь интересное. Вот, например, подробный разбор уязвимости. Автор пошел длинным изощренным путем, но статья как минимум расширяет кругозор (знали, как можно легко поднять LDAP?), и дискуссия в комментариях увлекательная.
Хабр
Разбираем Log4j уязвимость в деталях… с примерами и кодом
Что-то пошло не так Думаю все слышали про критическую уязвимость в Log4j , которая существует уже не один десяток лет, но была обнаружена совсем недавно. В итоге ей присвоили самый высокий критический...