shitware @shitware
User
Теперь Google Analytics работает Асинхронно
3 min
5.4KНовый код выглядит вот так:
Это значит, что гугл.аналитикс больше не замедлит загрузку вашего сайта :)
UPD: То есть, он скачивал свой 24кб ga.js во время загрузки страницы, теперь он это может делать после…
Но после первой загрузки, он обычно закэширован и на всех остальных сайтах используется один и тот же :)
Материалы по теме:
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script');
ga.src = ('https:' == document.location.protocol ? 'https://ssl' :
'http://www') + '.google-analytics.com/ga.js';
ga.setAttribute('async', 'true');
document.documentElement.firstChild.appendChild(ga);
})();
Это значит, что гугл.аналитикс больше не замедлит загрузку вашего сайта :)
UPD: То есть, он скачивал свой 24кб ga.js во время загрузки страницы, теперь он это может делать после…
Но после первой загрузки, он обычно закэширован и на всех остальных сайтах используется один и тот же :)
Материалы по теме:
+61
Как активировать режим Бога в Windows 7
1 min
578KЗнаете ли вы, что вы тоже можете стать Богом!? Ну, по крайней мере, на Windows 7 (по сообщениям пользователей это так же работает и на Windows Vista).
Этот режим позволит вам управлять всеми настройками Windows из удобного графического меню. Вот как его активировать:
1. Щелкните правой кнопкой мыши на любом пустом пространстве рабочего стола.
2. Перейдите в меню Создать и создайте новую папку.
Этот режим позволит вам управлять всеми настройками Windows из удобного графического меню. Вот как его активировать:
1. Щелкните правой кнопкой мыши на любом пустом пространстве рабочего стола.
2. Перейдите в меню Создать и создайте новую папку.
+166
HowTo: Cacti 0.8.7g + Plugin Architecture 2.9 + Spine 0.8.7g на CentOS 5.5 i386
6 min
15KCacti — Веб-приложение которое поможет Вам мониторить состояние вашего сервера, CISCO и всего что может отдавать данные по SNMP протоколу. Вы сможете наблюдать за загрузкой CPU сервера, видеть на графике среднюю загрузку памяти за период времени, количество DNS запросов приходящих на сервер, количество писем (спама) приходящих на почтовый сервер. Сможете мониторить среднюю нагрузку на сеть в рабочие часы и многое другое.
Cacti Plugin Architecture — дополнение для Cacti расширяющее возможности стандартного пакета путем включения функции установки стороних плагинов.
Spine — быстрый и качественный поллер для Cacti написанный на C. Используется взамен стандартного поллера, идущего в стандартной инсталляции Cacti, cmd.php.
Показательная, базовая установка Cacti с прибомбасами на CentOS 5.5 i386. Многие элементы настройки защиты веб-сервера игнорируются, ввиду тестовой инсталляции.Все действия будут выполняться под рутом.
+29
Logging. «Из коробки»
8 min
6.1KВедение логов применяется в каждом программном продукте, дожившем до стадии продакшена. Erlang предоставляет программистам целую экосистему, которая включает и механизмы слежения за приложением. В этой части я рассмотрю именно функционал «из коробки».
+22
Hello, RavenDB
5 min
12KВ последнее время стал активно изучать и использовать NoSQL-решение RavenDB. И вот я решился написать вводный пост про то, как начать использовать RavenDB. По сути эта статья не сильно отличается от «Hello world» инструкции на сайте проекта (да и примеры я взял оттуда же), но я постараюсь дать некоторые дополнения к тому, что там написано. Сразу хочу сказать, что я не являюсь экспертом в RavenDB, и использую его для своих проектов и задач достаточно недавно.
P.S. Почему не MongoDB или CouchDB? Не знаю, просто захотелось попробовать именно это решение. Да и на хабре это решение не было еще освещено.
P.S. Почему не MongoDB или CouchDB? Не знаю, просто захотелось попробовать именно это решение. Да и на хабре это решение не было еще освещено.
+17
6 шагов загрузки Linux на пальцах
5 min
205KTranslation
Нажмите кнопку включения питания на вашем системнике, и спустя несколько секунд вы увидите окно входа в систему.
Посмею предположить, что каждого интересовало хоть когда-либо то, что происходит за занавесом заставок и загрузочных экранов с момента включения питания компьютера к моменту, когда предлагается войти в систему.
Я предлагаю вам познакомиться со следующими уровнями типичной загрузки Linux:
Посмею предположить, что каждого интересовало хоть когда-либо то, что происходит за занавесом заставок и загрузочных экранов с момента включения питания компьютера к моменту, когда предлагается войти в систему.
Я предлагаю вам познакомиться со следующими уровнями типичной загрузки Linux:
+159
Что новенького в моём районе? Отслеживайте правки OpenStreetMap с помощью списка наблюдения
2 min
1.8KTutorial
Как известно, в MediaWiki, движок Википедии встроена функция «Список наблюдения» (Watchlist). Зарегистрированные участники добавляют статьи в список и потом все правки в этих статьях в реальном времени отображаются на специальной странице. Это очень эффективный инструмент для отслеживания вандализма в реальном времени, который угрожает всем открытым вики-проектам, но не только. Список наблюдения можно использовать и в качестве очень интересной персонально (!) настраиваемой ленты новостей, поскольку в Википедию правки вносятся порой быстрее, чем появляются статьи в СМИ. Хотите быть в курсе исследований ацтеков? Просто подпишитесь на статью «ацтеки». Но это я отвлёкся.
Преимущества OpenStreetMap такие же — информация очень быстро обновляется. В самом OpenStreetMap, к сожалению, нет хорошего списка наблюдения как и нет «свежих правок» (в Истории почему-то отображаются не все правки) — ещё одного инструмента отслеживания вандализма. Что же делать? Как бороться с вандализмом? Вандалы же полностью испортят карту и никто этого даже не заметит!
К счастью, стороннее решение проблемы было найдено разработчиком Matt'ом. Представляю вамС.О.В. OWL — OpenStreetMap Watch List. С помощью этого сервиса можно не только отслеживать вандализм, но и узнавать что новенького (новые магазины, построенные дороги и здания и прочее, можно даже узнавать об изменении часов работы или номера телефона (!) какого-нибудь кафе) появилось в вашем районе или любом другом участке карты.
Преимущества OpenStreetMap такие же — информация очень быстро обновляется. В самом OpenStreetMap, к сожалению, нет хорошего списка наблюдения как и нет «свежих правок» (в Истории почему-то отображаются не все правки) — ещё одного инструмента отслеживания вандализма. Что же делать? Как бороться с вандализмом? Вандалы же полностью испортят карту и никто этого даже не заметит!
К счастью, стороннее решение проблемы было найдено разработчиком Matt'ом. Представляю вам
+23
Как быстро проверить Linux сервер на предмет взлома
4 min
127KПримерно два года назад я арендовал у одного немецкого хостера не очень мощный сервер на базе Centos 5.2. На нём живут несколько вебпроектов, приносящих некоторую прибыль, и поэтому, я стараюсь присматривать за ним по мере возможности.
На Centos есть стандартный анализатор логов Logwatch, который запускается ежедневно по крону, анализирует содержимое /var/log, делает сводный отчет и присылает его по электропочте. В один прекрасный день я обнаружил в этом отчете запись:
В тот момент меня она очень смутила, так как в предыдущий день на сервер я не логинился и тем более ничего не устанавливал. Первое, что пришло в голову — сервер был скомпроментирован. Себя я считал уверенным пользователем Linux, однако я растерялся. Благо в тот момент в icq был мой бывший коллега, лучший системный администратор, которого я знаю, и просто очень хороший человек.
Он помог быстро проверить систему. В результате у меня сформировалось краткое HowTo о том, как быстро проверить свой сервер на предмет взлома. Уверен, что многим Храброчитателям оно будет полезно. Предполагается, что пользователь знаком с консолью Linux/Unix.
На Centos есть стандартный анализатор логов Logwatch, который запускается ежедневно по крону, анализирует содержимое /var/log, делает сводный отчет и присылает его по электропочте. В один прекрасный день я обнаружил в этом отчете запись:
--------------------- yum Begin ------------------------ Packages Installed: lzo2 - 2.02-3.el5.rf.i386 dnstracer - 1.8-1.2.el5.rf.i386 openvpn - 2.0.9-1.el5.rf.i386 ---------------------- yum End -------------------------
В тот момент меня она очень смутила, так как в предыдущий день на сервер я не логинился и тем более ничего не устанавливал. Первое, что пришло в голову — сервер был скомпроментирован. Себя я считал уверенным пользователем Linux, однако я растерялся. Благо в тот момент в icq был мой бывший коллега, лучший системный администратор, которого я знаю, и просто очень хороший человек.
Он помог быстро проверить систему. В результате у меня сформировалось краткое HowTo о том, как быстро проверить свой сервер на предмет взлома. Уверен, что многим Храброчитателям оно будет полезно. Предполагается, что пользователь знаком с консолью Linux/Unix.
+154
HideMyAss Proxifier
2 min
35KПривет.
Хочу рассказать о своём небольшом, но полезном расширении для Chrome.
Наверняка многие находятся в такой ситуации, когда провайдер или администраторы блокируют некоторые ресурсы.
Не так давно в такой ситуации оказался и я: администраторы на работе заблокировали доступ к YouTube, что и дало толчок к созданию расширения. Решение всем известно — TOR или многочисленные веб-прокси. Естественно, второй вариант в данном случае куда удобнее. Но вот попытки найти прокси, позволяющие пропускать через себя видео-потоки, не увенчались успехом. А потом я узнал о HideMyAss.com, который умеет корректно показывать видео непосредственно с сайта YouTube. Но видео, вставленное в страницы других сайтов, при этом по-прежнему просмотреть с помощью этого сервиса нельзя. Сделать возможность просмотра embed-видео и было первоначальной целью расширения. Позже я реализовал ещё несколько полезных фич для удобной работы с HideMyAss.
Хочу рассказать о своём небольшом, но полезном расширении для Chrome.
Наверняка многие находятся в такой ситуации, когда провайдер или администраторы блокируют некоторые ресурсы.
Не так давно в такой ситуации оказался и я: администраторы на работе заблокировали доступ к YouTube, что и дало толчок к созданию расширения. Решение всем известно — TOR или многочисленные веб-прокси. Естественно, второй вариант в данном случае куда удобнее. Но вот попытки найти прокси, позволяющие пропускать через себя видео-потоки, не увенчались успехом. А потом я узнал о HideMyAss.com, который умеет корректно показывать видео непосредственно с сайта YouTube. Но видео, вставленное в страницы других сайтов, при этом по-прежнему просмотреть с помощью этого сервиса нельзя. Сделать возможность просмотра embed-видео и было первоначальной целью расширения. Позже я реализовал ещё несколько полезных фич для удобной работы с HideMyAss.
+34
Обзор C# библиотек для работы с PDF
5 min
166KНа написание данной статьи меня подтолкнул топик HTML в PDF, правда по причине того, что он посвящен языку php, лично мне он был мало полезен, т.к. весь опыт работы с php у меня сводился в переводе нескольких скриптов на C#, поэтому я решил сделать небольшой обзор того, что доступно для работы с pdf по средствам языка C#.
Ко мне в список попало 7 библиотек, о которых я скажу несколько слов, а для самой популярной (судя по ответам на stackoverflow), я напишу, как с помощью неё сделать простейший документ. Сразу скажу, что это iTextSharp и работа с ней будет описана в конце статьи.
+67
Знакомство с OCR библиотекой tessnet2 (язык C#)
5 min
60KБуквально на днях у меня появилась необходимость распознать простой текст на картинке и совсем не было желания реализовывать свой алгоритм, т.к. знаком с теорией и знаю, что это не такое простое дело, поэтому сразу решил изучить сначала рынок готовых библиотек. Буквально несколько запросов в гугл и я понял, что ничего более подходящего мне как библиотека tessnet2 невозможно найти. Постоянно читаю хабр и знаю, что тут есть уйма статей посвященных теории OCR и очень удивился, что нет ничего о библиотеке tessnet2.
+63
Full Circle Magazine Special Edition — The Perfect Server
1 min
732Сегодня свет увидел специальный выпуск журнала Full Circle Magazine под интригующим номером 1.
В нем собраны статьи по установке и конфигурированию различных серверных приложений на основе Ubuntu Server
+29
Html Agility Pack — удобный .NET парсер HTML
5 min
162KВсем привет!
Как-то раз мне пришла в голову идея проанализировать вакансии размещенные на Хабре. Конкретно интересовало, есть ли зависимость между размером зарплаты и наличия высшего образования. А еще сейчас у студентов идет сессия (в том числе и у меня), то возможно кому-то уже надоело трепать нервы на экзаменах и этот анализ будет полезен.
Так как я программист на .Net, то и решать эту задачу — парсить объявления на Хабре я решил на C#. Вручную разбирать строки html мне не хотелось, поэтому было придумано найти html-парсер, который помог бы осуществить задачу.
Забегая вперед скажу, что из анализа ничего интересного не вышло и сессию придется сдавать дальше :(
Но зато немножко расскажу про весьма полезную библиотеку Html Agility Pack
Как-то раз мне пришла в голову идея проанализировать вакансии размещенные на Хабре. Конкретно интересовало, есть ли зависимость между размером зарплаты и наличия высшего образования. А еще сейчас у студентов идет сессия (в том числе и у меня), то возможно кому-то уже надоело трепать нервы на экзаменах и этот анализ будет полезен.
Так как я программист на .Net, то и решать эту задачу — парсить объявления на Хабре я решил на C#. Вручную разбирать строки html мне не хотелось, поэтому было придумано найти html-парсер, который помог бы осуществить задачу.
Забегая вперед скажу, что из анализа ничего интересного не вышло и сессию придется сдавать дальше :(
Но зато немножко расскажу про весьма полезную библиотеку Html Agility Pack
+24
Sedge — приложение для автоматизированного создания отчетов об ошибках
5 min
1.8KНебольшое лирическое отступление
Так получилось, что в последнее время я занимаюсь разработкой программ работающих в связке с различным оборудованием. На прошлой работе это были роботы и станции тестирования для полупроводниковой промышленности, на текущей – масс-спектрометры для химии и медицины. Казалось бы, совершенно различные отрасли и назначение программ, но с точки зрения разработчика есть много общих моментов.
Типичную конфигурацию, с которой мы работаем, можно описать так: станция, к которой присоединен клиентский компьютер. На компьютере установлено базовое приложение, взаимодействующее с оборудованием и предоставляющее интерфейсы для сбора данных. Этими интерфейсами пользуется десяток вертикальных приложений, необходимых для решения конкретных задач пользователя. Для решения одной задачи обычно необходимо взаимодействие двух-трех приложений. Весь этот набор приложений зависит от многочисленных конфигурационных файлов и генерирует большой объем отчетов и данных.
Это длинное вступление было необходимо для того, что бы объяснить, почему когда в системе происходит ошибка, для ее локализации нам важно как можно точнее знать состояние системы. Отчет об ошибке может включать несколько десятков файлов – логи, конфигурационные фалы, файлы данных и проектов. Объяснять пользователю, по телефону, как все это собрать – не самое приятное занятие.
Если вы находитесь в похожей ситуации, то вам может пригодиться программа для автоматизации создания отчетов об ошибках – Sedge. С ее помощью вы можете опросить пользователя о произошедшей ошибке, автоматически сформировать отчет, включающий пользовательскую информацию, данные о системе, все необходимые файлы, упаковать и отправить его.
+2
Набор инструментов для поисковой оптимизации
2 min
5.5KПоследние несколько недель, я опрашивал разработчиков на факт использования Search Engine Optimization (SEO) Toolkit для увеличения трафика на свои сайты. Я был удивлен тем, что многие люди не знали вообще о существовании данного инструмента или просто никогда не запускали его. Сейчас мы кратко рассмотрим, почему же каждый веб-разработчик должен использовать данный инструмент.
+6
Подсветка синтаксиса C# 3.0 в блогах
4 min
2.8KУ меня в планах написание серии статей по программированию. Примеров кода на C# будет много. А чтобы код читался, его надо подсвечивать.
Но подсветка синтаксиса пропадает при вставке кода в блог. Нужно использовать специальные программы для генерации HTML с эквивалентной подсветкой. Я знаю про два таких проекта — Ookii.FormatC и Source Code Highlighter.
Однако функциональности и того и другого мне не хватило. Мне нужна была возможность публикации в ЖЖ и на Хабре (то есть без использования css) плюс подсветка LINQ. Я решил модифицировать Ookii.FormatC и написал свой подсветчик синтаксиса.
Но подсветка синтаксиса пропадает при вставке кода в блог. Нужно использовать специальные программы для генерации HTML с эквивалентной подсветкой. Я знаю про два таких проекта — Ookii.FormatC и Source Code Highlighter.
Однако функциональности и того и другого мне не хватило. Мне нужна была возможность публикации в ЖЖ и на Хабре (то есть без использования css) плюс подсветка LINQ. Я решил модифицировать Ookii.FormatC и написал свой подсветчик синтаксиса.
+6
Убираем ненужные http-заголовки из ASP.NET
2 min
12KTranslation
В связи с последними инициативами Гугла, размер веб-страницы и скорость ее загрузки стали вновь актуальны. Скорость загрузки контента становится одним из критериев ранжирования результатов поиска. О GZip и Deflate сжатии написано уже много, о серверном кешировании — тоже. Поговорим о заголовках.
Итак, ваше ASP.NET-приложение, помимо прочих, шлет на клиент следующие заголовки (значения могут варьироваться):
Убрав эти header'ы мы «облегчим» траффик всего на какие-то 100 байт для каждого запроса, но, во-первых, следует помнить, что эти 100 байт, будучи умноженными на десятки тысяч запросов к вашему серверу, сыграют ощутимую роль. Во-вторых, отсуствие header'ов усложнит жизнь злоумышленникам, которые будут лишены информации о версии вашего сервера, версии ASP.NET и о платформе вообще.
Теперь к делу.
Итак, ваше ASP.NET-приложение, помимо прочих, шлет на клиент следующие заголовки (значения могут варьироваться):
- Server: Microsoft-IIS/6.0
- X-Powered-By: ASP.NET
- X-AspNet-Version: 2.0.50727
- (опционально) X-AspNetMvc-Version: 1.0
Убрав эти header'ы мы «облегчим» траффик всего на какие-то 100 байт для каждого запроса, но, во-первых, следует помнить, что эти 100 байт, будучи умноженными на десятки тысяч запросов к вашему серверу, сыграют ощутимую роль. Во-вторых, отсуствие header'ов усложнит жизнь злоумышленникам, которые будут лишены информации о версии вашего сервера, версии ASP.NET и о платформе вообще.
Теперь к делу.
+4
Обзор NoSQL систем
5 min
55KБеспрецедентные объемы данных заставляют разработчиков и бизнес приглядываться к альтернативам реляционных баз данных, используемым вот уже более тридцати лет. В совокупности все эти технологии известны как «NoSQL базы данных».
Основной проблемой является то, что реляционные базы данных не могут справляться с нагрузками актуальными в наше время (мы говорим оhigh-load проектах). Есть три конкретные проблемных области:
Основной проблемой является то, что реляционные базы данных не могут справляться с нагрузками актуальными в наше время (мы говорим о
- горизонтальное масштабирование при больших объемах данных, например как в случае Digg (3 терабайта для зеленых значков, отображаемых, если ваш друг сделал dugg на статье) или Facebook (50 терабайт для поиска по входящим сообщениям) или eBay (2 петабайта в целом)
- производительность каждого отдельного сервера
- не гибкий дизайн логической структуры.
+95
Кластер Hyper-V 2008 R2 на коленке
6 min
88KПривет вам, хабрачеловеки.
Думаю все тем или иным образом осведомлены о недавнем выходе Windows Server 2008 R2 с модернизированной реализацией Hyper-V. Основным нововведением, относительно обычного 2008-го Hyper-V, заявляется поддержка функции Live Migration для переноса виртуальных машин между нодами кластера в реальном времени. Разумеется, для демонстрации этой функции, нам понадобится внешнее хранилище данных и кластер… а лишний SAN в кладовке обычно не валяется.
В данной заметке я расскажу как реализовать полноценный кластер Hyper-V 2008 R2 на подручном железе — трех рабочих станциях, две из которых поддерживают аппаратную виртуализацию. Под катом инструкция по сборке отказоустойчивого кластера Hyper-V с учетом нюансов и особенностей, а так же видео-демонстрация технологии Live Migration.
Думаю все тем или иным образом осведомлены о недавнем выходе Windows Server 2008 R2 с модернизированной реализацией Hyper-V. Основным нововведением, относительно обычного 2008-го Hyper-V, заявляется поддержка функции Live Migration для переноса виртуальных машин между нодами кластера в реальном времени. Разумеется, для демонстрации этой функции, нам понадобится внешнее хранилище данных и кластер… а лишний SAN в кладовке обычно не валяется.
В данной заметке я расскажу как реализовать полноценный кластер Hyper-V 2008 R2 на подручном железе — трех рабочих станциях, две из которых поддерживают аппаратную виртуализацию. Под катом инструкция по сборке отказоустойчивого кластера Hyper-V с учетом нюансов и особенностей, а так же видео-демонстрация технологии Live Migration.
+6
Information
- Rating
- Does not participate
- Registered
- Activity