Thoughts

Spring: Start refresh knowledges

As a preparation to relocate, I start to refresh my knowledges about some tools — frameworks, programming languages features, some WTF places for me in system design etc.

First objective — Spring Framework and I started with Spring Context — heart of framework.

Some reminders about Spring context:

Add beans to context:

Beans — instances of objects, added to Spring Context

  1. Method to add beans by @Bean
    Configuration class (anotated with @Configuration) — various Spring-related configurations:
    can added @Bean classes to context — beans: @Bean instruct Spring to call this method at context initialization
    method name becomes the bean’s name
    @Bean(name = «miki») — to change name of bean.
  1. Method to add beans by stereotype
    (some comments — @Primary annotation — make exemplar of bean primary)
    @Component — Spring creates an instance of the class and adds that instance to its context
    Also, we have configuration class — marks by @Configuration and @ComponentScan(basePackages=«»)
    @PostConstruct to manage instance atfer its creation
    @PreDestroy — before closing context.
  1. Method to add beans programmaticaly — by registerBean on ApplicationContext,

Scope of Beans

Scope is an approach for creating and managing beans and their lifecycles.

The default scope of bean is singleton.
Spring allows multiple instance of similar type  — singleton by uniqie name: unqiue per name not unique per app.

Singleton beans must be immutable. Singleton beans can be used in multi-threaded environment, but synchronization is not good decision/practice in this situation.

Spring create all singleton beans when context is initialized — this is default behavior of framework. These is eager instantiation. But we can annotate with @Lazy to power on lazy instantiation.
Trade-off: if some beans can’t created in lazy instantiation — running application will throws exceptions.
Also — when framework needed to create @Lazy @Bean by first referred call, it’s start to check if instances exists, and then eventually create one — not good for performance point of view.

To change scope — add annotation @Scope and specialized:

@Scope(BeanDefinition.SCOPE_PROTOTYPE)
  • to set prototype
@Scope(BeanDefinition.SCOPE_SINGLETON)
  • to set singleton.

Main reminder: to create prototype beans — need to get bean exemplar from context, like this:

CommentProcessor p = context.getBean(CommentProcessor.class);
p.setComment(c);
p.processComment(c);
p.validateComment(c);
c = p.getComment();

Singleton — Spring Context controls by instance: name to instance, protorype — controls by type: name to type.
With prototype each thread has it’s own instance of bean.

Книга «В погоне за памятью. История борьбы с болезнью Альцгеймера»

Купился на акцию от магазина Лабиринт и взял себе https://www.labirint.ru/books/859359/

Интересная книга — добавление к реальным историям научных историй — весьма доставляет и кажется уместным. Книга неплохо вводит в тему «клубков и бляшек», нужно только узнать, что сейчас SoTA в исследованиях — суть до дело (издание на английском, перевод на русский, издание на русском) — а книга заканчивается на 2017.

[Системное саморазвитие] Вопросы здоровья

После прочтение о мониторинге здоровья в курсе «Системного развития» вернулся к прошлогоднему вопросу «скрипучих колен» — поставленный артрит после январского перенесенного коронавирусом обострился: по наблюдениям лечащего врача ортопеда-травматолога после переноса коронавируса у многих «исчезает» гиалуроновая смазка в коленных суставах.

После повторного МРТ — новые уколы: количество смазки уменьшилось, восстановили 3 уколами в каждый коленный сустав.

Следующие действия:

  1. снижение веса — через кардиотренировки на пульсе 120-130 гуляю по Москве в отдельно взятом кардиотеатре
  2. зарядка после пробуждения — в привычку не вошло, поставить себе напоминание
  3. 3-6-12 месячные осмотры — после 3 месячного осмотра жду вердикта лечащего врача.

Промежуточные итоги

  1. После 3 месяцев полёт нормальный
  2. Закупился гиалуронкой на сентябрь

[Cистемное саморазвитие] 6 недель несобранности

Заканчивается 6 неделя несобранности — до сих пор помню 24 февраля,
когда идея заглянуть в новости перед занятием обернулась шоком и непринятием происходящего.

Говорю уверенно — план по догонялкам за отпускную неделю потерпел фиаско: при старте помидорки появляется желание бросить и отвлечься. Странно, конечно, что не попытаюсь пойти на пару уровней ниже и понять, что мешает — где тот баг, что отвлекает и вызывает жуткое чувство отторжения. Благодаря курсу появился язык — неизвестный покемон стал узнаваемым и легко описываемым.

image.png

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

[Системное развитие] Февральские заметки

Мои привычки

  1. непрошенные советы
  2. непрошенное управление
  3. «мои идеи лучше всех»
  4. я возьму всё — брать обучение сверх меры
  5. куча открытых вкладок — я посмотрю позже, обязательно

Мои хобби/интересы

  1. многопоточность
  2. эллиптический тренажёр
  3. игры

Отдых

  1. шабат как отдых для всей недели
  2. сон — как ежедневный отдых
  3. прогулки в зал — как отдых для «проветривания» головы

Здоровье

  1. места, что болят
  2. места, что проверить стоит
  3. места, что могут заболеть с возрастом

[Системное саморазвитие] Январские заметки

Есть несколько уровней внимания —
это момент (болит ли колено в текущий момент)
это фокус (я в движении на эллипсе — не любуюсь собой в зеркало, а смотрю на показания тренажёра)
это привычка (я от 2 до 7 раз на эллипсе в неделю)
это жизнь — я на эллипсе для возвращения в тонус своего обрюзгшего тела.

Медленное и быстрое мышление — S1 и S2
Деятель от S1 до S2
Потребитель — в S1.

https://barbaraoakley.com/books/uncommon-sense-teaching/

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

Телесный фон завязан на сон: Мозг не успевает интегрировать знания и получается каша, которую сложно собрать в тарелку при отсутствии привычного 8-9 часового.

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

В какую роль я не встал — почему так процесс с поиском и принятия стажёров буксовал? — я бы назвал эту роль куратора стажировки.

Мой экзокортекс — этот блог для ведения записей, а затем для формирования своей базы знаний.
Календарь — как замена ежедневнику — с напоминаниями и прочими плюшками.
С ним только проблема с экосистемами не решена — как объединить несколько платформ или уже перейти в одну с концами?
Focus To-Do для составления списка всех проектов и работ по ним.

Ранее Ctrl + ↓