Как стать автором
Обновить
36
70.2

Java/Kotlin софтодел

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

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

В кабинете директора Ядерного центра ВНИИТФ генерала Ломинского однажды раздался телефонный звонок:
— Георгий Павлович, на железнодорожной станции в Челябинске произошел мощный взрыв. Не ваш ли груз взорвался в вагоне?
— Челябинск цел?
— Цел.
— Значит, не наш.

По поводу трех минут анекдот вспоминается:

Чтобы хакеру ограбить банкомат, потребуется ноутбук и кувалда:

Приходишь, разбиваешь банкомат и забираешь деньги.
- а ноутбук зачем?
- а какой хакер без ноутбука?

«Голая Java» или разработка без всего

Рассказываю что можно сделать на одном только голом JDK

старое и ныне почти забытое искусство разработки без внешних библиотек и фреймворков

Но только:

без фреймворков и библиотек.

И все это сделано и работает на одном только JDK, без каких-либо внешних библиотек:

Без сервлетов, сервлет-контейнеров, серверов приложений и так далее.

Одна голая Java и все.

Напоминаю что все это реализовано с нуля в рамках проекта, без каких-либо внешних библиотек.

будем использовать исключительно средства JDK и ничего больше:

javac, jar и.. все.

Вот так выглядит «тру» компиляция без всего:

Да, все это также реализовано без каких-либо внешних библиотек и фреймворков — голыми руками

Я немного не понял технический стек проекта, можно подробнее? Какие библиотеки/фреймворки использовали?

Нууу, вообще, если пользователь авторизован, и у него есть апи, в которое нужно число засовывать, это дело автоматизировать можно.

Я думаю, мы все узнаем совсем скоро - данные либо утекли в сеть, либо нет.

Имею ввиду, что пока что люди пишут: я дергал апишку, вот результат. А минцифры пишет: нет, не было такого. Надо что-то более аргументированное.

Ну через час после того, как новость во всех СМИ, я конечно, эту апи дернуть не могу, тут вы правы.

Нашел статью с этим примером, в ней кстати еще очень много интересного. Вот она.

А вообще, да. Кэшируются значения от -128 до 127 по умолчанию.
Для остальных типов данных кэшируются следующие значения:

Boolean -> true...false

Byte, Short, Integer, Long -> -128...127

Char-> 0...127

Float, Double ->  none

Также верхний предел Integer может быть быть изменен флагом VM.

Внутри Integer за кэширование отвечает внутренний класс:

IntegerCache
IntegerCache

Познавательно, однако.

Integer.valueOf(10) == Integer.valueOf(10); // Тут будет true
Integer.valueOf(1000) == Integer.valueOf(1000); // А тут - внезапно - нет

Удивился. В течении 10 минут нагуглить объяснение, что к чему, не удалось. Поделитесь тайным знанием?

Результат не просто похож, в доках прям написано - теперь можно обойтись без декоратора.

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

Быть умным - вовремя прикинуться тупым.

Наследование то костыль?) Сходите в дурку, пожалуйста, на обследование

Подозреваю, что эта фраза была лишь саркастической калькой на вашу цитату про композицию.

А в общем и целом, кому то удобно, кому то нет, но вы сами говорите:

Я сказал, что это неудобно, а не плохо

А я скажу, что мне удобно, например.

/discuss

Откройте для себя композицию.

Она рушит весь принцип ООП и полезна в единичных случаях, а не на постоянке. Вообще композиция как один большой костыль выглядит.

На этом моменте я заплакал

Про null references и equals - подписываюсь под каждым словом.

Благодарю, поправил.

Я что-то не понимаю, или lombok - это не многопоточность? На моей памяти был библиотекой для сокращения количества бойлер-плейт кода)

Пример очень специфичный. У вас уже есть существующий прототип, вы знаете, как он себя ведет и что должен делать. У вас как раз-таки есть те самые гарантии, что после написание тестов ничего не изменится. Спецификации, черт побери!

А выше люди говорят о том, что одна из главных проблем TDD это то, что при доработке сложных систем, изменений api, например, у написанных заранее тестов есть неиллюзорный шанс оказаться в мусорной корзине.

Да, склоняюсь, к тому, что это оптимальное решение из тех, что у меня в голове сейчас.

Есть мнение, что тесты, написанные после модуля, будут проходить с большей вероятностью, чем тесты написанные заранее.

Да и я склонен верить, что самостоятельное тестирование собственного приложения после его написания, выявит меньше потенциальных багов, чем обратная ситуация.

Дико извиняюсь, в комментарии выше изобрел велосипед, вы буквально это и сказали.
Ну, написал реализацию к вашей мысли и время выполнения замерил)

Информация

В рейтинге
97-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность

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

Backend Developer
Java
Java Spring Framework
OOP
Kotlin
Microservices
Oracle
PostgreSQL
Spring Boot