Pull to refresh
2
0
K!N6 @K1N6

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

Send message

Sentry — мониторинг ошибок в Django

Reading time2 min
Views45K
Как Вы мониторите ошибки в своем Django проекте?

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

Таким же вариантом пользовались и мы, пока не открыли для себя Sentry.
image
Читать дальше →

Сам себе сервис скриншотов

Reading time3 min
Views24K

Все началось с ...


Несколько лет назад я только начал знакомиться с web-программированием, и одним из моих первых «проектов» был каталожек сайтов. Разработка велась для себя, в целях повышения опыта. Но т.к. аналогичных сайтов тьма-тьмущая, хотелось сделать что-то особенное. Я решил, что каждый сайт в каталоге будет представлен со скриншотом. Как все это автоматизировать я не знал, потому первое время я делал все скриншоты руками и заливал их уже как готовые файлы.

Шло время, проект «покрылся пылью», времени заниматься ним не было, но примерно год назад накатила новая «волна креатива» и захотелось мне решить «задачку автоскриншотера».

Первое, что пришло на ум — это готовые сервисы по созданию скриншотов, предоставяющие API. Но, перебрав некоторые (сейчас уже названия не помню), понял, что это не для меня: возможности были довольно урезаны, иногда приходилось довольно долго ждать «очереди», иногда сайты на скринах выглядели довольно убого. А главной проблемой было то, что все это должно было работать асинхронно и из скрипта я бы не смог понять — то ли сервис отдал мне временную картинку-заглушку, то ли уже готовый скриншот сайта.

Итого, я решил сделать собственный «велосипед».
Читать дальше →

Борьба с читерством в играх, когда стандартные средства не помогают

Reading time4 min
Views10K
Бывают ситуации, когда читерство в сетевых играх переходит границу стандартной защиты и становится на первый взгляд непреодолимой проблемой.
Но даже в таких ситуациях можно найти выход.
В этой статье пойдет речь о не очень популярной игре ARMA 2 и не совсем обычных методах борьбы с читерами.
Тематика (игровое администрирование) довольно необычная для хабра, но она также имеет отношение к IT, и я считаю, вполне заслуживает внимания.
Читать дальше →

audio.js — слушаем музыку в любом браузере

Reading time1 min
Views70K
audio.js — это javascript библиотека, позволяющая использовать HTML5 тэг повсюду. Что скрывается за словом «повсюду». Если есть возможность использовать тэг , то будет использоваться он, иначе будет подключен плеер на flash. В библиотеку так же входит и UI отображение для этого плеера, которое может быть видоизменено с помощью css.
Читать дальше →

Qt + QML на простом примере

Reading time13 min
Views110K
Qt является удобным и гибким средством для создания кросс-платформенного программного обеспечения. Входящий в его состав QML предоставляет полную свободу действий при создании пользовательского интерфейса.
Об удобстве использования связки Qt и QML уже говорилось не раз, поэтому не буду дальше распространяться о плюсах, минусах, а приведу, шаг за шагом, пример простого Qt приложения.
Читать дальше →

Практические советы тем, кто хочет построить веб-сообщество ч.3

Reading time4 min
Views1.3K
Продолжаю рассказывать о том, как я ставил на ноги Автотуристу.Ру.
Часть 1, Часть 2.

Глава 7. Цифры нефинансовые
Что ж, обещал в предыдущей части цифры и графики, буду держать своё слово. Сперва хотел бы продемонстрировать динамику роста моего проекта, начиная с первого посетителя и заканчивая 17.12.2010. Не знаю почему, но данные по уникам и просмотрам разительно отличаются в трёх основных (мною используемых) системах сбора статистики о посетителях: Liveinternet, Yandex.Metrica и Google Analytics. Лично я отдаю предпочтение последней по качеству и полноте отчётов, интерфейсу и авторитетности. Также, что, естественно в моих интересах, в GA фиксируется бОльшее кол-во посещений и просмотров страниц, нежели в двух остальных системах. Про Рамблер я промолчу, пожалуй.

Вот как по ГА выглядит обещанная динамика посещений:


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

Nano — миниатюрный JavaScript фреймворк

Reading time3 min
Views6.3K
Привет, читатель. Есть много прекрасных и мощных JavaScript-фреймворков. JQuery, MooTools, ExtJS, и множество других. Они кроссбраузерны и громадны. И пользоваться ими — одно удовольствие.

Но иногда, бывает, хочется написать какой-нибудь небольшой скриптик на 5 килобайт и как-то совесть мучает подключать JQuery, который весит в сжатом виде 75 килобайт. И каждый раз начинаешь писать свой мини-фреймворк:
var dom = {
	id  : function (id)  { return document.getElementById(id); },
	tag : function (tag) { return document.getElementsByTagName(tag); },
};


Вроде бы, больше для начала и не надо. А потом вспоминаешь про createElement, легкий способ присвоить CSS, наследование, расширение прототип. И в общем каждый раз пишешь свой велосипед.
В этот раз я решил написать миниатюрный фреймворк, который можно было бы без зазрений совести подключать даже к самым маленьким проектам. В сжатом виде он весит всего 4 килобайта (в 20 раз меньше JQuery).
И в нём есть еще одно преимущество по сравнению со всеми современными фреймворками — полный отказ от устаревших браузеров, за счёт чего в эти 4 килобайта вместилася половина JQuery.

Итак, приветствуйте, JavaScript-фреймворк Nano

Читайте актуальную вторую часть!



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

Как устроить DoS атаку на сервер баз данных одной строчкой

Reading time2 min
Views17K
40 МБит / сек — неплохой трафик для DoS атаки. Именно на столько внезапно вырос входящий трафик до одного из наших серверов. Сайт мужественно держался. Время начала всплеска аномально высокого трафика подозрительно точно совпадало с временем выкладывания одного крупного релиза, что и навело на мысль о том что мы DoS`им себя сами.
Читать дальше →

Моё путешествие в будущее

Reading time5 min
Views134K


Был тихий осенний вечер. Ничто не предвещало беды. Смеркалось. Я заканчивал плановый upgrade компьютера, в процессе которого по затерявшимся уже в истории причинам понадобилось сбросить BIOS. Дело не хитрое. Расположение батарейки и перемычки Reset на материнской плате известны – вперед! После включения и загрузки Windows 7 мне в ультимативном порядке было заявлено, что на дворе далекое будущее, а именно – 14201-ый год.



Приключения только начинались…
Читать дальше →

Nokia N900 + Q-steer = Fun

Reading time5 min
Views13K
Бродя однажды по рунетовским просторам, наткнулся я как-то раз на самый банальный блок яндекс.директа. Но что-то меня там заинтересовало, и попал я на некий сайт. Где торговали управляемыми машинками. Вроде бы ничего особенного, но в итоге это привело к довольно интересным вещам и к этому топику.

Называются эти машинки Takara-Tomy Q-Steer (известные так-же в США под именами Microsizers и ZipZap). Радикальное отличие машинок Q-steer (а именно ими торговали на том сайте) в том что они маленькие. Очень маленькие. Очень-очень. Длина 4 см, ширина 2.7 см, если быть точным. Но, не смотря на это, машинки полностью управляемые. Понимают команды вперёд-назад, влево-вправо. И ещё форсаж есть (!) А ещё интересный момент — канал управления — ИК. Инфракрасное излучение. Есть у них вроде машинки (чуть побольше размером, но ненамного) на радиоуправлении, но для моих надобностей они не подходят.

В общем, просидев на том сайте несколько часов и проштудировав там практически всё, решил себе купить машинку. С управлением через ИК, само собой, ибо появилась одна интересная мыслишка.

В Москве такие машинки найти не удалось, так что заказал на найденом сайте. Доставка заняла несколько дней, но меня в первый же день после заказа уволили с моей нынешней работы, так что в беготне оставшееся время до прибытия посылки пролетело очень быстро. Про unboxing рассказывать не буду — сорвал обёртку, разорвал пластик, достал машинку и пульт. Всё просто.


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

Watir: простой парсинг сложных сайтов

Reading time4 min
Views51K
imageКаждый, кто пишет парсеры, знает, что можно распарсить сто сайтов, а на сто-первом застрять на несколько дней. Структура очередного отмороженного сайта может быть сколь угодно сложной, и, когда дело касается сжатых javascript-ов и ajax-запросов, расшифровать их и извлечь информацию с помощью обычного curl-а и регекспов становится дороже самой информации.

Грубо говоря, проблема в том, что в браузере работает javascript, а на сервере его нет. Нужно либо писать интерпретатор js на одном из серверных языков (jParser и jTokenizer), либо ставить на сервер браузер, посылать в него запросы и вытаскивать итоговое dom-дерево.

В древности в таких случаях мы строили свой велосипед: на отдельной машине запускали браузер, в нем js, который постоянно стучался на сервер и получал от него задания (джобы), сам сайт грузился в iframe, а скрипт извне отправлял dom-дерево ифрейма обратно на сервер.

Сейчас появились более продвинутые средства — xulrunner (crowbar) и watir. Первый — безголовый firefox. У crowbar есть даже ff-плагин для визуального выделения нужных данных, который генерит специальный парсер-js-код, однако там не поддерживаются cookies, а допиливать неохота. Watir позиционируется разработчиками как средство отладки, но мы будем его использовать по прямому назначению и в качестве примера вытащим какие-нибудь данные с сайта travelocity.com.

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

Особенности Google CDN

Reading time3 min
Views29K
Сначала посмотрите на это:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>


С помощью этого кода вы можете загрузить библиотеку jQuery напрямую из сети доставки контента (CDN) Google.

Обратите внимание, вы можете прямо указать какую версию (/1.4.4/) библиотеки следует загрузить. Но это далеко не все, что можно сделать. Путем простого изменения этой части ссылки можно творить маленькие приятности:
Читать дальше →

Трепещи, мир! Мы выпустили PVS-Studio 4.00 с бесплатным анализатором общего назначения

Reading time12 min
Views2.2K
Check TortoiseSVN
Предлагаем вниманию программистов новый инструмент для поиска ошибок в исходном коде приложений на языке Си/Си++. В рамках анализатора PVS-Studio реализован новый набор правил общего назначения. Эта функциональность на данный момент является бесплатной. Вы можете скачать PVS-Studio по адресу http://www.viva64.com/ru/pvs-studio-download/.

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

Настройка и оптимизация MySQL сервера

Reading time9 min
Views317K
В этой статье будут описаны различные настройки MySQL, преимущественно те, которые влияют на производительность. Для удобства все переменные разделены по разделам (базовые настройки, ограничения, настройки потоки, кэширование запросов, тайминги, буферы, InnoDB). Сначала уточним имена некоторых переменных, которые изменились в версии 4 MySQL, а в сети продолжают встречаться и старые и новые варианты имен, что вызывает вопросы.
Читать дальше →

Как мы рисовали интерфейс для «Артиста»

Reading time3 min
Views1.4K
Некоторое время назад наш коллега по цеху, талантливый программист и просто хороший человек Дмитрий Рыжков завоевал со своей программой для рисования «My Little Artist» солидный приз в конкурсе на лучшее приложение для Intel Atom. Воодушевленный успехом, Дмитрий решил продолжить развитие проекта, сделав из него коммерческий проект, и попросил нашу студию помочь с таким сложным делом как интерфейс. Мы с удовольствием взялись за работу.

Первая версия программы выглядела так, как и положено некоммерческому приложению, выигравшему конкурс.



А ведь, как известно, для коммерческого продукта внешний вид – далеко не последнее дело. Итак, создаем интерфейс программы для рисования «выбрал, нажал, нарисовал for advanced dummy users».
Читать дальше →

AmbilightUSB

Reading time3 min
Views40K

Привет, strangers!



Обновление проекта Лайтпак: Прокачан и открыт

Эта история о том, как сделать супер мега дешевую и простую ambilight подсветку для эвм. В роли дирижера будет выступать микроконтроллер ATtiny44, а в роли оркестра 4 RGB-светодиода.

Несколько картинок, дабы пробудить интерес:

  

Кому лень читать: полное описание в «картинках» (=
UPDATE: Добавлено видео http://www.youtube.com/watch?v=tdp1QeS_JCg
UPDATE2: в списке деталей уточнил название используемого микроконтроллера (ATTINY44-20SSU)
UPDATE3: добавлены фьюзы (дико извиняюсь, что забыл про них)
UPDATE4: исправлена принципиальная схема (v2.1.3)

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

Поделитесь своим сайтом

Reading time1 min
Views5.7K

Многие из вас уже могли заметить блок «Поделиться» на страницах сервисов Яндекса, например, на Музыке или Фотках.

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

Но интересных сайтов много, а удобных способов поделиться – мало. Поэтому мы сделали конструктор «социального» блока, который легко настраивается и устанавливается на любую из страниц вашего сайта.

Он поможет вашему сайту более активно взаимодействовать с пользователями социальных сетей и блогов (а таких сейчас большинство) и увеличить свою аудиторию. Логика здесь очевидна: чем интереснее ссылка, тем активнее ей будут делиться, а значит, активнее переходить на ваш сайт, чтобы узнать подробности.

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

 

Делитесь и размножайте!

.

Перевожу Smashingmagazine и Mashable

Reading time1 min
Views781
Привет.

Некоторое время назад, загорелся очередной бредовой идей. Я хотел переводить интересные на мой взгляд статьи с Mashable, Smashingmagazine и других. По той простой причине, что большинство ресурсов сначала появляется на Западе, а потом рано или поздно приходит к нам. В планах было создать этакий клон «русский филиал» озвученных выше сайтов, дабы пользователи всегда были в курсе самой свежей информации. Но конечно я хотел размещать статьи не только новостного характера, но и просветительского.

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

Но, осталось достаточно, ИМХО интересных материалов и я не собираюсь останавливаться на достигнутом.
Прежде чем минусовать, прошу дочитать до конца

Google выпускает mod_pagespeed для Apache

Reading time1 min
Views11K
В прошлом году Google в рамках своих инициатив по ускорению веб проектов представила свой инструмент для разработчиков Page Speed. Теперь же для упрощения труда разработчиков и вебмастеров Google предлагает нам новый инструмент.

Сегодня Google представила новый модуль для Apache под названием mod_pagespeed. По словам разработчиков время загрузки страницы удалось уменьшить на 50 процентов, а на отдельных проектах эта цифра значительно выше.

Сравнительная демонстрация с включенным модулем и без него



Ссылка для скачивания

UPD

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

Information

Rating
Does not participate
Location
Татарстан, Россия
Registered
Activity