Pull to refresh
11
0
Алексей Ануфриев @Razaz

Пользователь

Send message

В помощь создания поставщика счётчиков производительности v 2.0 в NET. Framework

Reading time3 min
Views4.1K
Здравствуйте друзья!
Хочу познакомить вас с пакетом в nuget DevUtils ETW IMBA, который поможет вам просто и быстро создавать счётчики производительности, поддерживающие новую архитектуру (версии 2.0) введенную в Windows Vista.
Подробности
Total votes 11: ↑10 and ↓1+9
Comments0

Низкоуровневая оптимизация параллельных алгоритмов или SIMD в .NET

Reading time12 min
Views46K
image

В настоящее время огромное количество задач требует большой производительности систем. Бесконечно увеличивать количество транзисторов на кристалле процессора не позволяют физические ограничения. Геометрические размеры транзисторов нельзя физически уменьшать, так как при превышении возможно допустимых размеров начинают проявляться явления, которые не заметны при больших размерах активных элементов — начинают сильно сказываться квантовые размерные эффекты. Транзисторы начинают работать не как транзисторы.
А закон Мура здесь ни при чем. Это был и остается законом стоимости, а увеличение количества транзисторов на кристалле — это скорее следствие из закона. Таким образом, для того, чтобы увеличивать мощность компьютерных систем приходится искать другие способы. Это использование мультипроцессоров, мультикомпьютеров. Такой подход характеризуется большим количеством процессорных элементов, что приводит к независимому исполнение подзадач на каждом вычислительном устройстве.
Читать дальше
Total votes 32: ↑31 and ↓1+30
Comments16

Лучшие светодиодные лампы 2015 года

Reading time4 min
Views100K
На сайте lamptest.ru я публикую результаты измерений параметров светодиодных ламп. Цифр там немало и многим сложно в них разобраться. Всё чаще я слышу вопрос — «так какая лампочка самая лучшая»? Хороших ламп много и я решил регулярно публиковать списки лучших ламп.



На рынке сейчас огромное количество светодиодных ламп и те 226 моделей ламп, которые я протестировал, едва ли составляют десятую их часть. Поэтому помимо тех ламп, о которых я расскажу сегодня, есть множество других хороших ламп других брендов.

Читать дальше →
Total votes 46: ↑44 and ↓2+42
Comments69

Автоматизированное создание NuGet-пакетов

Reading time15 min
Views33K

Коль захотел ты сборки передать
И с ними пламенный привет
Нугетом не забудь запаковать
В пакет!


Сразу оговоримся, что в этой статье речь пойдёт о стеке технологий Microsoft .NET.

Часто так бывает, что какое-то подмножество проектов начинает использоваться в разных решениях.

Как правило, программисты, разглядев в соседнем проекте что-то полезное, первое время не заморачиваются — создают папку lib (dll, assemblies и т.п.) и складывают туда скомпилированные сборки из оригинального решения. Со временем становится понятно, что это не самый удобный вариант и вот почему:

  • оригинальное решение начинает развиваться в свою собственную сторону, без учёта «потребителей»: добавляются новые зависимости, обновляются версии .net и т.п. «приколы»;
  • если даже о «потребителях» задумываются, то забывают обновить сборки у них, когда выходит критическое обновление или просто новая версия, а потом всё становится ещё хуже, когда сборок становится больше одной и между ними возникают некоторые зависимости — обновляя одну сборку, получаем проблемы в момент исполнения, т.к. другая сборка может оказаться не той версии;
  • оригинальное решение перестаёт дальше разрабатываться.

Ответом на все эти неприятности может служить вынесение проектов в отдельное решение и создание NuGet-пакета, включающего общие сборки, и смена парадигмы развития этих сборок. По большому счёту, всё это можно сделать и без NuGet, но удовольствия в этом гораздо меньше.Как сделать так, чтобы NuGet-пакет собирался сам автоматически вместе с компиляцией проекта на сервере построения и включал все необходимые свистелки и гуделки — об этом и будет наш рассказ.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments18

ASP.NET 5 Identity 3 и новый инструментарий аутентификации/авторизации

Reading time9 min
Views21K
Жизнь в Лас-Вегасе не ограничивается азартными играми. Несмотря на славу игорной столицы, здесь проходят и мероприятия совсем из других сфер жизни. В частности, ежегодная конференция DEVIntersection, которую в этом году посетила команда наших разработчиков. И здесь мы хотим рассказать обо всём самом важном и интересном, что они узнали на конференции.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments0

Погружение в ASP.NET 5 Runtime

Reading time16 min
Views28K

Вступление от переводчика


Данная статья является переводом ASP.NET 5 — A Deep Dive into the ASP.NET 5 Runtime — введения в архитектуру DNX и построенного на нем ASP.NET 5. Так как оригинальная статья была написана в марте 2015 года, во время, когда ASP.NET 5 был еще в стадии активной разработки (примерно beta 3), многое в ней устарело. Поэтому при переводе вся информация была актуализирована до текущей версии ASP.NET 5 (RC1), также были добавлены ссылки на связанные ресурсы (в основном на docs.asp.net) и исходный код на GitHub (смотрите только в случаях, если вам интересна реализация). Приятного погружения!

.NET Runtime Environment (DNX)


ASP.NET 5 базируется на гибком, кроссплатформенном runtime, который может работать с разными .NET CLR (.NET Core CLR, Mono CLR, .NET Framework CLR). Вы можете запустить ASP.NET 5 используя полный .NET Framework или можете запустить используя новый .NET Core docs, который позволяет вам просто копировать все необходимые библиотеки вместе с приложением в существующее окружение, без изменения чего-либо еще на вашей машине. Используя .NET Core вы также можете запустить ASP.NET 5 кроссплатформенно на Linux docs и Mac OS docs.

Инфраструктура позволяющая запускать и исполнять приложения ASP.NET 5 называется .NET Runtime Environment docs или кратко DNX. DNX предоставляет все что необходимо для работы .NET приложений: host process, CLR hosting логику, обнаружение управляемой Entry Point и т.д.

Логически архитектура DNX имеет пять слоев. Я опишу каждый из этих слоев вместе с их обязанностями.
Изображение взято из статьи DNX-structure wiki
Архитектура ASP.NET 5 и DNX

Читать дальше →
Total votes 25: ↑22 and ↓3+19
Comments14

Корпоративный GitHub: как Azure увеличил количество работников на GitHub до двух тысяч

Reading time8 min
Views13K
Мы в «Латере» занимаемся созданием биллинга для операторов связи. В блоге на Хабре мы не только рассказываем об особенностях нашей системы и деталях ее разработки (например, обеспечении отказоустойчивости), но и публикуем материалы о том, как другие компании работают с ИТ-инфраструктурой. Сегодня мы представляем вашему вниманию адаптированный перевод заметки главного разработчика Azure Джеффа Уилкокса, о том, как более двух тысяч членов команды проекта переезжали на GitHub.

За последние четыре года Azure очень многое перенял от opensource-сообщества, поэтому нам пришлось пересмотреть подходы к работе и минимизировать количество выполняемых вручную операций, необходимых для поддержания крупной GitHub-организации. Мы автоматизировали большую часть управленческих функций, создав веб-приложение с открытым исходным кодом, которое использует некоторые из сервисов Azure (это App Service, Active Directory и Azure Storage), GitHub API и другие свободно распространяемые решения.

В этом посте я представлю вам наш портал для работы с GitHub, исходный код которого сейчас там же и размещен. Я расскажу о функциях, особенностях и основных программных блоках приложения, а также поделюсь с вами историей о том, как GitHub поспособствовал нашему развитию. В конце я добавлю несколько ссылок, где можно будет получить дополнительную информацию. Еще я подготовил отдельный пост, раскрывающий подробности проекта: как все начиналось, и к чему мы пришли.

Разработчики и организации любых размеров сразу почувствуют, насколько может быть полезным наш портал: Azure Active Directory дает инженерной группе доступ к инструментам для работы с GitHub.



Веб-портал, созданный с использованием Azure, GitHub API и Node.js, позволяет автоматизировать работу с GitHub и ускорить адаптацию новых сотрудников.
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments1

Хватит использовать jQuery, вы способны сделать лучше без него

Reading time4 min
Views27K

Введение


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

Читать дальше →
Total votes 38: ↑18 and ↓20-2
Comments42

Нейросеть Microsoft победила Google и Intel в конкурсе на распознавание изображений

Reading time2 min
Views8.6K


Программа Microsoft Research первенствовала в нескольких категориях на шестом ежегодном конкурсе по распознаванию изображений ImageNet. Ей удалось превзойти конкурентные системы от Google, Intel, Qualcomm и Tencent, а также от ряда стартапов и научно-исследовательских лабораторий (результаты).

Система-чемпион носит название "Deep Residual Learning for Image Recognition", и к конкурсу в свободном доступе опубликована статья с описанием технических принципов её работы.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments4

Самая простая и надежная реализация шаблона проектирования Dispose

Reading time3 min
Views19K

Казалось бы, данный шаблон не просто прост, а очень прост, подробно разобран не в одной известной книге.

Тем не менее, до сих пор даже в рамках одного проекта он зачастую может быть реализован по-разному, создавая зоопарк из велосипедов, костылей и утечек.

Хочу поделиться своим способом реализации, который основан на минимизации изобретения велосипедов, максимальном уменьшении количества кода и увеличении его выразительности и прозрачности.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments13

Поднимаем сложный проект на Django с использованием Docker

Reading time10 min
Views74K
Добрый день, коллеги.

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

Исходные данные у нас такие: начинается разработка проекта, в которой планируется «тонкий бэкенд». Т.е. бэк у нас состоит из закешированных страниц (рендерятся любым шаблонизатором), объёмных моделей с сопутствующей логикой (ORM) и REST API, выполняющего роль контроллера. Фактически, View в такой системе редуцировано и вынесено в JS, благо есть разные реакты, ангуляры и прочие вещи, которые позволяют фронтендщикам считать себя «белыми людьми».
Читать дальше →
Total votes 21: ↑17 and ↓4+13
Comments49

Исходный код JavaScript-движка Microsoft Edge будет открыт в январе

Reading time5 min
Views13K
В конце прошлой недели на конференции JSConf US Last Call (Флорида, США) мы анонсировали, что откроем исходный код ключевых компонентов нашего JavaScript-движка Chakra, используемого в Microsoft Edge, в виде проекта ChakraCore. Исходный код будет доступен на GitHub под MIT лицензией в следующем месяце.


Gaurav Seth на сцене JSConf US Last Call анонсирует ChakraCore. Слайды доступны на GitHub.

Chakra – один с лучших движков JavaScript с самым большим покрытием возможностей ES2015 и предсказуемыми производительностью, надежностью и масштабируемостью. Мы предполагаем, что ChakraCore может использоваться в тех сценариях, где эти факторы играют большую роль: от облачных сервисов и до интернета вещей и в других средах.

Сегодня мы вкладываемся в улучшение Chakra больше, чем когда-либо, и мы рады возможности развития сотрудничества с сообществом для внедрения дальнейших улучшений. Несколько организаций уже рассказали о своем интересе вносить вклад в Chakra, включая Intel, AMD и NodeSource – мы смотрим с оптимизмом на нашу будущую совместную работу.
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments16

ASP.NET MVC 3/4: Противодействие взлому

Reading time5 min
Views25K


Не так давно прочитал очередную статью о SQL-инъекциях на хабре, статья была посвящена правда PHP, завязались споры как нужно поступать с данными от пользователя, через какие функции их прогонять, с PHP знаком поверхностно, но общую картину усвоил. Тогда и родилась идея показать как обстоят дела с безопасностью в ASP.NET MVC.

Читать дальше →
Total votes 40: ↑36 and ↓4+32
Comments21

Не все cookie одинаково полезны

Reading time9 min
Views39K
В этой статье я хотел бы рассказать о том, как можно объединить небольшие недочеты в обработке cookie-значений в цепочку, и произвести за счет этого атаку на пользователей популярных веб-приложений.
image
Читать дальше →
Total votes 56: ↑55 and ↓1+54
Comments5

Проектирование в PostgreSQL документо-ориентированного API (Часть 1)

Reading time5 min
Views18K
Данная статья является переводом, оригинальная статья находится вот здесь, автор Rob Conery.

Postgres, как многие знают, поддерживает JSON как тип хранения данных, а с выходом 9.4, Postgres теперь поддерживает хранение JSON в виде jsonb — бинарного формата.

Это прекрасные новости для тех, кто хочет шагнуть дальше простого «хранения JSON как текста». jsonb теперь поддерживает индексирование с использованием GIN индекса, а также имеет специальный оператор запросов, который позволяет получить преимущества GIN индекса.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments4

KeyCloak – щит от JBOSS для WEB приложений

Reading time24 min
Views47K
Из диалога двух программистов:
— Кажется, у нас дыра в безопасности!
— Слава Богу, хоть что-то у нас в безопасности…

1. Введение


Пару лет назад мы уже затрагивали тему безопасности в веб-приложениях. Тогда в рамках исследовательских работ был реализован собственный Service Provider для интеграции с продуктом Shibboleth по протоколу SAML 2.0.

В сегодняшней статье речь снова пойдет о безопасности веб-приложений. Мы сделаем небольшой обзор продукта KeyCloak (доселе оставленного без внимания сообществом Habr).



В качестве практической ценности будет разобран пример, как защитить простое JEE приложение средствами KeyCloak, а также как осуществить взаимодействие между двумя защищенными приложениями.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments1

Рекомендации по написанию кода на C# от Aviva Solutions

Reading time40 min
Views81K
Представляю вашему вниманию перевод документа "Coding Guidelines for C# 3.0, 4.0 and 5.0".

Целью создания этого списка правил является попытка установить стандарты написания кода на C#, которые были бы удобными и практичными одновременно. Само собой, мы практикуем то, что создали. Эти правила являются одним из тех стандартов, которые лежат в основе нашей ежедневной работы в AvivaSolutions. Не все эти правила имеют четкое обоснование. Некоторые из них просто приняты у нас в качестве стандартов.

Статический анализатор кода VisualStudio (который также известен как FxComp) и StyleCop могут автоматически применять многие из правил кодирования и оформления путем анализа скомпилированных сборок. Вы можете сконфигурировать их таким образом, чтобы анализ производился во время компиляции или был неотъемлемой частью непрерывной или ежедневной сборки. Этот документ просто добавляет дополнительные правила и рекомендации, но его вспомогательный сайт www.csharpcodingguidelines.com предоставляет список правил анализа кода, необходимых в зависимости от того, с какой базой кода вы работаете.
Читать дальше →
Total votes 21: ↑17 and ↓4+13
Comments36

Как создать круглую Progress Button

Reading time9 min
Views46K
Урок по реализации круглой кнопки загрузки (далее progress button) by Colin Garven. Будем использовать, описанную by Jake Archibald, технику анимации SVG линий для того, чтобы анимировать progress button и показать пользователю состояния «success and fail».

image
Читать дальше →
Total votes 34: ↑21 and ↓13+8
Comments8

Улучшение сетевой безопасности с помощью Content Security Policy

Reading time7 min
Views143K


Content Security Policy (CSP, политика защиты контента) — это механизм обеспечения безопасности, с помощью которого можно защищаться от атак с внедрением контента, например, межсайтового скриптинга (XSS, cross site scripting). CSP описывает безопасные источники загрузки ресурсов, устанавливает правила использования встроенных стилей, скриптов, а также динамической оценки JavaScript — например, с помощью eval. Загрузка с ресурсов, не входящих в «белый список», блокируется.
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments7

Готовим ASP.NET 5: Continuous Deployment с Docker и Tutum

Reading time4 min
Views9.4K
В этой статье я расскажу, как сделать обеспечение непрерывного развертывания (Continuous Deployment) для ASP.NET 5 (Vnext) приложения на базе Docker контейнера, Tutum, сервера или облака.

При изучении материалов по Docker наибольшее количество вопросов у меня вызвало развертывание моего приватного репозитория на сервер и автоматизация этого процесса, причем сделать это хотелось не только решением для Azure, но иметь такую возможность для Digital Ocean или Vscale.
Принципиальная схема

Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments4

Information

Rating
Does not participate
Date of birth
Registered
Activity