Как стать автором
Обновить
1
0

Пользователь

Отправить сообщение

Да, при этом в тексте упоминается как проблема вызов Files.write(path, str.getBytes()) и Files.readString(path). Конечно же в String.getBytes() и Files.readString() можно передать Charset.

По ссылкам тоже ничего не написано. Такие штуки часто живут на устройствах, куда можно зайти по SSH, и где используются заводские пароли вроде root/root, admin/admin, и т. д. Наверняка Линукс ни при чем.

Пустой Optional обычно сериализуется как null в JSON, потому что зачем нужен тип Optional<Optional<Otional<...>>> или Maybe (Maybe (Maybe (... t)))?

Есть языки, где не используются изменяемые переменные, либо все переменные инициализируются, там в принципе не возникает такого вопроса.

А в языках с переменными, ссылочными типами и null, объект обычно инициализируется как null, и нет никакого undefined.

Так что это скорее "с какого языка не приди", лишь бы он был JavaScript или TypeScript.

В разных языках по-разному принято. В Java и Scala используются Optional<T> / Option[T]. В Kotlin есть nullable types (как и в TypeScript), там принято использовать их вместо Optional.

А чем не устраивают официальные образы openjdk из Docker Hub?

Если нужна только JRE, можно в Alpine Linux поставить пакет вроде openjdk17-jre.

Если хочется, можно и вручную установить JRE.

На мой взгляд, было бы достаточно рассмотреть работу Stream API на коллекциях. Spring и база данных замутняют дело, и Stream API в итоге применяется не совсем по назначению.

Если начинать с БД, то лучше рассматривать, как формировать запросы, а не запрашивать сразу все данные и фильтровать на месте. Есть и решения с DSL для запросов, которые в итоге выглядят как использование streams.

Ну тогда уже стоит вспомнить и TypeScript, где проблема nullability решается на уровне типов. Или Kotlin.

Это не стандарт.

Там даже где-то в предисловии сказано, что автор будет представлять многие суждения как абсолютные истины, но он просто так учит своему "искусству", а на самом деле единой правды нет, многие рекомендации будут спорными, и читатель может с чем-то не согласиться.

Но это полезная книга как пища для размышления.

Автор пишет код на языке Java. К слову сказать, я не нашёл в интернете какие-либо стандарты (вроде PEP8 в Python), которые могли бы подойти для написания качественного кода на той же Java.

Ну так PEP8 — это просто "style guide". Если хочется в таком духе, то можно и для Java найти (например, от Гугла).

А книга "Clean Code" про другое, ее можно почти к любому языку применить.

Джаву тоже по началу хаяли.

Да и в Java есть ошибки в проектировании языка, которые не были очевидны в 90-х, и которые уже так просто не исправить, не поломав совместимость. И хотя Java не стоит на месте, к вопросам совместимости там относятся очень серьёзно. Отчасти поэтому и появились более новые языки для JVM.

Я бы никогда не скачивал программы со сторонних сайтов. Если застану за этим кого-то из родственников и друзей, то объясню, что это ни в коем случае нельзя делать. Даже если ваш проект честный и безопасный, он продвигает вредную идею установки ПО с посторонних ресурсов. Вы специально не даете ссылок на официальные сайты, и это ужасно.

Для интереса посмотрел раздел "Linux".

Там примерно двадцать программ. В любом крупном дистрибутиве доступны тысячи и тысячи пакетов. Среди этих тысяч пакетов огромная часть попадает в вашу категорию "System". У вас там ровно две программы: "SEO PowerSuite" и "Angry IP Scanner".

Совершенно непонятно, что скачается по ссылке. Пакеты? Для какого дистрибутива? Для какой архитектуры? Зачем мне их скачивать вручную, еще и с неизвестного сайта?

Описания абсолютно неинформативные, например: "Nowadays, text editing is one of the problems faced by website developers, editors and programmers. There are many ways to solve such problems, special software has been created. In turn, Atom is a similar program". Положа руку на сердце, признайтесь, это для живого пользователя так написано, или это SEO-спам?

По всему заметно, что наполнением занимались "копирайтеры", которые не пользовались ПО, про которое пишут.

Может и был бы толк в сайте, который для неопытных пользователей рассказывает, какие есть разные альтернативы для распространенных задач, сравнивает их, и дает ссылки на официальные страницы проектов (но ни в коем случае не раздает сам пакеты!). Но подобного уже очень много, и такие тексты пишут люди, разбирающиеся в своей области, а не команды копирайтеров.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Backend Developer
Linux
Java
Kotlin
Spring Boot