Pull to refresh
19
0
Ivan Osipov @i_osipov

Tech Lead

Send message

Думаю, можно умножить расходы на переезд на 2 и получатся что-то близкое к сумарным

Приятно было почитать про осознанность. Особенно интересно, что было упомянуто два её вида. По той о которой говорит Андрей, если я правильно помню, была книга "Думай медленно, решай быстро" Д. Канемана, а по той, которая про медитации есть другая книга с большим набором практик, которая так и называется "Осознанность". Рекомендую обе.

Первое, что бросилось в глаза после Jupiter — отсутствие command mode и введение кучи шорткатов. Так проще довести до «беты» или не планировали добавлять?
На скриншоте
Пример документации метода Get All Speakers
есть описание для параметра id метода, возможно это есть в статье, но я не увидел, каким образом это делается?
Спасибо за статью. Интересная тема, а ниже вопросы.
Как вы интегрируете MiniZinc и вашу систему? Есть специальные Runner'ы, которым скармливаются исходные переменные и конфигурация ограничений или как-то иначе?
Это упрощенный пример из реального применения? Если да, то как много времени обычно занимает построение расписания?
При изменении исходных данных вы перестраиваете расписание целиком? Как в этом случае учитывается та часть расписания, которую уже нельзя изменить? Ограничения?
Григорий, спасибо за статью, особенно за ссылки. Добавил в закладки. А что касательно публичных презентаций? В этом направлении был опыт?
Очень нравится ваш выбор статей для перевода. Успехов!
Было интересно почитать, спасибо за ссылки на оригиналы
Далеко не все делают для себя «удобный mini-API». Kotlin DSL это легкий способ и API в терминах предметной области получить, и сил затратить мало, так еще и такой подход полностью совместим с вашим Java кодом. Не стоит принимать «минусы» как жалобу, я хочу, чтобы у читателя было более объективное представление об инструменте до начала его использования. А про ANTLR для тестирования Java кода это вы отлично пошутили.
А где сам язык, который вы построили?

Пример использования языка вы увидите в разделе «Пример финального результата»
Код доступен на GitHub по ссылкам в статье.
Я вообще не уверен, что хаки с синтаксическим сахаром и набор утилитных функций (которые не похожи на код, но компилируются! вот прикольно!) — это уже DSL.

Использование элементов языка общего назначения для получения специфичных для решаемой задачи конструкций — это один из вариантов построения DSL. Вы можете убедиться в этом сами по ссылке и в других источниках по запросу «internal domain-specific language»
Вы верно заметили. Это обычный Kotlin код. Если быть точнее, это набор стандартных конструкций языка, благодаря которым мы строим проблемно-ориентированный язык, который специфичен для нашего проекта. Чем в вашем понимании «проектно специфичный фреймворк» отличается от DSL?
Купил оригинал в manning, когда тот был еще не дописанный, жаль, что перевод не идет приятным бонусом к оригиналу :)
Наглядность тащит. В тот момент, когда меня спросят разницу между rebase и merge, я скину ссылку на эту статью

Information

Rating
Does not participate
Location
Батуми, Аджария, Грузия
Date of birth
Registered
Activity