Как стать автором
Обновить
1
0

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

Отправить сообщение

Длинная арифметика от Microsoft

Время на прочтение9 мин
Количество просмотров117K

Введение


Известно, что компьютер может оперировать числами, количество бит которых ограниченно. Как правило, мы привыкли работать с 32-х и 64-х разрядными целыми числами, которым на платформе .NET соответствуют типы Int32 (int) и Int64 (long) соответственно.

А что делать, если надо представить число, такое как, например, 29! = 8841761993739701954543616000000? Такое число не поместится ни в 64-х разрядный, ни тем более 32-х разрядный тип данных. Именно для работы с такими большими числами существует длинная арифметика.

Длинная арифметика — в вычислительной технике операции (сложение, умножение, вычитание, деление, возведение в степень и т.д.) над числами, разрядность которых превышает длину машинного слова данной вычислительной машины. Эти операции реализуются не аппаратно, а программно, используя базовые аппаратные средства работы с числами меньших порядков.
Читать дальше →
Всего голосов 79: ↑66 и ↓13+53
Комментарии33

Как защитить абсолютно всё при помощи одного лишь SSL-сертификата

Время на прочтение4 мин
Количество просмотров48K
Сегодня существует агромное кол-во разных SSL-сертификатов, но может ли один сертификат обеспечить практически все Ваши нужды? Оказывается, да! И это большая редкость, лишь единицы знают о сущещствование такого продукта как Мульти-доменный сертификат с поддержкой неограниченного кол-во субдоменов (Multi-Domain Wildcard SSL Certificate). Но давайте обо всём по порядку.

Обычно люди пользуются такими сертификатами как:


  • SSL-сертификат с проверкой домена (Domain Validation)

    SSL-сертификаты с проверкой домена, или как их некоторые называют, сертификаты начального уровня, являются самыми распространёнными в мире, и это не удивительно, ведь скорость выдачи таких сертификатов варьируется от 2-10 минут, зависит от бренда. Что бы получить такой сертификат не требуются какие либо документы, весь процесс предельно прост, Вам нужно подтвердить владение доменом, а для этого существует 3 способа, один основной и два альтернативных.

    SSL-сертификаты начального уровня с проверкой домена один из самых быстро-выдаваемых типов сертификатов, т.к. не требуют каких либо документов. Мы рекомендуем данные сертификаты для небольших сайтов и маленьких проектов, когда у Вас нет необходимости в большом доверии со стороны клиентов и посетителей сайта, проекта. С таким сертификатом чаще идут статичные логотипы безопасности, однако есть некоторые которые предлагают и динамические, например: Thawte SSL 123, Comodo SSL Certificate

    1. Проверка через э-почту (DCV Email)

      Данный метод описан на многих сайтах и блогах, вся суть в том, что центр сертификации вышлет Вам верификационное письмо, в котором будет ссылка для подтверждения владением домена. Выслать такое письмо могут либо на э-почту указанную во Whois вашего домена, либо на один из золотой пятёрки: admin@, administrator@, hostmaster@, postmaster@,webmaster@

Читать дальше →
Всего голосов 36: ↑19 и ↓17+2
Комментарии54

Разработка Windows 8.1 приложений на XAML/С#. Часть 2. Работа с плитками

Время на прочтение8 мин
Количество просмотров14K
image

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

Сегодня мы разберем как создавать плитки (Tile) для Windows 8.1 приложений и каким образом можно реализовать динамическое изменение контента на них.
Читать дальше →
Всего голосов 47: ↑34 и ↓13+21
Комментарии3

Многоядерная JIT-компиляция в .NET 4.5

Время на прочтение3 мин
Количество просмотров13K

Исторически разработчики .NET использовали генератор образов в машинном коде Ngen. Это отлично работает, если у вас есть инсталлятор, и вы можете сгенерировать эти образы во время установки приложения. Но в других случаях, например когда у вас нет установщика или вы не имеете доступ к Ngen, ваше приложение будет производить JIT-компиляцию по мере необходимости, что замедлит его загрузку. Разработчики CLR предоставили решение в новой версии .NET – многоядерная JIT-компиляция с возможностью создавать профили оптимизации.
Читать дальше →
Всего голосов 51: ↑41 и ↓10+31
Комментарии8

Использование async и await в C# — лучшие практики

Время на прочтение8 мин
Количество просмотров225K

Ключевые слова async и await, введённые в C# 5.0, значительно упрощают асинхронное программирование. Они также скрывают за собой некоторые сложности, которые, если вы потеряете бдительность, могут добавить проблем в ваш код. Описанные ниже практики пригодятся вам, если вы создаёте асинхронный код для .NET приложений.
Читать дальше →
Всего голосов 79: ↑69 и ↓10+59
Комментарии24

Автоматизация сборки .NET приложений — часть 2

Время на прочтение5 мин
Количество просмотров12K


Три года назад я писал статью про автоматизацию сборки .NET приложений. Планировалось, что она будет из двух частей. Первая часть — основы использования NAnt и примеры выполнения базовых задач (компиляция проекта, сборка сайта ASP.NET). Во второй части хотел рассказать о более продвинутых задачах типа трансформации конфигов, запуска модульных тестов и т.п.

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

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

Читать дальше →
Всего голосов 15: ↑10 и ↓5+5
Комментарии1

Фильтры исключений в CLR

Время на прочтение7 мин
Количество просмотров14K
Привет, хабралюди. Сегодня мы рассмотрим один из механизмов CLR, который напрямую недоступен для разработчиков на языке C# — фильтры исключений.

Опрос среди моих знакомых программистов на C# показал, что они (само собой) никогда этим механизмом не пользовались и даже не знают о его существовании. Поэтому предлагаю всем любознательным ознакомиться с текстом статьи.

Итак, фильтры исключений — это механизм, который позволяет блоку catch декларировать предусловия, которым должно удовлетворять исключение, дабы быть пойманным данным блоком. Этот механизм работает не совсем так же, как выполнение проверок внутри блока catch.

Под катом — код на VB.NET, F#, CIL и C#, а также проверка различных декомпиляторов на обработку механизма фильтров.
Читать дальше →
Всего голосов 33: ↑33 и ↓0+33
Комментарии9

Плагинная система на ASP.NET. Или сайт с плагинами, мадемуазелями и преферансом

Время на прочтение9 мин
Количество просмотров23K
image

Вместо предисловия


Данный материал является исключительно результатом работы по сбору информации в сети и создания сайта, работающего на основе плагинов. Здесь я постараюсь описать идею работы такой системы и основные компоненты, необходимые для её работы.
Данная статья не претендует на оригинальность, а описанная система не является единственно правильной и красивой. Но если тебе, уважаемый $habrauser$, интересно, как создать такую систему, милости прошу под кат
Читать дальше →
Всего голосов 29: ↑24 и ↓5+19
Комментарии19

HTML Academy, Хабр и краудфандинг

Время на прочтение3 мин
Количество просмотров90K
HTML Academy — это интерактивные онлайн-курсы по HTML и CSS. Проект существует уже более года, за который мы создали более 15 курсов, большая часть из которых бесплатна. Всё это время работа велась на чистом энтузиазме, однако, сейчас уже нужно выходить на новый уровень, чтобы делать курсы чаще, круче и полезнее. Для этого есть много путей, и один из них — народное финансирование.

Немного об HTML Academy


Всё обучение в академии происходит в практическом режиме. По сути, оно сводится к прохождению огромного количества практических заданий. Практическое задание выглядит вот так:

Практическое задание
Читать дальше →
Всего голосов 130: ↑118 и ↓12+106
Комментарии75

Создаем первое приложение на NancyFX. Часть вторая. Bootstrapper

Время на прочтение3 мин
Количество просмотров9.3K
В прошлой статье «Создаем первое приложение на NancyFX» мы сделали первые шаги в изучении фреймворка NancyFX. В данной статье мы познакомимся со встроенными в Nancy по умолчанию TinyIoC и Nancy Bootstrapper.
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии2

Сломается ли база, если выдернуть сервер из розетки, или потроха DB ORACLE для чайников

Время на прочтение5 мин
Количество просмотров29K
Писал для коллег — программистов, далёких от предметной области, которые действительно, искренне не понимали, что такого сложного в базе данных. Они хотели хранить критические данные в простых файлах. Я задавал им каверзные вопросы о надёжности, скорости и одновременном доступе, они пытались «на ходу» придумать хитрые решения. В конце они трезво оценили требуемый объём кода и поняли, что им придётся написать свой маленький ORACLE или, хотя бы, MySQL. Затем я рассказал им, как были решены эти проблемы в DB ORACLE, их поразило изящество некоторых алгоритмов. Лекция понравилась, и я решил выложить её в открытый доступ.

Читать дальше →
Всего голосов 40: ↑29 и ↓11+18
Комментарии46

Бронирование переговорных комнат — интеграция SharePoint 2010 с Exchange 2010

Время на прочтение5 мин
Количество просмотров44K
Несколько недель назад от наших заказчиков мы получили задачу на создание сервиса бронирования переговорных комнат. Компания заказчика довольна крупная и весьма продвинутая в плане ИТ. У заказчика много филиалов по всей России и в каждом по 5-6 переговорных комнат, сотрудники часто летают проводить совещания из одного филиала в другой, а найти свободную аудиторию «на месте» — это реальная проблема. Поэтому сотруднику было бы неплохо прямо со своего рабочего места в Москве «застолбить» переговорку, например, в Туле и со спокойной совестью лететь в командировку. Опытом создания подобного сервиса мы хотим поделится с хабросообществом.

Читать дальше →
Всего голосов 27: ↑20 и ↓7+13
Комментарии9

Обзор софта для управления задачами в Outlook

Время на прочтение6 мин
Количество просмотров64K
Думаю, эту статью по достоинству оценят менеджеры проектов, менеджеры, работающие с клиентами, и менеджеры продукта, а также те, кто ищет способы повысить эффективность своей работы и использует Outlook для планирования. Если вы ещё этого не делаете, то, вероятно, после этой статьи, вам захочется — или окончательно расхочется — это делать. Итак, 5 нехитрых способов повысить производительность vs. расширение TaskCracker для Outlook.

image
Все хотят управлять временем
Читать дальше →
Всего голосов 13: ↑9 и ↓4+5
Комментарии16

Несколько интересностей и полезностей для веб-разработчика (выпуск 3)

Время на прочтение3 мин
Количество просмотров60K
Доброго времени суток, уважаемые хабравчане. С прошедшим вас днем программиста. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Cloudconvert




Великолепный онлайн конвертер файлов, который поддерживает в общей сложности 140 форматов следующих типов: archive, audio, cad, document, ebook, image, presentation, spreadsheet, video. Синхронизируется с Dropbox и Google Drive, благодаря чему возможно использование на всех смартфонах. А самое приятное это то, что для данного сервиса существует функциональное и простое API.

Читать дальше →
Всего голосов 145: ↑134 и ↓11+123
Комментарии29

Настольная игра, обучающая детей программированию

Время на прочтение2 мин
Количество просмотров23K
Для начала, хочу поздравить всех хабровчан с днем программиста!
О чем же писать в этот день, как не об игре, которая позволит воспитать из вашего ребенка юного Стива Джобса или Аду Лавлейс.

Robot Turtles — это игра от программиста из Google Дэна Шапиро.
Она предназначена для детей от трех до восьми лет, и в неё очень легко научиться играть. Ваши детки даже не будут подозревать, что в течение игры они будут строить настоящие алгоритмы и изучать основы программирования.

image
Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии33

BitTorrent Tracker на C#

Время на прочтение6 мин
Количество просмотров26K
Долгое время я искал в сети пример простейшего tracker-а на C#, но, к сожалению, мои поиски успехом не увенчались. Поэтому я решил попробовать себя в написании tracker-а на C#, а получив более-менее рабочую версию — поделиться опытом ее создания со всеми. А заодно и получить как можно больше советов по ее усовершенствованию.

Но давайте начнем с начала…
Читать дальше →
Всего голосов 33: ↑26 и ↓7+19
Комментарии36

В Disney Research разработали систему тактильной обратной связи на основе вихревой пушки

Время на прочтение2 мин
Количество просмотров46K


Хотя интерфейсы, позволяющие управлять компьютером с помощью жестов, такие как Kinect, получили достаточно широкое распространение, все они пока что не дают тактильной обратной связи. Объектами на экране компьютера можно управлять, но пощупать их нельзя. Исследования в этом направлении ведутся довольно давно, например, в Японии создали прибор, позволяющий ощутить прикосновение виртуальных объектов с помощью ультразвука. В Disney Research пошли по другому пути. Их прототип, названный AIREAL, основан на интересном аэродинамическом эффекте — образовании устойчивого тороидального вихря на выходе из воздушной камеры с круглым отверстием при резком повышении давления внутри. Устройство, производящее такие вихри, называют «вихревой пушкой». В простейшем случае — это картонная коробка с круглым окном.
Вот как она работает:
Всего голосов 80: ↑78 и ↓2+76
Комментарии25

Модификация стоковых прошивок для Android. Часть 2

Время на прочтение10 мин
Количество просмотров79K
Здравствуй Хабр!

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

Например, описывать как происходит загрузка Android в данной статье будет не уместно. Если вы знаете принцип инициализации аппаратного обеспечения вашего компьютера в BIOSе, а затем его загрузка через ядро системы, то Android в этом плане ничем не отличается. Разница лишь в процессорной архитектуре. Структура файловой системы? Ну господа, это же чистой воды UNIX система, и писать где, что и как хранится — абсурдно! Править build.prop — это тюнинг системы. Да, это модификация, но большую часть этих параметров можно сделать сторонними приложениями, причем удобными для пользования, например System Tuner.

Понять самому принципы системы Android заняло у меня пару месяцев, столько же займет времени и писать статьи, чтобы осветить все базовые вещи. Так что давайте лучше будем писать о конкретных примерах как разбирать Dalvik код и создавать на телефоне удобства «пользования».

И так, поехали! Сегодня я расскажу как я реализовал функционал автоматической записи телефонных разговоров родными средствами.
Читать дальше →
Всего голосов 76: ↑69 и ↓7+62
Комментарии46

Step-by-step: настройка SpecFlow для русскоязычного проекта при написании тестов в среде .Net

Время на прочтение6 мин
Количество просмотров25K
Не нашла в интернете пошаговой русскоязычной инструкции о том, как настроить SpecFlow на работу с русскими спецификациями. Да и вообще нет русской инструкции о том, как начать работать со SpecFlow. Зато обнаружила некоторый скепсис у других автоматизаторов по поводу того, что это можно сделать легко и просто, однако предложенные альтернативы мне не приглянулись в далекой перспективе (просмотр тестов с веба специалистами технической поддержки). Мне нужен именно SpecFlow и именно по-русски!

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

Эта статья полезна для тех, кто:
  • оценивает перспективы применения Specification by Example (BDD) подхода к автоматизации тестирования, и хочет описывать фичи и сценарии на русском языке, и хочет оценить scope работ;
  • хочет как можно быстрее начать применять BDD в своем проекте.

Эта статья бесполезна для тех, кто:
  • сам знает как это просто делается;
  • готов потратить несколько часов работы + владеет английским языком достаточно хорошо, чтобы самому разобраться в инструкциях.

Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии6

Распознавание бланков психологического тестирования с нуля

Время на прочтение6 мин
Количество просмотров26K
Три месяца назад ко мне обратился хороший товарищ и коллега по работе с просьбой написать небольшую программу для проведения психологического тестирования. Я, до этого писавший исключительно для мелких нужд офисной автоматизации на vba, vb, vb.net, решил воспользоваться моментом и за время проекта подучить C#. К слову, проект простой, всего 5 психодиагностических методик. Позже оказалось, что мечта его — система распознавания бланков этих методик. Ситуация усложнилась. Стало понятно, что основное количество времени я потрачу на распознавание.
Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии11

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность