Pull to refresh
0
0
Send message

Traceroute: про умение читать вывод

Reading time4 min
Views172K
  • Почему в трейсроуте после узла X идут звездочки?
  • Сервис не работает, а трейсроут обрывается на узле X — значит проблема в узле X?
  • Почему одинаковые трейсроуты с Windows и Unix показывают разные результаты?
  • Почему трейсроут показывает большие задержки на определенном узле?
  • Почему трейсроут показывает «серые» адреса при трассировке через интернет?
  • Почему маршрутизатор отвечает на трейсроут не тем адресом, каким я хочу?
  • Почему трейсроут показывает какие-то «не такие» доменные имена?
  • Почему вообще вывод трейсроута отличается от интуитивно ожидаемого чаще, чем хотелось бы?

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

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

Библиотеки для визуализации данных в вебе

Reading time1 min
Views7.7K
Тема визуализации данных в интернете для меня достаточно актуальная, поэтому периодически мне приходится искать различные библиотеки для отображение тех или иных данных в вебе.



К таким библиотекам я отношу визуализацию графиков, чартов, графов, таблиц, отчетов, инфографик и т.д.

В свое время я написал несколько статей на тему визуализации данных в вебе (их можно поискать на хабре по ключевой фразе «Визуализация данных в вебе»).

Но с тех пор появилось много новых инструментов, мы получили HTML5 и т.д., поэтому вопрос опять стоит достаточно остро. Я решил собрать информацию о всех JavaScript инструментах, с помощью которых можно визуализировать данные в вебе (в первую очередь для себя, но потом решил, что, возможно, будет интересно это и другим). Я уже начал собирать информацию в виде списка инструментов с примерами в одном месте для того, чтобы не бегать по разным сайтам в поисках демок и описания функционала. Есть уже около 10 библиотек.
Читать дальше →

Ubuntu в техническом вузе

Reading time5 min
Views39K
Хотел бы рассказать об опыте использования Linux'a в целом и Ubuntu в частности в учебном процессе технического вуза — Ивановская государственная текстильная академия для студентов направления подготовки — «Моделирование и исследование в организационно-технических системах».
Читать дальше →

Userscripts. Углубляемся

Reading time6 min
Views46K
Как упоминалось в предыдущей статье, юзерскрипты поддерживаются всеми современными браузерами. И даже кое-как поддерживаются в IE7 и выше.

В этой статье мы поговорим о браузерах:
  • Ограничения
  • Проблемы
  • Расширения для запуска юзерскриптов
  • Установка юзерскриптов


Приступим-с

Визуализация каталогов на Python средствами NetworkX

Reading time5 min
Views17K
Листая на Хабре раздел Python наткнулся на интересную статью о библиотеке NetworkX. Впечатлившись красивыми графами, решил повысить свой python-скилл и покопаться в networkx.
image

Пролог


Первый вопрос — откуда взять данные для визуализации? Генерировать случайные не интересно, они и в комплекте модуля были. Тут вспомнилась Dos утилитка tree, выводящая каталоги файловой системы в виде дерева. Решено было написать красивый аналог на Python и нарисовать все в networkx с помощью matplotlib.
шоу продолжается

Учимся писать userscript'ы

Reading time7 min
Views294K
Доброго времени суток всем желающим приобщиться к миру пользовательских скриптов (они же userscript, userJS, юзерскрипты).

В этой статье я хочу поведать о том, что такое юзерскрипты, c чем их едят и, главное, как их готовят!

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

Отправка важных сообщений из ВКонтакте по электронной почте

Reading time5 min
Views15K
Добрый день!
Наверняка многие сталкивались с ситуацией, что важная информация (новости, объявления и т.д.) публикуется ВКонтакте. Но во-первых, не всегда есть возможность туда попасть (вообще неприлично в рабочее время сидеть вконтакте!), во-вторых информацию приходится получать polling'ом, то есть постоянно обновляя страницу группы или что-нибудь аналогичное.
Отсюда родилась замечательная мысль — было бы удобно, чтобы важные уведомления приходили на почту. И на работе посмотреть можно и судорожно жать F5постоянно обновляться не нужно. Как оказалось, с помощью python'а можно легко справиться с такой задачей.
Читать дальше →

Тюнинг для папки Public в Dropbox

Reading time3 min
Views6.9K
Dropbox — это просто замечательный сервис. Бесплатные 2 гигабайта, синхронизация между несколькими компьютерами и мобильными устройствами под различными ОС. А сколько различных применений находят ему народные умельцы не счесть — это и автоматизация торрент-загрузок, и сайты-визитки, и даже программные RAID-массивы.

Однако, такое простое задание как поделится файлами с незарегистрированным пользователем будет весьма накладно: придется давать ссылку на каждый файл (предварительно поместив их в папку Public), который требуется передать. Поэтому Вы наверняка воспользуетесь либо одним из известных файлообменников или же простой электронной почтой. Но почему бы не организовать такой файл-хостинг с удобным интерфейсом у себя в Dropbox?
Читать дальше →

Работа с last.fm API на JavaScript

Reading time5 min
Views8.5K

С ходом времени автор понял, что ниженаписанное — полная глупость


Для тех, кому не хочется читать


Страничка, на которой всё нижепроделанное в примере (включайте alert).
Онлайн плеер, который и заставил меня дойти до этого топика.

Введение


Доброго времени суток! Не так давно затронул тему «Онлайн-плееров» и им подобных. Их много, очень я бы сказал. Я захотел сделать аналог, в первую очередь для себя. Захотел по стандарту — база vk.com, скробблинг last.fm (позже ласт), альбомы с него же, плейлисты, сердечки и так далее. Сразу вытекла проблема — мой хостинг очень плох для постоянных запросов на него. Ничего не оставалось, как перейти почти полностью на javascript (позже js). Итак, коль русского описания «Как работать с last.fm api javascript» я так и не нашёл, а потратил много нервов и времени на решение этой проблемы, то начнём, пожалуй.
Читать дальше →

Ubuntu открывает портал для разработчиков приложений

Reading time1 min
Views2.6K
Портал для разработчиков располагается по адресу Developer.ubuntu.com. Это единый центр для получения всей необходимой информации о разработке и публикации ПО. Зарегистрировавшись и опубликовав свою программу, автор может в реальном времени отслеживать свой доход, сколько ему уже «накапало» от продаж.



Все программы распространяются через единый каталог приложений Ubuntu Software Centre. В перспективе Ubuntu может стать существенным источником дохода для разработчиков, ведь c 20 млн пользователей это третья по популярности ОС в мире.

Минимальная стоимость программы в каталоге $2,99, разработчик получает 80% дохода.
Читать дальше →

Ставим объекты на поток, паттерн фабрика объектов

Reading time12 min
Views92K
Доброго времени суток, читатель. Я хочу поделится с тобой знаниями об одном из наиболее часто используемых мною паттернов — фабрики объектов, для данного паттерна так же подходит другое название — виртуальный конструктор.

Что представляет из себя этот паттерн?

Исходя из названия легко догадаться, что это некая, определенная, фабрика (или завод), который создает объекты. Еще раз выражу слово определенная. Как и в реальной жизни фабрика имеет некую специализацию, создавая товары или устройства какого-либо определенного типа. И фабрика, которая выпускает, например, мебель, не может производить, например, еще и компоненты для смартфонов. По аналогии с программированием фабрика объектов может создавать только объекты определенного типа, которые используют единый интерфейс. Самыми главными преимуществами данного паттерна в С++, является упрощение создания объектов различных классов, использующих единый интерфейс. Зачастую библиотекам, которые разрабатывают программисты нужно не только уметь работать с определенными объектами, но и создавать их. Самый очевидный пример загрузка файлов различных форматов. Мы не знаем, какой файл мы будем загружать заранее, но у нас есть список возможных форматов. Пользователь указывает файл, библиотека пытается определить тип файла и вызвать соответствующий загрузчик для него. В большинстве случаев программисты использует конструкции типа switch или if, чтобы определить экземпляр какого класса им необходимо создать. И чем больше возможных вариантов появляется, тем больше разрастается эта конструкция, в последствии превращающиеся в уродливого монстра.

Что нам может предложить фабрика объектов?
Во-первых, простой метод создания объектов, который сократит switch/if до 1ой строчки.
Во-вторых, удобные методы для работы с объектами фабрики. Мы всегда точно можем узнать, зарегистрирован ли у нее определенный класс, количество зарегистрированных классов, а так же удобные методы для добавления и удаления экземпляров классов в фабрику. С помощью фабрики можно ограничивать набор возможных классов, которая она будет создавать, используя некую конфигурацию.

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

Генерим PDF бочками

Reading time6 min
Views13K

Предыстория


На хабре неоднократно упоминались различные инструменты и способы создания скриншотов WEB страниц.

Хочу поделиться собственным «велосипедом» для создания PDF на Python и QT, дополненным и улучшенным для централизованного использования несколькими проектами.

Изначально генерация запускалась из PHP скрипта, примерно так:

<?php
// локальный файл
exec('xvfb-run python2 html2pdf.py file:///tmp/in.html /tmp/out.pdf');
// или URL
exec('xvfb-run python2 html2pdf.py http://habrahabr.ru /tmp/habr.pdf');
?>

этого было достаточно и все было хорошо…
Читать дальше →

Рисуем воду на Direct3D. Часть 1. Архитектура графического конвейера и API

Reading time7 min
Views13K
В этой статье, разделенной на несколько частей, я в общих чертах объясню архитектуру современных версий Direct3D(10-11), а также покажу, как с помощью этого API нарисовать вот такую вот сцену кораллового рифа, основным достоинством которой является простая в реализации, но красивая и относительно убедительно выглядящая вода:
image

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

Создание сайта на MODx CMS — видео урок

Reading time2 min
Views35K
Почти год назад, в ноябре 2010, у меня появилось желание сделать обучающее видео по созданию сайта на MODx Evolution. Не прошло и полугода, как прошел год и я с удовольствием могу показать вам свое творение. Так как длинное видео это не формат Хабра, я сделал короткий тизер под названием «Сайт на MODx за 5 минут», а под катом полное видео.



Специально для тех, кто заинтересовался или не успевает так быстро усваивать информацию — под катом полное видео (30 минут) о том, как установить и настроить MODx, подготовить шаблон к интеграции в MODx, интегрировать и получить готовый сайт. И все это я подробно объясняю.

Далее: полная версия видео урока

Методы борьбы с DDoS-атаками

Reading time5 min
Views118K
Хотелось бы поговорить с вами на актуальную нынче тему, а именно — про DDoS и методы борьбы с ним. Рядовые администраторы знают, что это такое, а вот для большинства вебмастеров это аббревиатура остается загадкой до того момента пока они на личном опыте не столкнуться с этой неприятностью. Итак, DDoS — это сокращение от Distributed Denial of Service (распределенный отказ в обслуживании), когда тысячи зараженных компьютеров отправляют на сервер множество запросов, с которыми он, в последствии, не может справиться. Целью DDoS атаки является нарушение нормальной работы сервера, а в дальнейшем — «падение» сайта или сервера целиком.

Как же от этого защититься? К сожалению, универсальных мер защиты от DDoS-атак до сих пор не существует. Тут необходим комплексный подход, который будет включать меры аппаратного, программного и даже организационного характера.
Читать дальше →

Прикручиваем SageTex к LyX под Windows

Reading time3 min
Views2.6K

Прелюдия


Недавно, просматривая блог LaTeX, наткнулся на занимательную статейку Математические вычисления и графики в LyX с использованием Sage. В голове тут же возникла мысль типа «Наконец-то появился повод сбросить оковы MS Office перестать пользоваться Word для того, для чего он не предназначен — не заниматься идиотским копипастом и пересохранением кучи графиков при малейших изменениях, ведь Sage все сделает за меня!». Тут же был установлен LyX, настала очередь Sage. Но… как оказалось, нативной версии Sage под Windows действительно не существует. Имеется лишь заброшенный полурабочий порт, который мне так и не удалось заставить работать, и ужасно сырая версия Sage под CygWin, которая, похоже, только и умеет, что запускаться.

Малость приуныв, решил попробовать вариант, предлагаемый на странице загрузки — использовать виртуальную машину.
Читать дальше →

Интеграция Django и Selenium

Reading time3 min
Views8.2K


Всем привет.

Ни для кого не секрет что тестирование приложений является важным этапом разработки ПО, а если вы разрабатываете веб-приложения, то вам просто необходимо тестировать веб-интерфейс. К счастью, для этой цели существует такой инструмент как Selenium. Небезызвестные на хабре компании СКБ Контур и Яндекс уже выбрали его как инструмент функционального тестирования своих приложений и сервисов (Яндекс рассказывал об этом на недавно прошедшей YaC).

Теперь к делу.
В одном из проектов, над которым я работаю, мы использовали Selenium начиная еще с первой ветки. Но время не стоит на месте, вышел Selenium 2.0, основанный на технологии webdriver, более функциональный, удобный, и правильно имитирующий события в браузере (подробнее о преимуществах).

Чтобы не заниматься обновлением старого кода поддержки Selenium внутри нашего приложения (а вдруг это придется делать еще и не один раз?), а также чтобы попробовать сделать что-то полезное для других разработчиков, мы решили сразу вынести интеграцию с Selenium в отдельную библиотеку.
Что из этого вышло

Сегментация изображения

Reading time5 min
Views95K

Сегментация изображения


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

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

Валидационные сообщения на русском в Rails 3

Reading time2 min
Views11K
Тема простая, но мне пришлось потратить некоторое время, прежде чем из разрозненных источников я понял, как наиболее быстро и просто получить сообщения об ошибках валидации на русском. Этот пост поможет сэкономить немного времени новичкам.
Читать дальше →

Анонс CastingCode.tv: скринкасты программистов за работой

Reading time1 min
Views3.4K
Лучший способ изучить иностранный язык — слушать тех, кто его хорошо знает. Так же и учиться программированию лучше всего, наблюдая за работой опытных профессионалов. В обоих случаях желательно погрузиться в учёбу с головой, на 24 часа в сутки. Такова идея будущего видеоканала CastingCode.tv. Тут будут постоянно транслировать скринкасты разработчиков в прямом эфире. Можно наблюдать, как они пишут код: какие программы, какие «горячие клавиши» используют, с какой скоростью печатают, как часто ищут совета в Google, как вообще у них организовано рабочее время и т.д. В общем, настоящее круглосуточное реалити-шоу для гиков.



К сожалению, проект ещё не начал работу, так что нельзя оценить его реальную пользу. Остаётся надеяться, что на CastingCode.tv будет больше свежих материалов, чем на ShowMeDo, а он не будет брать абонентскую плату, как PeepCode и Destroy All Software.

Information

Rating
Does not participate
Registered
Activity