Как стать автором
Обновить
-4
0
Денис @borisdenis

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

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

Непутевые заметки о ASP.NET MVC. Часть 1 (и единственная)

Время на прочтение11 мин
Количество просмотров41K
В последнее время на Хабре часто начали появляться статьи о ASP.NET MVC. Однако в этой статье я бы хотел сделать несколько заметок по поводу построения приложений на вышеприведенном фреймворке: минимальный набор NuGet-packages (без которых грех начинать работу), логирование, подводные камни при использовании стандартных membership-, profile- провайдеров. И, напоследок, почему Web API из MVC 4 — то, что так долго мы все ждали.
Поехали
Всего голосов 60: ↑48 и ↓12+36
Комментарии72

Пробовали набрать Zerg Rush в гугле?

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


Вам понравится результат. Гуглозерги будут атаковать вашу поисковую выдачу пока вы их не закликаете до смерти. Производительность труда в офисах по всему миру сегодня явно упадет — всем же интересно узнать каков их APM за пределами оригинального старкрафта.

P.S.
Я максимум набрал 200 (на тачпаде ноутбука) — у кого больше?
Всего голосов 202: ↑171 и ↓31+140
Комментарии150

Многоклиентский сетевой протокол на C#

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

Предисловие


Занимаюсь программированием, по возрасту не имею возможности обучатся этому в вузе, а тяга к изучению есть. Хочу представить Вашему вниманию одну из моих недавно написанных программ, хотелось бы узнать свои недоработки в ней, какие вещи можно было бы улучшить и в какую сторону двигся, что изучать для этого.
Программа представляет собой многоклиентский сетевой протокол, который можно было бы использовать в любом клиент-серверном приложении, настраивая только пакеты и их обработчики.

Читать дальше →
Всего голосов 62: ↑47 и ↓15+32
Комментарии84

Качайте без спешки

Время на прочтение3 мин
Количество просмотров17K
Доброго дня всем! Сегодня наш старший вирусный аналитик Вячеслав Закоржевский расскажет вам о том, как он попробовал найти в интернете справочник по транзисторам, и что из этого получилось:

Думаю, что подавляющее большинство пользователей пользуются интернетом для скачивания того или иного контента, иногда законного, а иногда и нет. Этим и пользуются злоумышленники. Чтобы наглядно показать, как это происходит, я провел небольшое исследование в боевых условиях.

Начал я с того, что решил попробовать скачать «справочник по транзисторам», для чего воспользовался Google’ом. Появилось ожидаемо много результатов поиска.

image

Перехожу по первой ссылке…
Читать дальше →
Всего голосов 64: ↑39 и ↓25+14
Комментарии27

Авторы Хабрахабра в поисковой выдаче Google

Время на прочтение1 мин
Количество просмотров7.4K
Как вы знаете, недавно компания Google запустила пилотный проект по представлению сведений об авторстве в результатах поиска. Учитывая количество уникального контента на Хабрахабре, мы решили не упускать возможность воспользоваться данной функцией и интегрировали её в сайт.



Более подробно об этой функции можете почитать на официальной странице компании Google.

А пока, если хотите мелькать в результатах поиска, проделайте следующее.
Подробности
Всего голосов 158: ↑148 и ↓10+138
Комментарии81

Гигапиксельные панорамы двух столиц

Время на прочтение5 мин
Количество просмотров52K
Привет! Мы — компания CityScanner, известны тем, что снимаем панорамы для Яндекс.Карт во многих городах. Кроме этого мы решаем и другие интересные задачи, связанные с панорамами — как для различных клиентов, так и в качестве собственных проектов. Подробнее о том, чем мы занимаемся, можно узнать на нашем сайте, а сегодня мы хотели рассказать вам про две наши работы: гигапиксельные панорамы Москвы и Астаны.

    
Нажмите на картинки выше, чтобы увидеть панорамы.

Подробнее о том, как снимались панорамы
Всего голосов 104: ↑100 и ↓4+96
Комментарии107

Организация шаринга файлов в приложении на С#

Время на прочтение3 мин
Количество просмотров2.4K
Недавно мне пришлось работать над интересным проектом, в котором заказчик просил реализовать обмен файлами через интернет, соответственно с прямым доступом прямо из приложения.

Основные требования:
  • Отображение списка файлов.
  • Загрузка и скачивание через интерфейс программы.
  • Скрытая авторизация без участия пользователя.

Первое что пришло на ум — использовать облачное хранилище данных с доступом по API. Итак, что из этого вышло?

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

Графики математических функций на Google теперь в 3D

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

Поисковый запрос на Google: sqrt(x*x+y*y)+3*cos(sqrt(x*x+y*y))+5 from -20 to 20

Три месяца назад Google научился строить графики математических функций. Теперь добавилась 3D-анимация (WebGL).
Читать дальше →
Всего голосов 47: ↑44 и ↓3+41
Комментарии27

Проникновение в Lotus Domino

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

Эксплуатация уязвимостей сервиса Lotus Domino Controller



В последнее время я часто рассказываю истории о том, как на обыкновенном пен-тесте удается выявить 0-day уязвимость в популярном ПО или разработать приватный эксплойт. На самом деле такого рода задачи решаются при пен-тесте редко и выборочно, и на это есть свои причины.

И всё же я хочу поделиться историей (ага, байкой) о том, как при решении именно таких задач пен-тест выходит за рамки монотонного сканирования, брутфорса и запихивания кавычек в параметры веб-приложения. А именно, в этом посте будет рассказано о простой баге в Lotus Domino Server Controller, о том, как был создан приватный эксплойт, а также найдена проблема нулевого дня, актуальная и на сегодняшний день.



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

Алгоритмы сегментации текста

Время на прочтение4 мин
Количество просмотров14K
Здравствуйте.

В контексте анализа данных из твиттера возникла задача обработки хештегов. Нужно было взять хештег и разбить его на отдельные слова (#habratopic => habra topic). Задача казалась примитивной, но, получается, я ее недооценил. Пришлось перебрать несколько алгоритмов пока не было найдено то, что надо.

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

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

Как сделать один сайт для всех устройств (Responsive Web Design)

Время на прочтение3 мин
Количество просмотров290K
Вчера была опубликована хорошая статья «Веб-дизайн. Каждому устройству свое представление». Несмотря на неплохие размышления, к сожалению, вывод в ней довольно глупый. А именно:

«Нужно определить, какими устройствами могут пользоваться ваши посетители, проработать и создать для этих устройств представление вашего сайта, определить устройство посредством проверки заголовков браузеров, и отправить наиболее подходящее представление

Почему это глупо


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



Это скриншот из презентации «Beyond the mobile web by yiibu» (очень рекомендую).

Во-вторых, если вы не facebook или yandex, скорее всего, вы не потянете создание и поддержку разных версий сайта для каждого устройства. Да и это не имеет особого смысла. Потому что ситуация становится похожа на реалии пятнадцатилетней давности. Тогда делали сайт «под браузер», а сейчас автор предлагает делать сайт «под устройство».

Как сделать один сайт для всех устройств

Читать дальше →
Всего голосов 159: ↑148 и ↓11+137
Комментарии75

Библиотека для регистрации и отлова нажатий 'горячих' комбинация клавиш

Время на прочтение3 мин
Количество просмотров6.3K
Под комбинацией клавиш понимается любое количество одновременно нажатых клавиш, нажатых в любом порядке, которое может позволить ваша клавиатура. Для конечного пользователя, однако, не стоит превышать количество более пяти в одной комбинации, т.к. игровые клавиатуры есть не у всех.

Пример использования

HotKeysManager manager = new HotKeysManager();
manager.AddHotKey(new HotKeyCombination(() => { MessageBox.Show("Привет, Хабр!"); }) { Keys.LControlKey, Keys.H });

Другой вариант добавления, где в качестве комбинации берутся текущие нажатые клавиши, удобно в случае когда пользователь назначает комбинацию сам. В демке есть пример подобной записи комбинаций.
manager.AddHotKey(new HotKeyCombination(HookManager.CurrentDownedKeys.ToArray(), () => { MessageBox.Show("Привет, Хабр!"); }));


Теперь при нажатии комбинации LeftCtrl+H (или H+LeftControl), мы увидим приветственное сообщение.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии7

Баним чужой аккаунт на Free-lance.ru

Время на прочтение2 мин
Количество просмотров14K
Так уж исторически получилось, что у меня были два аккаунта на Free-lance.ru. Один я заводил когда-то сам, а другой заводил мой наёмный сотрудник. Ни один из аккаунтов по назначению так и не был использован, просто они были когда-то давно заведены, частично заполнены и заброшены, с бывшим сотрудником я давно уже расстался, но доступ к обоим аккаунтам остался.
Сегодня приходит от сервиса очередное письмо с текстом:
Приглашаем вас вновь посетить Free-lance.ru
Мы заметили, что вы давно не заходили на Free-lance.ru. Тем временем, на сайте публикуется около 40 000 проектов в месяц, а средняя стоимость проекта составляет 20 000 рублей. Наверняка, многие из этих проектов будут вам интересны.

Надо сказать они приходят периодически и отключить их вероятно нельзя никак (игра с комбинацией флажков в разделе настройки уведомлений аккаунта нужного эффекта не принесла). Сегодня захотелось это наконец прекратить. Я видел два варианта действий:
  1. Сменить почту на несуществующую в природе (или чужую) и забыть.
  2. Честно выпилить аккаунты на сервисе.

Я решил попробовать действовать честно.
И появились нюансы
Всего голосов 214: ↑198 и ↓16+182
Комментарии253

Работаем с LINQ to XML

Время на прочтение8 мин
Количество просмотров131K
В первой статье в блоге .NET «Работаем с XML» в комментариях народ потребовал статьи LINQ to XML. Что же, попробуем раскрыть принципы работы этой новой технологии от Microsoft.

Создадим базу для ведения каталога аудиозаписей.
Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии66

Конструируем XML с использованием LINQ to XML API

Время на прочтение7 мин
Количество просмотров9.6K
До недавнего времени мне ужасно не нравилось работать с XML файлами, я старался избегать этого где только можно, по просту заменяя их стандартными конфигурационными файлами приложения. Но где нужно было использовать обмен данными – от XML’а было не уйти. Приходилось создавать большой объем кода для того чтобы сконвертировать либо прочитать небольшой объем информации. Да, таков уж XML Document Object Model (DOM) API.
Читать дальше →
Всего голосов 43: ↑32 и ↓11+21
Комментарии31

Hurl: Удобный Curl

Время на прочтение2 мин
Количество просмотров11K
Привет! image

В 2009 году на «Rails Rumble» Лехом Кульвером и Крисом Ванстратом был создан замечательный инструмент — Hurl.

Hurl — это RoR приложение, предназначенное для того, чтоб посылать HTTP запросы. В целом, функциональность Hurl схожа с Curl. Идея и методы те же, но предназначение совсем другое.

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

Итак мы подняли и улучшили Hurl на своём хостинге — hurl.quickblox.com. Приложение настроено на EC2 инстансе, а данные хранятся на S3.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии15

Игра Tron размером в 219 байт

Время на прочтение1 мин
Количество просмотров2.6K
В мире IT в последнее время наметилась тенденция к стремлению максимально уменьшить количество исходного кода, не теряя при этом функциональность. Так вот некий товарищ Alokmenghrajani со своими друзьями задался целью написать игру с минимальным количеством кода. Задумка была написать игру по фильму Tron, и в итоге у них получилось 219 байт, что весьма неплохо.
image
Читать дальше →
Всего голосов 40: ↑25 и ↓15+10
Комментарии41

Итак, тебе нужен шрифт…

Время на прочтение1 мин
Количество просмотров20K
Случайно наткнулся на схему для выбора шрифтов. Думаю, кому-нибудь будет полезна.



Картинка кликабельна.

PS: Оригинал на английском здесь. Переводил на русский — не я.
Всего голосов 167: ↑135 и ↓32+103
Комментарии39

Менеджер паролей с web доступом

Время на прочтение2 мин
Количество просмотров50K
В нашей компании используются десятки серверов на которых крутятся сотни сервисов. Их настраивают и администрируют разные люди, которые могут заболеть, перейти на другой проект или уволиться. Уже не один раз возникала ситуация, когда вдруг оказывалось, что никто не знает пароля от той или иной базы данных, web сервера или иного ресурса требующего авторизации. В данной ситуации есть только один выход — единый сервер хранения паролей.

Выбор софта был осложнён тем, что требовалось решение с возможностью установки на локальный сервер и именно под Linux. Наконец после долгого поиска мною был установлен и опробован TeamPass — Collaborative Password Manager. Данный продукт полностью удовлетворил мои потребности в централизованном хранения паролей. Я не буду описывать установку. Она довольно простая и достаточно подробно описана тут. Моей целью было рассказать про решение которое я долго искал. Авось кому-нибудь тоже пригодится.
Читать дальше →
Всего голосов 33: ↑30 и ↓3+27
Комментарии28

Как выбирать фрилансерские заказы

Время на прочтение5 мин
Количество просмотров2.1K
Привет, Хабр!

Мое краткое повествование могло бы быть идеальным для хаба «Я негодую», но, однако, я попытаюсь собрать в этом посте некоторые правила по тому как стоит выбирать и выполнять фрилансерские заказы (да и любые другие заказы не проходящие по официальному договору), выведенных на основе своего небольшого опыта провала в этой сфере.

Всем кому интересно, как обезопасить во фрилансе себя хоть немного, прошу под кат.

Читать дальше →
Всего голосов 53: ↑41 и ↓12+29
Комментарии60

Информация

В рейтинге
Не участвует
Откуда
Донецк, Донецкая обл., Украина
Дата рождения
Зарегистрирован
Активность