Обновить
230
0
ainu@ainu

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

Отправить сообщение

Открытое письмо стартапщикам

Время на прочтение4 мин
Охват и читатели609
Доброго всем дня. Прошу прощения за пафосное название, но по-другому сформулировать не получилось. Дело в том, что сегодня, как говорят психологи, у меня случился инсайт. Несколько вопросов, которые долго мучили меня, разрешились, и я взял на себя смелость поделиться этим с сообществом, полагая, что это может быть полезно стартапщикам.
Начну, пожалуй, с самих вопросов:
1. Почему, когда ты запускаешь интернет-стартап, все вокруг начинают спрашивать «Зачем ты это делаешь? Кому это нужно? Как будешь зарабатывать?» и тому подобное, а когда, например, организовываешь IT-компанию, никто ничего не спрашивает?
2. Что заставляет людей уже через секунду после поста на хабре о твоем новом проекте совершенно не заслужено унизить тебя в коментах и облить грязью твое детище?
3. Почему так мало появляется действительно популярных проектов, ведь хороших идей достаточно, ну, если и не у нас, то в мире, так почему же?
4. Что необходимо, чтобы твой проект был популярен?
Мои варианты ответов под катом.
Читать дальше →

Откуда действительно берутся посредственные сайты

Время на прочтение4 мин
Охват и читатели1K
Я не то что не согласен с предыдущим оратором, я просто долгое время принимал участие в создании посредственных сайтов. Не в рунете конечно, но здесь у нас происходит такая же фигня.

Сперва стоит определиться, и далее не путать посредственные сайты с откровенно идиотскими сайтами. Первые вроде как ничего сами по себе, но особого восторга не вызывают, юзабилити где-то на среднем уровне, косячки вылезают и прочие неудобства. В общем, клиенту нравится, а гордиться таким сайтом никто не будет. Другое дело идиотские сайты — это большинство поделки фрилансеров-недоучек, у которых единственный плюс, что они стоят 2 тыщи рублей штука. Последние я не рассматриваю.

Итак, процесс создания посредственного сайта…

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

Верстка на HTML5

Время на прочтение3 мин
Охват и читатели65K
html5

Несмотря на то, что стандарт HTML5 официально не утвержден, использовать его можно уже сейчас. Большинство браузеров уже понимают новые структурные элементы и для его использования достаточно добавить новый doctype.
Читать дальше →

JetBrains WebIDE — третья публичная сборка

Время на прочтение1 мин
Охват и читатели3.3K
Вышла третья предварительная сборка (номер 445) новой среды разработки для PHP — JetBrains Web IDE PHP developers edition.
В этой версии мы приняли во внимания пожелания пользователей (в том числе и фидбэк с хабра:) и добавили несколько новых функций — YAML, дополнение членов объявленных через теги PHPDOC @property и method, а также усовершенствовали дебаггер. Исправлено множество различных ошибок и серьезно улучшена производительность автодополнения в редакторе.

Загрузка новой версии с официальной страницы «программы ранней доступности» Web IDE.
Детальный список изменений — в блоге Web IDE.

UPD: Напоминаю всем что это даже не бета — мы просто демонстрируем над чем работаем. Вы главное пишите чего ВАМ в вашем любимом IDE не хватает и что вы больше всего цените — а мы позаботимся чтобы появилась достойная альтернатива!

YAML + structure PHPDOC completion

dklab_multiplexor: постоянное Javascript-соединение с сервером в условиях сотен тысяч онлайн-клиентов

Время на прочтение4 мин
Охват и читатели6.9K
Dklab_multiplexor — это инструмент, который позволяет держать одновременно сотни тысяч долгоживущих открытых HTTP-соединений с сервером. Например, если на вашем сайте находится одновременно несколько сот тысяч посетителей, каждый из них может быть связан с сервером постоянным соединением, установленным из JavaScript. Это например, полезно при организации онлайн-чатов или мгновенных уведомлений.

Dklab_multiplexor не претендует на полную универсальность или исключительность (кстати, если знаете аналоги, близкие по простоте к multiplexor-у, пишите в комментариях). Это лишь простейший инструмент, который наконец-то дошли руки опубликовать.

Зачем это нужно?


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

Данную задачу можно решить двумя способами.
  1. Неправильный способ. Раз в 10 секунд делать из JavaScript запрос на сервер для проверки, не появилось ли новых сообщений. Этот метод не работает, если на сайте одновременно находится очень большое количество пользователей, т.к. нагрузка на сервер растет слишком быстро. Кроме того, потребление трафика пользователем также оказывается крайне высоким.
  2. Правильный способ. Устанавливать постоянное и длительное соединение с сервером, ожидая поступления данных через него. Если сообщений нет, соединение просто держится открытым на протяжение нескольких минут. Если соединение по каким-либо причинам закрылось, оно вновь открывается. В итоге и трафика потребляется мало, и нагрузка на сервер оказывается невелика. Так работает GMail, Мой Круг и т. д., и именно на этом принципе построен dklab_multiplexor.
+-------------------+                    ------------------ 
| Сервер обработки  |                   |                  |   <===WAIT=== Клиент A
| и базы данных     |  ======IN=======> |   Мультиплексор  |   <===WAIT=== Клиент B
| (e.g Apache + PHP |                   |                  |   <===WAIT=== Клиент C
+-------------------+                    ------------------ 
(указаны направления установления TCP-соединений).
Читать дальше →

Загрузка видео посредством YouTube API

Время на прочтение5 мин
Охват и читатели70K
Некоторое время назад по работе пришлось изучить и настроить работу сайта заказчика с YouTube, после этого для своего, как это теперь принято говорить, стартапа, я применил практически те же знания и умения. В этом небольшом посте я расскажу, как используя youtube api загружать видео файлы.
Читать дальше →

Список полезных инструментов для php разработчика

Время на прочтение10 мин
Охват и читатели153K
PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.
Читать дальше →

Redis — высокопроизводительное хранилище данных

Время на прочтение2 мин
Охват и читатели102K
Бодрый день, хаброчеловеки!

Что такое Redis?


Redis — это высокопроизводительное нереляционное распределённое хранилище данных. В отличие от Memcached, который может в любой момент удалить ваши данные, вытесняя старые записи новыми, Redis хранит информацию постоянно, таким образом он похож на MemcacheDB.

Чем Redis отличается от существующих решений?


API для работы с Memcached (MemcacheDB) позволяет хранить массивы, но эти массивы будут сериализованы и сохранены как строки, таким образом атомарные операции над такими массивами не возможны.
Redis позволяет хранить как строки, так и массивы, к которым можно применять атомарные операции pop / push, делать выборки из таких массивов, выполнять сортировку элементов, получать объединения и пересечения массивов.

Производительность


110000 запросов SET в секунду, 81000 запросов GET в секунду на Linux-сервере начального уровня (тесты).

Высокая скорость работы Redis обеспечивается тем, что данные хранятся в оперативной памяти и сохраняются на диск либо через равные промежутки времени, либо при превышении определённого количества не сохранённых запросов. Из этого вытекает, что используя Redis, вы можете потерять результаты нескольких последних запросов, что вполне приемлимо для большинства веб-приложений, учитывая, что обращение к Redis по скорости сравнимо с обращением к оперативной памяти. Тем не менее, потерь можно избежать через избыточность — Redis поддерживает неблокирующую master-slave репликацию.

Sharding


Redis, как и Memcached, может работать как распределённое хранилище на многих физических серверах. Такой функционал реализуется в клиентских библиотеках, и к сожалению, «из коробки» этот функционал реализован пока только в Ruby API, однако это не мешает вам хешировать ключ самостоятельно и получать ID сервера, к которому с этим ключом обращаться.

API


API доступно для следующих языков:
  • Ruby
  • Python
  • PHP
  • Erlang
  • Tcl
  • Perl
  • Lua
  • Java


API для PHP доступно как в виде модуля, написанного на C, так и в виде PHP5 класса, который общается с Redis-сервером через сокеты, таким образом не требуется устанавливать модуль.
Кроме того существует PHP5 класс от отечественного разрабочика (с именем, заслуживающим доверия. Я серьёзно.) — IMemcacheClient. (Спасибо DYPA за наводку)

Перспективы развития


Разработка ведётся очень активно, комиты происходят почти каждый день, сейчас доступна версия Redis 0.900 (1.0 release candidate 1), которая очень скоро станет версией 1.0
В ближайшем будущем авторы обещают внедрить разные интересные фичи, в том числе и сжатие данных.

Лицензия и поддерживаемые платформы


Redis — написан на ANSI C и работает на большинстве POSIX-систем (Linux, MacOS X). Это бесплатное открытое ПО под BSD лицензией =)

Up: Rediska — удобный PHP-клиент для key-value базы Redis. Оф.сайт.

Поддерживает-ли браузер пользователя CSS в необходимом объеме?

Время на прочтение1 мин
Охват и читатели1.8K
Modernizr — это небольшая простая JavaScript-библиотека, которая поможет получить ответ на вопрос поддерживает ли браузер пользователя такие технологии как:
Читать дальше →

IE8 и поддержка стандартов — transparent PNG + opacity, а также data:URI + AlphaImageLoader

Время на прочтение1 мин
Охват и читатели8.3K
Наковырял пару проблем работы браузера IE8. Может кому пригодится.

Прозрачный PNG + filter:alpha(opacity)



.class{
background:url(transparent.png);
filter:alpha(opacity=50);
}

результат — прозрачные пиксели становятся черными

Лекарство


нужно применить мульти-фильтр

.class{
background:none;
filter:alpha(opacity=50) progid:DXImageTransform.Microsoft.AlphaImageLoader(src=transparent.png, sizingMethod='crop');
}


Следующая проблема нашлась благодаря предыдущей
Читать дальше →

Лучшее видео, которое я видел сегодня, заставит вас улыбаться

Время на прочтение1 мин
Охват и читатели2.5K
Если это видео не заставляет вас улыбаться на оставшуюся часть дня, то вы ублюдок (перевод от слова bastard, не принимайте близко к сердцу, это не оскорбление) с холодным сердцем. Смотрите его от начала до конца и вы не пожалеете об этом.


Это сингл Stand By Me был записан неизвестными уличными музыкантами со всего мира при помощи виртуальной студии. Все началось с базового трек-вокала и гитары, записанных на улице Санта-Моника, Калифорния, уличным музыкантом Роджером Ридли. Базовая дорожка была затем отправлена в Нью-Орлеан, штат Луизиана, где слепой дед Эллиот (певец из французского квартала) добавил уже свой вокал и гитару, слушая записанный Ридли трек через наушники. В том же городе были добавлены звуки стиральной доски Чаза.

После этого данный трек был провезен через многие страны Европы, Африки и Южной Америки. Везде добавлялись множественные семплы инструментов и вокала, которые были собраны в окончательном варианте, который вы видите сейчас. Все делалось при помощи обычных ноутбука и микрофонов.

Взято отсюда, Оригинал сообщения.
UPDATE: Перенесено в блог «Звук и музыка»
UPDATE: Сайт всего проекта — www.playingforchange.com (спасибо xabk)

Linux: Установка программ не входящих в дистрибутив при помощи менеджера xstow

Время на прочтение3 мин
Охват и читатели116K
Введение


Современные дистрибутивы Linux имеют в своем составе очень много софта. Проблемы с установкой/удалением/обновлением такого софта решены, можно сказать, идеально. Всем занимается менеджер пакетов. Выбрали нужный пакет, менеджер пакетов установит его. Нужно удалить — менеджер пакетов удалит и аккуратно все почистит. Но, иногда хочется, или нужно, установить программное обеспечение, не входящее в дистрибутив, или распространяющееся в исходниках, или даже в бинарниках. Как поступать в таких случаях?
Читать дальше →

Приколы от операторов службы поддержки QIWI

Время на прочтение4 мин
Охват и читатели33K
Все персонажи и ситуации реальны. Записаны операторами службы поддержки пользователей QIWI.

А: абонент, О: оператор.

А: Здравствуйте! Я деньги не правильно положил, это значит я придурок и ВСЁ?!

О: Вы произвели оплату не через терминал «Киви»!(в 10ый раз)
А: Мне хоть арбуз! Чего вы меня своими фруктами кормите!!!

А: Девушка, я Вам вчера сунул, а у меня сегодня еще не упало!

О: Назовите, вашего провайдера.
А: Как я его позову, я из квартиры звоню……

О: Вы оплачивали через терминал QIWI?
А: (в сторону) Слышь, мать, она киви хочет, ниче по платежу не говорит!
Читать дальше →

Opera Unite заново открывает Веб

Время на прочтение10 мин
Охват и читатели17K
image


«Облачные» вычисления и веб-приложения – теперь не одно и то же

16 июня, Норвегия, Осло – Компания Opera Software сегодня официально представила Opera Unite – новую технологию, меняющую представление об Интернете, как о клиент-серверной модели обмена информацией. Opera Unite способна сделать любой компьютер не только клиентским устройством, но и сервером. Это даёт возможность пользователям связываться с компьютерами знакомых и друзей напрямую и делиться информацией без использования онлайн-сервисов и приложений.

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

Разработчикам важно знать, что сервисы Opera Unite базируются на тех же открытых веб-стандартах, что и веб-сайты. Это существенно упрощает создание новых приложений, работающих на базе Opera Unite – разрабатывать их ничуть не сложнее, чем создавать веб-страницы.

Технология Opera Unite доступна в специальной версии браузера Opera 10, которую можно бесплатно скачать по адресу labs.opera.com.
Читать дальше →

wTorrent — web-based bittorrent клиент для Linux\BSD

Время на прочтение2 мин
Охват и читатели5K
wTorrent — удобная графическая web-морда к популярному консольному клиенту rTorrent.

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

Здесь я опишу как установить надстройку над ним для управления своими торрентами через Интернет.

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

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

Panda USB and AutoRun Vaccine — лекарство от autorun-вирусов на флешке

Время на прочтение5 мин
Охват и читатели27K
5 марта я написал свою статью о скрипте AUTOSTOP для защиты флешек от autorun-вирусов, получившую немалый отклик. И только я сегодня собрался писать новую статью об альтернативном (более надежном) методе, как на одном из ресурсов, в теме, посвященной обсуждению скрипта, мне подсказали программу Panda USB and AutoRun Vaccine, работающую именно по методу, который я хотел описать. Причем работающую просто блестяще! Файл autorun.inf, создаваемый ею на флешке (дабы предотвратить создание такого файла вирусом) невозможно ни удалить, ни переименовать (в чем была слабость моего скрипта), ни модифицировать, ни открыть.

image

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

эффективное использование vim: «incredibly tips, part I»

Время на прочтение4 мин
Охват и читатели6.1K
Доброго всем времени суток
стараясь сдержать свое обещанию, хочу опубликовать след. статью об редакторе vim
В статье подразумеваться что читатель уже знаком с азами работы в vim'e, она будет посвящая более эффективному использованию накопленных знаний.

tips 1...

эффективное использование vim: «from the very begining»

Время на прочтение7 мин
Охват и читатели28K
«Для меня vi это Дзен.
Использование vi — это практика дзена.
Каждая команда является коаном.
Полный смысла для пользователя,
Бессмысленный для непосвященного.
Вы познаете истину каждый раз когда вы его используете.»
--reddy@lion.austin.

на сколько хорошо ты знаешь язык vim?
посмотри на клавиатуру,
можешь ли ты сказать что выполняет каждая буква?
как много ты знаешь?
как много используешь?


эффективное использование vim

Корзина в современном интернет-магазине

Время на прочтение3 мин
Охват и читатели31K
Здравствуйте, хочу написать цикл статей про юзабилити веб-интерфейсов, и начну, как не странно, с корзины покупок.

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

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

Итак, начнем!

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

Реляционный подход

Время на прочтение1 мин
Охват и читатели1.3K
Оговорюсь, свою CMS я не пишу, я лишь озвучу те идеи, которые хотелось бы видеть в CMS.

Модель документа, отложенный рендеринг

собственно статья

Информация

В рейтинге
6 618-й
Дата рождения
Зарегистрирован
Активность