Search
Write a publication
Pull to refresh
23
0

User

Send message

Сравнительное тестирование производительности платформ .Net, Java и Mono

Reading time6 min
Views27K

Идея Java vs .Net vs Mono


Сама идея создания подобного теста появилась из-за, постоянно не дававшего мне покоя, противопоставления .Net и Java, и я решил максимально объективно оценить реальную производительность данных платформ, затем в поле зрения попала интересная opensource разработка Mono (свободная реализация .Net), и было решено включить и её, а заодно прогнать тесты под Linux. Соответственно были разработаны две аналогичных программы тестирования на языках C# и Java. Далее будут приведены фрагменты исходников на C#, полный исходный код можно получить из репозитария Google Code:
http://code.google.com/p/dotnet-java-benchmark/source/checkout
Целью данного теста является сравнение производительности различных виртуальных машин, выполняющих по сути один и тот же код на одном и том же компьютере. В соревновании принимали участие следующие платформы:
  • Microsoft .Net 4.0 (Windows 7)
  • Oracle Java SE Version 6 Update 24 (Windows 7)
  • Oracle Java SE Version 6 Update 24 (Linux 2.6.35.27 Ubuntu 10.10)
  • Novell Mono 2.11 (Linux 2.6.35.27 Ubuntu 10.10)
Читать дальше →

Как сделать промо-ролик игры малыми силами

Reading time4 min
Views14K


В статье «Игра за 2 дня» я на примере проекта Папа Пингвин рассказал о том, как сделать игру для iOS, используя Unity, за двое суток.

В продолжение этой темы — статья о том, каким образом можно малыми силами сделать небольшой мультфильм в поддержку игры. Текст статьи подготовил Алексей Лунин (type_2), наш художественный директор. Данная статья может пригодится маленьким студиям-разработчикам и просто энтузиастам, делающим небольшие игрушки для мобильных (и не только) платформ.

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

Многопоточный сервер на C# за 15 минут

Reading time11 min
Views334K
C# довольно простой и гибкий язык. Вместе с .NET поставляется довольно много уже готовых классов, что делает его еще проще. Настолько, что вполне можно написать простой многопоточный HTTP-сервер для отдачи статического содержимого всего за 15 минут. Можно было бы использовать уже готовый класс HttpListener и управиться еще быстрее, но цель этой статьи — показать, как вообще можно сделать нечто подобное в C#.
Читать дальше →

Razor — новый движок представлений в ASP.NET

Reading time11 min
Views76K

Одним из проектов, над которым работала моя команда, был новый движок представления для ASP.NET.

ASP.NET MVC всегда поддерживал концепцию “движка представлений”, собственно он представляет из себя заменяемые модули, которые реализуют выбор различного синтаксиса шаблона. Сегодня, стандартный движок представлений для ASP.NET MVC использует аналогичные файлы, что и ASP.NET Web Forms — .aspx/.ascx/.master. Существуют и другие популярные ASP.NET MVC движки представлений — Spark и NHaml.

Новый движок представлений, над которым мы работаем, оптимизирован под генерацию HTML-кода, фокусируясь на коде шаблона. Кодовое имя для данного движка – “Razor”, первая бета-версия будет доступна уже скоро.
Читать дальше →

Vogue как системный монитор

Reading time1 min
Views62K
Всем привет! Лежал-пылился у меня плеер из того самого выпуска журнала Vogue, решил я из него системный монитор для моего сервера в коробке сделать, и вот что из этого вышло:

Читать дальше →

А еще в Visual Studio есть External Tools…

Reading time4 min
Views5.4K
Забавно, но я долгое время считал, что возможность запуска сторонних приложений из Visual Studio не заслуживает внимания. Серьезная интеграция требует разработки plugin, и точка!

Как оказалось, я был неправ. Есть множество сценариев, когда External Tools позволит быстро расширить возможности Visual Studio.

Как раз вчера мой хороший знакомый задал вопрос – как сделать аналог команды Open Containing Folder из пакета PowerCommands for Visual Studio 2010, но для вызова Far Manager, а не Windows Explorer? В оригинале эта команда доступна в контекстном меню Solution Explorer, она открывает Windows Explorer и устанавливает курсор на файл, для которого она была вызвана.

Моя первая идея (нет ничего проще – нужно скачать PowerCommands.vsix из Visual Studio Gallery, распаковать его, разобрать на части Reflector’ом, обложиться руководствами по расширению Visual Studio и быстро написать аналог) понимания не нашла – написание plugins для Visual Studio (если это не расширения редактора) по-прежнему остается весьма нетривиальной задачей, и если нет опыта, то даже при наличии примеров и пошаговых руководств ее решение займет не меньше, чем полдня – если не целый день!

Еще немного подумав, я решил, что для этих целей вполне подойдет механизм External Tools! И, действительно, создание «команды» Open Containing Folder in FAR заняло у меня не более получаса.

Давайте посмотрим, как это можно сделать.
Читать дальше →

Простая система оптического распознавания символов для .NET

Reading time4 min
Views18K
Все началось с необходимости в одном из приложений получать снимок произвольного окна и 3-4 раза в секунду распознавать несколько областей изображения с заранее известными символами. Сделать скриншот окна с помощью WinAPI проблем не составило, а вот над распознаванием пришлось немного потрудиться.
Читать дальше →

Создаем точку доступа Wi-Fi под Linux из USB модема

Reading time7 min
Views62K
image

Все началось, когда я заменил материнскую плату в своем домашнем компьютере. В старой плате был встроенный USB Wi-Fi адаптер на обычном Realtek 8187, который два года исправно работал точкой доступа под Windows. В новой плате Wi-Fi модуля не было, зато у меня появился целый сервер на замечательном Intel Atom 525 с одним маленьким недостатком — в нем было очень мало PCI слотов.

Немного поразмышляв, я решил сделать невинную, как мне сначала казалось вещь — запустить программную Wi-Fi точку доступа на обычном USB адаптере. Если бы меня предупредили что меня ожидает, я бы отказался от идеи с самого начала! Я раздобыл недорогой адаптер и, только в процессе возни с ним, стал осознавать что использование «неправильного» USB на «неправильном» чипсете это настоящее насилие для Linux! Гуру Линукса отказывались от помощи!

Тем не менее, мне удалось подружить Debian 6.0 с чипсетами Ralink 2870/3070 и Atheros 9170, и я готов раскрыть эту страшную тайну всему миру!
Вперед!

Как выбрать VPS хостинг

Reading time4 min
Views24K
Неприятности начались с того момента, когда мой любимый американский хостер вдруг перенес мой многолетний аккаунт на новый сервер и установил хитрый лимит на память php для всего аккаунта. И вроде бы memory_limit 90M на первый взгляд достаточно для любого сайта, но этот лимит действует на весь аккаунт в целом. Т.е. сайты, расположенные на одном аккаунте, начинают «душить» друг друга. Начались проблемы с форумом phpbb посещаемостью всего 2000 уников в сутки. При превышении лимита памяти сервер отдавал 500 ошибку.

Опытные люди, не читая далее, сразу скажут, что предложила мне техподдержка: конечно же переход на их VPS. Для отечественного хостинга это обычное дело, но от буржуев я такое услышал впервые. Выход в таком случае один — переход на другой хостинг, ибо с «террористами переговоров не ведут» да и 15$ за их 300Mb VPS мне показалось несколько дороговато.

Выбрал Open VZ VPS в России 768Mb за ~500 рублей. Все поставил, вроде работает. Но тут черт меня дернул перед сменой DNS проверить нагрузку с помощью loadimpact.com и меня накрыл тихий ужас: при одновременном доступе к сайту 50 посетителей страницы грузились по 60 секунд.
Читать дальше →

Unity 3d Tank Tutorial: Ходовая часть (Урок 2. Гусеничное шасси)

Reading time19 min
Views82K
Урок 1 <<

image

Вступление


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

А именно: я расскажу о том как лучше смоделировать гусеничное шасси в 3d редакторе для того чтобы оно могло адекватно двигаться и реагировать на неровности ландшафта, также дам вам готовую модель которую вы можете видеть в демо, затем вы узнаете как все это дело оживить и привести в движение с помощью Wheel Collider’ов.
Читать дальше →

Как создать свой сайт с нуля с помощью Orchard CMS. Часть 1. Введение в Orchard CMS

Reading time7 min
Views15K

О проекте


Проект Orchard CMS был анонсирован в марте 2010 года с выпуском первой бета-версии проекта. Создатели Orchard CMS поставили перед собой цель построить систему управления контентом на новом успешном фреймворке ASP.NET MVC, которая соответствовала бы следующим требованиям:
  • открытый бесплатный и свободный проект, зависящий от запросов сообщества;
  • быстрый движок с модульной архитектурой и всеми необходимыми средствами CMS;
  • общедоступная онлайн-галерея модулей, тем и других компонентов расширения от сообщества;
  • высокое качество типографики, внимание к компоновке и разметке страниц;
  • упор на создание удобной и функциональной панели администрирования;
  • быстрое развертывание системы на рабочем месте и легкая публикация на сервер.
Система управления контентом Orchard является проектом с открытым исходным кодом, который написан на ASP.NET MVC. Orchard является частью галереи ASP.NET-проектов с открытым исходным кодом некоммерческого фонда Outercurve Foundation.

clip_image002

Рис.1.1. Внешний вид Orchard CMS по умолчанию

Первоначально Orchard и его исходные коды лицензировались на основе свободной лицензии MS-PL, но недавно, с выходом первой публичной версии, проект сменил лицензию на более простую и распространенную New BSD License.

Читать дальше →

Основы правильного проектирования баз данных в веб-разработке

Reading time6 min
Views82K
Базы данных используются повсюду, включая большую часть проектов в мире веб-разработки. Всё, начиная от простейших блогов и каталогов, до серьезных социальных веб-проектов. Независимо от сложности сайта и соответствующей базы данных, каждый из них требует тщательного проектирования, чтобы работать эффективно, а также надежно.

Читать дальше →

Как сделать из 123456789 число 100 или 0

Reading time5 min
Views138K
В «Занимательной арифметике» известного популяризатора наук Якова Исидоровича Перельмана в конце первой главы я нашел пример следующих «Арифметических курьезов»:

100 = 1+2+3+4+5+6+7+8*9
100 = 12+3-4+5+67+8+9
100 = 12-3-4+5-6+7+89
100 = 123+4-5+67-89
100 = 123-45-67+89

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

Работа со структурами в C#

Reading time13 min
Views146K
По следам недавнего топика «Обработка больших объемов данных в памяти на C#» представляю перевод упоминавшейся там статьи о структурах.

Структуры являются фундаментальными типами данных в C# и большинстве других современных языках программирования. По своей сути структуры просты, но вы можете удивиться, насколько быстро работа с ними может стать сложной. Чаще всего проблемы возникают, если вы должны работать со структурами, созданными в других языках и сохраненными на диске или полученными в результате вызова функций из библиотек или COM-объектов. В этой статье я подразумеваю, что вы знакомы с понятием структуры, умеете определять их и владеете базовыми навыками работы со структурами. Предполагается, что вы имеете представление о том, как вызывать API функции с использованием p/Invoke, а также что такое маршалинг. В случае неуверенности в своих знаниях вы можете обратиться к документации.
Множество техник, описанных в данной статье, могут быть расширены и применены к любым типам данных.
Читать дальше →

Pretty Painter – мое первое приложение под Android

Reading time5 min
Views17K
Pretty Painter


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

Среда разработки Sharpdevelop 4

Reading time3 min
Views56K
SharpDevelop logo

Прочитав больше месяца назад на хабре о появлении SharpDevelop 4.0 я не придал этому значения, но чуть позже коллега напомнил мне об этом посте и сказал, что нужно обязательно попробовать (раньше мы эту IDE в глаза не видели). Забегаю вперед и говорю, что он её так и не запустил, а вот я, на днях всё же установил её и решил написать небольшое приложение на C#, которое будет взаимодействовать с базой MySQL. Весь интерес к данной IDE вызван тем, что я ничего кроме MS Visual Studio не использовал, начиная с 6-й версии, и плавно перешёл уже на 2010. Под катом я расскажу о впечатлениях, которые получил от использования Sharpdevelop, покажу основные окна (для тех, кому просто интересно, что она из себя представляет) и немного расскажу о разработке.

Читать дальше →

Навигация по бесплатным сетам иконок

Reading time1 min
Views3K
Вместе с борьбой за качество и количество иконок в бесплатных сетах (снимаю шляпу перед gasyoun и Yusuke Kamiyamane) навигация по ним становится все более невыносимой. Особенно в ситуации, когда несколько проектов уже на стадии отладки и в каждом используется свой сет. Начинаешь путать названия для типовых иконок, а поиск нужной иконки в огромных PNG-картах занимает львиную долю времени.

Для того, чтобы сделать этот процесс проще и удобнее, я написал небольшое рельсовое приложение, которое умеет эти иконки сортировать и фильтровать.
Читать дальше →

Индексирование и поиск с помощью Xapian в .NET

Reading time3 min
Views4.3K
Если слово Xapian вам незнакомо, рекомендую ознакомиться с небольшой статьей.
Вкратце же, Xapian — представляет собой написанный на с++ набор инструментов для индексирования текстовой информации, с возможностью поиска по базе индексированной информации. Для работы не требует установленного сервера, достаточно наличия его библиотек. Может обрабатывать огромные массивы информации(проверено до 1.5Тб), измеряемой миллионами документов. Является конкурирующим продуктом Sphinx и Apache Lucene.
Мной он был выбран из этих трех продуктов за возможность использования из .Net.

Пробуем

Nagios мониторинг баланса мобильного телефона

Reading time6 min
Views10K

Для чего это нужно


Когда в семье число мобильных телефонов становится более 3-х, назревает вопрос мониторинга баланса и оповещения, когда баланс приближается к критической отметке. Есть много средств для мониторинга баланса, но зачем городить огород, когда под рукой есть незаменимый Nagios (так получилось что и дома у меня есть свой мониторинговый сервер, его основная задача наблюдать за состоянием серверов организаций которые я администрирую в нерабочее время). Данное решение также подойдет для мониторинга баланса корпоративного лицевого счета.
Читать дальше →

Отмечание просмотренных серий на MyShows.ru

Reading time4 min
Views26K

Постановка задачи


Задача: автоматизировать рутинные действия по отмечанию просмотренных эпизодов на сайте myshows.ru. Поясню, после просмотра очередной серии Теории Большого Взрыва я открываю мои сериалы, нахожу сериал, нахожу просмотренный эпизод и отмечаю его как «просмотренный».

После обнаружения api.myshows.ru сразу зародилась идея серьезно упростить этот процесс. Хотелось бы, чтобы это выглядело так: вызываем контекстное меню файла с только что просмотренной серией и выбираем «Отметить на myshows.ru».
Читать дальше →

Information

Rating
Does not participate
Location
Кировская обл., Россия
Date of birth
Registered
Activity