Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Работал на ObjC и Swift, потом в компании мобайл проект перевели за океан, предложили Java. Сначала было диковато после современного синтакса Swift, но со временем понял, что Java, это не только геттеры и сеттеры сам язык, но и огромная окружающая инфраструктура, в большинстве прекрасно стандартизированная, как и сам язык, академичный подход в решениях, куча профильных просвятительных ресурсов. Плюс строгое типизирование. Сейчас в основном на Pythone пишу, ноутбуки в Databricks, или лямбды. Тоже норм. :)

спасибо за статью! Как говориться, стильно, модно, молодежно, :) отличный стиль.
Тема секьюрити как то совсем не упомянута, если нужно поиск делать только по документам, доступным для данного пользователя.

Принципы справедливы почти для любого современного ЯП.

Причем тут ЯП вообще? Это как сказать, принципы аэродинамики справедливы для автомобилей любой марки. ЯП вообще может быть функциональным, а принципы, они для ООП.

Все относительно не плохо, кроме цены. Совсем не понятно на что они там рассчитывали, даже в штатах такая цена кажется невероятно высокой, при том что это nice-to-have гаджет, с нулевой практической пользой и крайне скудным банком приложений. Если у них есть какой то стратегический план, то может надо было наоборот занижать цену до предела, в расчете на будущее развитие технологии. Но они поступили как всегда, наверно в надежде на вау-фактор. Просто $3.5К совсем не вау.

Я в 1998 году был комсомольцем

так его в 1991-ом отменили ж

который остается безальтернативным на iOS/iPadOS

прекрасно пользуюсь FF на iOS, ЧЯДНT?

Например, читабельность, сравните конфиг из статьи и такой:

[loggers]
keys=root

[handlers]
keys=consoleHandler

[formatters]
keys=json

[logger_root]
level=INFO
handlers=consoleHandler

[handler_consoleHandler]
class=StreamHandler
level=INFO
formatter=json
args=(sys.stdout,)

[formatter_json]
class=pythonjsonlogger.jsonlogger.JsonFormatter
format=%(asctime)s %(process)d %(thread)d %(levelname)s %(name)s %(funcName)s %(message)s

Для конфигурации лучше использовать файл, а не код. Например:

logging.config.fileConfig(Path(__file__), "logging.ini")

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

"Терминология"

очевидно вы не работали в кровавом интерпрайзе, где могут быть полиси на передачу какого-то correlationId или transactionId в заголовках цепочки запросов сервисов.

По мере расширения пространства создается больше пространства, и вместе с ним - больше темной энергии

то есть темная энергия постоянно создается?

game новости и ни слова о ‘Counter-Strike 2’ Limited Test Now Available To Almost Everyone от 1 сентября

ну конечно, еще в 2016 году. pyproject.toml и setup.cfg

все написано, статью по диагонали читаете? тогда поищите слова push и pull.

не так ультимативно, Zookeeper так же и остался в Кафке, а Metadata Quorum, он же KRaft (https://developer.confluent.io/learn/kraft/) добавлен как мод, и as production ready он помечен только в последнем релизе, вышедшем буквально несколько дней назад

я бы сказал Core Data - ORM

Количество партиций в топике зависит от количества его конкурирующих подписчиков

не корректно, оно не зависит от подписчиков. Вы можете сделать 10 partitions и 1 consumer, а можете наоборот (тогда конечно 9 консьюмеров будут простаивать). В идеальном случае число partitions должно соответствовать числу потребителей.

Ну очень поверхностно, есть гораздо больше различий, например Кафка более чувствительна к размеру сообщения и времени его обработки в отличие от RabbitMQ, а у последнего есть варианты подписки basic.consume (подписка как в Kafka) и basic.get, который делает только один запрос в queue. В RabbitMQ можно удалять очереди после прочтения сообщения или по timeout, в отличие от Kafka, и т.п.

...Разворачивание среды автоматизировано и происходит “одной кнопкой”

это как это? вам как минимум надо получить доступ к репо (положить ssh key на remote),
установить плагины (*lint и тп), настроить VPN..., лицензии на инструменты..

Упомянули Trunk Based Development, ни слова про git-flow. Кроме того по гиту тоже хорошо иметь соглашения по именованию веток и коммитов с обязательными ссылками на US, таски и баги (issues)

Test coverage - nice to have на проекте и централизованый Sonar.


Года четыре-пять назад, помню, ходила шутка: «Realm используют те, кому лень разбираться с CoreData», он позиционировался чуть ли не как серебряная пуля на все проблемы с хранилищем в iOS. На деле уже тогда, тем кто знал Core Data было понятно, что невозможно «просто» решить комплексные вещи.
1

Информация

В рейтинге
Не участвует
Откуда
Ришон-ЛеЦион, Хамеркац, Израиль
Зарегистрирован
Активность