All streams
Search
Write a publication
Pull to refresh
12
0
Send message

Ok, вы решили затащить ООП паттерны в не совсем ООП язык. Но зачем их реализовывать так прямолинейно (и насколько я понимаю, не оптимально)?

Rust предлагает более изящные и оптимальные решения, посмотреть можно здесь:
https://rust-unofficial.github.io/patterns/patterns/index.html

Вот, например, реализация стратегии без Box<dyn SortStrategy>:

use std::collections::HashMap;

type Data = HashMap<String, u32>;

trait Formatter {
    fn format(&self, data: &Data, buf: &mut String);
}

struct Report;

impl Report {
    // Write should be used but we kept it as String to ignore error handling
    fn generate<T: Formatter>(g: T, s: &mut String) {
        // backend operations...
        let mut data = HashMap::new();
        data.insert("one".to_string(), 1);
        data.insert("two".to_string(), 2);
        // generate report
        g.format(&data, s);
    }
}

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

Rust In Action еще интересна своим подходом. Помимо самого языка, она еще дает основы работы компьютера в целом (CPU, сеть). Для многих молодых разработчиков этот аспект тоже будет полезен.

Согласен. Поэтому и rust не так высок. В Rust сообществе visual studio code гораздо популярнее инструментов от JetBrains (я, например, сам VS Code имея личную подписку на Intellij Idea)

У вас прикольный обзор на gist лежит. Судя по вашим скриншотам что-то свое готовятся сделать.

Авотограф и Р7-графика это draw.io в десктоп обертке. А АСМОГраф, судя по всему, на своем движке построен.

Это не совсем корректно, т.к. задачи они все-таки решают разные. ORM как инструмент должен сделать маппинг между миром ООП и миром реляций в СУБД. А exposed/slick как и myBatis все-таки мапит не таблицы. а результаты запросов. Я с jooq не работал, но подозреваю что по стилю использования exposed ближе к нему, чем к Hibernate.

Два момента:

  • Я подписан на хаб Rust и прилетела эта статья. Причем тут Rust, я не понял.

  • Есть еще один подход, который не упомянули авторы статьи. В библиотеке SLICK (Scala) этот подход назвали Functional Relational Mapping. Библиотека Exposed - реализация этого подхода для Kotlin - позволяет написать любой запрос к БД оставаясь в рамках типизированной модели.

Еще многое зависит площади кабинетов. В кабинете 40 метров до ковида нас сидело человек 7 максимум (сейчас трое). И это было хорошо. Посади 4 человек в 20 метров с потолками в 2.40 и будет уже не айс. Хороший опенспейс может и получше будет.

И еще важный момент - переговорки и минипереговорки 1x1 и 2x2 нужны и в случае кабинетной рассадки. Чтобы мешать другим, достаточно одного, который громко общается по телефону/скайпу/зуму и т.п

Задачи архитектора, и следовательно, его рабочий день сильно зависят от компании/организации, от фазы проекта и многих других факторов (например, выделен архитектор на один проект или шарится между несколькими). Правда об этом в статье не говорится.

Такое ощущение, что статью писал junior solution architect. В целом идея зон ответственности близка принятой у нас в компании (и лично мне), но очень много неточностей и ошибок. Visio это инструмент рисования, а не проектирования/моделирования, в TOGAF нет паттернов проектирования ПО и т.п.

На основе комментариев к статье можно сделать статью "Как не надо писать бенчмарки"

В обычном окне и с входом в аккаунта MS bing показывает дату и время.
Повторил в приватном режиме - нет.

google и так, и так выводит дату.

Я для себя решил, что дело в количестве населения. В Турции 85млн человек, в Казахстане 20Млн (https://www.wolframalpha.com/input?i=population+kazahstan+vs+turkey). Может еще играет роль ВВП (ППС) на душу населения - Турция $30000, Казахстан - $26000. Получается, рынок Турции более широк и привлекателен для экспансии - больше заработаешь за счет охвата.

Я посмотрел, подписка на google play pass в Казахстане стоит 1000 рублей в год, дешевле, чем была в РФ. То есть более крупные игроки, похоже, адаптируют цены для более широкого круга стран.

Но если вы взяли кредит под нулевую ставку – то гасить его заранее не имеет особого смысла!

Не всегда это утверждение верно. Надо учитывать факт возможности/не возможности вносить ежемесячный платеж НЕ основным источником денег в семье и критичность жилья под ипотекой для семьи.

Например, муж зарабатывает условные 200т.р., а жена 75.р. ежемесячный платеж 120т.р. Если муж потеряет возможность зарабатывать деньги (например, попав в тюрьму из-за несчастного случая на дороге), то это станет критичным для всей семьи.

Досрочное погашение - особенно при уменьшение суммы ежемесячного платежа - снижает такие риски для семьи.

Там где часто нужны unsigned, используются другие языки: C/C++/Rust. В JVM мире очень редко, соглашусь с вами.

Очень круто, что в статье приведены не только конечные формулы, но и методика их вывода.

Спасибо за статью! Если все заведется под archlinux, куплю домашнюю версию. Давно хочу, но пока останавливает факт необходимости windows.

Я не исследовал вопрос специально, но мой опыт показывает - при нажатии на "manage my cookies" автоматически выбираются только необходимые куки. Все остальные надо добавить вручную. Это означает, что мне достаточно два клика - manage my cookies и accept.

Кто хочет этим делом специально управлять (я обычно хочу) - тратит два клика. Кто не хочет - один. Или прячет в блокировщике контента.

Information

Rating
5,361-st
Registered
Activity