Как стать автором
Обновить
1
0

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

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

Оптимизация сборки мусора в высоконагруженном .NET сервисе

Время на прочтение16 мин
Количество просмотров30K
Ежедневно в сервисе Pyrus работают десятки тысяч сотрудников из нескольких тысяч организаций по всему миру. Отзывчивость сервиса (скорость обработки запросов) мы считаем важным конкурентным преимуществом, так как она напрямую влияет на впечатление пользователей. Ключевой метрикой для нас является «процент медленных запросов». Изучая ее поведение, мы заметили, что раз в минуту на серверах приложений возникают паузы длиной около 1000 мс. В эти промежутки сервер не отвечает и возникает очередь из нескольких десятков запросов. О поиске причин и устранении узких мест, вызванных сборкой мусора в приложении, пойдет речь в этой статье.


Читать дальше →
Всего голосов 54: ↑54 и ↓0+54
Комментарии28

Async/await и механизм реализации в C# 5.0

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

Подробно о преобразовании асинхронного кода, осуществляемого компилятором


Механизм async реализован в компиляторе C# при поддержке со стороны библиотек базовых классов .NET. В саму исполняющую среду не пришлось вносить никаких изменений. Это означает, что ключевое слово await реализовано путем преобразования к виду, который мы могли бы написать и сами в предыдущих версиях C#. Для изучения генерируемого кода можно воспользоваться декомпилятором .NET Reflector или ILSpy. Это не только интересно, но и полезно для отладки, анализа производительности и других видов диагностики асинхронного кода.
Подробности
Всего голосов 22: ↑22 и ↓0+22
Комментарии7

Wi-Fi: неочевидные нюансы (на примере домашней сети)

Время на прочтение14 мин
Количество просмотров1.4M
Сейчас многие покупают точки доступа 802.11n, но хороших скоростей достичь удается не всем. В этом посте поговорим о не очень очевидных мелких нюансах, которые могут ощутимо улучшить (или ухудшить) работу Wi-Fi. Всё описанное ниже применимо как к домашним Wi-Fi-роутерам со стандартными и продвинутыми (DD-WRT & Co.) прошивками, так и к корпоративным железкам и сетям. Поэтому, в качестве примера возьмем «домашнюю» тему, как более родную и близкую к телу. Ибо даже самые администые из админов и инженеристые из инженеров живут в многоквартирных домах (или поселках с достаточной плотностью соседей), и всем хочется быстрого и надежного Wi-Fi.
[!!]: после замечаний касательно публикации первой части привожу текст целиком. Если вы читали первую часть — продолжайте отсюда.
Читать дальше →
Всего голосов 234: ↑231 и ↓3+228
Комментарии138

Небольшой набор установленных у меня программ для Windows Phone

Время на прочтение3 мин
Количество просмотров4.5K
Позволю себе опубликовать список программ, которыми я пользуюсь уже довольно продолжительное время на Windows Phone. Я потратил довольно много времени, пока выбирал из десятка аналогичных программ те, которые больше соответсвуют гайдланам по дизайну, более стабильны и при этом достаточно функциональны. Порой у каждой из нескольких схожих программ есть своя «киллер фича», в этом случае приведены все.
Конечно же, я мог упустить какие-то жемчужины, в этом случае буду очень рад увидеть ссылки в комментариях и влючить их в список.
Читать дальше →
Всего голосов 39: ↑13 и ↓26-13
Комментарии15

От любви до ненависти один push

Время на прочтение4 мин
Количество просмотров19K
 — Ты не знаешь откуда у меня появляются эти уведомления? — обернувшись спросила Наташа, протягивая свой desire? Я бросил взгляд на трей уведомлений, где лицезрел совершенно незнакомую мне иконку и текст пирблизительно следующего содержания «Лучшие игры онлайн! Бесплатно скачать», после чего текст уходил за отведенные ему 480 px и скрывал дальнейшую суть предложения.

 — Хм, ничего подобного не видел, давай сюда, посмотрим, что это. — тогда мне казалось, что это уведомление от какого-то приложения, которое я смогу легко идентифицировать в списке запущенных программ, найдя неизвестный и подозрительный софт, но не тут-то было. Клик на уведомлении вызвал открытие браузера с переходом на типичную java помойку игр. Особо смотреть там было нечего, а так как уведомление пропало, то и ковыряться с телефоном дальше я смысла не видел.

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

Читать дальше
Всего голосов 155: ↑147 и ↓8+139
Комментарии113

Универсальные приложения для Windows и Windows Phone

Время на прочтение7 мин
Количество просмотров23K
Дорогие хабравчане!

Хотел бы попродробнее рассказать вам про одно из самых интересных на мой взгляд нововведений недавно прошедшей конференции Build 2014. Речь пойдет про одновременную разработку приложений для Windows 8 и Windows Phone, т.е. про универсальные приложения для платформы Windows.



Платформа Майкрософт покрывает широкий спектр устройств — от смартфонов и планшетов до настольных компьютеров и игровой приставки Xbox One, и вполне естественно, что разработчику хочется минимизировать усилия при создании приложений под все форм-факторы. На конкурирующих платформах существует огромная разница между настольными и мобильными приложениями (поскольку они работают под управлением различных операционных систем), при этом мобильные приложения, разработанные для смартфона, могут работать на планшетных устройствах, что зачастую приводит к неудовлетворенности пользователя из-за не очень качественного пользовательского интерфейса.

На данный момент Майкрософт вплотную подошел к тому, чтобы унифицировать все платформы (Windows Phone, Windows 8, Xbox One) с точки зрения API, и позволить программисту максимально использовать общий код при создании приложений, при этом сохранив возможность использования различного дизайна для различных форм-факторов. Подробнее про то, как это реализовано на текущий момент — читайте ниже.
Читать дальше →
Всего голосов 31: ↑28 и ↓3+25
Комментарии6

Выводим деньги с PayPal на карту: Инструкция для чайников

Время на прочтение3 мин
Количество просмотров495K
Потребовалось мне вывести деньги с PayPal в России, только вот через посредников работать не хотелось.
Пришлось получить карту Payoneer для вывода PayPal на эту карту. Сколько не искал, так и не нашел полноценной, пошаговой инструкции.
Поэтому пишу сам.



ВНИМАНИЕ! Все ниженаписанное является де-юре нарушением законодательства РФ и Украины, и вообще выдумкой автора и плодом работы в фотошопе. Применяя описанное на практике, вы действуете на свой страх и риск, и ни автор, на администрация сайта не несет ответственности за ваши действия.
Читать дальше →
Всего голосов 186: ↑180 и ↓6+174
Комментарии322

Живые тайлы (Live tiles) в Windows 8 (WinRT)

Время на прочтение21 мин
Количество просмотров24K
UI Windows 8 был существенно переработан и появился стартовый экран с тайлами (tiles – далее в скобках буду указывать используемые английские терминологии). Одним из основных преимуществ тайлов перед иконками – это возможность «оживления» (live tile) и предоставления важной для пользователя информации непосредственно на тайле. Кроме того, есть возможность создать вторичные тайлы (secondary tiles), которая позволяет переходить в приложение с определенными параметрами или на страницу вглубь приложения. В качестве примера можно привести погодное приложение отображающее погоду на основном тайле и погоду в выбранных городах на вторичных тайлах.

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

В этой статье рассмотрим следующие пункты.
подробнее
Всего голосов 62: ↑55 и ↓7+48
Комментарии6

Контракт Settings в WinRT (Windows 8)

Время на прочтение4 мин
Количество просмотров3.6K
Одним из основных контрактов доступных в чудо-панели Windows 8 является контракт Settings.
Активация панели настроек осуществляется соответствующей кнопкой «Settings» в чудо панели:
image

Пользователь всегда может зайти в эту панель для того чтобы управлять настройками приложения. (К примеру отключить возможность определения местоположения).
Довольно логично было бы не заставлять пользователя думать, где искать настройки самого приложения и разместить свои настройки приложения в эту же панель.

В этой статье мы рассмотрим две темы:.
Добавление поддержки контракта Settings
Добавление собственной панели настроек.

Подробности
Всего голосов 35: ↑28 и ↓7+21
Комментарии11

Разработка приложений под Windows 8: почему и как

Время на прочтение11 мин
Количество просмотров69K
imageПоследние 5-7 лет мы все наблюдаем явление, которое аналитики называют консьюмеризацией ИТ. Не вдаваясь в историю и подробности этого явления, характерного не только ИТ-отрасли, стоит отметить главное – именно «консьюмеры» сегодня создают львиную долю пресловутой добавленной стоимости – иногда своим большим числом, иногда – способностью и желанием переплачивать за новинки и вообще интересные идеи.
Операционная система Windows, получившая тотальное распространение на волне консьюмеризации середины девяностых годов, планомерно развивалась до середины «нулевых», когда персонализация вычислений получила новый мощный толчок – настоящую мобильность и доступность.
Читать дальше →
Всего голосов 87: ↑63 и ↓24+39
Комментарии28

Загрузка и инициализация JavaScript

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

С появлением мобильного веба наш интернет стал снова плохим, а устройства медленными. 3G, 4G, Wi-Fi… — они, конечно, где-то есть, но когда очень надо, то как правило скорость падает до околомодемной и получается, что наши мобильный устройства «каменного века» попадают в условия современного объема информации. Даже в центре города (правда на 15-м этаже) значок мобильного интернета может показывать волшебную букву Е, намекающую о том, что уж лучше не тратить нервы и потерпеть. Лучше уж использовать нативную версию какого-то веб-сервиса, чем каждый раз ждать, загружать по мегабайту, чтобы отправить короткое сообщение. Нативную версию веб-сервиса... Понятное дело маркетинг, гонка приложений. Однако, же пользователи выбирают нативные веб-приложения, которые работают быстрее, не качают кучу ресурсов, хотя им приходится периодически его обновлять.

Эта статья о том какими путями можно оптимизировать загрузку и инициализацию JavaScript.
Читать дальше →
Всего голосов 136: ↑132 и ↓4+128
Комментарии40

Навигация по сайту: задачи и инструменты

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

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

Читать дальше →
Всего голосов 63: ↑60 и ↓3+57
Комментарии31

Отслеживание взаимодействия с контентом при помощи Google Analytics

Время на прочтение7 мин
Количество просмотров12K
По умолчанию в Google Analytics отслеживать взаимодействие посетителей с контентом сайта довольно просто. Используя стандартный код отслеживания, вы сможете получать различную информацию такую как: время проведённое посетителем на странице (time on site), показатель отказов (bounce rate) и количество просмотров (pageviews).

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

Мы хотим получать более детальную информацию по каждому сообщению или статье. Читают ли люди комментарии или только сообщение, статью? Открывают ли они во вкладках несколько сообщений?
Каким способом лучше получать детальную информацию о том как посетители сайта взаимодействуют с каждой страницей?

Эта статья о том, как измерить степень взаимодействия с контентом при помощи кастомизированного кода отслеживания Google Analytics (далее GA).
Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Комментарии9

DNS сервер BIND (теория)

Время на прочтение21 мин
Количество просмотров489K
Основная цель DNS — это отображение доменных имен в IP адреса и наоборот — IP в DNS. В статье я рассмотрю работу DNS сервера BIND (Berkeley Internet Name Domain, ранее: Berkeley Internet Name Daemon), как сАмого (не побоюсь этого слова) распространенного. BIND входит в состав любого дистрибутива UNIX. Основу BIND составляет демон named, который для своей работы использует порт UDP/53 и для некоторых запросов TCP/53.

Основные понятия Domain Name System


Исторически, до появления доменной системы имен роль инструмента разрешения символьных имен в IP выполнял файл /etc/hosts, который и в настоящее время играет далеко не последнюю роль в данном деле. Но с ростом количества хостов в глобальной сети, отслеживать и обслуживать базу имен на всех хостах стало нереально затруднительно. В результате придумали DNS, представляющую собой иерархическую, распределенную систему доменных зон. Давайте рассмотрим структуру Системы Доменных Имён на иллюстрации:
Читать дальше →
Всего голосов 110: ↑102 и ↓8+94
Комментарии24

Особенности подготовки инсталляции приложения для автоматической (unattended) установки в Windows OS

Время на прочтение7 мин
Количество просмотров16K
image
Перед системным администратором порой стоит задача установить или обновить приложения на множестве ПК. И часто проблема состоит не в выборе средства доставки и автоматической установки — их есть множество на любой вкус, от встроенных в Windows OS (Active Directory) до полноценных Configuration Management систем, таких как MS SCCM, Enteo NetInstall, LanDesk Management Suite, HP Application Deployment Manager, IBM Tivoli Provisioning Manager, ManageEngine Desktop Central и много других…
Читать дальше →
Всего голосов 46: ↑40 и ↓6+34
Комментарии19

Через какую дыру взломали сайт?

Время на прочтение6 мин
Количество просмотров142K
imageЕсли сайт взломан, мало удалить с него вирус и загруженный PHP Shell. Нужно еще найти причину, по которой произошел взлом, иначе через день-два на сайте снова будет под бодрую музыку развеваться красивый турецкий иностранный флаг. Чаще всего причина — украденный пароль от FTP, устаревшая версия CMS или плагина к ней, но как найти, что именно было использовано для проникновения?

Имея некоторый опыт в этой сфере (в среднем наша техподдержка занимается поиском причины взлома сайта раз в неделю), мы систематизировали накопившуюся информацию.

Итак, зачем вообще взламывают сайты? И что делать, если сайт взломан, как найти причину и защититься от последующих атак?
Читать дальше →
Всего голосов 67: ↑56 и ↓11+45
Комментарии42

Информация

В рейтинге
Не участвует
Откуда
Асмара, Эритрея, Эритрея
Зарегистрирован
Активность