Вот уже около трех лет я использую в работе принципы Spec By Example, Domain Driven Design и CQRS. За это время накопился опыт практического применения этих практик на платформе .NET. В статье я хочу поделиться нашим опытом и выводами, которые могут быть полезными командам, желающим использовать эти подходы в разработке.

Читать полностью »
Рубрика «Программирование» - 643
Как мы попробовали DDD, CQRS и Event Sourcing и какие выводы сделали
2016-10-19 в 12:22, admin, рубрики: .net, C#, cqrs, DDD, Анализ и проектирование систем, Программирование, Разработка веб-сайтовПростой класс для построения линий уровня двумерной сеточной функции
2016-10-19 в 12:14, admin, рубрики: C#, wpf, визуализация данных, ПрограммированиеПри обработке данных в предметных областях, связанных с научной деятельностью, часто возникает необходимость в построении и визуализации функции двух независимых переменных. Типичным примером является необходимость визуального представления результатов решения двумерных дифференциальных уравнений в частных производных, получаемых в виде так называемых сеточных функций.
Предлагается простой класс для построения линий уровня (изолиний) функции: Z=F(X,Y) в виде линий на плоскости X-Y, удовлетворяющих уравнениям Z=const (где const — набор заданных значений).
Читать полностью »
River Raid на FPGA
2016-10-19 в 12:13, admin, рубрики: fpga, river raid, игра, обучение, ПрограммированиеЕще не делали River Raid на FPGA? Ок, тогда я сделаю.

Совсем недавно FPGA для меня был черным ящиком, а Verilog казался вообще магией — ну как можно написать программу, по которой построится схема на логических элементах? Изучить это я планировал давно, но без реальной железки даже не хотел начинать.
Читать полностью »
Контроль качества кода в перспективе развития проекта
2016-10-19 в 10:41, admin, рубрики: Building Maintainable Software, C#, java, php, Software Improvement Group, Блог компании SECL GROUP, высокая производительность, качество кода, поддержка проекта, Программирование, Разработка веб-сайтов, стандарты кодирования, стоимость поддержки, чистый код, метки: стандарты кодированияНаверняка всем знакома ситуация, когда развитием проекта упирается в какую-то стену, внедрение новых функций становится все более затратным по времени и финансам. И, к сожалению, нередки такие моменты, когда чаша весов с ценой, начинает значительно перевешивать возможную выгоду от реализации той, или иной функции.
Это достаточно стандартный и, во многом, привычный ход событий. С опытом, мы пытаемся делать разрозненные попытки улучшать ситуацию, и не допускать ошибок прошлого. Но часто, собрать все в кучу для организации какой-то вменяемой системы времени не хватает. И, какое-либо универсальное решение, до настоящего времени, найти было достаточно непросто.
Мы разработали автоматизацию по контролю качества кода, которая уже работает в нашей компании и в некоторых других. Данная реализация создана для языка PHP. Ранее она была только для Java и C#. Однако принципы и подходы применимы ко всем современным языкам, поэтому приглашаем к обсуждению этой важной темы.
Читать полностью »
Дональд Кнут: Как создавалось «Искусство программирования» (33,38,39-97)
2016-10-19 в 9:20, admin, рубрики: computer science, edisonsoftware, Алгоритмы, Блог компании Edison, кнут, математика, написание книги, Программирование, Профессиональная литература«Я должен был закончить книгу, прежде чем родится мой сын. Теперь ему 40 лет, и я до сих пор не закончил её.»

На третий год моего пребывания в университете меня попросили провести пару занятий о компьютерах. Группка людей сказала, что в Caltech (Калифорнийском технологическом институте) не учат ничему, что связанно с компьютерами.В это время я консультировал Burroughs. «Так почему бы тебе не провести пару занятий в университете?» — спросили меня. Так я провел занятие всего один раз, и прежде чем закончить университет, они решили нанять меня в качестве доцента, сразу после его окончания учебы.
Обычно в университет не берут на работу собственных выпускников, за исключением MIT. Но как вы знаете, считается нехорошо делать инбридинг (кровосмешение), потому что отделение может увязнуть в одной философии, а они хотят «свежей крови». Но Caltech счел меня достаточно странным и чуждым «по крови», и это было положительным доводом, чтобы нанять меня.
Как зародилась идея книги
Новый подкаст об информатике
2016-10-19 в 8:20, admin, рубрики: Блог компании «Hexlet», ИИ, информатика, математика, обучение, подкаст, Программирование, разработка
Привет! Мы на Хекслете кроме создания практических курсов по программированию также проводим вебинары и открытые лекции, пишем статьи и переводы и публикуем ежедневные дайджесты интересных материалов в соц. сетях.
Недавно мы запустили новый проект – одноименный подкаст об информатике. Мысли, рассуждения и изучение идей информатики, математики и программирования. Ведущий – ваш покорный слуга. Пока вышло 3 выпуска, по выпуску в неделю. Продолжительность каждого – около 30 минут.
1. Инструменты и искусственный глупый интеллект
Первый выпуск был посвящен инструментам разработки, перенасыщению фреймворками, невыполненному обещанию компьютерной эпохи и искусственному интеллекту, который ведет себя как неприятный, ненадежный человек.
→ Слушать на SC / слушать на YT / скачать
- Gitless
- Обсуждение Gitless на HN
- How it feels to learn JavaScript in 2016
- Too many tools and frameworks
- Невыполненное обещание компьютерной эпохи
- Искусственный интеллект, и компьютеры, похожие на людейЧитать полностью »
Программирование&Музыка: Частотный фильтр Баттервота. Часть 3
2016-10-19 в 1:40, admin, рубрики: .net, dsp, VST, VST .NET, VSTi, Алгоритмы, Программирование, синтез звука, Синтезатор, фильтр баттервота, фильтр частот, цифровая обработка сигналовВсем привет!
Вы читаете третью часть статьи про создание VST-синтезатора на С#. В предыдущих частях был рассмотрен SDK и библиотеки для создания VST плагинов, рассмотрено программирование осциллятора и ADSR-огибающей для управления амплитудой сигнала.
В этой части я расскажу, как рассчитать и закодить фильтр частот, без которого не обходится ни один синтезатор. А без эквалайзера немыслима обработка звука.
Будет рассмотрен исходный код и применение эквалайзера из библиотеки NAudio (библиотека для работы со звуком под .NET).
Внимание — будет много матана — будем рассчитывать формулы для коэффициентов фильтра.
Исходный код написанного мною синтезатора доступен на GitHub'е.

Скриншот VST плагина-эквалайзера Fab Filter Pro Q
«Привет, Siri. Включи обогреватели» — Интеграция умного дома на базе NooLite с Apple HomeKit
2016-10-18 в 15:54, admin, рубрики: python, Python RaspberryPi NooLite HomeKit, Программирование, программирование микроконтроллеров, метки: Python RaspberryPi NooLite HomeKit
В своей первой статье я описал предысторию появления системы удаленного управления отоплением в загородном доме через Telegram-бота, которым я и моя семья пользовались долгое время.
С выходом iOS 10, Apple представила пользователям приложение Дом — свою реализацию интерфейса управления умным домом через HomeKit. Меня весьма заинтересовала данная тема и, потратив несколько вечеров на изучение доступного материала, я решил реализовать интеграцию данного продукта с моей системой. В статье я подробно изложу процесс ее установки и настройки, а также поделюсь видео с результатами того, что получилось в итоге.
Не откладывайте в почтовый ящик: b2c-мессенджер 2ГИС
2016-10-18 в 7:43, admin, рубрики: Блог компании 2ГИС, Геоинформационные сервисы, мессенджер, Программирование, Разработка веб-сайтов, Системы обмена сообщениями
В сентябре на 2gis.ru появилась новая фича — b2c-мессенджер для общения с организациями. Чат очень удобен при поиске товара или услуги: можно написать сразу в несколько компаний, не нужно слушать голоса роботов-автоответчиков или ожидать на линии, пока оператор уточнит цену или остаток нужного товара. Выберите компанию, нажмите на иконку сообщения на карточке компании, и откроется чат.
Чтобы сделать мессенджер, нам пришлось немного поразбираться с тем, как вообще работают чаты и что под капотом у «больших братьев» типа WhatsApp или Telegram. Оказалось, всё не так страшно.
Читать полностью »

