Обновить
37
Илья Сазонов@poxvuibr

Software developer

64
Подписчики
Отправить сообщение

Статью надо было назвать Честный final!

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

Integrity by Default в этой статье означает, что final в коде это действительно должен быть честный final, значение которого совершенно честно нельзя изменить никак и никому. Честность по умолчанию! Я бы перевёл так, жаль возможность упущена.

Хороший, кстати, вопрос. Можете кого-нибудь порекомендовать?

Ну и вот холивары не нужны. Ничего полезного кроме поднятия своего ЧСВ оно не даёт и то только тому кто якобы победил.

В холиваре же нельзя победить, на то он и холивар. Можно только лучше ознакомиться с чужой точкой зрения и лучше выразить свою. За это мы их и любим ))

Итого: final нужно тогда когда нужно.
Не final нужно тогда когда нужно.

Если так, то перед каждым классом или переменной нужно либо поставить модификатор non-final, либо final. Без модификатора код компилироваться не должен.

надо дизайнить так, чтобы оставлять возможность расширения и наследования

Это сложно, мало кто умеет. Поэтому ограничения в виде приватных классов и тому подобного можно встретить во многих популярных фреймворках. Вот с Спринге например

Нравится вам или нет, но наследование является неотъемлимым и одним из ключевых свойств ООП.

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

Ну когда я делал дома ремонт, то да, этого вполне достаточно

Внезапно

с учётом инженерного образования в вузе и базового знания электротехники и свойств материалов

Я думаю, что впринципе если ты умеешь программировать, то ты сможешь работать программистом, да )))

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

Будет-ли в доступен для установке через winget?

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

Релизы JDK 25ой появиятся в списке доступных для скачивания в настройках JDK не раньше чем Axiom JDK 25?

Уже есть, я только что скачал ))

Вероятность коллизий UUIDv7, сгенерерованных в рамках одного бэкенда

А тут по бэкендом имеется в виду один бэкенд-процесс или один сервер с Postgresql?

Но никакой реальной необходимости в этом нет, так как UUIDv7, сгенерерованные несколькими бэкендами, не столкнутся даже без манипуляций с таймстемпами.

Вы сначала пишете, что можно сделать вероятность коллизии UUIDv7 строго равной нулю, если сдвинуть временной интервал, а потом пишете, что UUIDv7, сгенерированные несколькими бэкендами и так гарантировано не столкнутся. Но тогда зачем трюк со сдвигом времени?

Не, типовая будет while(inProgress) . Но вообще сам поисковый запрос несколько безумен и количество результатов мало о чём говорит. while false даст их всего в два раза меньше

Оно неполное. Надо кидать эксепшн, если цикл зашёл за 256, тогда будет лучше. А цифра, конечно, произвольно выбирается. Какая - то цифра за которую цикл точно не должен зайти.

А как насчёт тех нормальных людей, который используют интернет с ноутбука? Им как? Можно подключаться с ноутбука к публичному вайфаю?

Тоже самое могу сказать про entity framework без него вся логика фреймворка лежала бы в приложении а не библиотеке

Я процитирую кусок из статьи

А значит, выбор будет между полноценным, зрелым и мощным решением вроде Hibernate — и… собственным самодельным ORM, к которому я неизбежно приду в попытках решить те же задачи.

Так что то, о чём вы говорите есть прямо в тексте статьи

Промпт всё равно выбирает автор

Вот пусть он промпт и публикует

Spring Data JDBC умеет маппить результаты SQL-запросов прямо в DTO

И вот дискуссия из ORM не нужны плавно перетекает в плоскость - я не люблю Хибернейт. А люблю Spring Data JDBC. То есть Hibernate, который правильно приготовлен ))

Уже много лет использую только jdbcTemplate и его производные

А какие производные имеются в виду? Интересно, что получается всё-таки, какая-то ещё абстракция вам нужна и вы почему-то не считаете её лишней. Любопытно чего вам хватает

Основная проблема ORM в том, что это лишняя абстракция, нюансы работы которой нужно знать

Абстракция, нюансы работы которой нужно знать, да. Но что она лишняя это ещё надо доказать.

И SQL тоже нужно знать обязательно.

Знание SQL это общее место. Неожиданно, что ещё надо знать, как работает jdbc.

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

Разрабатывать с помощью голого jdbc без Hibernate? Я подозреваю, что вы уже очень давно этого не делали. Экспириенс ухудшится и ещё как

А чем, собственно, самодельные решения отличаются от не-самодельных?

Тем, что в не-самодельных решениях накапливаются оптимальные решения для всех типичных кейсов

Их какие-то боги пишут вместо простых смертных?

Собственно да. Не боги, но люди, которые годами занимаются именно этими решениями.

Важный момент ещё. В РФ British Council включен в список нежелательных организаций, за финансирование которых могут последовать санкции. Поэтому возможно имеет смысл сдавать экзамен в какой-то другой организации

Да и в комментариях он появился

Писал я, и выделял жирным тоже я ручками.

Очень приятно, когда автор появляется в комментариях!

Сильно рябит в глазах от выделений?

Нет, но из-за них не понятно кто писал текст - человек или ИИ ((. Раньше не было такой проблемы. То, что сгенерировал ИИ я буду читать только по необходимости, то что писал человек совсем другое дело ))

Информация

В рейтинге
Не участвует
Работает в
Дата рождения
Зарегистрирован
Активность