Как стать автором
Обновить
0
Dreammaker @Dreammakerread⁠-⁠only

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

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

jQuery плагин визуального стека сообщений

Время на прочтение2 мин
Количество просмотров3.8K
Стояла задача динамического визуального отображения реакции на действия пользователя со стороны системы.
Другими словами: изменилось какое-то состояние объекта — вывести сообщения об удачном завершении сохранения изменения в базе/системе.
Написание плагина не заставило себя ждать...
 
Читать дальше →
Всего голосов 43: ↑40 и ↓3+37
Комментарии35

Founder Institute: стартап в 10 шагов за 2000$

Время на прочтение3 мин
Количество просмотров1.1K
image
Большинство предпринимателей видят переход от идеи до стартапа сложным и дорогим. К счастью для них, основатель акселератора стартапов Founder Institute Адео Рези (Adeo Ressi), представил план из десяти простых шагов для достижения поставленной цели. И хотя нет универсального рецепта для всех стартапов, Рези считает, что его шаблон поможет любому предпринимателю приблизиться к собственному технологическому бизнесу менее чем за 2000$.
Читать дальше →
Всего голосов 70: ↑51 и ↓19+32
Комментарии31

Каким надо быть руководителем? Секреты профессии

Время на прочтение4 мин
Количество просмотров9.7K
Скажу сразу — «Америку не открываю», так же как не «изобретаю велосипед». Статья базируется на модели ситуационного лидерства Херси-Бланчарда. Сама модель в значительной степени изменена в применении к управлению именно ИТ-командами в нашей стране и подкреплена практическим опытом управления командами в Майкрософт Рус и в собственном бизнесе.

Выбирая между «академическим» и «популярным» стилями изложения выбрал «академический». Все таки разговор о серьезных вещах. Так что если эта тема Вам прямо сейчас не супер-актуальна — смотрите диаграммы, их достаточно для понимания идеи. Остальное — для достаточно узкой аудитории.
Читать дальше →
Всего голосов 101: ↑90 и ↓11+79
Комментарии50

Монетизация проекта: 8 + 4 способa заработать ничего

Время на прочтение6 мин
Количество просмотров3.5K
WEBO SoftwareЭто, видимо, уже третья статья (первая, вторая) на тему построения софтверного бизнеса в России «с нуля». В прошлой просили рассказать о наших моделях монетизации — рассказываю (акцент сделан на самих моделях, а не на построении каналов продаж программного обеспечение вообще.)

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

Но все по порядку.
Читать дальше →
Всего голосов 80: ↑62 и ↓18+44
Комментарии60

25 вопросов, которые сделают ваше веб приложение лучше

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

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

перейти к вопросам
Всего голосов 111: ↑75 и ↓36+39
Комментарии32

Когда картинка красноречивее 1024 слов – прототипирование с MockingBird

Время на прочтение2 мин
Количество просмотров7.3K
image Для написания ТЗ я задался вопросом поиска простого и удобного средства создания прототипов веб-страниц. Хотелось чего-то бесплатного и в онлайне, некой альтернативы Axure. Такой сервис удалось найти, его я и предлагаю вашему вниманию. Итак, встречайте www.gomockingbird.com – сервис, позволяющий создавать очень красивые прототипы легко и удобно.
Помимо представления самого сервиса, этим постом хотелось также привлечь внимание общественности к полезной практике прототипирования.
Читать дальше →
Всего голосов 137: ↑129 и ↓8+121
Комментарии54

Рекомендации друзей для социальных сетей

Время на прочтение2 мин
Количество просмотров1.8K
Не давно писал как можно рекомендовать товар в Интернет-магазинах или других местах, используя информацию о пользователе. Сейчас хочу показать алгоритм, который позволяет рекомендовать друзей, например в социальных сетях.

Первый шаг, представим информацию о пользователя в интервальной шкале и рекомендуем пользователю друзей используя коэффициент корреляции Пирсона, который будет измеряет степень линейной зависимости между двумя интервальными переменными. Например, у нас есть 4 пользователя: Дима, Анна, Петя и Саша. Мы знаем о них информацию, которую представляем в виде чисел в массиве (интересы, блоги, возраст и т.д.)
Читать дальше →
Всего голосов 38: ↑29 и ↓9+20
Комментарии46

Горячая замена кода (code hot swapping) в РНР

Время на прочтение10 мин
Количество просмотров3.1K
Погода за окном просто требует чего-то горяченького, поэтому воспользовавшись возможностью что-то по исследовать в свободное время, я решил подумать — а можно ли не останавливая скрипт, подменить функцию, которая выполняется? С таким требованием я встретился чуть ранее, при разработке нашего стартапа. У нас был один из внутренних серверов, который заведовал всеми действиями между пользователями в реальном времени. Это обычный РНР-демон-роутер, который обрабатывал запросы от клиентских запросов (внутри сервера), но была одна сложность — в случае, когда я что-либо изменял в коде сервера или обработчиков отдельных команд, демон приходилось перезагружать, что означало отключение текущих клиентов и потеря информации о состоянии сервера (этот вопрос решаемый, конечно). То же самое было в случае ошибки в коде — все подключенные пользователи сразу это чувствовали на себе (хорошо, что все они такие же разработчики, а не реальные клиенты). Можно ли этого избежать?

Конечно можно, например, отказавшись от скриптов-демонов, как мы и сделали. Однако это проблему не сняло, просто переместило ее в другую плоскость. Ведь остались другие сервисы-демоны, которые также должны работать непрерывно, хоть их значимость меньше, однако перезагружать каждый раз не очень то хочется. Поэтому решил я поискать возможность на лету подключать новый код и сразу его исполнять. Минимальным кодом будет функция, но вполне возможно подключать и методы классов.
Читать дальше →
Всего голосов 38: ↑27 и ↓11+16
Комментарии59

Как сделать приложение, которое будет нравиться пользователям

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

Предисловие


К сожалению, как и везде, по-настоящему хорошие и удобные программы можно встретить довольно редко, что лично меня, как программиста, обычно очень расстраивает. Поэтому я решил написать эту статью в надежде, что хотя бы среди читателей Хабрахабра, которые занимаются разработкой программного обеспечения, качество их приложений вырастет. Я не рассматриваю создание софта с точки зрения получения коммерческой выгоды, я в этом не очень силён :). Поэтому, возможно, некоторые озвученные здесь советы могут оказаться вредными в применении к коммерческому софту. Тем не менее, если вы разрабатываете Open Source или бесплатный софт, то озвученные советы могут вам помочь в улучшении качества своих продуктов и улучшения собственной квалификации как программиста.
Читать дальше →
Всего голосов 81: ↑56 и ↓25+31
Комментарии65

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

Время на прочтение1 мин
Количество просмотров22K
В связи с недавней серией постов на тему визуализации данных в вебе меня попросили посоветовать библиотеки для рисования диаграмм Ганта, что с удовольствием и делаю.

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

Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии38

Что нужно для хорошего, качественного стартапа

Время на прочтение8 мин
Количество просмотров1.4K
Осторожно: под катом много текста, кому-то возможно в достаточно сложном изложении. Так же прошу прощение за качество рисунков, нет средств на лэп-топе =( приеду домой поправлю.

Когда я собрался с мыслями открыть свое дело. Обошел с десяток инвесторов, процедура общения с ними отдельная тема. Но все же именно это побудило меня поделится своими мыслями о том, нужны ли стартапу деньги? Интересно мнение хабравчан по этому поводу. Хотя тут можно найти 1000 мнений, но все же…

По сути это небольшая заметка о том как же трудно работать. Особенно если ты хочешь сделать свое дело действительно хорошим, а не очередной «Fast Start-up, but...»! О том сколько нужно всего учесть и предусмотреть.

читать дальше
Всего голосов 34: ↑19 и ↓15+4
Комментарии13

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

Время на прочтение7 мин
Количество просмотров23K
Итак, этот пост будет немного «поспешным», что неудивительно для субботнего утра (оригинальная статья была опубликована 18-ого августа 2007-ого года. прим.пер.), но я хочу сослаться на этот топик в одной работе, которой собираюсь заняться этой осенью. Я планирую плодотворно поработать: создать несколько ресурсов со ссылками в интернете, которые помогут детям в создании своих первых проектов, а также в обучении таким предметам как физика, физика космоса и робототехника/электроника. Если вы знаете меня, то вы знаете, что я довольно долго изучал эти вещи. Проблема в процессе обучения этим предметам в наше время в том, что они чересчур абстрактны и часто ограничиваются теорией «на бумаге». Чтобы изучить эти предметы на уровне более высоком, чем просто знание тривиальных вещей и фактов, вы должны по-настоящему «заниматься» наукой, а не просто «читать» о них.

Существует несколько статей и моделей, которые серьезно повлияли на мое отношение к некоторым вещам, перевернули мой взгляд на подход к изучению этих вещей. Я коснусь каждой из них по-отдельности, а затем соберу вместе накопленные знания и опишу подход, который я собираюсь опробовать. Ни одна из этих статей или идей не станет ни для кого откровением, однако они производят впечатление, когда вы их читаете. Авторы проделали огромную работу и описали предмет так глубоко и детально, как я никогда не смогу.
Читать дальше →
Всего голосов 63: ↑53 и ↓10+43
Комментарии56

Шпаргалка по API jQuery 1.4

Время на прочтение1 мин
Количество просмотров6.3K
jquery_1_4_cheat_sheet

Сегодня (14 января) — дата релиза новой версии популярного JavaScript-фреймворка jQuery. К этому событию мы подготовили свою шпаргалку по API новой версии (1.4), которой хотим со всеми поделиться.

Шпаргалка существует в двух вариантах:
  1. Online-вариант с ссылками на описание каждой функции на сайте новой документации
  2. PDF-вариант для распечатки

Читать дальше →
Всего голосов 92: ↑88 и ↓4+84
Комментарии42

phpDaemon — фреймворк асинхронных приложений

Время на прочтение6 мин
Количество просмотров44K
Сегодня речь пойдет о phpDaemon — асинхронном модульном демоне-фреймворке, который берёт на себя обработку I/O (libevent) и другие низкоуровневые задачи, присущие демонам. С его помощью легко писать правильные сетевые приложения с блэкджеком и шлюхами.
Из коробки идут сервера FastCGI, HTTP, CGI, FlashPolicy, Telnet, WebSocket (!) — да-да тот самый волшебный пендаль новый протокол от Google. И клиенты mysql, memcached, mongodb… И многое другое, полный список под катом. Работать с сетью действительно просто. Программист средней руки может написать, к примеру, IRC-бота за считанные часы.
В качестве наглядного примера я реализовал вот этот чат на phpDaemon + WebSocket + MongoDB + jQuery. Он наглядно демонстрирует преимущества этой технологии: доставка сообщений мгновенна, накладные расходы при обмене данными минимальны, высока производительность, приложение масштабируется горизонтально. Исходники этого чата (в данный момент 17 кб). Прошу заметить, чат тестировался и работает в Chrome, FF, IE6+, Iron, Safari.
Читать дальше →
Всего голосов 114: ↑99 и ↓15+84
Комментарии103

Двунаправленный асинхронный обмен данными в веб-приложениях

Время на прочтение4 мин
Количество просмотров21K
Одной из основных черт современного веба эксперты называют RIA, что часто расшифровывается как тренд, когда веб-приложения по функциональности приближены к настольным приложениям. Тем не менее, это приближение весьма условно. Подавляющее большинство «обогащеных» веб-приложений по-прежнему построены по модели «запрос-ответ». Т.е. события на стороне клиента могут быть отражены на стороне сервера, никак не наоборот. Для того чтобы реализовать такую банальную вещь как чат приходиться прибегать к изощренным уловкам. Спасибо Алексу Расселу (Alex Russell) из Dojo, у нас есть даже имя для подобной техники – Comet.
Читать дальше →
Всего голосов 68: ↑64 и ↓4+60
Комментарии52

Разработка расширения для Envos.Blogs

Время на прочтение1 мин
Количество просмотров829
Сделал небольшой видео-туториал, который научит вас разрабатывать расширения для Envos.Blogs, а тех кто расширения разрабатывать не собирается просто познакомит с возможностями Envos Framework :)

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

Записки можно удалять и добавлять. Незалогиненный пользователь к модулю доступа не имеет. В примере показывается так же как добавить свой валидатор. В данном случае он проверяет что длина текста записки не равна нулю.

Ролик снабжен комментариями по ходу, но я старался не перегружать ролик текстом, так что следите внимательно за тем, что происходит на экране. И не забудьте сделать Full Screen.



Читать дальше →
Всего голосов 12: ↑7 и ↓5+2
Комментарии4

Создаём медиа-пульт из телефона для Linux'a

Время на прочтение5 мин
Количество просмотров8.3K

На хабре мелькала уже статья о такой программке, как BluePad. Прочитав ещё тогда эту статью, я загорелся желанием управлять своей системой с телефона (благо, у всех нынешних телефонов есть bluetooth;)

BluePad использовать у меня не получилось, ибо она рассчитана на более-менее не маленькие экраны. В связи с чем, в мой экранчик на Nokia 3110c она тупо не влазила… Поэтому, я начал искать дальше. И в в процессе поисков наткнулся на такую замечательную программу, как anyRemote. Именно о ней и пойдёт речь.

Всё, что нам понадобится:
1) Телефон с bluetooth
2) Компьютер с Linux’ом на борту 
3) Bluetooth адаптер для компа.

Далее под катом.
Всего голосов 61: ↑54 и ↓7+47
Комментарии42

WebSockets — полноценный асинхронный веб

Время на прочтение7 мин
Количество просмотров345K
Пару недель назад разработчики Google Chromium опубликовали новость о поддержке технологии WebSocket. В айтишном буржунете новость произвела эффект разорвавшейся бомбы. В тот же день различные очень известные айтишники опробовали новинку и оставили восторженные отзывы в своих блогах. Моментально разработчики самых разных серверов/библиотек/фреймворков (в их числе Apache, EventMachine, Twisted, MochiWeb и т.д.) объявили о том, что поддержка ВебСокетов будет реализована в их продуктах в ближайшее время.
Что же такого интересного сулит нам технология? На мой взгляд, WebSocket — это самое кардинальное расширение протокола HTTP с его появления. Это не финтифлюшки, это сдвиг  парадигмы HTTP. Изначально синхронный протокол, построенный по модели «запрос — ответ», становится полностью асинхронным и симметричным. Теперь уже нет клиента и сервера с фиксированными ролями, а есть два равноправных участника обмена данными. Каждый работает сам по себе, и когда надо отправляет данные другому. Отправил — и пошел дальше, ничего ждать не надо. Вторая сторона ответит, когда захочет — может не сразу, а может и вообще не ответит. Протокол дает полную свободу в обмене данными, вам решать как это использовать.

Я считаю, что веб сокеты придутся ко двору, если вы разрабатываете:
— веб-приложения с интенсивным обменом данными, требовательные к скорости обмена и каналу;
— приложения, следующие стандартам;
— «долгоиграющие» веб-приложения;
— комплексные приложения со множеством различных асинхронных блоков на странице;
— кросс-доменные приложения.

Заинтриговал? Давайте посмотрим подробнее
Всего голосов 222: ↑210 и ↓12+198
Комментарии389

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

Время на прочтение5 мин
Количество просмотров20K
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-а:
Читать дальше →
Всего голосов 99: ↑92 и ↓7+85
Комментарии141

Список полезных PHP классов и библиотек

Время на прочтение4 мин
Количество просмотров65K

Email


  • Swift Mailer
    Swift Mailer легко интегрируется в любое PHP-приложение. Это гибкий и элегантный ООП-подход к отправке писем с множеством функций: отправка эл.почты, используя SMTP, SendMail, Postfix, поддержка серверов и др.
  • PHPMailer
    Лучший класс для работы с эл. почтой. Поддерживает сообщения в цифровой форме, S/MIME шифрование, текстовые и HTML-письма, изображения, поддерживает несколько Email’ов, SMTP-аутентификация.

Читать дальше →
Всего голосов 175: ↑145 и ↓30+115
Комментарии75

Информация

В рейтинге
Не участвует
Откуда
Украина
Зарегистрирован
Активность