Pull to refresh
164
0
Роман Дворнов @lahmatiy

Веб-исследователь

Send message

Приложение под Хостинг Картинок

Reading time4 min
Views2K
Доброго времени суток, Хабражитель!

Не так давно в этом же блоге Hombrelumbre опубликовал статью о своем стартапе — Хостинг Картинок.
Многие из Вас оценили его за простоту и удобство, некоторые подумали или даже сказали вслух: «Очередной заурядный хостинг картинок, только без рекламы… и то пока-что».

Лично меня этот новый, лишенный всякой назойливой рекламы и вооруженный опрятным интерфейсом сервис подтолкнул к написанию десктоп-клиента с учетом всего того, чего мне и вероятно всем другим не хватало в подобных сервисах. Если конкретизировать:
  • Быстрота и простота добавления и загрузки картинок
  • Возможность просматривать и при необходимости удалять свои изображения, размещенные на сервисе
  • Возможность синхронизации изображений между различными машинами
  • Никакой лишней возни с настройками и мелочами без острой на то необходимости
  • Опрятный и удобный интерфейс, позволяющий быстро выполнять необходимые операции
  • Некоторые дополнительные возможности, которые избавят от необходимости использовать сторонний софт (в разумных пределах, естественно)

Итак, после недолгого обсуждения данной идеи с владельцем хостинга мы пришли к согласию и за пару-тройку выходных (и несколько бессонных ночей) не без помощи Hombrelumbre и его брата накидал дополнение к ресурсу для простой и быстрой загрузки изображений на Хостинг Картинок…
Читать дальше →
Total votes 137: ↑123 and ↓14+109
Comments161

Mongo Moscow

Reading time1 min
Views683
image
16 мая в центре Digital October состоится Mongo Moscow – конференция, посвященная системе управления нереляционными базами данных с открытым исходным кодом MongoDB.

На конференции прозвучат доклады специалистов из компаний 10gen, КРОК и Yandex; речь пойдет о разработке схем БД, индексировании, администрировании, репликации, шардинге и многом другом.

Мероприятие пройдет в центре Digital October при поддержке компании 10gen – владельца и разработчика MongoDB.

Прямую трансляцию можно посмотреть на сайте: www.digitaloctober.ru

UPDATE: Прямая трансляция началась
Total votes 26: ↑24 and ↓2+22
Comments42

Web Platform Installer: обзор третьей версии

Reading time7 min
Views13K
Совсем недавно выпущена третья финальная версия Web Platform Installer (WebPI) – инструмента, который позволяет быстрее всего развернуть рабочее место веб-разработчика и проще всего установить необходимые веб-приложения из большого набора готовых шаблонов.

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

Что такое Web Platform Installer?


imageПовседневная работа веб-разработчика состоит из использования ряда инструментов для создания новых проектов или работы со структурой одного большого проекта. В качестве таких часто используемых инструментов можно перечислить следующие: среда разработки (IDE), сервер баз данных и инструменты по работе с базами данных, сервер приложений и сопутствующие инструменты, шаблоны готовых приложений (CMS, форумы, блоги, wiki-движки и так далее).

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

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

Таким удаленном хранилищем и является Web Platform Installer. C помощью WebPI вы всегда имеете доступ к самым последним версиям инструментов веб-разработки, создания и редактирования баз данных, шаблонам веб-приложений самых последний версий. Кроме того, при всем богатстве выбора WebPI предлагает все инструменты бесплатно.

Читать дальше →
Total votes 85: ↑56 and ↓29+27
Comments51

Нативные интерфейсы в Qt

Reading time11 min
Views66K
Qt Logo

Эта статья посвящена программированию GUI на базе фреймворка Qt от Nokia. Мы рассмотрим способы разработки интерфейсов для нативного отображения на платформах Windows, Linux и Mac OS X.

Презентацию[1] вёл Йенс Бач-Вииг (Jens Bache-Wiig) — разработчик Qt (с 2005 года), занимающийся интерфейсами (look and feel).

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

Итак, приступим. Каждое графическое окружение имеет свой свод правил (User Interface Guidelines, UIG) по созданию интерфейсов, предназначенных для этих окружений. Из основных можно отметить такие руководства как Windows User Experience Interaction Guideline, Apple Human Interface Guideline, KDE User Interface Guideline и GNOME HID. Каждое из этих руководств «определяет положение кнопочек и рюшечек» конкретного окружения. Фреймворк Qt, в свою очередь, осуществляет поддержку всех этих руководств, предоставляя разработчику возможность создавать программы с использованием виджетов, «подстраивающихся» под окружение.

Читать дальше →
Total votes 116: ↑112 and ↓4+108
Comments9

Objective-C с нуля

Reading time23 min
Views438K
У любого желающего писать программы для продукции фирмы Apple в жизни наступает такой момент, когда ему приходиться изучить новый язык программирования — Objective-C. Когда-то этот счастливый момент постиг и меня. А чтобы лучше запомнить основные особенности этого языка, решил законспектировать свои мысли во время осмысления его документации, которыми и делюсь с вами.
Читать дальше →
Total votes 163: ↑155 and ↓8+147
Comments61

Когда не нужна тригонометрия

Reading time4 min
Views54K
Просматривая различный код по выводу на экран какой-нибудь даже примитивной графики, я заметил чрезмерную любовь некоторых программистов к тригонометрии. Часто код пестрит синусами, косинусами и арктангенсами там, где без них можно обойтись. Этим грешат даже хорошие программисты, которые способны спроектировать сложную систему, но почему-то не освоили вектора в объёме школьной программы. Буквально азов векторной алгебры хватает для решения многих насущных проблем. В этом топике я хочу провести краткий ликбез, напомнить основные действия с векторами на плоскости и в качестве примера решить две задачи без тригонометрии: поиск отражённого луча по падающему лучу и произвольно расположенному зеркалу, а также рисование наконечника стрелки. Если вы можете представить в голове рисование произвольно направленной стрелки без синусов и косинусов, смело пропускайте этот топик. Для остальных постараюсь объяснять попроще.
Читать дальше →
Total votes 219: ↑209 and ↓10+199
Comments67

HTML5 Audio и Game Development: баги браузеров, проблемы и их решения, идеи

Reading time6 min
Views11K
В топике я расскажу о нюансах использования тега <audio> в разных браузерах при разработке игр, о проблемах, с которыми я столкнулся и о том, как их решить. Объяснение будет идти паралельно с написанием обертки для удобной работы.
Читать дальше →
Total votes 74: ↑64 and ↓10+54
Comments85

Из чего готовят Google Analytics Cookies

Reading time3 min
Views23K
печеньки
Добрый день.
Недавно одни из наших заказчиков выразили желание получать дополнительную информацию о посетителях своего сайта, конкретнее — о людях, заполнивших контактную форму. Это крупная европейская компания и им хотелось бы «фильтровать» своих потенциальных клиентов. Поясню на примере — допустим, решают они организовать выставку своего оборудования в Венгрии и им нужно решить, кто из венгров, оставлявших им свои контакты, скорее всего стоящий клиент, а кто «мимо проходил».
Основными показателями «надежности» клиента для нас стали: число посещений сайта, время проведенное на сайте, количество просмотренных страниц. Всю эту информацию мы получили из Google Analytics Cookies.

Что же из себя представляют печеньки от Google?

Читать дальше →
Total votes 131: ↑126 and ↓5+121
Comments17

7 бесплатных сервисов для проверки сайтов (о которых вы могли и не знать)

Reading time2 min
Views254K
Картинка для привлечения внимания
Мне достаточно часто приходится использовать различные онлайн-сервисы для проверки доступности сайтов и их поверхностных тестов и проверок.
Как показал краткий опрос коллег — почти у всех эти наборы сервисов отличаются. Я хочу показать вам свой, прошу в
подробности
Total votes 188: ↑181 and ↓7+174
Comments72

Syn — библиотека синтетических событий, которая делает тестирование проще

Reading time2 min
Views1.3K
Команда Jupiter IT выпустила Syn, библиотеку, которая позволяет вам создавать синтетические события для использования при тестировании. Эта отдельная библиотека предназначена для оказания помощи в тестировании сложного поведения пользовательского интерфейса, имитируя действия пользователя, такие как печать с помощью клавиатуры, нажатие кнопок мыши и перетаскивание с её помощью.
Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments12

30 комплектов иконок в стиле минимализм

Reading time1 min
Views47K
image

Минимализм — стиль в дизайне, характеризующийся лаконичностью выразительных средств, простотой, точностью и ясностью композиции. Отвергая классические приемы творчества и традиционные художественные материалы, минималисты используют промышленные и природные материалы простых геометрических форм, нейтральных цветов (черный, серый) и малых объемов.
Эти значки идеально подходят для проектов, которые направлены на контент и типографику.
Читать дальше →
Total votes 171: ↑160 and ↓11+149
Comments41

MobiOne — эмулятор Iphone для Web разработчика

Reading time1 min
Views110K
Вот недавно тут был неплохой обзор эмуляторов мобильных девайсов habrahabr.ru/blogs/webdev/96453. Но в этом посте упоминался всего навсего один эмулятор для тестирования web приложений под Iphone на Windows. Я хотел бы добавить еще один — MobiOne, который я для себя отметил, как очень хороший. Одна из основных проблем эмулятора который был предложен в выше упомянутом посте — это то что в нем не работают touch events. Допустим в моем случае мне нужно было тестировать Drag and drop функционал, но так как для реализации данного функционала в Iphone используются touch events, то тестирование с помощью предложенного эмулятора невозможно, так как mouse events работают по другому на Iphone/Ipad, а вот MobiOne позволяет такие вещи тестировать.
Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments20

Установка node.js на Linux, FreeBSD, Windows

Reading time6 min
Views85K
node.js — серверный асинхронный Javascript, превосходный инструмент для создания серверной части COMET приложений, в частности, для игрушек, чатов, и других высоконагруженных проектов, использующий синтаксис Javascript, прекомпилируемый в машинный код, работающий на скорости, сравнимой с кодом на C++, очень быстрый, способный держать 10 — 12 тысяч подключений, и не создающий отдельного процесса/не интерпретирующий себя заново/не запускающий процесс при каждом новом клиенте. Использует в качестве основы V8 — движок Javascript от Google. Удобные возможности, можно установить значение переменной при одном посетителе, и считать это значение при ответе другому.
Обращаю внимание на то, что если вы не программировали, например, на Python или Ruby, только на PHP, не обходите его стороной, это не ещё один незнакомый язык. И в этом его преимущество — Javascript — знакомый язык, особенно для тех, кто программировал на PHP+Javascript, но PHP не позволял очень многих вещей, особенно в связке с Apache, например, аплоад файлов с полосой загрузки (без Flash), возможность низкоуровневого управления сетью (возможность написать, например, клиента или сервер Mysql или прокси-сервер вроде nginx).
О гибкости языка говорит тот факт, что расширения для работы с MySQL, например, написаны на самом Javascript.
Я планировал написать статью с описанием этой замечательной системы, с примерами, но на момент чтения читателю хорошо бы иметь под рукой установленную версию node.js. Поэтому этот пост о том, как установить node.js, в том числе и на Windows, что актуально в связи с недавним появлением порта под cygwin. (Да, есть информация о том, где скачать node.exe)
Читать дальше →
Total votes 66: ↑61 and ↓5+56
Comments48

О Робокассе наглядно

Reading time4 min
Views94K
Вчера вечером добавил интерфейс взаимодействия с Робокассой в свою CMS.

Кратко о платежной системе


Робокасса — интегратор платежных систем. Она позволяет организовать прием платежей в пользу магазина через множество известных электронных валют (Webmoney, ВКонтакте, ЯндексДеньги, Деньги@Mail.Ru, RBK Money и другие), через терминалы оплаты ЭлексНет, и, самое главное — через SMS.

Доступно два варианта подключения — для юридических лиц и ИП, с выводом денег из системы на расчетный счет и для физических лиц с возможностью вывода в электронные валюты.
Читать дальше →
Total votes 49: ↑38 and ↓11+27
Comments48

Преодолеваем хабраэффект при помощи Coral CDN

Reading time3 min
Views4.3K
Вы выкладываете на Хабрахабре гиперссылку на интересный сайт, а он вскорости обрушивается под наплывом посетителей, начинает подтормаживать или вообще перестаёт отвечать.

Вы помещаете в свою блогозапись иллюстрацию с другого сайта, а она вскорости не выдерживает напора зрителей, перестаёт отображаться или сменяется на уродливое уведомление о превышении объёмов выделенного ей траффика.

Таковы бывают неприятные проявления хабраэффекта — естественного DDoS, аналогом которого на Заокраинном Западе является слэшдот-эффект.

Ну а как противостоять естественному DDoS?

Первыми приходят на ум наиболее бесхитростные способы.

Читать дальше →
Total votes 146: ↑132 and ↓14+118
Comments47

Firebug 1.4.2 — теперь на русском!

Reading time1 min
Views4K
Так любимый многим разработчикам инструмент обновился.
В основном исправлены незначительные ошибки о которых вы можете прочитать в блоге разработчиков.
image

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

Устанавливаем дополнение для быстрой смены локали. В правом нижнем углу браузера появляется иконка, ставим en-US — и вуаля, все по прежнему.
Для удобства в настройках дополнения можно убрать надоедливый значек в углу.

Возможно для некоторых установка аддона покажется излишне (другие дополнения так же будут на английском), есть и другой путь решения «проблемы» — заходим в папку вашего профиля firefox (в windows — %APPDATA%\Mozilla\Firefox\Profiles\ ), и удаляем русскую локаль (extensions\firebug@software.joehewitt.com\locale\ru-RU). Однако решение временное — при очередном обновлении локаль скорее всего скачается заново.
Total votes 29: ↑21 and ↓8+13
Comments43

Realplexor: производительный Comet-сервер с API для PHP и Javascript (realtime)

Reading time5 min
Views20K
Dklab Realplexor — это Comet-сервер, позволяющий держать одновремено сотни тысяч долгоживущих открытых HTTP-соединений с браузерами пользователей. JavaScript-код, запущенный в браузере, подписывается на один или несколько каналов Realplexor-а и вешает обработчик на поступление данных. Сервер может в любой момент записать сообщение в один из таких каналов, и оно будет моментально передано всем подписчикам (хоть одному, хоть тысяче), в режиме реального времени и с минимальной нагрузкой для сервера.

Хотя идейным вдохновителем Realplexor-а был предыдущий проект, dklab_multiplexor, код Realplexor-а не имеет с ним практически ничего общего. Поэтому я и решил сменить название. Несопоставимы также возможности продуктов (см. ниже), да и размер кода увеличился в 7 раз.

Realtime-направление сейчас довольно активно развивается на Западе, и в нем особенно выделяется продукт Tornado — событийно-ориентированный веб-сервер на языке Python. Правда, Tornado — это не столько Comet-сервер, сколько инструмент, с помощью которого можно запрограммировать «в том числе» и Comet-сервер. Ключевые слова: Comet, Push Server, Long polling, JavaScript, XMLHttpRequest.

Главные преимущества Realplexor-а:
  • простота использования: наличие API для JavaScript, API для PHP (в будущем — и для других языков);
  • простота конфигурирования;
  • широкий функционал (либо отстутствующий, либо недоступный напрямую в аналогах).

Лучше один раз увидеть...


Я сделал отдельную онлайн-песочницу, чтобы продемонстрировать функционал нового Realplexor-а и то, для чего вообще нужны Comet-серверы (кстати, это физически тот же самый демон Realplexor-а, что использует мой новый стартап РуТвит). Песочница реализует что-то типа многоканального чата: зайдя, вы получите как будто бы 2 независимых «браузера», запущенных на разных компьютерах.
  • Верхний «браузер» отображает каналы — в них моментально появляются новые сообщения, как только кто-то их туда отправляет на стороне сервера. Конечно же, эту страницу могут просматривать одновременно сотни тысяч пользователей, и они все будут видеть одно и то же (реализовано с использованием Realplexor JavaScript API). Можно «на лету» добавлять новые каналы (подписка) или скрывать уже имеющиеся (отписка).
  • Нижний браузер содержит формы, позволяющие добавлять сообщение в произвольный канал, указав его имя. Форма AJAX-ом отправляется на сервер, и уже там PHP-скрипт записывает в Realplexor полученный текст через PHP API. (И да, так можно чатиться.)
По умолчанию на странице открыто 3 канала с именами Alpha, Beta и RuTvit. Но, конечно, вы можете закрыть эти каналы и открыть новые. Вот, например, страница с единственным открытым каналом по имени Habrahabr: http://rutvit.ru/realplexor/demo?ids=Habrahabr.



Песочница демонстрирует следующие функции Realplexor-а:
Читать дальше →
Total votes 99: ↑92 and ↓7+85
Comments141

Управление потоком в CSS: создаём контекст форматирования

Reading time4 min
Views5.3K
Управлять потоком можно не только свойствами clear или overflow. Возможно, вы найдёте полезным для себя использование display:inline-block или display:table-cell, способных полностью заменить вам упомянутый overflow, избавляя вас от опасности указания размеров элемента, а также предоставляя дополнительные возможности.

Статья не содержит универсальных решений, но открывает вашему взору дополнительный инструментарий для управления потоком.
Читать дальше →
Total votes 66: ↑63 and ↓3+60
Comments34

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity