Pull to refresh
94
0
Соловьев Сергей @AshBlade

Бэкэнд разработчик, но для ПМ могу быть кем угодно

Send message

Нет, я ее понял.

Я сейчас не о том как правильно внедрять зависимости, а о том как книга написана:

  1. Автор сначала приводит пример без зависимостей, потом добавляет внедрение через конструктор

  2. Потом добавляет интерфейсы (на этом моменте он и рассказывает про эти 4 вида)

  3. После выделяет каждый метод интерфейса в отдельный интерфейс

  4. В конце говорит "а зачем нам куча интерфейсов, давайте медиатор запилим" - появляется медиатр, как цель всей нашей жизни

В книге Внедрение зависимостей на платформе .NET автор делает буквально то же самое: в начале книги реализует внедрение зависимостей через аргументы конструктора, а потом, понимая, что могут возникнуть циклические зависимости, предложил ввести для каждого метода отдельный класс - тот самый универсалий.

Только он пошел дальше, и дошел до медиатора

Так же как и из Омска - никак

Скорее не от властей, а от того чем поддерживается.

  • У гос-ва - власть/влияние

  • У криптовалюты - только доверие пользователей

Последнее, кстати, теряется быстро

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

Давно не слышал про магнитные ленты. У меня тут возник интересный вопрос: раз они так много вмещают можно ли использовать их для хранения лога кафки?

Когда log.retention.* превышается, то сбрасывать на магнитную ленту, а основную очередь хранить на HDD/SSD (для быстрого доступа)

Такое практикует/практиковал кто-либо? Было интересно послушать опыт

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

На счет "конкурентная" - в данном случае, используется для обозначения поддержки одновременных операций несколькими потоками. Лучше подходит синоним "потокобезопасный", но использовал "конкурентный", т.к. сам класс назвал в соответствии с наименованием многопоточных структур данных из стандартной библиотеки (из пространства имен System.Collections.Concurrent, все они имеют приставку Concurrent)

Замеров не производил, сказать не могу

Но многие экспортеры OpenTelemetry тюнятся. Например, OTLP поддерживает gRPC, а другие передают через HTTP. Также все поддерживают отправку батчами, а не по одному.

Поэтому надо тюнить и тестить

Я в такие дебри не лезу и вам не советую

Для вводной статьи - самое то. Надеюсь, в следующей будет работа с периферийными устройствами

Смотря кем работать. Но, в любом случае, одного SQL маловато будет)

Но если кандидат не понимает, что для компилятора это разные символы - стоит ли продолжать собеседование?

А как кандидат должен понять, что кодировки разные? Может еще ; и ; заставите обнаруживать?

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

Или заняться нечем

Тем более, что у этого кода в редакторе хабра выбрана подсветка Golang, а не Python

Серьезно???

Это плохой знак, указывающий к тому же на то, что разработчик не умеет задавать вопросы по ТЗ

Если я собеседуюсь на Python разработчика, то обязательно должен задавать вопросы "Это ABC или Python?"

Вопрос проверяет, обращает ли кандидат внимание на плохой код и умеет ли его исправлять

Вопрос "Запустится ли этот код на Python 3? Если да, то что он выведет?"

Этот код запустится, но не выведет в консоль ничего, потому что не успеет

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

Сразу вспомнилось выражение Д. Кнута: "Преждевременная оптимизация - корень всех зол". Но не все вспоминают контекст:

There is no doubt that the grail of efficiency leads to abuse. Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered. We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil

Иначе говоря, оптимизация зло - когда мы оптимизируем эти 3%. (Чем грешу порой и сам)

Ссылка на статью: https://cowboyprogramming.com/files/p261-knuth.pdf

Метод продольно-поперечной прогонки с неявной схемой

Сетка ортогональная. График сходимости не строил

Думаю да. Можно пройтись по основным подсистемам

Цикл расположен в postmaster.c

Добавил ссылку на файл с циклом. Все действия происходят в нем

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Works in
Registered
Activity

Specialization

Backend Developer, Database Developer
Middle
PostgreSQL
Linux
C
System Programming
Database