Метка: программирование

  • Про архитектуру

    Решил написать еще одну заметку про проектирование. Меня периодически спрашивают, как привести в порядок проект или как выстроить в нем архитектуру. Как правило программисты интересуются больше техническими вопросами (про дизайн, архитектуру, стек технологий), а менеджмент как найти нормального архитектора. Есть такая книга “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 штуки. Тем не менее, иногда мы делаем проекты и под мобильные платформы. Как правило это заказная разработка, например мобильные приложения для внутренних нужд […]