Цель статьи: дать пару идей для автоматизации, а может даже и рабочий инструмент для создание T4-болванок под решения типовых задач, производимых с классами/интерфейсами в работе.
Павел @CrazyViper
Пользователь
Задачи и отмена в .Net — tips & tricks
11 мин
103KС выходом .NET Framework 4.0 в состав BCL была добавлена библиотека Task Parallel Library (TPL), реализующая параллелизм на основе задач. В основе библиотеки лежат типы
В этой же версии .NET Framework появился мини-framework для кооперативной отмены асинхронных операций. Состоит он из всего трёх типов:
Механизм отмены через
Task
и унаследованный от него тип Task
. Эти типы являются обёртками для асинхронных операций; они позволяют абстрагироваться от таких технических деталей, как, например, потоки и синхронизировать асинхронные операции друг с другом.В этой же версии .NET Framework появился мини-framework для кооперативной отмены асинхронных операций. Состоит он из всего трёх типов:
CancellationTokenSource
— создаёт маркёры отмены (свойствоToken
) и обрабатывает запросы на отмену операции (перегруженные методыCancel
/CancelAfter
).CancellationToken
— маркёр отмены; позволяет несколькими способами отслеживать запросы на отмену операции: опросом свойстваIsCancellationRequested
, регистрацией callback-функции (через перегруженный методRegister
), ожиданием на объекте синхронизации (свойствоWaitHandle
).OperationCanceledException
— исключение, выброс которого по соглашению означает, что запрос на отмену операции был обработан и операция должна считаться отменённой. Предпочтительный способ генерации исключения — вызов методаCancellationToken. ThrowIfCancellationRequested
.
Механизм отмены через
CancellationToken
является стандартным для TPL — есть перегрузки методов, принимающих CancellationToken
, исключения OperationCanceledException
специальным образом обрабатываются и т.д. Однако, как и в любом другом API, есть свои тонкости, хитрости, best practices.+39
Был получен несанкционированный доступ к более чем 20 000 камерам видео-наблюдения Москвы (теперь вы тоже)
5 мин
253KПривет, Хабрахабр! Наверняка многие из вас помнят легендарный пост «Были получены исходники 3300 глобальных интернет-проектов», который долгое время был первым в рейтинге всех публикаций на сайте. Несмотря на схожий заголовок у моего поста, не претендую на первое место, но считаю, что вам стоит обратить внимание.


+309
Тестирование Ni-MH аккумуляторов типоразмера AA(HR6)
13 мин
106KНас окружает огромное количество всевозможных устройств и гаджетов, призванных облегчить и разнообразить нашу жизнь, начиная от детских электронных игрушек и заканчивая многообразными фотоаппаратами, фотовспышками, фонарями, рациями и т.д. Электропитание многих из них обеспечивается от Ni-MH элементов питания типоразмера АА. В продаже имеется великое разнообразие данных источников питания. Мое внимание привлекли аккумуляторы, как наиболее экономные и экологичные источники питания. В данном обзоре собраны результаты тестирования десяти различных комплектов аккумуляторов.


+84
Всё о версиях Windows 8.1 и о том, как легально загрузить последний образ без подписки
6 мин
773KХочу поделиться в одной заметке важной, на мой взгляд, информацией о версионности образов Windows 8.1, и о том, как любой желающий может совершенно легально загрузить ту языковую версию и издание, которые ему требуется. С учётом того, что после выхода Windows 8.1 образы пересобирались минимум пять раз, вопрос версионности становится интересным для администраторов и энтузиастов.
Недавно я писал о том, как можно совершенно легально загрузить самый последний Microsoft Office с сайта Microsoft — как корпоративную версию, так и коробочную Retail — любые языки и продукты, со всеми интегрированными обновлениями. Сегодня я расскажу, как сделать то же самое и с операционной системой — средствами предоставляемыми самой Microsoft.
Но для начала я хочу рассказать о версиях Windows 8.1. Не об изданиях — этого добра в сети много, а именно о публичных версиях сборок ОС. Ведь для любого администратора удобно загрузить образ со всеми интегрированными обновлениями, чем устанавливать сотню самостоятельно. Причём загрузить образ с сайта Microsoft, а не самодельную сборку с торрентов. Всё что я буду рассказывать о версиях ОС Windows 8.1 применимо и к Windows Server 2012 R2, за исключением канала для бесплатной загрузки образов для переустановки ОС. Но давайте всё по порядку.
Недавно я писал о том, как можно совершенно легально загрузить самый последний Microsoft Office с сайта Microsoft — как корпоративную версию, так и коробочную Retail — любые языки и продукты, со всеми интегрированными обновлениями. Сегодня я расскажу, как сделать то же самое и с операционной системой — средствами предоставляемыми самой Microsoft.
Но для начала я хочу рассказать о версиях Windows 8.1. Не об изданиях — этого добра в сети много, а именно о публичных версиях сборок ОС. Ведь для любого администратора удобно загрузить образ со всеми интегрированными обновлениями, чем устанавливать сотню самостоятельно. Причём загрузить образ с сайта Microsoft, а не самодельную сборку с торрентов. Всё что я буду рассказывать о версиях ОС Windows 8.1 применимо и к Windows Server 2012 R2, за исключением канала для бесплатной загрузки образов для переустановки ОС. Но давайте всё по порядку.
+67
Новая версия «Linux-винтовки» точно стреляет на 1,6 км
2 мин
41K
Журналисты Ars Technica на выставке CES встретились с разработчиками снайперской винтовки, которая работает под управлением Linux. Как выяснилось, за последний год инженеры стартапа TrackingPoint существенно улучшили характеристики экспериментального оружия.
+30
Философия программирования — трёхнаправленное программирование
11 мин
105KПрограммирование рассматривается как процесс создания компьютерных программ. Слово процесс в этом определении не лишнее. Обычно рассуждают в духе «посмотрите, какую замечательную структуру данных можно описать на данном языке программирования». Философия программирования подразумевает оглянуться по сторонам, да и в глубь копнуть.
Собственно разделение на кодирование, и создание алгоритмов это уже специфика, сначала идёт жизнь, то есть человек опирается на некую мысль вроде «напишу-ка я фреймворк с такими-то свойствами». И вот это начальное направление это вопрос философии. Проблема в том, что часто жена программиста лучше его самого знает, на философском уровне, что он делает и почему. Элементарные философские категории: мышление, сознание, обусловленность программисту неведомы. И это странно, если сравнить способность программиста мыслить, например, читая статьи по функциональному программированию или алгоритмам поиска, вперемешку со статьями видных русских или европейских философов, окажется, что собственно навык мышления у программистов развит не меньше, а то и больше. Вот только язык программиста очень богат пока он рассуждает о паттерн-матчинге и жалок и органичен когда ему надо выйти из своей песочницы, оторваться от IDE и файлового менеджера.
Собственно разделение на кодирование, и создание алгоритмов это уже специфика, сначала идёт жизнь, то есть человек опирается на некую мысль вроде «напишу-ка я фреймворк с такими-то свойствами». И вот это начальное направление это вопрос философии. Проблема в том, что часто жена программиста лучше его самого знает, на философском уровне, что он делает и почему. Элементарные философские категории: мышление, сознание, обусловленность программисту неведомы. И это странно, если сравнить способность программиста мыслить, например, читая статьи по функциональному программированию или алгоритмам поиска, вперемешку со статьями видных русских или европейских философов, окажется, что собственно навык мышления у программистов развит не меньше, а то и больше. Вот только язык программиста очень богат пока он рассуждает о паттерн-матчинге и жалок и органичен когда ему надо выйти из своей песочницы, оторваться от IDE и файлового менеджера.
+38
Как с нуля построить коттеджный поселок. Часть первая – земля
6 мин
87KСчитается, что создание котеджных поселков (т.н. лэнд-девелопмент) – крайне
затратное и ресурсоемкое занятие, требующее команду специалистов на фулл-тайме, серьезных связей и кучу денег – в общем, недоступное простым смертным. В этих статьях мы поделимся своим опытом и знаниями, и расскажем, как сделать поселок «на коленке» – с минимальными затратами, на парт-тайме, и сохранив при этом психическое здоровье.

затратное и ресурсоемкое занятие, требующее команду специалистов на фулл-тайме, серьезных связей и кучу денег – в общем, недоступное простым смертным. В этих статьях мы поделимся своим опытом и знаниями, и расскажем, как сделать поселок «на коленке» – с минимальными затратами, на парт-тайме, и сохранив при этом психическое здоровье.
+35
Грандиозное тестирование батареек
4 мин
368KКаждый раз при покупке батареек у меня возникало много вопросов:
Насколько дорогие батарейки лучше дешёвых?
Насколько ёмкость литиевых батареек больше обычных?
Насколько ёмкость солевых батареек меньше, чем у щелочных?
Отличаются ли батарейки для цифровых устройств от обычных?
Какие из батареек, стоящих одинаково, лучше покупать?
Чтобы получить ответы на эти вопросы я решил протестировать все батарейки АА и ААА, которые удастся найти в Москве. Я собрал 58 видов батареек АА и 35 видов ААА. Всего было протестировано 255 батареек — 170 АА и 85 ААА.

Насколько дорогие батарейки лучше дешёвых?
Насколько ёмкость литиевых батареек больше обычных?
Насколько ёмкость солевых батареек меньше, чем у щелочных?
Отличаются ли батарейки для цифровых устройств от обычных?
Какие из батареек, стоящих одинаково, лучше покупать?
Чтобы получить ответы на эти вопросы я решил протестировать все батарейки АА и ААА, которые удастся найти в Москве. Я собрал 58 видов батареек АА и 35 видов ААА. Всего было протестировано 255 батареек — 170 АА и 85 ААА.

+230
О медленном программировании
5 мин
84KПеревод
От переводчика: при разработке Web-payment.ru, сайта с мониторингом обменников и множеством разделов о платежных системах, я на интуитивном уровне использовал принципы, описанные в этой статье. Подсознательно я их знал, но не мог сформулировать. Предлагаю вам ознакомиться с интересным подходом, которым поделился опытный программист, автор многих книг Jeffrey Ventrella.

Мне довелось поработать во многих высокотехнологичных стартапах в заливе Сан-Франциско. Сейчас мне 52 и я программирую медленно и внимательно. Меня можно считать кем-то вроде дизайнера, пищущего код. Читая пост дальше, вы и сами это поймете.
Недавно, я работал над проектом вместе с группой молодых кодеров, которые верят в эффективность очень быстрых, малых итеративных изменений в коде. Программировать медленно бок о бок с ними для меня было проблемой. Нам рекомендовали работать в одной общей базе кода, это как если бы мы вместе варили один большой котел супа, и при условии, что мы активно непрерывно мешали бы его, из него непременно появилось бы что-то чудесное и завершенное.
+75
Качество без «наворотов» или как я выбирал видеорегистратор
9 мин
24KВ 2013 году в России произошло 204 тысячи ДТП – всего на 0,2% больше, чем годом ранее. Зато продажи регистраторов в стране за тот же период выросли на 30%, а в 2012 году вообще на 80% – народ понимает, что при одной и той же аварии наличие/отсутствие «чёрного ящика» может радикально изменить оценку инцидента компетентными органами. До последнего времени я периодически посматривал видео с регистраторов на YouTube, ведь иной раз сюжет и игра «актёров» уделывают голливудские блокбастеры по зрелищности. А недавно и сам попал в ДТП, в котором нежелание приобрести регистратор и спорные обстоятельства происшествия лишили меня внушительной суммы денег, времени и нервов. Пришлось отложить чтение интересных постов на Geektimes и взяться за внимательное изучение соответствующей тематики. Во что это вылилось – читайте далее.

+13
Го — единство в многообразии
10 мин
27Kдва рождают три, а три — все вещи…
Лао Цзы «Дао дэ Цзин»
Пусть расцветают сто цветов,
пусть соперничают сто школ.
Цинь Шихуанди
Правила Го просты, но простота заканчивается там, где начинается подсчёт очков. Есть множество действительно сложных ситуаций, логично вытекающих из очень простых правил. Я хочу рассказать о причинах, по которым не существует единой методики подсчёта очков в Го. О причинах, благодаря которым существует множество различных редакций правил этой игры.
+29
Методологии управления информационными проектами
13 мин
50KПредисловие: целью данной публикации ставится получение обратной связи и сбор критики по статье от ИТ-сообщества в преддверии её печати в периодическом издании. В статье будет представлено краткое описание, в хронологическом порядке, популярных методологий в области управления информационными проектами.
В 1958 году консалтинговая компания «Booz Allen Hamilton Inc.» совместно с центром разработки «Lockheed Martin Space Systems» и подразделением программных разработок специального проектного центра департамента ВМС США разрабатывают технику оценки и анализа программ (проектов) «Program Evaluation and Review Technique» под кодовым названием PERT — для проекта разработки системы вооружения подводных лодок «Polaris» [1] (баллистические ракеты).
PERT разрабатывался для экономии времени при управлении крупными проектами, в которых время является критическим показателем. Методология предполагает анализ отдельно взятых задач в ракурсе их влияния на завершение всего проекта, в частности, анализируется время на выполнения каждой задачи, в результате чего определяется минимально необходимое время на прохождение всех этапов. Данная техника может применятся в условиях неопределенности, когда неизвестны детали каждого этапа и точное время на их выполнение, более того, это событийно ориентированная техника применяемая к проектам, где время более важный фактор, чем стоимость.
Данная методология применялась при подготовке к зимним олимпийским играм 1968 года в Гренобле [2], она же была первая в своем роде, возрождающая подход «Научной организации труда» [3] впервые описанный Тейлором Фредериком Уинслоу в 1911 году, пытавшегося применить науку для инженерии процессов и управления.
В 1958 году консалтинговая компания «Booz Allen Hamilton Inc.» совместно с центром разработки «Lockheed Martin Space Systems» и подразделением программных разработок специального проектного центра департамента ВМС США разрабатывают технику оценки и анализа программ (проектов) «Program Evaluation and Review Technique» под кодовым названием PERT — для проекта разработки системы вооружения подводных лодок «Polaris» [1] (баллистические ракеты).
PERT разрабатывался для экономии времени при управлении крупными проектами, в которых время является критическим показателем. Методология предполагает анализ отдельно взятых задач в ракурсе их влияния на завершение всего проекта, в частности, анализируется время на выполнения каждой задачи, в результате чего определяется минимально необходимое время на прохождение всех этапов. Данная техника может применятся в условиях неопределенности, когда неизвестны детали каждого этапа и точное время на их выполнение, более того, это событийно ориентированная техника применяемая к проектам, где время более важный фактор, чем стоимость.
Данная методология применялась при подготовке к зимним олимпийским играм 1968 года в Гренобле [2], она же была первая в своем роде, возрождающая подход «Научной организации труда» [3] впервые описанный Тейлором Фредериком Уинслоу в 1911 году, пытавшегося применить науку для инженерии процессов и управления.
+16
В поисках ответа на вопрос, как сделать людей более ответственными…
5 мин
54KДовольно частый запрос от коллег-менеджеров, который приходится слышать: как повысить ответственность человека?
Казалось бы, человечество за тысячи лет своего существования должно было прийти к какому-то алгоритму повышения ответственности. И вот он, твой тренерский шанс — изложи этот алгоритм и измени навсегда жизнь отдельно взятого менеджера!
Однако, в жизни все сложнее… Приходится заниматься занудными уточнениями: а сейчас люди как работают? — Ну… безответственно.
Хм, яснее не становится. Хочется ехидно уточнить: “в смысле, бросают жен и детей?”, но в реальности, начинаешь разбираться.
Казалось бы, человечество за тысячи лет своего существования должно было прийти к какому-то алгоритму повышения ответственности. И вот он, твой тренерский шанс — изложи этот алгоритм и измени навсегда жизнь отдельно взятого менеджера!
Однако, в жизни все сложнее… Приходится заниматься занудными уточнениями: а сейчас люди как работают? — Ну… безответственно.
Хм, яснее не становится. Хочется ехидно уточнить: “в смысле, бросают жен и детей?”, но в реальности, начинаешь разбираться.
+24
Правительство готовит законопроект по «антипиратскому налогу» на Интернет
2 мин
15K
Никита Сергеевич продумывает все детали своей концепции
Первый вице-премьер Игорь Шувалов поручил сразу нескольким министерствам, включая Минкультуры, Минкомсвязи, Минэкономразвития, Минфину и Минюст, разработать законопроект по «антипиратскому налогу» на интернет. Этот законопроект, по плану, обяжет операторов связи платить фиксированный сбор в пользу правообладателей.
Интересно, что законопроект составляется на основе концепции, предложенной Российским союзом правообладателей (РСП), главой которого является известный многим из нас (и не только по кино) режиссер Никита Михалков. Концепцию Михалков презентовал лично Путину в прошлом месяце.
+46
Acronis True Image vs R.Saver, или «Два молодца на хард-диск мертвеца»
5 мин
19KСказ о том, как не надо сохранять данные с полумертвого жесткого диска

Принесли недавно Samsung NP-N210 в плачевном состоянии. Играли им в футбол или вели военные действия – история умалчивает, но грузиться немецкая XP на нем отказывалась наотрез.
Требуемый результат – «хотя бы фоточки семейные выковырять из него».
+31
Еще раз про учебу и работу ИТ-шника в Германии
5 мин
118KДоброго времени суток Хабр.
Я читал множество статей на Хабре по поводу учебы в Германии, но часто их пишут люди, которые приехали сюда именно получать высшее образование. Я же в Германии вырос, поэтому розовые очки несколько потускнели и я смогу немного разбавить восторженные отзывы об этой стране и о системе обучения в частности.
Я читал множество статей на Хабре по поводу учебы в Германии, но часто их пишут люди, которые приехали сюда именно получать высшее образование. Я же в Германии вырос, поэтому розовые очки несколько потускнели и я смогу немного разбавить восторженные отзывы об этой стране и о системе обучения в частности.
+53
Ультра-легкий переключатель раскладки клавиатуры
1 мин
103KОт многой мудрости много скорби, и умножающий знание умножает печаль: чем глубже вникаешь в особенности мира IT, особенно той его части, которая про защиту информации, тем крепче паранойя. И это совсем не означает, что за тобой не следят. В очередном приступе тревоги за сохранность нажимаемых кнопок я удалил Punto Switcher. Однако без переключения раскладки после уже набранного слова, к которому я так привык, стало очень тоскливо. Никаких вменяемых альтернатив я так и не нашел, поэтому пришлось написать небольшую обертку над парой функций win api.
Возможно, результат нескольких дней тыканья веточкой в user32.dll понадобится еще нескольким людям, в виде самой программки, либо в качестве примера отправки сообщений окнам из .Net, так что вот: аналог punto switcher, без свистелок, перделок и яндекс бара.
К сожалению, в скайпе так и не работает. Буду благодарен, если кто-то опытный укажет мне на ошибки в коде.
Возможно, результат нескольких дней тыканья веточкой в user32.dll понадобится еще нескольким людям, в виде самой программки, либо в качестве примера отправки сообщений окнам из .Net, так что вот: аналог punto switcher, без свистелок, перделок и яндекс бара.
К сожалению, в скайпе так и не работает. Буду благодарен, если кто-то опытный укажет мне на ошибки в коде.
+31
Tesla D: Два двигателя, полный привод, разгон до 100 км/ч за 3,2 секунды
2 мин
194K
Tesla Motors во главе с Илоном Маском представили новые возможности электрического седана модели S, под названием D.
Как выяснилось, таинственные индекс D обозначает двойной двигатель. Автомобиль стал полноприводным, имеет более высокие скорости, больше мощности и высокую эффективность. Теперь топовая версия электрокара P85D обладает мощностью 691 л.c., разгоняется до 100 км/ч за 3.2 секунды, оставляя позади не самые плохие мотоциклы. Без внимания не осталась и технологическая начинка. Tesla получила кучу электронных помощников и систем, которые позволяют автомобилю быть еще более автономным.
+94
Не пельменем единым жив программист или история о том, как все успеть
7 мин
140KТуториал

По заявкам трудящихся и в связи с переносом — возвращаю пост, который многих порадовал. Надеюсь НЛО будет не против.
На написание этого поста меня сподвиг замечательный пост «За что конкретно я ненавижу некоторых отдельно взятых маркетологов — или как айтишник по магазинам ходил». Сразу хочу извиниться за возможные опечатки — пишу с планшета, сидя в микроавтобусе и вытягивая сеть телефоном. Hacker's keyboard очень удобен для ssh-доступа, но большие тексты писать им не очень удобно.
IT- специалисты — народ любопытный. То соберут на базе микроконтроллеров автоматическую систему полива и освещения для любимого фикуса, то пропатчат прошивку мультиварки для раздачи торрентов. Но, по непонятной и загадочной причине, когда дело доходит до еды, пресловутый принцип DIY дает сбой. И наш герой, способный часами переделывать кинескоп старого телевизора в Луч Смерти, идет на кухню утолить голод соевым текстуратом пополам с гидроцеллюлозой и «коллагеновым сырьем».
В этом посте я хочу разрушить миф о том, что еда может быть либо быстрой и удобной, либо съедобной. Не секрет, что многим из нас приходится работать по 12 часов в сутки, что не способствует кулинарным подвигам с участием 28 приправ и перьев с зада дракона, омытых слезами единорога. Вы получите замечательную возможность посмотреть в глаза своей половинки на 8 марта после того, как она получит не контроллер для дистанционного управления шторой, а свежевыпеченный хлеб ручной работы рано утром. Если вам надоело есть синтетику — добро пожаловать под hubracut.
+257
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва, Москва и Московская обл., Россия
- Работает в
- Зарегистрирован
- Активность