dima117
0

Да, вы правы, у меня неточная формулировка.

dima117
0
А в какой студии вы пробовали превью .NET Core? В статье написано, что стабильная версия с ним работать не умеет и нужно ставить превью VS. Я сам не пробовал ставить (т.к. сижу на маке), но, возможно, превью VS будет нормально работать.
dima117
+4

Прошу прощения, я опечатался в статье. Нужно набрать "dotnet --info", а не "dotnet info". Исправлю.

dima117
0
Новых телефонов с WP не появлялось уже больше года. Подозреваю, что скоро умрет.
dima117
0
Я просто оставлю это здесь: https://meduza.io/shapito/2016/06/28/neyronnaya-oborona-robot-napisal-teksty-pesen-pod-egora-letova

И вот небольшое видео по теме https://events.yandex.ru/lib/talks/3875/
dima117
0
Написано, что для FluentMigrator нужен Ruby о_О
dima117
+2
Пару лет назад я участвовал в разработке ecm7migrator (форк Migrator.NET, постепенно полностью переписанный). Он имеет простой API, не завязан на ORM и покрыт тестами. Использовал мигратор в нескольких проектах с NHibernate и очень доволен. В принципе, остальные, кому рекомендовал — тоже довольны.

Сейчас делаю большой проект на .NET Core. Там использую EF, т.к. особого выбора нет. Пробовал его миграции, но не подошли, т.к. неудобно писать руками + они не умеют вести параллельно несколько «линий» версионирования (в моем проекте нужно, чтобы плагины могли создавать себе нужную структуру БД и для каждого плагина отдельно велся учет версий).

В результате портировал на .NET Core ядро ecm7migrator и модуль, поддерживающий PostgreSQL. Всё завелось легко и тесты прошли без проблем.

Посмотрите его, возможно, вам покажется удобнее остального. Я готов оказать помочь в использовании и в портировании на .NET Core модулей для поддержки других СУБД.

dima117
+1
Еще хороший вариант — формировать интерфейс в bemhtml (т.е. не работать напрямую с html) — это устраняет все недостатки, связанные с количеством и названиями классов.
dima117
0
Коллективный перевод не был закончен, все забили. Вот на русском языке: yadi.sk/i/kYcsqaoymfjCZ
dima117
0
Вы правы, я прочитал статью невнимательно. Извините.
dima117
–6
Просто оставлю это здесь:
momentjs.com
dima117
0
.rub {
    flex-grow: 0; 
    flex-shrink: 1;
}

.$ {
    flex-grow: 1; 
    flex-shrink: 0;
}
dima117
0
А Вы уже пробовали запустить что-нибудь из примеров?
dima117
+4
Блин, C# Wix API — это офигенно! Спасибо за перевод!
dima117
0
Посмотрите в сторону "КуМир". Устанавливается в несколько кликов, команды на русском языке, есть встроенные «исполнители», интересные и понятные для детей.
Исполнители — это штуки, выполняющие какие-либо действия и предоставляющие API. Например, есть исоплнитель «Робот», который может ходить по полю из клеточек. Его API: команды движения, команды проверки наличия стены и команда «закрасить клетку».
Ничего лучшего для детей я не встречал. Сам начинал с него в школе, а сейчас вполне успешно (правда, довольно медленно) занимаемся программированием с дочкой 6 лет.
vk.com/wall135043336_361
dima117
+5
В WP есть понятие «акцентный цвет» — выбранный в настройках цвет, который может использоваться в приложениях в качестве основного. Очень хорошо смотрится, когда все приложения и элементы ОС выглядят в одном стиле (частично это достигается за счет цвета).
dima117
0
Спасибо! Статья была очень интересна для меня и разложила мысли по полочкам.
dima117
0
del
dima117
0
Дадада!!! Это серьезное повышение производиотельности!
dima117
+9
Каждая минута, посвященная планированию, сэкономит 5 минут работы

Если обычно работа занимает 8 часов, то с помощью планирования можно сделать ее за 96 минут.
dima117
0
Это не совсем то, что нужно. Насколько я понимаю, в зависимости от редактора, будет отображаться либо первым попавшимся ему шрифтом, либо символ-заглушка (т.е. будет непонятно, что написано кириллицей). Хотелось бы просто комфортной работы (конкретно, в Visual Studio) и одновременного понимания, в каких местах используются русские буквы.

Сейчас в подобных случаях использую поиск по регулярному выражению [а-я] (VS очень удобно подсвечивает все найденные места), но для этого нужно делать дополнительные действия (т.е. выполнить поиск).
dima117
0
Посоветуйте, пожалуйста, моноширный шрифт, имеющий различное написание кириллицы и латининицы. Очень хотелось бы видеть русские буквы, написанные случайно вместо латинских.
dima117
0
Единственное, если верстка очень сложная, браузер может тормозить из-за рендеринга большого количества DOM элементов. Но это обычно бывает, когда выводятся очень большие списки на одной странице (из тысяч элементов) и, как правило, говорит о плохо спроектированном UI приложения.
dima117
0
Когда были жалобы, на сервере было включено сжатие gzip? Как правило, это включается одной строчкой в конфиге и сильно сокращает объем трафика. Более того, т.к. текст очень хорошо сжимается, «облегченная» и «необлегченная» верстка в сжатом виде занимают примерно один и тот же объем.
dima117
0
Если честно, недостатки адаптивного дизайна высосаны из пальца.

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

Имхо, в большинстве случаев предпочтительнее вариант с адаптивной версткой (хотя, конечно, всегда нужно принимать решение, исходя из конкретной ситуации).
dima117
0
Уже написали несколько вариантов.
Основная идея — с Вашим планшетом всегда работает один (или очень небольшое) количество человек.
dima117
0
В интернет-кафе людям предоставляется не только интернет, но и оборудование. Соответственно, усложняется процесс идентификации людей, пользующихся этим оборудованием (нельзя применить большинство технических решений, которые обычно используются). В общественных местах люди пользуются собственными устройствами, по которым их легко идентифицировать, поэтому предьявлять паспорт там нет необходимости.
dima117
0
Спасибо за обратную связь! Мы в курсе, на счет неидеального дизайна )

Внешний вид важен для хорошего восприятия пользователями, но сейчас дизайн — далеко не самая важная задача. Намного важнее качественно реализовать запланированный функционал и при этом сохранять систему простой. Мы выбрали bootstrap не потому, что там крутой дизайн, а потому, что это самый легкий способ быстро сделать приемлемый интерфейс (т.е. чтобы не писать самостоятельно стили для элементов интерфейса). Дизайн системы — отдельная большая задача, мы обязательно до нее доберемся в будущем.
dima117
0
Мы выбрали .NET для нашего проекта потому, что нет опыта программирования под другие платформы (если честно, вопрос выбора даже не стоял: просто убедились, что на .NET возможно решить задачу). Мы решили, что качественный проект на .NET лучше, чем кривой велосипед на других платформах.

Кроме того, как оказалось, .NET имеет еще несколько преимуществ над другими платформами (например, для .NET имеется отличный движок синтеза и распознавания голоса). В целом, по количеству достоинств и недостатков .NET примерно на одном уровне с другими платформами.
dima117
0
Не совсем понял, что значит «запускать будильники одним кликом».
На счет повседневных суенариев — согласен. Мы постоянно узнаем и придумываем новые сценарии. Если у Вас есть хорошие идеи — обязательно напишите их мне :)
dima117
0
Насколько я понимаю, к достоинствам можно отнести:
— верстка зависит от css-классов (дополнительный уровень абстракции) вся конфигурация находится в одном месте. Например, если вы захотите изменить значение минимальной ширины, то не нужно будет искать все media queries, где оно используется.
— можно навешивать дополнительные классы (например, зависящие от ориентации экрана, типа устройства или браузера, ОС и т.д.). Например, вместо применения css-хаков для старых версий ie можно пометить контейнер классом и прописать стили для него.

Как мне кажется, в небольших проектах потребность в таком функционале редко возникает. Я бы использовал media queries (чтобы не подключать в проект лишний скрипт). Но в проектах со сложной версткой такой подход может быть удобнее. Например, насколько я знаю, этот подход используют в outlook.com.
dima117
0
Очень интересно!
Можете рассказать подробнее, в каком все состоянии (и, если есть возможность, дать посмотреть исходники)?
dima117
0
Спасибо, про централизованное хранение исходников и загрузку обновлений на устрйоства — интересно.

На счет проблем производительности — имел в виду случаи, когда, например, нужна совместная работа устройств, использующих разные протоколы — появляются различные костыли, которые при большом их количестве ухудшают производиотельность и усложняют систему в целом. Если все «умные» устройства используют общий протокол или есть возможность модифицировать их, все становится значительно легче.

Буду продолжать автоматизацию и следить за своими ощущениями. Возможно, действительно потом откажусь от центрального сервера.

dima117
–1
Смотрели. Там нет поддержки из коробки нужного железа (т.е. все равно это реализовывать самостоятельно). На счет использования в качестве платформы — имхо, не очень гибкая платформа, перегруженная возможностями. Кроме того, написано на Java, хотелось бы .NET (из-за его средств разработки) — но это не критичный недостаток, если бы первых двух не было, то смирились бы с ним.

У каждого свои задачи (свое «железо», свои привычки, которые он хочет автоматизировать). Использовать универсальную систему с богатым функционалом будет неудобно, т.к. реально из всего функционала используестя 5-10%, а оставшиеся 90% накладывают ограничения и тратят время/нервы. Начали писать свою систему потому, что хотели простой «конструктор», из которого каждый может собрать то, что ему нужно (а если какой-то детали не хватает — самостоятельно ее сделать).
dima117
–2
del
dima117
+2
Почему?
При такой организации при большом количестве скриптов начинается бардак + возможно, начинаются проблемы производительности (из-за того, что все очень универсально и низкий уровень оптимизации).
dima117
–1
Не расстраивайтесь, не все так плохо, посмотрите, комментарии чуть выше. .NET — просто одна из особенностей системы со своими «плюсами» и «минусами», причем «плюсов» не так уж и мало.
dima117
+2
По поводу Windows — есть распространенный стереотип, что это ненадежная, ресурсоемкая ОС. Действительно, в 90-х годах так и было, но с тех пор уже прошло 15 (!) лет — не думаю, что есть повод волноваться.
Например, я несколько лет работаю с сервером на Windows Server 2008R2, он включен постоянно и перезагружался за пару лет 2-3 раза (нужно было при установке ПО). Также у меня ноутбук на Windows 8.1, который я не выключаю по пол года — никаких проблем с ресурсами замечено не было. Кроме того, вы же понимаете, что на управляющем устройстве умного дома у вас не будет браузера с сотней открытых вкладок, flash-плеера и других приложений, из-за которых появляются проблемы с производительностью.

И последняя причина… Согласитесь, написать программу, которая жрет память можно на любом языке программирования и в любой ОС. Платформа .NET имеет отличные средства разработки и огромное количество библиолтек готовых компонентов (в т.ч .open source). Visual Studio — лучшая IDE, из всего, что я видел. Я получаю удовольствие во время разработки. На мой взгляд, эта причина — удобство разработки — не менее важна, чем остальные.
dima117
+2
По поводу архитектуры домашней системы и роли в ней компьютера:

Насколько я себе представляю, система должна состоять из нужного количества исполнительных устройств, каждое из которых реализует некоторую простую логику по управлению домом, и может работать в нескольких режимах. Также я представляю, что есть управляющее устройство, которое на основе информации от домашних устройств и из внешних сервисов, управляет режимами работы исполнительных устройств + получает с них информацию и предоставляет UI для нее.

Например, в доме может быть видеонаблюдение (это — «исполнительное устройство», на самом деле, может состоять из нескольких физических устройств). В пассивном режиме просто ведется лог, а в режиме отсутствия хозяев при обнаружении движения дополнительно отправляет оповещения. Соответственно, управляющее устройство может, на основе информации с датчиков движения, автоматически переключить систему видеонаблюдения в нужный режим + оно может предоставить пользовательский интерфейс для просмотра текущего изображения с камер.

Я встречал много вариантов реализации управляющих устройств, от устройств на основе ардуино/raspbery pi и различных роутеров с linux до облачных платформ типа Ninja Blocks. На мой взгляд, компьютер (неттоп) — оптимальный вариант. Он находится в вашей локальной сети (в отличие от облачных платформ, у вас не исчезнет возможность включения света, если пропадет интернет). При этом у него больше ресурсов, чем у arduino/raspbery pi/роутеров. Туда можно поставить дополнительное ПО, нужное для системы (например, сервер видеонаблюдения) или организовать на жестком диске медиа-архив. По стоимости — можно купить хороший неттоп в пределах 10 тыс.р. — если человек потратил 15-20 тыс.р. на управляемые выключатели и датчики, то, думаю, он вполне может позволиоть купить себе неттоп для управляющего устройства. Это на несколько тыс.р. дороже аналогов, но сильно экономит время и нервы.

dima117
+2
Работа с железом может происходить любыми способами, доступными для компьютера (USB, Ethernet, COM-порт....) Весь функционал системы находится в плагинах. Для добавления нового железа нужно подключить плагин, который реализует взаимодействие с ним. Сейчас есть плагин для управления светом через USB-адаптер nooLite + в ближайших планах есть написание плагина для общения по протоколу MQTT.

Про железо сюда не писал, т.к. хотел рассказать именно про пользовательский интерфейс.