Недавно в подкасте "Цинковый прод" мы с товарищами обсуждали паттерн CQRS/ES и некоторые особенности её реализации в Elixir. Т.к. я в работе использую Laravel, грех было не покопаться в интернетах и не найти как же можно потягать этот подход в экосистеме данного фреймворка.
Всех приглашаю под кат, постарался максимально тезисно описать тему.
Рубрика «Программирование» - 279
Как быстро попробовать CQRS-ES в Laravel или пишем банк на PHP
2019-04-15 в 23:33, admin, рубрики: clean architecture, laravel, php, sqrs/es, Программирование, Проектирование и рефакторинг, Разработка веб-сайтовПишем на Rust + CUDA C
2019-04-15 в 12:46, admin, рубрики: C, c/c++, c++, CUDA, Rust, параллельное программирование, Программирование
Всем привет!
В данном руководстве хочу рассказать как подружить CUDA C/С++ и Rust. И в качестве примера напишем небольшую программу на Rust для вычисления скалярного произведения векторов, вычисление скалярного произведения будет производиться на GPU с использованием CUDA C.
Кому интересно под кат!
Читать полностью »
Docker — это игрушка или нет? Или всё-таки да?
2019-04-15 в 9:24, admin, рубрики: devops, docker, docker-compose, ПрограммированиеВсем привет!
Ооочень хочется прям сразу приступить к теме, но правильнее будет немного рассказать про мою историю:
Вступление
Я программист с опытом разработки frontend одностраничных приложений, scala/java и nodejs на сервере.
Довольно долго (уже точно пару — тройку лет), я придерживался мнения, что docker это манна небесная и вообще очень крутой инструмент и абсолютно каждый разработчик должен уметь пользоваться им. А отсюда вытекает, что и у каждого разработчика должен стоять docker на локальной машине. Да что там про моё мнение, вы полистайте вакансии, которые размещаются на том же hh. В каждой второй есть упоминание про docker и если вы им владеете — это будет вашим конкурентным преимуществом ;)
На своем пути я встечался с многими людьми, с их разным отношением к docker и к его экосистеме. Одни говорили, что это удобная вещь, гарантирующая кроссплатформенность. Вторые не понимали зачем им запускаться в контейнерах и какой профит от этого, третьим было вообще пофиг и они не парились (просто писали код и уходили домой — завидую, кстати, им :) )
Announcing ML.NET 1.0 RC – Machine Learning for .NET
2019-04-15 в 7:00, admin, рубрики: .net, 1.0, microsoft, ML.NET, ML.NET 1.0 RC, Блог компании Microsoft, машинное обучение, ПрограммированиеML.NET is an open-source and cross-platform machine learning framework (Windows, Linux, macOS) for .NET developers. Using ML.NET, developers can leverage their existing tools and skillsets to develop and infuse custom AI into their applications by creating custom machine learning models for common scenarios like Sentiment Analysis, Recommendation, Image Classification and more!.
Today we’re announcing the ML.NET 1.0 RC (Release Candidate) (version 1.0.0-preview
) which is the last preview release before releasing the final ML.NET 1.0 RTM in 2019 Q2 calendar year.
Soon we will be ending the first main milestone of a great journey in the open that started on May 2018 when releasing ML.NET 0.1 as open source. Since then we’ve been releasing monthly, 12 preview releases so far, as shown in the roadmap below:
In this release (ML.NET 1.0 RC) we have initially concluded our main API changes. For the next sprint we are focusing on improving documentation and samples and addressing major critical issues if needed.
The goal is to avoid any new breaking changes moving forward.
Основы Natural Language Processing для текста
2019-04-15 в 5:54, admin, рубрики: machine learning, nlp (natural language processing), python, Блог компании Voximplant, машинное обучение, обработка естественного языка, Программирование, распознавание текстаОбработка естественного языка сейчас не используются разве что в совсем консервативных отраслях. В большинстве технологических решений распознавание и обработка «человеческих» языков давно внедрена: именно поэтому обычный IVR с жестко заданными опциями ответов постепенно уходит в прошлое, чатботы начинают все адекватнее общаться без участия живого оператора, фильтры в почте работают на ура и т.д. Как же происходит распознавание записанной речи, то есть текста? А вернее будет спросить, что лежит в основе соврменных техник распознавания и обработки? На это хорошо отвечает наш сегодняшний адаптированный перевод – под катом вас ждет лонгрид, который закроет пробелы по основам NLP. Приятного чтения!

Джулия в латексе
2019-04-15 в 4:17, admin, рубрики: Julia, latex, матричные операции, Программирование, символьные вычисления, формулыВ научной среде очень важную роль играет визуализация данных и оформление теории. Для удобного и красивого представления формул часто используются инструменты реализующие LaTeX-команды, например Markdown и MathJax.
Для Джулии также существует набор пакетов позволяющих использовать синтаксис LaTeX 'a, а в связке с средствами символьной алгебры мы получаем мощный инструмент для оперирования формулами.
GHIDRA, исполняемые файлы Playstation 1, FLIRT-сигнатуры и PsyQ
2019-04-14 в 20:42, admin, рубрики: Ghidra, java, PlayStation 1, psx, reverse engineering, Гидра, Игры и игровые приставки, плойка, Программирование, реверс-инжинирингПривет всем,
Не знаю как вам, а мне всегда хотелось пореверсить старые приставочные игры, имея в запасе ещё и декомпилятор. И вот, этот радостный момент в моей жизни настал — вышла GHIDRA. О том, что это такое, писать не буду, можно легко загуглить. И, отзывы настолько разные (особенно от ретроградов), что новичку будет сложно даже решиться на запуск этого чуда… Вот вам пример: "20 лет работал в иде, и смотрю я на вашу Гидру с большим недоверием, потому что АНБ. Но когда-нибудь запущу и проверю её в деле".Читать полностью »
Эволюция программного проекта и ООП
2019-04-14 в 10:27, admin, рубрики: абстракция, алгоритм, Анализ и проектирование систем, инкапсуляция, наследование, ооп, полиморфизм, Программирование, Проектирование и рефакторинг, эволюцияОсваивая рецепты эффективного развития программного проекта, постарался для себя найти причины, делающие полезным использование принципов развития архитектуры SOLID (статья Как не понимать принципы развития архитектуры SOLID).
Анализ этих принципов позволил выделить несколько ключевых закономерностей и базовых элементов, существующих в разработке. Они позволили описать, понять и внедрить SOLID в реальной работе с программным проектом.
Стало интересно выполнить анализ применимости этих понятий для общепринятых парадигм программирования, например для ООП. Хорошо, если результат этой работы будет полезен и Вам.
Как мы спасали код-ревью
2019-04-12 в 7:53, admin, рубрики: bitbucket, Grafana, java, jira, statsd, Блог компании Яндекс.Деньги, код ревью, Программирование, Совершенный код, яндекс.деньгиЯ ведущий Java-разработчик в Яндекс.Деньгах.
Каждое рабочее утро в 2018 году меня встречали около 30 пулл-реквестов, ожидающих ревью, а у меня не хватало времени разобрать их все за день. В конце лета я ушел в отпуск, а когда вернулся, обнаружил очередь из 50 PR, назначенных на меня. Разгребать их не было никакого желания, а ведь это была лишь вершина айсберга, которую я видел своими глазами. В тот день я и решил, что пора что-то изменить.
Это история о том, как мы ускорили код-ревью, разгрузили ведущих разработчиков и улучшили инструменты, которыми пользуемся каждый день.
Компилируемая конфигурация распределённой системы
2019-04-11 в 9:23, admin, рубрики: devops, scala, Блог компании Праймтолк, компилируемая конфигурация, менеджмент конфигурации, ненормальное программирование, ПрограммированиеХотелось бы рассказать один интересный механизм работы с конфигурацией распределённой системы. Конфигурация представлена напрямую в компилируемом языке (Scala) с использованием безопасных типов. В этом посте разобран пример такой конфигурации и рассмотрены различные аспекты внедрения компилируемой конфигурации в общий процесс разработки.
(english)