Pull to refresh
13
0
Денис Пихаров @wixus

User

Send message

Bacon And Eggs. Велосипед с яйцами и линейной алгеброй!

Reading time1 min
Views2.4K
Недавно у меня появился ряд задач, связанных с процедурной графикой в вебе, анимацией и механикой.
Став искать простые пути там, где их обычно нет, я наткнулся на чудненькую библиотеку «Bacon And Eggs» от Эндрю Хойера.
Красную или синюю?

Визуализация данных в вебе: диаграммы Ганта

Reading time1 min
Views23K
В связи с недавней серией постов на тему визуализации данных в вебе меня попросили посоветовать библиотеки для рисования диаграмм Ганта, что с удовольствием и делаю.

Диаграмма Ганта (англ. Gantt chart, также ленточная диаграмма, график Ганта) — это популярный тип столбчатых диаграмм, который используется для иллюстрации плана, графика работ по какому-либо проекту. Является одним из методов планирования проектов.

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

Виды тестирования и подходы к их применению

Reading time5 min
Views272K
Из институтского курса по технологиям программирования я вынес следующую классификацию видов тестирования (критерий — степень изолированности кода). Тестирование бывает:
  • Блочное (Unit testing) — тестирование одного модуля в изоляции.
  • Интеграционное (Integration Testing) — тестирование группы взаимодействующих модулей.
  • Системное (System Testing) — тестирование системы в целом.
Классификация хорошая и понятная. Однако на практике выясняется, что у каждого вида тестирования есть свои особенности. И если их не учитывать, тестирование станивится обременительным и им не занимаются в должной мере. Здесь я собрал подходы к реальному применению различных видов тестирования. А поскольку я пишу на .NET, ссылки будут на соответствующие библиотеки.
Подходы к тестированию

База IP мобильных операторов

Reading time1 min
Views28K

Немного о том, кому и зачем?


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

В общем к сути.


Сайт проконтент собирает под своим крылом базу мобильных айпи и выкладывает вот здесь: www.procontent.ru/dev/gateway-ips.html
Но попробуйте кто то применить ее для дела и тут сразу же все неудобства всплывают. Нету четкого разбиения по странам, а страна и не для всех диапазонов указана, нету экспорта хоть в какой нибудь пригодный для нормальной обработки формат.
Так вот был написан парсер, который «причешет» этот неудобный набор и даст в правильном виде.
Брать можно тут:
wapobzor.ru/3dparty/procontent_ips.php — csv версия
wapobzor.ru/3dparty/procontent_ips.php?long — csv, но ip в числовом виде
wapobzor.ru/3dparty/procontent_ips.php?php_array — в виде массива, что бы скопировать в скрипт сразу.
wapobzor.ru/3dparty/procontent_ips.php?php_array&long — аналогично
www.logofon.ru/xml/ips.xml — еще один вариант предложенный Nc_Soft

Если кому то пригодится — буду рад.
Спасибо за внимание =)

UPD: перенес в тематический блог, спасибо за подкинутую карму :-)
UPD2: добавил еще два варианта вывода.
UPD3: еще вариант базы с другого источника.

ЧТО смотреть, ГДЕ скачать, КОГДА выйдет DVDRip?

Reading time3 min
Views4.8K
Привет,
В отличие от других статей в блоге «Я пиарюсь», чтобы узнать, о каком сайте эта, придётся зайти под хабракат. Можно этого не делать и не забивать свободное место в мозгу ещё одним названием, но тогда ты не узнаешь, как, например, найти в рунете лучшие фантастические комедии за последние два года, узнать, когда появится HD-рип Аватара или гд
...часть текста отсутствует...

7+ превосходных инструментов для оптимизации изображений

Reading time5 min
Views105K
Перевод статьи 8 Excellent Tools for Optimizing Your Images
К сожалению на момент перевода один из сервисов перестал работать. Но хабровчане предложили еще много хороших решений!

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

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

Советы по защите форума vBulletin

Reading time4 min
Views8.1K
Если Вы держите свой форум, то рано или поздно приходится думать о защите Вашего форума — ведь злоумышленники не дремлют! В этом топике я (при помощи хабраюзера ReaM ) собрал список советов по увеличению безопасности Вашего форума. Заинтересовало? Добро пожаловать под хабракат :)

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

Дао Вебсервиса. (Или да хватит же изобретать велосипеды!)

Reading time12 min
Views59K
image Недавно на Хабре была опубликована статья под провокационным заголовком и призывом к прекращению изобретений велосипедов в API-строении. Поскольку тема мне интересна, то я просто не мог пройти мимо.
Увы, реальность за хабракатом меня сильно разочаровала — я увидел очередной велосипед, да еще и с квадратными колесами. (Коллеги, ничего личного, только техническое обсуждение.) Правда, авторы честно сказали, что увидели на нескольких сайтах модное слово REST и решили сделать по нему. Только вот поняли они этот «РЭСТ» по-своему, примерно как Дед Щукарь читал и понимал толковый словарь.
В этом топике я призываю по-настоящему покончить с велосипедами в API сайтов. Ведь получается какой анекдот: АПИ разрабатывается для упрощения доступа к сайту и легкости подключения внешних систем, а получается такой, что с ним еще сложнее, чем без него :)

Чуть ниже под катом я подпишу смертный приговор всем велосипедам в универсальных API. Чтобы не быть голословным, я все проиллюстрирую примерами.
Но должен предупредить сразу — после прочтения статьи вы не сможете без рвотного рефлекса смотреть на очередной велосипед Васи Пупкина под гордым названием «универсальное API сайта».

В повествовании будут рассмотрены следующие вопросы:
  1. Базовые технологии: XML-RPC, REST, SOAP и краткое сравнение
  2. Дао вебсервиса
  3. Просветленные API
  4. Как отличить сайтовое API от говна
  5. Выводы

Кто не испугался суровых реалий - вперед

moc — консольный двухпанельный клиент-серверный проигрыватель музыки

Reading time1 min
Views24K
image

В моём первом посте на хабре я хочу рассказать о замечательном музыкальном плеере, который я использую каждый день
Читать дальше →

Пол Грэм

Reading time2 min
Views56K
Paul GrahamСколько раз я уже перечитывал статьи Пола Грэма, столько раз я удивлялся его потрясающему умению открывать глаза на вроде бы обычные вещи. И потрясающей способности интересно описывать окружающий нас мир.

Да, это он в 1998 году продал свою компанию Viaweb интернет-гиганту Yahoo, которая впоследствии назвала этот продукт Yahoo Store. Да, это он основал венчурный фонд Y Combinator. Да, это его журнал BusinessWeek включил в список 25 наиболее влиятельных людей в Сети за 2008.

Хотите читать по-настоящему интересные аналитические статьи? Вам однозначно к Полу. Я настоятельно рекомендую прочитать его заметки. Особенно если вы it-шник. Особенно если вы собираетесь открывать свой бизнес.

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

Каковы стартапы на самом деле

Reading time17 min
Views5.2K
Представляю вашему вниманию перевод очередного замечательного эссе Пола Грэма What Startups Are Really Like.

Октябрь 2009
(Это эссе основано на выступлении в Школе Стартапов в 2009г.)

Я не знал о чем говорить в Школе Стартапов, поэтому я решил спросить создателей стартапов, которые мы профинансировали. О чем я еще не написал?

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

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

Я с гордостью могу сказать, что получил один ответ, который гласил:
Что больше всего меня удивило, так это то, что все действительно было довольно предсказуемо!

Плохая новость состоит в том, что я получил больше 100 других ответов с описаниями неожиданностей, с которыми столкнулись основатели стартапов.
Полученные ответы четко разбивались на несколько категорий; примечательно, как часто несколько человек были удивлены в точности одним и тем же.
Читать дальше →

Попытка классификации и анализа существующих подходов к наследованию в Javascript

Reading time9 min
Views3.1K

Некоторое время назад у меня дошли руки до темы, которая давно уже меня нервирует интересует. Эта тема — наследование в JavaScript.

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

Хочу сразу сказать, что я не претендую на глубокое понимание ООП в JavaScript, и даже не претендую на глубокое понимание ООП вообще. Я буду рад, если моя попытка анализа окажется кому-нибудь полезной, но основная цель публикации, в некотором смысле, противоположная — мне бы хотелось самому воспользоваться замечаниями людей, которые лучше меня ориентируются в теме, чтобы прояснить ее для себя.
Читать дальше →

Конфигурационный менеджмент (часть 2, обзор инструментов)

Reading time9 min
Views6.7K
Прошло много времени, прежде чем я созрел на написание второй части статьи, посвященной управлению конфигурациями. Тому, что это наконец таки свершилось способствует тот факт, что не так давно мне посчастливилось выступать на конференции PHPCONF 2009 8 октября (Web Architect Workshop Day) с мастер-классом «Метод организации репозитория исходного кода». Для выступления были заблаговременно подготовлены презентация, а также текст доклада. Несмотря на отличную организацию мероприятия, для публичного доступа так и не были выложены материалы докладов, входящих в программу конференции. В качестве компенсации я решил таки опубликовать материал, использованный в моем выступлении. Кроме данной статьи, (которая является логическим продолжением предыдущей), посвященной конфигурационному менеджменту, для публичного обозрения доступны слайды презентации.
В данной статье пойдет речь об инструментах, использующихся при управлении конфигурациями. Поэтому в первую очередь хотелось бы заострить внимание на том, как инструменты, использующиеся в разработке могут влиять на процесс создания ПО.
Читать дальше →

text-overflow в Firefox и все, все, все

Reading time9 min
Views15K
Многие наверняка сталкивались с проблемой, когда какой-нибудь текст нужно выводить в одну строку. При этом текст может быть весьма длинным, а ширина блока, в котором этот текст находится, обычно ограничена, хотя бы тем же размером окна браузера. На эти случаи придумано свойство text-overflow, которое внесено в рекомендацию CSS3, а впервые было реализовано в IE6, очень давно. В случае использования этого свойства для блока, если его текст больше по ширине чем сам блок, то текст обрезается и в конце ставится многоточие. Хотя тут не все так просто, но вернемся к этому чуть позже.
С Internet Explorer'ом все понятно, что же относительно других браузеров? И хотя в настоящий момент из спецификации CSS3 свойство text-overflow исключено, Safari его поддерживает (по крайней мере, в 3-й версии), Opera тоже (с 9-й версии, правда называется свойство -o-overflow-text). А Firefox — нет, не поддерживает, и даже в 3-й версии не будет. Печально, но факт. Но может можно что-то сделать?

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

Коробочное преимущество

Reading time5 min
Views3.4K
Откровенно говоря, этот пост — комментарий к опусу Дениса Болтикова «Преимущества коробочной CMS перед студийной». Как правило, подобные темы я обхожу стороной, так как холивар — не то мероприятие, на которое я готов тратить своё время. Однако перечисленные Денисом преимущества повергли меня в шоковое состояние и заставили думать, что ему просто очень нужно пролобировать «коробку» на своём новом месте работы.

Копипастю преимущества, которые перечислил Денис:
  • Лучшее качество кода коробочной CMS. Для фирмы-разработчика эта CMS является основным продуктом. На ее разработку, оптимизацию, тестирование потрачено значительно больше человеко-часов чем у любой студии.Работоспособность коробочной CMS доказано на сотнях и тысячах созданных сайтах.Легкая расширяемость сайта. Большинство необходимых модулей уже создано. Надо интернет-магазин — подключаем, настраиваем, работает. Надо форум или раздел обратной связи — подключаем, настраиваем, работает.API для разработчиков. При его наличии грамотный программист легко нарастит нужную функциональность.Открытая документация. Есть документация пользователя, документация разработчика, документация по API для создания своих модулей. В большинстве студийных CMS этого нет или есть, но, как у топовых веб-студий за отдельную, довольно большую плату.Техническая поддержка, которая всегда готова помочь решить вашу проблему.Большое сообщество разработчиков. Найти специалиста, который доработает сайт на коробочной CMS значительно проще и быстрее, чем желающего копаться в чужом, и, как уже отмечалось, недокументированном движке. Написать с нуля и правда проще.
Осторожно! Возможен холивар

Для тех кто учит английский

Reading time1 min
Views4.5K
image

Это вовсе не очередная статья на тему «как я учил английский» и это даже не обзор, это скорее пара слов об очень интересном видеокурсе на который я наткнулся и всем рекомендую.

Наверняка, курсы BBC Learning English неоднократно описывались, но я нашел очень интересный курс, который заинтриговал меня с самого начала.

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

Даже мне, с моим «poor english» было все легко и понятно, а местами смешно. :)

Предлагаю ознакомиться самим.

Веб-аналитика: анализируй это! Часть 4. От статистики к аналитике

Reading time3 min
Views8.5K
Прошу простить за большую паузу между выпусками рассылки: мне нужно было время на подготовку к проведению большого тренинга и разгребание новых материалов. Что ж, много времени прошло, многое изменилось — даже слово “Интернет” теперь нужно писать с большой буквы! Больше такого не повторится, так что продолжим наше путешествие. Напомню адреса прошлых выпусков:

Часть 1. Вступление.
Часть 2. Сбор данных.
Часть 3. Базовые метрики.

Перед тем, как перейти к описанию метрик и технологий анализа, хочу еще раз напомнить о том, зачем мы тратим на это своё время.
Читать дальше →

Привычка не думать

Reading time1 min
Views6K
Thinking.png

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

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

Сложно в двух словах описать тематику статей — она, как я сказал, очень широка. Поэтому ниже просто приведу несколько тем, которые сохранил в закладки.
Читать дальше →

Цикл статей по основам Software Configuration Management

Reading time5 min
Views24K

Пролог


Что такое управление конфигурацией в разработке ПО? Зачем оно нужно? Думаю, немногие способны полностью и внятно ответить на этот вопрос. Большинство обычно вспоминает системы контроля версий, которые сами используют. Кто-то упоминает багтрекинг. Кто-то считает вершиной CM отращивание веток в любимой системе контроля версий. А кто-то вообще уходит в сторону и начинает говорить про ITIL и про то, как он записывает в какую-нибудь базу параметры всего софта, который установлен у него в фирме.

Несколько странно и немного досадно наблюдать за этим. Дело в том, что я проработал в SCM в общем сложности около 5 лет, из них 3 года — интегратором в Motorola, на одном из проектов по разработке софта для сотовых телефонов. По ходу дела прочитал кучу материалов по этой теме и получил большой практический опыт — в том числе по работе с одной из мощнейших систем контроля версий IBM Rational ClearCase (см. linkedin в профиле). В итоге в голове сформировалась некоторая целостная картина того, что же это на самом деле — software configuration management.
Ну а дальше-то что?

Корпоративный Web 2.0 в России

Reading time3 min
Views9.7K
image
Согласно недавнему исследованию Comscore, Россия занимает первое место в мире (!) по интенсивности использования социальных сетей. Почему у нас развиты общетематические социальные сети типа одноклассников, а внутрикорпоративные – столь популярные на Западе – до сих пор не получили распространение? Одна из возможных причин и наши размышления о корпоративных социальных сетях – в этом посте.
Читать дальше →

Information

Rating
Does not participate
Location
Краснодарский край, Россия
Date of birth
Registered
Activity