Алексей Дебелов @AlienJust
Разработчик ПО
11 мин
Здравствуйте, меня зовут супортер, или просто сапорт, именно так меня величало начальство первые пол года моей работы, пока наконец не запомнило моего имени. Я часто вижу топики про открытие новых дц, вопросы где лучше размещать сервера, коменты в стиле «Русский бизнес — такой Русский бизнес» и т.п. Это(или весеннее обострение) побудило написать меня данный текст.
Работа с большими файлами экселя
5 мин
54KЧто такое большой файл? Ну так чтобы реально большой? В бытность свою я думал, что это файлик на 50-60 тыс строк записей. И оставался я бы в таком неведении до сих пор, но пришлось выполнять один проект, в котором надо было работать с файлами на 600-800 тыс строк. Хождение по мукам — под катом:
+20
C# 5 — об async/await с начала
5 мин
257KВ недавно вышедшей Visual Studio 11 Beta встроена новая и главная фишка будущего C# 5 — асинхронное программирование с помощью async/await. Про нее уже написано достаточно много статей в том, числе на хабре — например, эта серия статей. Однако, я для себя так и не понял в чем суть нового синтаксиса, пока сам не попробовал его в деле. Данная статья — попытка самому структурировать и до конца разобраться с этим достаточно интересным инструментом и поделиться результатами с сообществом, рассказав про него немного иначе. Итак, поехали…
+67
Cebit 2012. Итоговый отчет
7 мин
35KИтак, дорогие хабражители, я готов рассказать без утайки о всем, что увидел на выставке CeBIT 2012, которая проходила в немецком городе Ганновер с 6 по 10 марта этого года. Если я чего не досмотрел, не серчайте, пишите пожелания.

Под катом более 100 фотографий. Осторожно, трафик!

Под катом более 100 фотографий. Осторожно, трафик!
+33
Windows Installer: то, что вендор прописал
6 мин
33KПродолжая тему работы с Windows Installer, сегодня предлагаю поговорить о готовых инсталляторах, предоставляемых производителями ПО – для их обозначения широко применяется термин «vendor MSI».
Как вы помните из прошлой статьи, Windows Installer является промышленным стандартом установочных файлов и используется в большинстве систем развертывания приложений. Vendor MSI очень удобны для системных администраторов, занимающихся развертыванием ПО в корпоративных сетях. Казалось бы, достаточно взять из документации установочные параметры, использовать их в командной строке или трансформе – и дело сделано. Всё ли так просто?
Предлагаю заглянуть внутрь нескольких vendor MSI и разобраться с их устройством.
Как вы помните из прошлой статьи, Windows Installer является промышленным стандартом установочных файлов и используется в большинстве систем развертывания приложений. Vendor MSI очень удобны для системных администраторов, занимающихся развертыванием ПО в корпоративных сетях. Казалось бы, достаточно взять из документации установочные параметры, использовать их в командной строке или трансформе – и дело сделано. Всё ли так просто?
Предлагаю заглянуть внутрь нескольких vendor MSI и разобраться с их устройством.
+19
Паттерны Визуализации Информации
7 мин
20KПару лет назад я сильно заинтересовался UX и всем, что с ним связано. Постепенно пришло понимание, насколько важна визуализация информации, особенно сейчас. Прочитав Тафти, Кливеленда и Бертена, просто невозможно не думать в этом направлении. Постоянно приходят в голову идеи, как сделать вещи (в частности, в нашем продукте) более визуальными, более понятными.
Ниже я попытался показать, почему визуализация информации важна, рассказать о ее базовых принципах и показать несколько классных примеров. Заранее прошу прощения за парочку скучных определений и отсутствие шуток в статье. Это сделано намеренно. Статья дэдли сериоус.
И, как обычно, прощу прощения за объем статьи. Но, надеюсь, вам будет интересно дочитать до конца.

Ниже я попытался показать, почему визуализация информации важна, рассказать о ее базовых принципах и показать несколько классных примеров. Заранее прошу прощения за парочку скучных определений и отсутствие шуток в статье. Это сделано намеренно. Статья дэдли сериоус.
И, как обычно, прощу прощения за объем статьи. Но, надеюсь, вам будет интересно дочитать до конца.

+88
Разработка своего PE-упаковщика
13 мин
33KСегодня мы поговорим о разработке своего собственного упаковщика исполняемых файлов под Windows на С++.


+38
Производительность: LINQ to XML vs XmlDocument vs XmlReader на Desktop и Windows Phone
6 мин
12KНе так давно мне пришлось делать приложение для Windows Phone работающее с xml-файлами. Всё было неплохо, но когда в файле стало ~100.000 записей, чтение их занимало ну уж очень много времени. И я решил сравненить производительность различных способов чтения данных из xml возможных на платформе .Net.
Подробности под катом.
Подробности под катом.
+23
Золотые правила успешной кнопки
3 мин
71KПеревод
Здравствуй, дорогой хабрадруг! Сегодня существуют более тысячи способов создать кнопку; чтобы понять их сущность, вам нужно лишь потратить немного времени, просмотрев работы на сайте dribbble.com. Большинство из этих примеров очень похожи друг на друга, однако время от времени попадаются и такие кнопки, на создание которых потратили чуть больше внимания, времени и сил.

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

Воспользовавшись замечательными параметрами CSS3, мы можем создать элегантые и стильные кнопки без особых усилий (учитывая старые браузеры, конечно). Создаете ли вы кнопку непосредственно в CSS или пользуетесь специальными инструментами для их создания, всегда нужно тщательно подумать о том, как ваша кнопка будет выглядеть в контексте веб-сайта.
+206
Еще раз про Bridge (в картинках)
1 мин
4.4KЕще раз, если позволит сообщество, обращусь к теме паттерна Мост (Bridge), ибо последние статьи, на мой взгляд, объясняют его не так просто, как нужно.
Основная идея: «Используем Мост там, где нужно менять не только имплементацию, но и абстракцию».
Одна картинка стоит 1000 слов…
Основная идея: «Используем Мост там, где нужно менять не только имплементацию, но и абстракцию».
Одна картинка стоит 1000 слов…
+24
Построение «правильного» процесса разработки на платформе Mono
20 мин
13K
Представленный пример может быть интересен широкой аудитории, т.к. легко может быть адаптирован для разработки под любую другую платформу.
+15
Сети для самых маленьких. Часть вторая. Коммутация
18 мин
795KТуториал
Все выпуски
8. Сети для самых маленьких. Часть восьмая. BGP и IP SLA
7. Сети для самых маленьких. Часть седьмая. VPN
6. Сети для самых маленьких. Часть шестая. Динамическая маршрутизация
5. Сети для самых маленьких: Часть пятая. NAT и ACL
4. Сети для самых маленьких: Часть четвёртая. STP
3. Сети для самых маленьких: Часть третья. Статическая маршрутизация
2. Сети для самых маленьких. Часть вторая. Коммутация
1. Сети для самых маленьких. Часть первая. Подключение к оборудованию cisco
0. Сети для самых маленьких. Часть нулевая. Планирование
7. Сети для самых маленьких. Часть седьмая. VPN
6. Сети для самых маленьких. Часть шестая. Динамическая маршрутизация
5. Сети для самых маленьких: Часть пятая. NAT и ACL
4. Сети для самых маленьких: Часть четвёртая. STP
3. Сети для самых маленьких: Часть третья. Статическая маршрутизация
2. Сети для самых маленьких. Часть вторая. Коммутация
1. Сети для самых маленьких. Часть первая. Подключение к оборудованию cisco
0. Сети для самых маленьких. Часть нулевая. Планирование
После скучного рассказа о подключении к кошкам переходим к настройке сети. В этот раз темы будут для новичков сложные, для старичков избитые. Впрочем сетевым аксакалам едва ли удастся почерпнуть что-то новое из этого цикла. Итак, сегодня:
а) аккуратно впитываем теорию о коммутаторах, уровнях сетевой модели, понятии инкапсуляции и заголовков (не пугайтесь — еще не время),
б) собираем спланированную в нулевой части цикла сеть,
в) настраиваем VLAN'ы, разбираемся с access и trunk-портами и тегированными Ethernet-фреймами,
г) соотносим текущие знания со стеком протоколов TCP/IP и моделью OSI (да, наконец-то мы ее коснёмся).
Перед тем, как вы обратитесь к практике, настоятельно рекомендуем почитать нулевую часть, где мы всё спланировали и запротоколировали.
+84
Реализация Code Action с помощью Roslyn
8 мин
2.7KТуториал
Перевод
Roslyn Services API позволяют легко реализовывать расширения, которые находят и устраняют проблемы в коде прямо в Visual Studio. Roslyn Services API доступно как часть Roslyn CTP.
В этом посте мы реализуем расширение для Visual Studio, которое детектирует вызовы метода Count() у Enumerable, после чего результат проверяется на равенство больше нуля, например, someSequence.Count() > 0. Проблема, заключающаяся в коде, в том, что Count() должен пройтись по всей последовательности, прежде чем вернуть результат. Более правильным подходом в данном случае является вызов метода Enumerable.Any().
Чтобы исправить это, мы реализуем CodeIssueProvider, детектирующий проблему, и CodeAction, который заменяет условие на вызов Enumerable.Any(), как и требуется. Т.е. наш CodeAction изменит что-то типа someSequence.Count() > 0 на someSequence.Any().
В этом посте мы реализуем расширение для Visual Studio, которое детектирует вызовы метода Count() у Enumerable, после чего результат проверяется на равенство больше нуля, например, someSequence.Count() > 0. Проблема, заключающаяся в коде, в том, что Count() должен пройтись по всей последовательности, прежде чем вернуть результат. Более правильным подходом в данном случае является вызов метода Enumerable.Any().
Чтобы исправить это, мы реализуем CodeIssueProvider, детектирующий проблему, и CodeAction, который заменяет условие на вызов Enumerable.Any(), как и требуется. Т.е. наш CodeAction изменит что-то типа someSequence.Count() > 0 на someSequence.Any().
+29
Разрабатываем компилятор для учебного языка Cool на языке C# под .NET (Часть 2 + Бонусы)
16 мин
11KПривет, Хабрахабр!
В данной статье, я, как и обещал, продолжу описание разработки компилятора для языка Cool, начатое в этой статье.
Напомню, что процесс компиляциипо фен-шую включает в себя несколько этапов, которые изображены на рисунке ниже слева. Мой же компилятор содержит только три этапа, которые изображены на этом же рисунке справа.
Введение
В данной статье, я, как и обещал, продолжу описание разработки компилятора для языка Cool, начатое в этой статье.
Напомню, что процесс компиляции
+21
Diagram.ly
1 мин
7.1KВы в Интернет кафе и вам срочно надо нарисовать что-то в MS Visio? Не волнуйтесь, зайдите на Diagram.ly.


+91
SqlBulkCopy — безбашенная загрузка больших данных или как оседлать дикую лошадь (C#)
8 мин
44K
SqlBulkCopy — это эффективное решение для массовой загрузки данных в таблицы Microsoft SQL Server. Источник данных может быть любой, будь то xml-файл, csv-файл или другая СУБД, например MySQL. Достаточно получить из источника данные в виде объекта DataTable или реализовать интерфейс IDataReader поверх методов доступа к данным.
Вам не придется создавать файлы на диске для дальнейшей их загрузки с помощью утилиты BCP, вам не придется писать код для генерации множественных INSERT запросов. При загрузке данных SqlBulkCopy работает на более низком уровне, позволяя вставлять миллионы записей за максимально короткий срок.
+24
Паттерны ООП в метафорах
17 мин
573K
Статья предназначена исключительно для новичков, так что «старожилы» ничего нового для себя не узнают. В основном статья описывает известные паттерны из книги «Приемы объектно-ориентированного программирования. Шаблоны проектирования.», но более популярным и простым языком.
+188
Интернет на магнитах 1 — Магнит
4 мин
4.7KИтак, приходит время когда одноранговые сети такие как BitTorrent завоёвывают всё большее интернет-пространство, но окончательная победа придет только тогда, когда они станут невидимы для пользователей и сольются в единое целое с привычным сёрфингом в сети Интернет.
В этом им поможет magnet (магнет-ссылка или просто магнит). Это первый вариант p2p ссылки, который является универсальным и расширяемым стандартом, не привязанным к конкретной сети.
Концепция интернета на магнитах состоит в том чтобы не зависеть от программного обеспечения, протокола или способа передачи данных. Не важно каким образом вы получаете файл. Имея магнит вы можете найти файл и удостоверится что получили именно то что заказывали.
+46
Коротко о Lean на примере доставки пиццы
5 мин
42KВ этой статье я поделюсь основными идеями, которые я вынес из тренинга по Lean Management, который прошел в середине декабря в Питере. Надеюсь, статья будет полезна тем, кто только хочет узнать, что такое Lean, а также тем, кто уже слышал что-то о Lean хочет получить общее представление о нем.
Т.к. идеи Lean применимы к функционированию различных систем массового обслуживания, я разберу их на примере компании, осуществляющей доставку пиццы.
Т.к. идеи Lean применимы к функционированию различных систем массового обслуживания, я разберу их на примере компании, осуществляющей доставку пиццы.
+22
Новый курс по веб-разработке для начинающих на русском MSDN
2 мин
33K
На русском MSDN опубликован обновленный курс по веб-разработке для начинающих c помощью ASP.NET и бесплатной среды разработки WebMatrix. Новый курс состоит из 16 статей на русском языке, которые дадут достаточно знаний для создания своих первых сайтов и получения навыков веб-разработки.
Содержание курса:
- Глава 1. Начало работы с WebMatrix и веб-страницами ASP.NET
- Глава 2. Использование кода веб-страниц ASP.NET
- Глава 3. Более сложный пример на ASP.NET
- Глава 4. Знакомство с синтаксисом Razor. Рекомендации по программированию
- Глава 5. Знакомство с синтаксисом Razor, серверный код и ASP.NET
- Глава 6. Знакомство с синтаксисом Razor. Обработка ошибок
- Глава 7. Работа с формами
- Глава 8. Работа с данными
- Глава 9. Отображение данных
- Глава 10. Работа с изображениями
- Глава 11. Работа с видео
- Глава 12. Кэширование и оптимизация производительности
- Глава 13. Анализ трафика и посещаемости
- Глава 14. Оптимизация веб-страниц для поисковых систем
- Глава 15. Использование пакетного менеджера
- Часть 16. Разработка ASP.NET WebPages и Razor в Visual Studio
+25
Информация
- В рейтинге
- Не участвует
- Откуда
- Екатеринбург, Свердловская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность