Pull to refresh
-9
@brainplusread⁠-⁠only

User

Send message

PHPLego: Ненавязчивый AJAX

Reading time9 min
Views21K


Здравствуйте дорогие хаброчитатели!

Думали ли Вы когда-нибудь о том, чтобы Ваш сайт одинаково хорошо работал с включенным JavaScript-ом и без JavaScript-а? Чтобы, если JavaScript включен, блоки сайта перегружались AJAX-сом, а если JavaScript-а нет, то происходил просто переход на новую страницу?

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

Для себя я сформулировал задачу, по следующим критериям:
  • Переход по разделам сайта внутри и вне блоков должен осуществляться обычными ссылками, без каких бы то ни было onclick=”…”.
  • При включенном JavaScript-е блоки сайта перегружают только свою область страницы (свой div). При выключенном JavaScript-е должен происходить обычный переход по ссылке.
  • Должен существовать только один глобальный обработчик нажатия на ссылки $(“a”).click(…), который и делает всю работу по перегрузке нужных элементов страницы. Если же JavаScript отключен, то этот обработчик просто не срабатывает, и сайт продолжает работать в обычном режиме.
  • Постинг форм при включенном JavaScript-е также обновляет только ту область, в которой находится эта форма. При отключенном – все работает как обычно.
  • Должна быть возможность запретить AJAX-презагрузку некоторым областям страницы, например, поставив им какой-нибудь класс «noajax». Это если после перехода по ссылке меняется слишком много данных на странице, и они все в разных блоках. Тогда разумней перегрузить всю страницу целиком, чем обновлять каждый блочёк по отдельности. Оно и быстрее будет.
  • Должна быть возможность указать ссылке блок, который она должна перегрузить. Допустим, если нам нужно перегрузить не только текущий блок, но и блок родитель.
  • Если блок был загружен ранее, то он должен браться из кеша, дабы не гонять лишний трафик и не напрягать лишним запросом сервер.
  • В случае, если блок загружен из КЭШа, пользователь должен как-то понимать что эта не самая актуальная информация, и иметь возможность обновить блок.
  • Никакого JavaScript-a. Это конечно мое личное мнение, но я ненавижу писать на JavaScript-е. Поэтому я добавил еще один пункт. Смысл его в том, чтобы разрабатывая модули к сайту я не писал ни строчки JavaScript-а (ну максимум одну-две на модуль, и то для каких-нибудь чекбосов в форме). Не знаю, как ты, дорогой хаброчтец, но я, твою мать, лучше продам свою душу дьяволу, чем буду дебажить свой JavaScript во всех многообразиях браузеров!


Ну, вот собственно и все пожелания. Итак, приступим к реализации…
Читать дальше →
Total votes 79: ↑66 and ↓13+53
Comments83

Ответственность за «комменты»

Reading time6 min
Views13K
В интернете, с его письменным общением на форумах и в блогах, возникает масса спорных ситуаций из-за оставленных там комментариев. Суды из-за них по разным поводам уже и сейчас не редкость, а в будущем их может стать еще больше. Поводы эти бывают самыми разными – чаще всего это защита чести и достоинства, но встречается и экзотика, типа «экстремизма» или нарушения копирайта на оставленный кем-то комментарий.

Как правило, при таких конфликтах первое, к чему обращаются спорщики – это авторское право. Встречаются иногда оригиналы, которые грозятся засудить форумного оппонента за цитирование не в том контексте, который нравится. Есть еще владельцы форумов, которые снабжают свои ресурсы надписью о том, что им принадлежат все «исключительные права» на те комментарии, которые оставляют пользователи. Естественно, все эти грозные предупреждения яйца выеденного не стоят, поскольку цитирование у нас разрешено законом, а для того, чтобы получить «исключительные права», владелец форума должен заключить с комментатором лицензионный договор. Единственное, на что может претендовать владелец сайта – это «право изготовителя базы данных», о котором мы совсем недавно писали.

Однако, есть и еще одна причина, по которой копирайтное законодательство в случае с комментариями неприменимо. Дело в том, что обычный, «среднестатистический» форумный комментарий вряд ли может рассматриваться как охраняемое авторским правом произведение. Функция форумной переписки – чисто информационная, за исключением отдельных специфических ситуаций. Правда, определить, что перед нами – «информационный материал» или все-таки творческое произведение, – можно только в каждом конкретном случае. Вдобавок, те проблемы, которые могут возникнуть при «расшаривании» защищенного авторским правом контента – это тема для отдельного разговора. Поэтому сегодня мы их затрагивать не будем, и ограничимся теми случаями, когда авторское право не нарушается.
Читать дальше →
Total votes 59: ↑44 and ↓15+29
Comments27

US Virtual Bank Account, или как вывести деньги с зарубежных платежных систем

Reading time6 min
Views63K

Преамбула.


В связи с бурным развитием мобильных устройств и ОС Google Android в частности, интерес к разработке программного обеспечения под данную платформу весьма закономерное явление. Как оказалось, он мало чем отличается от обычной разработки на Яве под десктоп/веб, а с учетом возможности использования «стандартного» IDE (Eclipse) путем скачки и встраивания SDK Андроида, а также наличия исчерпывающей документации многие технические вопросы снимаются сами собой. Концептуальный аспект (т.е. идея для реализации в виде ПО) также не заставила себя ждать, благо платформа сравнительно новая, не смотря на недавно вышедшую уже версию 2.1, и конкурентная среда соответственно не такая насыщенная, если взять, к примеру, разработку под тот же iPhone. (Тут могла бы быть развернутая часть о самом ПО, но ввиду некоторых нюансов, таких как незаконченность проекта и отсутствие конкретных результатов, пока ее пропустим).
Оставался последний, и, естественно, самый интересный (логично, не правда ли?) вопрос – денежный, а конкретно – как правильно вывести честно заработанные дензнаки, полученные от продажи ПО на Android Market.
Piccy.info - Free Image Hosting
Вдаваться подробности не буду, все-таки статья ориентирована на тех, кто примерно ориентируется в данной теме, скажу коротко — в данном случае под прицелом оказывается сервис обработки онлайновых платежей Google Checkout, который с нерезидентами США изначально не работает. Насколько мне известно, прямых путей решения данной проблемы нет, поэтому пришлось искать обходные дорожки.
Читать дальше →
Total votes 114: ↑110 and ↓4+106
Comments84

Тормозит веб-сервер. Настройка на примере www.ochevidets.ru

Reading time8 min
Views28K
Я оказываю услуги по настройке web- и БД-серверов. На днях ко мне обратился Иван Усачёв — владелец портала ochevidets.ru с просьбой избавить сайт от торможения.

Страницы в пиковое время стали долго загружаться, вплоть до 5 минут на страницу.

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

Ниже я опишу, что я предпринял для решения проблемы.
Total votes 197: ↑153 and ↓44+109
Comments407

10 эффективных инструментов для юзабилити-тестирования: обзор и сравнение

Reading time7 min
Views104K
Чтобы узнать насколько удобен сайт или другой программный продукт для пользователей, надо спросить об этом у них самих. Но считается, что тестирование на «на живых людях» отнимает много сил и времени у разработчика и/или владельца ресурса.

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

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

Сначала идет описание всех десяти приложений, а затем сравнительная таблица, где отражены их основные характеристики.
Читать дальше →
Total votes 37: ↑36 and ↓1+35
Comments8

О некоторых проблемах разработки для платформы bada

Reading time3 min
Views854
17 мая 2010 года стартовал конкурс Samsung bada Developer Challenge, который включал в себя Global Developer Challenge и Local Developer Challenge. Локальный конкурс проходил в том числе и в России.
image
В целом, про SDK на хабре уже хорошо написано здесь habrahabr.ru/blogs/development/101196 и здесь habrahabr.ru/blogs/mobiledev/105451.

Добавим от себя небольшой вклад…
Читать дальше →
Total votes 32: ↑22 and ↓10+12
Comments36

С Главстартом на TechCrunch

Reading time1 min
Views362
13 декабря, впервые в России, на «Красном Октябре» пройдет встреча TechCrunch Europe.

image

Московский TechCrunch будет посвящен развитию рынка российских стартапов и поддержке инвестиционных программ. Помимо коротких докладов и выступлений, нас ждут лидеры ИТ-индустрии и интересная программа.

В рамках TechCrunch состоится Startup Elevator Pitch Battle, в котором примет участие около десятка перспективных российских проектов. Зажигательно (как и всегда) вести битву стартапов будет Аркадий Морейнис, главдиректор «Главстарта».

«Главстарт» будет принимать заявки от желающих представить свой проект на TechCrunch.

Требования к проектам-участникам:
Читать дальше →
Total votes 35: ↑25 and ↓10+15
Comments3

Бизнес-план. Статья 3. Описание продукта. Кто сказал, что это будут покупать?

Reading time3 min
Views11K
Приветствую всех!
Продолжаем писать бизнес-план

Статья 1. Начало
Статья 2. Описание бизнеса

Темой этой статьи является то, что вы продаете.

Что мы продаем?


Как вы помните, я часто рекомендую вам задавать себе побольше вопросов. Сегодня не исключение.
Итак, какой вопрос является лучшим на тему вашей продукции? «Каков наш продукт или услуга?» Нет.
Нужно задавать себе следующий вопрос: «Что мы продаем?». Казалось бы, разницы нет. Ан нет, есть.
Присмотримся внимательнее: например, вы думаете, что продаете молотки, гвозди, краску, обои, ламинат. Однако клиенты у вас покупают не это. Клиенты покупают улучшенный интерьер дома, решение мелких проблем по хозяйству, и прочее. Заметили разницу? Думать о своем продукте лучше уровнем вверх, прослеживая его комплексные цели. Так будет легче позиционировать и продавать.
Вышеуказанный подход позволит вам ставить более четкие цели. В примере выше цель — обеспечить возможность ремонта, улучшения жилищных условий клиентам. Ребята из 37Signals продают не программу Basecamp для проджект-менеджеров, а возможность командам совместно управлять проектами и укладываться в сроки.

Почему это будут покупать?


image
* перевод «Твоя мама это неподходящий рынок для проверки»
Читать дальше →
Total votes 45: ↑37 and ↓8+29
Comments7

Макет бизнес модели

Reading time1 min
Views31K
Недавно под руку попался png файл, позволяющий соориентироваться при создании бизнес-плана. Он представляет собой простой макет, в который нужно просто вписать значения, присущие вашему бизнесу. Для упрощения есть подсказки, примеры и ключевые вопросы. Так же этот документ может пригодится во время подготовки презентации для встречи с инвесторами. Под катом превью макетов и ссылки на оригинал, переведенный мною вариант и на него же в формате psd.
Читать дальше →
Total votes 63: ↑58 and ↓5+53
Comments26

Как создать вебсайт для мобильных устройств

Reading time3 min
Views64K

Стили


User Agent

Один из способов включения стилей для мобильного устройства — это использование User Agent, которую получает сервер от клиента.
Этому может помочь набор скриптов: code.google.com/p/mobileesp, а также сервис от яндекса api.yandex.ru/detector
При работе с User Agent только одна проблема — это постоянно появляющиеся новые User Agent.
Читать дальше →
Total votes 133: ↑128 and ↓5+123
Comments43

Регистрация своей фирмы собственными руками, туду-лист

Reading time12 min
Views51K
Дисклаймер: описываю только свой личный опыт и мнения автора могут не совпадать с мнением автора. Статья огромная, читать много.

Пишу эту статью, и представляю себе тебя, читателя Хабра, которой в обеденный перерыв залез почитать что-нибудь для развития. А этот читатель, т.е. ты (да, не отворачивай глаза от букв, именно ты) давно наслышан, что своё дело – это круто. И, может быть, как раз не хватало лёгкого пинка, чтобы выйти из зоны будничного комфорта и что-нибудь, да предпринять.

Эта статья адресована тем, кто уже «на грани». Она почти лишена философии и туманных ссылок, просто тупо туду-лист. Бери и делай. Намеренно избавляю тебя от объяснений, зачем молодому проекту нужна госрегистрация, такая ли уж это свобода – быть собственником и от куда взять деньги на госпошлину. Статья адресована московским стартаперам, гео-патчи от других городов приветствуются в комментариях.
Будем считать, что с формой собственности определились — это ООО и упрощенка 6%. Если кому нужно ИП – там проще, справишься и без этой статьи.

Для создания фирмы необходимо:

Минимальный реквизит для создания своей компании
Подробности под кОтом.
Total votes 372: ↑351 and ↓21+330
Comments248

Создание приложений на GTK+ с использованием среды Glade

Reading time10 min
Views46K
Данный пост посвящен созданию приложений с использованием кроссплатформенной библиотеки GTK+. Ориентирован он в основном на новичков? поэтому какие-то вещи возможно для многих покажутся очень простыми и банальными, но я постарался максимально подробнее всё описать, чтобы было понятно для всех.

Немалым достоинством этой библиотеки является то, что она бесплатна для коммерческого использования. В интернете не так много документации и действительно качественных статей по работе с GTK+. В очень многих примерах интерфейс программы пишется «ручками», что порой очень неудобно. Я сам с этим столкнулся и довольно часто больше времени тратил на то, чтобы правильно расположить виджеты (объекты) на форме, в контейнеры, а не сосредоточиться на решении поставленной задачи.

Я продемонстрирую как можно очень быстро создать интерфейс для GTK+ с помощью приложения для визуального создания графических интерфейсов Glade и интегрировать его в вашу программу. Glade не является ни компилятором, ни отладчиком. Он позволяет лишь описать интерфейс и представить его в файлах XML-формата GladeXML.

Базовым интерфейсом для библиотеки GTK+ является язык C. Но я в данном примере буду ипользовать C++. Соответственно появятся небольшие особенности, о которых я обязательно расскажу. Дистрибутив Linux я использую Ubuntu 10.04.

Задача будет такая: написать небольшое приложение состоящее из холста, бокового меню (выбора того, что нарисовать на холсте), главного меню и строки состояния. При этом боковое меню и холст при изменении размера всего окна приложения должны оставаться постоянного размера. Но тот контейнер, в котором находится холст может изменять свой размер в зависмости от увеличения/уменьшения размеров главного окна. И при необходимости должны появляться полосы прокрутки.
Читать дальше →
Total votes 52: ↑51 and ↓1+50
Comments34

USB-визитка Фрэнка Чжао

Reading time1 min
Views14K
Находчивый студент из Университета Уотерлу (Канада) не зная, чем занять своё свободное время, неожиданно решил, что ему край как нужны электронные визитные карточки.
Составить схему оказалось несложно; на ней разместились 3 резистора, 1 конденсатор, cтабилитрон и микроконтроллер ATtiny85:
image

Получилось очень даже ничего:
image

Микроконтроллер фиксирует несколько нажатий caps lock и вот, как это всё это в итоге работает:
Читать дальше →
Total votes 130: ↑116 and ↓14+102
Comments94

Опубликован весь архив Computer Science клуб при ПОМИ РАН

Reading time2 min
Views6.2K
Добрый день!

Как представитель проекта Лекториум рад сообщить — мы опубликовали весь архив Computer Science клуба.
Кроме того, почти год назад мы организовали запись всех лекций на хорошие камеры и микрофоны.
А в этом году планируем подключить вебинары.


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

UPD. Кратко. Старые лекции в плохом качестве, а новые с 2010 года с хорошим звуком и в 720p.
UPD 2 Расширили канал, видео грузится теперь без проблем.

Под катом перечень курсов и несколько вопросов касательно вебинаров.
Читать дальше →
Total votes 231: ↑227 and ↓4+223
Comments78

R.I.P. «Ну, Погоди!» или повесть о копирайте

Reading time3 min
Views15K
Эта история не грустная, не поучительная и не громкая.
Это просто реальный рассказ о судьбе одного iPhone приложения.


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

Если вы просто любите читать о фейлах других, тоже добро пожаловать под кат.
Читать дальше →
Total votes 215: ↑200 and ↓15+185
Comments106

Мобильная реклама в цифрах

Reading time3 min
Views6.9K
image

В начале этого года мы запустили Java-приложение нашего сервиса голосовых открыток VoiceCards Mobile и конечно же, как любители поэкспериментировать с различными видами продвижения, решили попробовать на вкус мобильную рекламу.

На эту тему сейчас много пишут и говорят, на любой приличной конференции есть секция по мобильной рекламе, но найти конкретных примеров с цифрами, которые бы помогли спланировать РК нам не удалось. Мы протестировали несколько видов мобильной рекламы на практике и вот он, наш обзор: площадки, плюсы/минусы, финансовые показатели. Надеемся, будет полезно.

Исходные данные: целью РК было получение максимального количества загрузок мобильного приложения VoiceCards Mobile по минимальной цене. Пользователи могли скачать приложение бесплатно. Приложение подходит для любой модели сотового телефона.
Landing page — http://p.voicecards.ru/.
Читать дальше →
Total votes 27: ↑23 and ↓4+19
Comments4

Подсчет трафика приложений в Android 2.2

Reading time1 min
Views2.3K
TrafficStatsВ Froyo появился новый класс android.net.TrafficStats с функцией getUidRxBytes(int uid) и getUidTxBytes(int uid) который позволяет для каждого приложения получить объем отправленного/полученного трафика. Сразу родилась идея написать простенькую программу, мне кажется гугловцы это и имели ввиду когда делали эту функцию. Программа при вызове и раз в час обновляет значения, чтобы не потерять данные при перезагрузке, так же есть кнопка обновления для параноиков.

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

Читать дальше →
Total votes 63: ↑59 and ↓4+55
Comments76

Удача и провал в AppStore

Reading time4 min
Views3.7K
На волне повышенного внимания к мобильному софту, и в частности к App Store, мы тоже решили попробовать свои силы в этой хаотичной, на первый взгляд, массе. iPhone есть, MacBook есть, остается только выбрать что написать. Требования простые: это должно быть просто, это не должно занять много времени и это должно быть дешево. И еще очень хотелось написать такое, что и самим пригодится. Но все пошло не совсем так, как мы предполагали.
Под катом описание того, как мы все делали, рекламировали и что в итоге получилось.
Total votes 161: ↑148 and ↓13+135
Comments133

Вход в систему «по лицу»

Reading time3 min
Views23K
Компания Luxand, специализирующаяся на распознавании лиц, выпустила новую версию своей бесплатной программы для авторизации в ОС «по лицу», которая называется Blink!. Теперь можно авторизироваться, просто посмотрев в вебкамеру вашего ноутбука. и это куда удобнее, чем каждый раз вводить пароль, да и безопаснее. Главное, чтобы программа всегда могла вас распознать, но тут, как уверяют нас разработчики, проблем быть не должно, они обещают, что Blink! распознает ваше лицо, даже если Вы:
  • наденете/снимете очки
  • наденете/снимете контактные линзы
  • поменяете стрижку
  • сбреете/отрастите бороду
  • сделаете/смоете макияж
  • в условиях недостаточного/избыточного освещения

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

А тут можно посмотреть на другие разработки компании.

Подробнее об установке и работе...
Total votes 135: ↑94 and ↓41+53
Comments193

Information

Rating
Does not participate
Registered
Activity