-
Про архитектуру
Решил написать еще одну заметку про проектирование. Меня периодически спрашивают, как привести в порядок проект или как выстроить в нем архитектуру. Как правило программисты интересуются больше техническими вопросами (про дизайн, архитектуру, стек технологий), а менеджмент как найти нормального архитектора. Есть такая книга “Thinking, Fast and Slow”. На русский язык название почему-то перевели как “Думай медленно……
-
Запечатывание в Java.
Наконец-то нашел время дописать статью в блоге, которая давно уже в черновиках лежит…. Итак, про запечатанные классы и немного про алгебраические типы данных. Запечатанные классы определяются с помощью ключевого слова sealed. Это нужно, чтобы ограничить в наследовании. Потенциальных наследников в таком случае нужно указать явно, через запятую после permits. Например так: На самом деле, основной…
-
Про record
Появились в версии Java 14, но я предпочитаю использовать LTS версии, поэтому начал активно использовать только в Java 17. Не вижу смысла в очередной раз переписывать однотипные статьи из интернета с одними и тем же примерами record-ов вида “Hello World”. Здесь хотел поделиться своими впечатлениями после нескольких месяцев использования, когда и как их удобно использовать,…
-
Все хотят стать программистами
Как двадцать лет тому назад все хотели стать экономистами. А как иначе? На человека давит авторитетное мнение “знающих” людей – старших товарищей или родителей, пресловутое herd behavior, реклама со всех сторон и вот, в итоге, человек вымучивает поступление на факультет хоть как-то связанный с информационными технологиями или идет в какую-то свежеиспеченную школу-программирования или на худой…
-
Прошло несколько лет…
Спустя 4 года и 5 месяцев решил поднять из бэкапа свой блог. Что с ним делать дальше ещё не решил. Пока обновил WordPress и переехал на новый хостинг – VPS-ка от reg.ru. Пока всё устраивает. До этого, когда-то давным давно, пользовался услугами brim.ru, потом кажется DigitalOcean, потом очень долгое время блог жил на виртуалке, которую…
-
Multi-map в Java 8
Мультикарта (multi-map) может пригодиться в реальной работе или на собеседовании. Почему-то в некоторых компаниях при приёме на работу любят давать алгоритмические задачки на её использование (лично я так не поступаю). По сути это обычная карта (Map) в которой значением является коллекция (List или Set). Сейчас в JCF (Java Collections Framework) нет готового класса для Multimap.…
-
Про настройку шрифтов в IDE (Netbeans) под Linux.
Какой самый лучший шрифт для программиста? Каждому своё. Одним нравятся округлые очертания, другому наоборот тонкие и острые. Поэтому выбор шрифта — дело вкуса, хотя конечно есть базовые требования. Самое главное и очевидное — шрифт должен быть моноширинным, т.е. все символы должны быть одной ширины. Это очень важно для того, чтобы сохранить структуру кода, т.к. иначе…
-
Про org.json парсер
С json парсерами в Java дела обстоят следующим образом. С одной стороны их существует несколько разновидностей, с другой стороны сложно сделать выбор. Хорошо когда только один критерий принятия решения, например скорость работы или размер библиотеки. Сложности начинаются тогда, когда нужно выбрать с учетом нескольких характеристик. В этой небольшой заметке я хотел бы кратко описать случаи,…
-
Компьютер/ноутбук для программиста
В этой статья я расскажу про свой опыт, про других, про мировые практики и попробую дать советы в выборе компьютера для программиста. Мой опыт. Думаю разумнее начинать с того момента как начал работать на себя. Когда трудишься наемным сотрудником в компании, то проблемы выбора как правило нет — работаешь на том оборудование, которое принято использовать…
-
Про Android TV.
Небольшая предыстория. Так получилось, что мы пишем приложение для Android TV. Вообще, обычно я занимаюсь тем, что в программисткой среде принято называть “суровым энтерпрайзом” — веб-службы, высокая нагрузка и прочие Java EE штуки. Тем не менее, иногда мы делаем проекты и под мобильные платформы. Как правило это заказная разработка, например мобильные приложения для внутренних нужд…