Сейчас существует множество алгоритмов сжатия информации. Большинство из них широко известны, но есть и некоторые весьма эффективные, но, тем не менее, малоизвестные алгоритмы. Эта статья рассказывает о методе арифметического кодирования, который является лучшим из энтропийных, но тем не менее мало кто о нём знает.
Антон Миронов @mviorno
Developer
Переключаем WiFi в режим точки доступа в Windows
3 min
585KТак уж получилось, что на работе для получения полноценного интернета без ограничений, мне приходиться использовать нетбук и 3g-модем. Недавно, купив iPod Touch, я очень захотел его подключить к интернету. Если смартфон еще мог вылезти в интернет самостоятельно, то вот с плеером несколько труднее.
Один из вариантов — это подключение с помощью кабеля синхронизации. Вариант не очень удобный, так как носить с собой постоянно кабель желания совершенно нет, да и iTunes ставить тоже не хочеться. Второй вариант, тот который и описывается в данной статье — это подключение через WiFi. На Хабрахабре уже упоминалась похожая задача и её решение, но для Linux. Наша задача настроить тоже самое под Windows.
— Нетбук, ASUS 1215B
— Интернет через USB 3g-модем
— Плеер и смартфон с наличием WiFi
— Получить на всех устройствах интернет
Один из вариантов — это подключение с помощью кабеля синхронизации. Вариант не очень удобный, так как носить с собой постоянно кабель желания совершенно нет, да и iTunes ставить тоже не хочеться. Второй вариант, тот который и описывается в данной статье — это подключение через WiFi. На Хабрахабре уже упоминалась похожая задача и её решение, но для Linux. Наша задача настроить тоже самое под Windows.
Итак, что мы имеем
— Нетбук, ASUS 1215B
— Интернет через USB 3g-модем
— Плеер и смартфон с наличием WiFi
Задача
— Получить на всех устройствах интернет
+59
Барьеры памяти и неблокирующая синхронизация в .NET
7 min
58KВведение
В этой статье я хочу рассказать об использовании некоторых конструкций, применяющихся для осуществления неблокирующей синхронизации. Речь пойдёт о ключевом слове volatile, функциях VolatileRead, VolatileWrite и MemoryBarrier. Мы рассмотрим, какие проблемы вынуждают нас воспользоваться этими языковыми конструкциями и варианты их решения. При обсуждении барьеров памяти вкратце рассмотрим модель памяти .NET.
+61
Дейв Мендлен перешёл из Microsoft в DevExpress
1 min
5.5K Он будет работать у нас в качестве директора по маркетингу (Chief Marketing Officer).
Конечно, такую новость можно было бы и обойти стороной, но, согласитесь, далеко не каждый день один из ведущих директоров Майкрософт переходит в вашу компанию.
Дэйв Мендлен известен тем, что был спичрайтером у Билла Гейтса и Стива Балмера, а после долгих лет работы с ними участвовал в разработке и продвижении многих продуктов Майкрософт, в том числе Windows XP, Windows Media Center, Web Services и Visual Basic .NET. В последнее же время он работал старшим директором Майкрософт по развитию Visual Studio и, в частности, руководил процессом выпуска Visual Studio 2010.
Если вы хотите узнать, что запомнилось ему за время работы в Майкрософт, что он собирается делать в DevExpress, а также интересные факты о том, какие на самом деле Билл Гейтс и Стив Балмер, то можете прочитать обо всём этом в его прощальном интервью для Майкрософт: blogs.msdn.com/b/msdnmagazine/archive/2011/09/07/10207386.aspx
Ну а мы можем лишь пожелать ему удачи и надеяться на то, что вместе нам удастся сделать наши продукты ещё лучше, а значит более любимыми вами.
P.S. Поздравляем всех разработчиков с Днём Программиста!
Конечно, такую новость можно было бы и обойти стороной, но, согласитесь, далеко не каждый день один из ведущих директоров Майкрософт переходит в вашу компанию.
Дэйв Мендлен известен тем, что был спичрайтером у Билла Гейтса и Стива Балмера, а после долгих лет работы с ними участвовал в разработке и продвижении многих продуктов Майкрософт, в том числе Windows XP, Windows Media Center, Web Services и Visual Basic .NET. В последнее же время он работал старшим директором Майкрософт по развитию Visual Studio и, в частности, руководил процессом выпуска Visual Studio 2010.
Если вы хотите узнать, что запомнилось ему за время работы в Майкрософт, что он собирается делать в DevExpress, а также интересные факты о том, какие на самом деле Билл Гейтс и Стив Балмер, то можете прочитать обо всём этом в его прощальном интервью для Майкрософт: blogs.msdn.com/b/msdnmagazine/archive/2011/09/07/10207386.aspx
Ну а мы можем лишь пожелать ему удачи и надеяться на то, что вместе нам удастся сделать наши продукты ещё лучше, а значит более любимыми вами.
P.S. Поздравляем всех разработчиков с Днём Программиста!
+15
Бесплатные книги
3 min
60KНесколько книг по разным темам, которые находятся в открытом доступе.
Основы программирования
Основы программирования
+235
DXperience v2011 vol 1 — Новая версия .NET компонентов от DevExpress
8 min
15K Компания Developer Express недавно объявила о выходе очередной мажорной версии своего набора контролов для .NET разработчиков — DXperience v2011 vol 1. По традиции, эта версия выходит спустя полгода от предыдущего релиза и является первым большим апдейтом в 2011-м году. Так же традиционно, она содержит множество различных улучшений как для разработчиков Windows Forms и ASP.NET, так и для тех, кто создаёт свои продукты на базе платформ WPF и Silverlight.
К тому же, у нас есть ещё один сюрприз — на этот раз для тех, кто знакомится с технологией LightSwitch и хочет делать полноценные бизнес-приложения с её помощью.
Если вы ещё не успели прочитать официальный What's New-пресс релиз на английском языке, то я приготовил для вас краткий обзор того, на что стоит обратить внимание в новой версии DXperience.
К тому же, у нас есть ещё один сюрприз — на этот раз для тех, кто знакомится с технологией LightSwitch и хочет делать полноценные бизнес-приложения с её помощью.
Если вы ещё не успели прочитать официальный What's New-пресс релиз на английском языке, то я приготовил для вас краткий обзор того, на что стоит обратить внимание в новой версии DXperience.
+32
Хороший пользовательский интерфейс, ясность и выразительность
4 min
18KTranslation
Очередной перевод статьи Марка Миллера:
Great User Interfaces, Clarity, and Emphasis
Предыдущие переводы:
В предыдущей статье мы сделали важный вывод для достижения ясности в пользовательском интерфейсе:
Визуальный вес должен соответствовать важности информации.
Суть этого вывода — не пренебрегайте важностью информации, выбирая методы её отображения. Обсуждая здесь способы контроля выразительности, следует помнить, что наша цель — получить лёгкий и элегантный интерфейс, выразить в нём то, что Эдвард Тафти называет «наименьшим эффективным отличием». (От переводчика: на русском можно почитать здесь и здесь).
Great User Interfaces, Clarity, and Emphasis
Предыдущие переводы:
- Почему так сложно сделать хороший пользовательский интерфейс?
- Хороший пользовательский интерфейс, ясность и релевантность информации
В предыдущей статье мы сделали важный вывод для достижения ясности в пользовательском интерфейсе:
Визуальный вес должен соответствовать важности информации.
Суть этого вывода — не пренебрегайте важностью информации, выбирая методы её отображения. Обсуждая здесь способы контроля выразительности, следует помнить, что наша цель — получить лёгкий и элегантный интерфейс, выразить в нём то, что Эдвард Тафти называет «наименьшим эффективным отличием». (От переводчика: на русском можно почитать здесь и здесь).
+45
Новое расширение MVC для рисования графиков
2 min
11K Мы рады сообщить, что в следующей версии DXperience — v2011 vol 1 — появится новое расширение для ASP.NET MVC, а именно MVC Chart Extension.
Это расширение позволяет добавить в MVC приложение десятки различных графиков — от прямоугольных и круговых, до радарных и финансовых.
Если вы заинтересовались, добро пожаловать под кат.
Это расширение позволяет добавить в MVC приложение десятки различных графиков — от прямоугольных и круговых, до радарных и финансовых.
Если вы заинтересовались, добро пожаловать под кат.
+21
И снова о топологической сортировке…
9 min
11KПриветствую всех читателей Хабра! Решив написать эту статью, я обнаружил на Хабре много материалов по графам и, в частности, по топологической сортировке. Например, здесь довольно подробно описана теоретическая часть и приведены примеры основных алгоритмов. Поэтому не буду повторяться, а расскажу о практической области применения Topological sorting, а точнее, хочу поделиться личным опытом применения этого метода при разработке продуктов DevExpress. Из статьи станут понятны мотивы и причины, побудившие к использованию этого алгоритма. В конце я приведу наш вариант реализации алгоритма для сортировки зависимых объектов.
+28
Report-Driven Design
6 min
12K В этой статье рассматривается альтернативный подход к созданию приложений и реализации структуры базы данных.
Основная идея этого подхода состоит в том, что процесс разработки приложения строится на анализе отчётов, которые должны будут генерироваться готовым бизнес-приложением.
Мы называем такой подход RDD — Report-Driven Design.
Основная идея этого подхода состоит в том, что процесс разработки приложения строится на анализе отчётов, которые должны будут генерироваться готовым бизнес-приложением.
Мы называем такой подход RDD — Report-Driven Design.
+28
Установка DataContext вложенным невизуальным объектам в WPF/Silverlight
8 min
9.9KПри разработке DXScheduler for WPF мы получили от пользователя сценарий, в котором использовался MVVM шаблон.
Пользовательский объект назначался свойству DataContext нашего планировщика, а в XAML-разметке осуществлялась «привязка» к соответствующим свойствам объекта с использованием Binding-выражений.
Но возникла проблема — планировщик содержал некий невизуальный объект Storage, который хранил набор настроек для данных. В том виде, в котором были записаны Binding-выражения, свойства объекта-стораджа не обновлялись.
О том, как была решена эта проблема, вы узнаете ниже…
+23
Избавляемся от утечек памяти в WPF
5 min
16KВ DevExpress мы тратим много сил на бизнес компоненты для WPF и Silverlight. У нас есть своя линейка контролов, в список которых недавно вошел DXPivotGrid – замена инструмента PivotTable из Excel. В процессе разработки новых компонентов, мы стараемся по-максимуму использовать существующий код. Например, базовые классы от версии PivotGrid для WinForms. Часто это рождает проблемы, с которыми ты не сталкивался, разрабатывая под .NET 2.0. Когда я писал PivotGrid для WPF, мне пришлось решить проблемы с утечками памяти из-за подписки (точнее, «неотписки») на события.
+31
Праздники в календарях или кто больше всех работает
6 min
19KГрядут новогодние каникулы… и самое время поговорить о праздниках. При разработке приложения с поддержкой праздничных дат встает ряд вопросов: каким способом можно получить такие данные и откуда, как их использовать и обрабатывать?
В данной статье я хочу рассказать о ресурсах, связанных с праздниками, и поделиться личным опытом их применения в популярных сервисах и программах. Варианты работы с этими сервисами я буду рассматривать на примере нашего планировщика XtraScheduler. А в конце статьи приведу небольшую статистику по праздникам для различных стран мира.
+18
Вышла новая версия набора компонентов для .NET — DXperience 10.2
5 min
17K Компания DevExpress объявила о выходе новой версии своего продукта DXperience, который содержит компоненты для программистов, ведущих свою разработку на платформе .NET с помощью MS Visual Studio. Версия DXperience 10.2 содержит множество новых продуктов и улучшений для таких популярных направлений как Silverlight, WPF, ASP.NET MVC, а также традиционных ASP.NET и Windows Forms.
Если вы пишете код, используя одну из этих технологий, добро пожаловать под кат.
Если вы пишете код, используя одну из этих технологий, добро пожаловать под кат.
+27
Геолокация в Windows 7 без GPS
2 min
49KМного ли вы видели ноутбуков, которые оснащены GPS датчиком? Примерные оценки можно посмотреть тут, 58 штук из 4380, то есть 1.3%. Прямо скажем — не много. Трудно назвать все причины, по которым производители не оснащают портативные компьютеры, в общем-то, недорогим чипом, но наша заметка как раз о том, как ваш ноутбук снабдить функциональностью геолокации, даже если GPS датчика у вас нет. А заодно вы узнаете, как очень просто получить ваши координаты программным способом.
+69
Собственные шаблоны тестов CodeRush. Тестируем порядок вызовов методов
4 min
8.1KВ своей работе нам приходится писать много тестов. Чтобы делать это быстро, мы используем шаблоны CodeRush. В этой статье мы расскажем вам, как создавать собственные шаблоны для тестирования. В качестве примера возьмём такую задачу: протестировать правильный порядок вызовов защищенных методов класса. Будем использовать только NUnit без применения библиотек типа NMock и им подобных.
+29
Поиск по регулярным выражениям
4 min
9.8KЧто является важным при разработке текстового редактора? Конечно же, «снабдить» его богатым функционалом и обеспечить стабильную работу. Однако многие скажут, что этого недостаточно, чтобы проект действительно был успешным. Нужно его сделать еще и «удобным» для конечного пользователя. А что является важным при разработке такого компонента как текстовый редактор? Да пожалуй, то же самое, вот только удобным он должен быть не только для конечного пользователя, но и для разработчика, который на его основе будет писать приложение.
На первый взгляд удовлетворить и тех, и других будет непросто – одним нужно понятное UI, снабженное набором полезных инструментов, другим – API, позволяющее выполнять широкий спектр задач. Однако зачастую эти задачи связаны друг с другом.
В ходе разработки и поддержки текстового редактора XtraRichEdit мы видели, что некоторые разработчики пишут на его основе редактор языков программирования. Основным требованием таких пользователей была возможность осуществить подсветку синтаксиса. Для этого необходима поддержка поиска по регулярным выражениям, чтобы обеспечить возможность выделения из текста синтаксических блоков и отдельных ключевых слов.
На первый взгляд удовлетворить и тех, и других будет непросто – одним нужно понятное UI, снабженное набором полезных инструментов, другим – API, позволяющее выполнять широкий спектр задач. Однако зачастую эти задачи связаны друг с другом.
В ходе разработки и поддержки текстового редактора XtraRichEdit мы видели, что некоторые разработчики пишут на его основе редактор языков программирования. Основным требованием таких пользователей была возможность осуществить подсветку синтаксиса. Для этого необходима поддержка поиска по регулярным выражениям, чтобы обеспечить возможность выделения из текста синтаксических блоков и отдельных ключевых слов.
+28
Хороший пользовательский интерфейс, ясность и параллельное отображение информации
5 min
18KTranslation
Перевод статьи Марка Миллера: Great User Interfaces, Clarity, and Information in Parallel
Предыдущие переводы:
В последней статье мы говорили о том, как можно изменить дизайн для того, чтобы подчеркнуть важность информации. В этой статье мы обсудим другой, не менее важный способ достижения ясности — параллельное отображение информации.
Эта концепция была впервые изложена в удивительной книге Эдварда Тафти:
Title: Visual Explanations: Images and Quantities, Evidence and Narrative
ISBN: 0961392126
Несмотря на то, что и книга и её заголовок выглядят ужасно сухо, внутри содержатся подлинно гениальные идеи.
Предыдущие переводы:
- Почему так сложно сделать хороший пользовательский интерфейс?
- Хороший пользовательский интерфейс, ясность и релевантность информации
- Хороший пользовательский интерфейс, ясность и выразительность
В последней статье мы говорили о том, как можно изменить дизайн для того, чтобы подчеркнуть важность информации. В этой статье мы обсудим другой, не менее важный способ достижения ясности — параллельное отображение информации.
Эта концепция была впервые изложена в удивительной книге Эдварда Тафти:
Title: Visual Explanations: Images and Quantities, Evidence and Narrative
ISBN: 0961392126
Несмотря на то, что и книга и её заголовок выглядят ужасно сухо, внутри содержатся подлинно гениальные идеи.
+58
Что скрывается за формой редактирования сложного объекта?
9 min
20KВ этой статье мы продолжаем знакомить вас с подходами, реализованными в планировщике XtraScheduler. В предыдущей статье мы рассказывали о синхронизаторе данных, на этот раз поговорим о формах.
Довольно часто в приложениях можно встретить формы, которые предназначены для ввода или редактирования объектов с большим количеством зависимых свойств. Построение таких форм ввода вызывает «головную боль» у разработчиков: рутинная работа по размещению редакторов, написание кода инициализации, валидации, обработчиков событий…
Так как же делать такие формы быстро и надежно?
Довольно часто в приложениях можно встретить формы, которые предназначены для ввода или редактирования объектов с большим количеством зависимых свойств. Построение таких форм ввода вызывает «головную боль» у разработчиков: рутинная работа по размещению редакторов, написание кода инициализации, валидации, обработчиков событий…
Так как же делать такие формы быстро и надежно?
+21
Готовим скриншоты для документации в GIMP (часть 2)
6 min
18KВ первой части статьи мы рассмотрели script-fu скрипты «Быстрая тень» и «Подрезать уголки» и пообещали показать, как красиво оформить скриншот фрагмента окна. Пришло время исполнить обещанное. Сегодня будем разбирать скрипт «Кадрирование с эффектом волны», который позволяет отсечь часть изображения по волнистым линиям, похожим на синусоиды.
Дополнительно мы рассмотрим, как можно собрать несколько скриптов в один для ускорения выполнения типовых действий над изображением.
Дополнительно мы рассмотрим, как можно собрать несколько скриптов в один для ускорения выполнения типовых действий над изображением.
+109
Information
- Rating
- Does not participate
- Location
- Тула, Тульская обл., Россия
- Date of birth
- Registered
- Activity