Архив за 04 апреля 2012 - 3

28 марта вышло первое приложение, написанное украинскими разработчиками под Windows 8 — Euro Cup 2012. Приложение является первым украинским приложением в Windows Store. Разработчиком приложения стала компания Digital Cloud Technologies.
image
Я являюсь одним из разработчиков этого приложения и хочу рассказать немного о процессе его создания, о проблемах, которые возникали при его выпуске.
Команда состояла из 5 разработчиков под руководством Сергея Лутая — MVP Silverlight, соавтора первой в мире книге по разработке на C# под Windows 8 и Дениса Резника MVP SQL Server.
У разработчиков не было опыта работы с платформой, за исключением курсов, проводимых Майкрософт в Москве, в которых некоторым из нас посчастливилось поучаствовать. Архитектура приложения основана на паттерне MVVM — это нам значительно помогло, но и доставило несколько серьезных проблем.
Читать полностью »

Специалисты компании «Доктор Веб» провели специальное исследование, позволившее оценить картину распространения троянской программы BackDoor.Flashback, заражающей компьютеры, работающие под управлением операционной системы Mac OS X. Сейчас в ботнете BackDoor.Flashback действует более 550 000 инфицированных рабочих станций, большая часть которых расположена на территории США и Канады. Это в очередной раз опровергает заявления некоторых экспертов об отсутствии угроз для пользователей «маков».
Читать полностью »

Добрый день дамы и господа.

В этом топике я предлагаю вам небольшое описание учебы на программиста в Германии. Я живу в этой гостеприимной стране уже семь лет, пять из которых учусь в маленьком специальном высшем учебном заведении (институте?). Первые два года я потратил на оформление бумаг, посещение всяческих курсов и на добровольно-принудительные работы. Мой диплом учителя физики тут не признали, так что официально у меня был только школьный аттестат. С таким образованием нормальную работу не найдешь, поэтому меня и заставили/настойчиво попросили поработать за символическую оплату, но с пользой для общества. Целый год я делал вполне нормальную работу, а получал в десять раз меньше. Через год я наконец то понял, что дальше так нельзя, пошел в местную высшую школу и задал простой вопрос: возьмете? Ответ был: приходи, даже денег дадим! Так началась моя студенческая жизнь в Германии, а так как у меня за плечами две учебы в российских институтах, то у меня есть с чем сравнивать. Если вам интересно в чем различия, прошу под кат.
Читать полностью »

Добрый день дамы и господа,

Эта статья предназначена в первую очередь начинающим и навряд ли принесет какую либо пользу людям былым. Но было бы неплохо, если бы люди с опытом привели бы парочку полезных ссылок в комментариях.
Итак, знакомство я советую начать с демо. Тогда вы сможете себе представить, а что GWT вообще может и какие виджеты доступны прямо из коробки. GWT безусловно весьма сильный Фреймворк, но его чуть ли не самая главная беда заключается как раз в том, что этих самых виджетов не так уж и много. Но эта не беда, т.к. есть много различных библиотек, которые эту проблему решают. Особый расцвет пришелся на время 2-3 года назад, когда много чего в GWT просто не было и явных фаворитов среди сторонних библиотек тоже не было заметно. Сейчас ситуация довольно сильно изменилась. Поэтому если вам нужен какой нибудь продвинутый виджет, то советую обратить внимание на SmartGWT и Ext-GWT.
Читать полностью »

Как удобно читать Хабр (и не только) на электронной книге или на мобильном

Я люблю читать Хабр (а также ЖЖ, roem.ru, новости рамблера и ещё много чего) на своей любимой электронной книге Nook и, изредка, на своём мобильном на андроиде. На читалке я читаю, чтобы не портить глаза, и не напрягаться лишний раз, сидя за компьютером, а на мобильном от безысходности стоя в какой-нибудь очереди.

Я сделал страницу readitlaterlist.com/unread (сервис из серии «прочту позже») домашней на моей читалке, поставил приложение на мой телефон, и удобно добавляю топики с Хабра (ЖЖ и прочих), которые хочу почитать на читалке, с помощью плагина для Firefox'а.

Казалось бы, всё замечательно, но вот беда: обычная версия Хабра грузится в браузере моего Нука больше минуты, притормаживает и из-за вёрстки под обычные экраны необходимо вручную центровать колонку с текстом. Впрочем, неудобства я испытывал с большинством полноразмерных страниц различных СМИ и блогов.

Я пробовал мигрировать на Instapaper, т.к. он поддерживает выгрузку в epub и mobi (можно даже слать себе на email, например, для автоподгрузки на Kindle), но и тут проблема: все сервисы при вытаскивании текста статьи с Хабра режут комментарии (Хабр без комментариев?!?!).

В конце-концов, я пришёл к тому, что перед отправкой в ReadItLater я вручную правил url поста на хабре, чтобы переключиться на мобильную версию этого поста (сейчас это лишь добавить m., а раньше приходилось удалять /<имя блога>/, ставить posts, а также добавлять m.). А на сайтах СМИ я выискивал ссылки вида «версия для печати» или «версия для PDA».

Читать полностью »

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

О Чем Стоит Задуматься, Сохраняя Свои Данные в Облаке. Часть 1

Читать полностью »

Здравствуйте, уважаемые читатели!

Захотелось мне кратенько поделиться своими наблюдениями в сравнение VOIP гигантов нашего рынка: Cisco, Avaya, Infinity и Asterisk. В помощь для тех, кто определяется, как и я, с ПО для своего офиса. Мое мнение может не совпадать с мнением большинства, на то оно и мое мнение. К тому же, сравнение проводится больше для новичков, желающих повысить свой кругозор в этой области. А так же для тех, кто и хотел бы рекомендовать начальнику одну из VOIP-систем, но не находит нужных и простых слов для описания.

Начнем...
Читать полностью »

Эта статья — введение в программирование без блокировок (неблокирующая синхронизация). Я пишу ее, потому что она будет ключем к пониманию моей следующей статьи [от пер.: перевод в процессе]. Она же является основой моего выступления на Qt Developer Days 2011.

Программирование без блокировок — это подход к разработке алгоритмов и структур данных, которые не нуждаются в блокировке или мьютексах.

Когда разным потокам в вашей программе необходимо получить доступ к одним и тем же данным, необходимо убедиться, что эти данные всегда во время использования находятся в целостном актуальном (когерентном) состоянии. Один из путей достижения этой цели — делать блокировки. Поток овладевает мьютексом, для записи данных. Этот поток может работать со структурами данных и держать их в неопределенном состоянии, но это не приведет к проблеме, т.к. другие потоки в это время не смогут получить доступ к данным, потому что они будут заблокированы, ожидая освобождения мьютекса. Пока поток ожидает, операционная система переключится на другие потоки или процессы, а может просто даст процессору отдохнуть.
Читать полностью »

Все мы время от времени употребляем устоявшиеся выражения / высказывания в нашей среде. И мне стало интересно, а какие же выражения / высказывания популярны в IT сфере. С этим вопросом я обратился к моей аудитории портала МойКруг. И вот какую обратную связь я получил (предлагаю на этом не останавливаться и активно дополнять этот список):
Высказывания, выражения и поговорки айтишников
Читать полностью »

Наверное многие из Вас работают с Maven. Если так, то полагаю каждый из Вас ежедневно собирает свой проект по несколько раз, особенно если Вы сейчас в активной фазе разработки и изменения затрагивают много модулей. В определенный момент времени проект становится довольно большим и билд с каждым днем начинает выполнятся все дольше и дольше… И вот приходит время, когда пора что-то с этим делать.

Мигрируйте с Maven 2 на Maven 3

Вы еще используете maven2? Странно. Одна только миграция на 3-ю версию может значительно ускорить процесс сборки. В моем проекте переход на Maven 3 дал прирост в скорости сборки на 10%. Вероятней всего за счет каких-то фиксов и оптимизаций, что были сделаны в новой версии (так как заявляют разработчики количество кода было существенно уменьшено и сильно отрефакторено). Миграция займет у Вас несколько минут и в большинстве случаев будет безболезненной. Хотя есть шанс, что некоторые конфигурационные файлы все же придется подправить.

Используем ядра и дополнительные потоки

В Maven 3 есть замечательная опция:

mvn -T 4 clean intall
mvn -T 2C clean install

В первом случае мы явно указываем, что хотим запустить процесс сборки на 4 потока. Во втором случае мы указываем, что на каждое ядро должно быть выделено по 2 потока для процесса сборки. Это одна из новых фич нового мавена — Parallel Builds. Эта фича анализирует граф зависимостей Вашего проекта
и распихивает модули по разным потокам, сборка которых может быть выполнена параллельно.
Для моего текущего проекта скорость сборки со вторым параметром (-T 2C) ускорилась на 20%. Правда тут есть один минус. Количество ресурсов, что будет потребляться для билда может значительно вырасти. В моем случае это +30% к потребляемой памяти.
Хочу сразу обратить внимание — если связанность модулей в Вашем проекте очень низкая — то
скорость сборки этой опцией можно увеличить на порядок.
Это, кстати, повод задуматься об Вашей архитектуре проекта. Ведь если билд занимает довольно много времени, то небольшой рефакторинг поможет уменьшить эту цифру. Хотя, конечно, это все очень индивидуально.
Вообще разработчики заявляют, что прирост в скорости сборки может быть 20-50%.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js