В пункте 3 и 4 нет никаких проблем, если данные брать только из AD, но если их мерджить с АТС (в которой одна телефонная линия может соответствовать 0-n пользователям в AD, то возникают проблемы). А мерджинг используется, потому что в АТС нет ограничения на длину должности, отдела и прочих полей, но при этом в АТС есть не все пользователи (на одну виртуальную линию может приходится до нескольких десятков пользователей).
Самый простой вариант в этом случае — это увеличить длину полей, хранимых в AD и брать данные только из AD, но отдел сетевых технологий в нашей организации на отрез отказался от этой идеи, пришлось вот так изголяться =)
Есть у нас в организации подобный проект телефонного справочника. И казалось бы задача тривиальная, НО:
1. В организации около 6-8 зданий распределенных в пределах города, не все пользователи имеют учетки в AD, но быть в справочнике они должны;
2. В AD по умолчанию ограничена длина полей 64 байтами, а в справочники они должны выводиться полностью. Например, есть у нас в организации такая должность: «Заместитель начальника отдела по администрированию и обеспечению безопасности системных, телекоммуникационных и программно-технических комплексов» или департамент «Братская городская общественная организация ветеранов (пенсионеров) войны, труда, Вооруженных сил и правоохранительных органов»;
3. У пользователя может быть больше одного телефона, может быть факс и др.;
4. Один телефон может быть у множества пользователей (виртуальные телефонные линии).
В итоге казалось бы простая задача оказалась не такой уж простой и свелась к мерджингу информации по пользователем из АТС и AD.
В частном примере со странами можно было избавиться от высокой цикломатической сложности просто введением ассоциативного массива «страна» -> «день недели», но иногда действительно бывают случаи, в которых визуально простая функция имеет высокую цикломатическую сложность. И попытки избавиться от нее разделением функции на несколько только запутывают понимание программы. Я бы не стал слишком фанатично относиться к этому параметру
Новости про CoreCLR и CoreFX хорошие. Надеюсь в будущем Mono будет лишь достойным аналогом Visual Studio для Linux, а все потроха отдаст на откуп нативному .Net
74% ASP .Net MVC? 74% от всех рассмотренных вакансий? Т.е. примерно 222 вакансии? При такой востребованности больно низкая зарплата.
На каком ресурсе, если не секрет, вы список вакансий брали? И для какого города статистика по зарплате?
Статистика интересная безусловно, но как и все подобные статистики не отражает в полной мере реального положения дел.
Никогда не занимался ремонтом чужих ПК и всячески отнекиваюсь, даже если родственники просят.
Но на эту тему у меня тоже есть интересная история из жизни (извините за подробности).
Однажды, устраиваясь на работу, пришел в поликлинику на мед. осмотр. Зашел в прививочный кабинет поставить печать. Врач милая симпатичная женщина, посмотрев мою карту, сказала: «У вас нет отметки о прививке бла-бла-бла, необходимо поставить». И вот, воткнув иглу с вакциной в пятую точку и не вынимая, у ней в голове возник просто гениальный вопрос: «Вы же программистом устраиваетесь работать? А не могли бы вы посмотреть, почему у меня интернет не работает?». Отказать в такой ситуации было сложно…
Я знаю, что это можно сделать вручную. Хотелось бы иметь, так сказать, хардкор режим, когда слово считается изученым, только если я не ошибаюсь в ответе во всех режимах подряд.
Было бы неплохо добавить возможность (опциональную) сбрасывать прогресс изучения слова, если изучающий допустил ошибку хотя бы в одной из тренировок во время изучения. Сейчас прогресс сохраняется независимо от количества ошибок и порой можно просто «угадать» правильный перевод.
В общем случае для всех файлов отчетов сейчас сказать не могу (это надо смотреть). Но если взять для Word, то inline-изображения в нем хранятся примерно в таком виде:
Сам ресурс изображения хранится в ./word/media в виде обычного файла изображения. Технически я почти уверен, что можно реализовать вставку изображений по пути до файла (хоть и не могу без тестов утверждать это на 100%). К примеру шаблонная строка для него может выглядеть как-то так: $image:filename$, где image — тип данных, filename — имя параметра (или имя столбца ReportTable). Но в данной шаблонной строке не указывается ширина и высота вставляемого изображения, блочное оно или inline и другие свойства. Тут остается вариант либо сделать поддержку простой вставки (с указанием пути до файла изображения, а размеры будут как в оригинале), либо сильно усложнять шаблонную строку (а этого я бы не хотел, т.к. ActivityManager позиционируется как простой в использовании генератор отчетов).
Название действительно странное. Просто когда разработка начиналась в планах было не только использование приложения как генератора отчетов, а больше как универсального менеджера последовательности макро-действий. И архитектура разрабатывалась именно с возможностью подобных расширений. Что касается
Сделать приложение либой и выложить на nuget
Весь функционал реализован в плагинах и вы уже сейчас можете подключить любой из них к своему .Net-приложению и пользоваться. Но если Вы имеете ввиду возможность передачи либе конфига, то, сделаю, если у людей есть необходимость. =) По поводу
выложить на nuget
В ближайшее будущее я планировал заняться покрытием кода unit-тестами, после этого готов выложить на nuget.
Есть ли альтернативы под .net
Честно признаться, не знаю. Знаю, что существует множество альтернатив, позволяющих формировать отчеты методом замены шаблонных строк (в том числе и с подобной xml-конфигурацией), но не встречал альтернатив, которые бы позволяли делать пред-обработку данных, пост-форматирование или имели бы визуальный редактор.
Самый простой вариант в этом случае — это увеличить длину полей, хранимых в AD и брать данные только из AD, но отдел сетевых технологий в нашей организации на отрез отказался от этой идеи, пришлось вот так изголяться =)
1. В организации около 6-8 зданий распределенных в пределах города, не все пользователи имеют учетки в AD, но быть в справочнике они должны;
2. В AD по умолчанию ограничена длина полей 64 байтами, а в справочники они должны выводиться полностью. Например, есть у нас в организации такая должность: «Заместитель начальника отдела по администрированию и обеспечению безопасности системных, телекоммуникационных и программно-технических комплексов» или департамент «Братская городская общественная организация ветеранов (пенсионеров) войны, труда, Вооруженных сил и правоохранительных органов»;
3. У пользователя может быть больше одного телефона, может быть факс и др.;
4. Один телефон может быть у множества пользователей (виртуальные телефонные линии).
В итоге казалось бы простая задача оказалась не такой уж простой и свелась к мерджингу информации по пользователем из АТС и AD.
www.jetbrains.com/phpstorm/marklets/
На каком ресурсе, если не секрет, вы список вакансий брали? И для какого города статистика по зарплате?
Статистика интересная безусловно, но как и все подобные статистики не отражает в полной мере реального положения дел.
Но на эту тему у меня тоже есть интересная история из жизни (извините за подробности).
Однажды, устраиваясь на работу, пришел в поликлинику на мед. осмотр. Зашел в прививочный кабинет поставить печать. Врач милая симпатичная женщина, посмотрев мою карту, сказала: «У вас нет отметки о прививке бла-бла-бла, необходимо поставить». И вот, воткнув иглу с вакциной в пятую точку и не вынимая, у ней в голове возник просто гениальный вопрос: «Вы же программистом устраиваетесь работать? А не могли бы вы посмотреть, почему у меня интернет не работает?». Отказать в такой ситуации было сложно…
www.sitepoint.com/7-javascript-libraries-specific-visualizations/
habrahabr.ru/post/246907/
А вот для .Net такого богатства очень мало =(
Даже интересно становится, почему…
Сам ресурс изображения хранится в ./word/media в виде обычного файла изображения. Технически я почти уверен, что можно реализовать вставку изображений по пути до файла (хоть и не могу без тестов утверждать это на 100%). К примеру шаблонная строка для него может выглядеть как-то так: $image:filename$, где image — тип данных, filename — имя параметра (или имя столбца ReportTable). Но в данной шаблонной строке не указывается ширина и высота вставляемого изображения, блочное оно или inline и другие свойства. Тут остается вариант либо сделать поддержку простой вставки (с указанием пути до файла изображения, а размеры будут как в оригинале), либо сильно усложнять шаблонную строку (а этого я бы не хотел, т.к. ActivityManager позиционируется как простой в использовании генератор отчетов).