Вот, например, реализация стратегии без 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)
Это не совсем корректно, т.к. задачи они все-таки решают разные. 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 нет паттернов проектирования ПО и т.п.
Я для себя решил, что дело в количестве населения. В Турции 85млн человек, в Казахстане 20Млн (https://www.wolframalpha.com/input?i=population+kazahstan+vs+turkey). Может еще играет роль ВВП (ППС) на душу населения - Турция $30000, Казахстан - $26000. Получается, рынок Турции более широк и привлекателен для экспансии - больше заработаешь за счет охвата.
Я посмотрел, подписка на google play pass в Казахстане стоит 1000 рублей в год, дешевле, чем была в РФ. То есть более крупные игроки, похоже, адаптируют цены для более широкого круга стран.
Но если вы взяли кредит под нулевую ставку – то гасить его заранее не имеет особого смысла!
Не всегда это утверждение верно. Надо учитывать факт возможности/не возможности вносить ежемесячный платеж НЕ основным источником денег в семье и критичность жилья под ипотекой для семьи.
Например, муж зарабатывает условные 200т.р., а жена 75.р. ежемесячный платеж 120т.р. Если муж потеряет возможность зарабатывать деньги (например, попав в тюрьму из-за несчастного случая на дороге), то это станет критичным для всей семьи.
Досрочное погашение - особенно при уменьшение суммы ежемесячного платежа - снижает такие риски для семьи.
Я не исследовал вопрос специально, но мой опыт показывает - при нажатии на "manage my cookies" автоматически выбираются только необходимые куки. Все остальные надо добавить вручную. Это означает, что мне достаточно два клика - manage my cookies и accept.
Кто хочет этим делом специально управлять (я обычно хочу) - тратит два клика. Кто не хочет - один. Или прячет в блокировщике контента.
Ok, вы решили затащить ООП паттерны в не совсем ООП язык. Но зачем их реализовывать так прямолинейно (и насколько я понимаю, не оптимально)?
Rust предлагает более изящные и оптимальные решения, посмотреть можно здесь:
https://rust-unofficial.github.io/patterns/patterns/index.html
Вот, например, реализация стратегии без
Box<dyn SortStrategy>
:Там нет параметрического режима. Так что я даже не понимаю, как ее для обучения использовать :( Обновили бы ее до 17 (с новым UI) и включили параметрический режим - уже было хорошо.
https://www.youtube.com/watch?v=Oy_VYovfWyo&list=PLlb7e2G7aSpTfhiECYNI2EZ1uAluUqE_e отличный курс от Computer Science Center
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.
Кто хочет этим делом специально управлять (я обычно хочу) - тратит два клика. Кто не хочет - один. Или прячет в блокировщике контента.