Pull to refresh
0
0

User

Send message

Межсайтовая авторизация 2

Reading time2 min
Views27K
По итогам поста, сделанного в июле 2009 и продолжительным испытаниям, мы пришли к простой и оптимальной для нас схеме межсайтовой авторизации.
Спешу поделиться с общественностью
Total votes 51: ↑41 and ↓10+31
Comments61

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

Reading time6 min
Views44K
Сегодня речь пойдет о 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.
Читать дальше →
Total votes 114: ↑99 and ↓15+84
Comments103

Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

Reading time16 min
Views40K
Нравится мне эта картинка, у меня, вот никогда такие красивые графики в какти не получались =(

Введение


С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
Статья большая, так что будет поделена на логические блоки:

0. Зачем вообще что-то оптимизировать?
  
1. Оптимизация ОС (FreeBSD)
  1.1 Переход на 7.х 
  1.2 Переход на 7.2
  1.3 Переход на amd64
  1.4 Разгрузка сетевой подсистемы
  1.5 FreeBSD и большое кол-во файлов
  1.6 Softupdates, gjournal и mount options
  
2. Оптимизация фронтенда (nginx)
  2.1 Accept Filters
  2.2 Кеширование
  2.3 AIO
  
3. Оптимизация бэкенда
  3.1 APC
  3.1.1 APC locking
  3.1.2 APC hints
  3.1.3 APC fragmentation
  3.2 PHP 5.3
  
4. Оптимизация базы данных
  4.1 MySQL 
  4.1.1 Переход на 5.1
  4.1.2 Переход на InnoDB
  4.1.3 Встроеный кеш MySQL - Query Cache
  4.1.4 Индексы
  
4.2 PostgreSQL
  4.2.1 Индексы
  4.2.2 pgBouncer и другие.
  4.2.3 pgFouine
  
4.3 Разгрузка базы данных
  4.3.1 SphinxQL
  4.3.2 Не-RDBMS хранилище
  4.4 Кодировки
  4.5 Асинхронность
  
Приложение. Мелочи.
  1. SSHGuard или альтернатива.
  2. xtrabackup
  3. Перенос почты на другой хост
  4. Интеграция со сторонним ПО
  5. Мониторинг
  
 6. Минусы оптимизации

Кому что-нибудь из этого списка интересно, жмём сюда...
Total votes 375: ↑368 and ↓7+361
Comments105

Побит рекорд самого короткого кода по определению IE

Reading time1 min
Views3.3K
Без малого год назад, я уже писал (http://habrahabr.ru/blogs/javascript/50544/) о самом коротком способе определение браузера Internet Explorer, но вот некто Aleko нашел еще более короткий вариант:

-[1,]

Всего 5 байт. Пример использования:
if(-[1,]){
alert("Not IE!");
}
Total votes 196: ↑178 and ↓18+160
Comments76

Страничка для счастливых обладателей IE6

Reading time1 min
Views6.1K
Наконец-то и я решился… Все новые проекты отныне будут иметь спец-страницу для Internet Explorer 6.

Изучив аналогичные решения в Интернете, решил создать свою страничку. Русский текст наскреб понемногу с разных проектов и отредактировал на свой вкус. Дизайн осознанно и намерено использовал майкрософтовский, чтобы хоть как-то повысить планку доверия для тех несчастных, что до сих пор сидят на IE6. Надеюсь, меня за это не осудят, тем более сделано это исключительно для многострадальных клиентов Майкрософта.
Читать дальше →
Total votes 197: ↑161 and ↓36+125
Comments207

Ubuntu Server на домашнем компьютере. Раздадим интернет, скачаем torrent

Reading time4 min
Views50K
В последнее время все больше и больше входят в моду домашние сервера, используемые для хранения контента, закачки торрентов, да и просто для раздачи интернета. Не так давно, воодушевившись обзорами домашних серверов, из подручных средств был собран домашний сервер:

Жесткий диск: 500Gb
Материнская плата на 478 сокете
Процессор: Pentium 4 — 2.6Ghz HT
Все это в стареньком корпусе…
image
Итак, что мы имеем:
•Домашний сервер
•Городскую локальную сеть, выдающую интернет посредством VPN соединения

Задачи:


Использовать сервер как средство хранения контента
Возможность скачки торрентов
Раздача интернета всей семье посредством VPN

Итак...поехали!
Total votes 114: ↑72 and ↓42+30
Comments199

Чему я научился в Майкрософт

Reading time9 min
Views6K
Проработав пять лет в различных командах в Майкрософт я вынес несколько вещей, о которых я даже не подозревал, когда оканчивал колледж. Основные ценности, чему я научился, вынесенные уроки, причина моего крика на друзей, как ни называй, они сослужили мне хорошую службу.

Некоторые из этих вещей специфичны для Майкрософт, но большая часть найдет применение в любой командной/корпоративной среде. Некоторые из них сложны – из-за них тебя могут уволить (а может и хуже), если ты не знаешь, что делаешь.
Читать дальше →
Total votes 290: ↑240 and ↓50+190
Comments108

Список Javascript библиотек для рисования графиков и диаграмм 2

Reading time2 min
Views37K
Продолжаем тему визуализации данных в интернете.

Предыдущие топики:
Читать дальше →
Total votes 52: ↑47 and ↓5+42
Comments12

Знай откуда пришел пользователь

Reading time2 min
Views18K
Когда вы открываете свой проект вы начинаете писать о нем везде, в том числе и на хабре.

Сервисы статистики типа Google Analytics дадут вам общую оценку трафика, а именно сколько посетителей пришло с какого ресурса. Можно настроить цели(goals) и отследить регистрации или покупки, но этого часто бывает недостаточно.

А что если вам нужна статистика о том откуда идут более активные пользователи или пользователи которые создали больше всего тем на форуме за какой-то промежуток времени, или сделали больше всего покупок в вашем интернет магазине. Вариантов может быть много и такие данные сервисы аналитики уже дать нет смогут.

Читать дальше →
Total votes 55: ↑40 and ↓15+25
Comments45

Highcharts: Красивые, динамические чарты за 5 минут!

Reading time2 min
Views66K
image
Highcharts — библиотека для создания чартов написанная на JavaScript, позволяет легко добавлять интерактивные, анимированные графики на сайт или в веб-приложение. На данный момент чарты поддерживают большое количество диаграмм линейных, круговых, колоночных рассеивающих и многих других типов.

Чарты работают со всеми популярными браузерами, включая Safari на iPhone.
Минимальная версия для IE составляет 6+. Также браузеры поддерживающие Canvas элемент, и в некоторых случаях SVG для графического рендеринга.
Читать дальше →
Total votes 139: ↑132 and ↓7+125
Comments49

Список Javascript библиотек для рисования графиков и диаграмм

Reading time1 min
Views22K
О визуализация графов в вебе говорили здесь, навеяно этой статьей.

Под катом обзор JavaScript библиотек для рисования графов, диаграмм и прочей красоты.
Читать дальше →
Total votes 93: ↑89 and ↓4+85
Comments36

436% безрисковой доходности за 2 года? Легко!

Reading time4 min
Views1.1K
Да, вы не ослышались. Именно 436% за два года. Именно безрисковой. И да, именно доходности. Но, чтобы не вводить Вас в заблуждение, сразу оговорюсь, что речь дальше пойдет вовсе не о вечном двигателе или подземной пирамиде Хеопса. Ниже мы рассмотрим сферичную, как конь в вакууме схему венчурного финансирования, предложенную нам одним инвестором. Но обо всем по порядку.

Немного истории


Сентябрь месяц. Занимаясь продвижением одного из наших проектов, нам в голову приходит мысль создания одного сервиса, сильно упрощающего работу пиарщика. Недолго думая, за пару недель мы собрали бета-версию, и в октябре сервис уже перешел в коммерческую стадию. Выйдя в том же месяце на прибыль в $1000 мы озадачились развитием сервиса и перешли в стадию активных поисков инвесторов.

Дальше интереснее…
Читать дальше →
Total votes 222: ↑186 and ↓36+150
Comments116

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

Reading time3 min
Views4.7K
Привет,
В отличие от других статей в блоге «Я пиарюсь», чтобы узнать, о каком сайте эта, придётся зайти под хабракат. Можно этого не делать и не забивать свободное место в мозгу ещё одним названием, но тогда ты не узнаешь, как, например, найти в рунете лучшие фантастические комедии за последние два года, узнать, когда появится HD-рип Аватара или гд
...часть текста отсутствует...
Total votes 290: ↑261 and ↓29+232
Comments236

RTM Context Autocomplete Menu

Reading time5 min
Views1.9K
Однажды я зашел на rememberthemilk.com и понял, что хочу такое же контекстное autocomplete меню в свой проект. В результате получился небольшой jquery плагин, который хочу презентовать в этом посте. Работает в ie6+, opera, safari, firefox, chrome (тестировал в последних версиях). В кратце расскажу в чем суть «контекстного» меню в RTM-стиле.

Это меню присоединяется к input-элементу, но, в отличие от обычных autocomplete меню, оно «всплывает» не для ввода всего значения элемента, а для какой-то логической части поля ввода. При этом меню позиционируется непосредственно под автодополняемым текстом. Вот как это выглядит:

image

Лицензия проекта — MIT / beerware.
Скачать библиотеку с примерами можно тут: js-context-autocomplete.googlecode.com/files/js-autocomplete-v5.tar
Последнюю ревизию забираем тут: svn checkout js-context-autocomplete.googlecode.com/svn/trunk js-context-autocomplete-read-only
Кому интересно поучаствовать в проекте — пишите в личку.
Временное online-demo (upd)

Под катом интересные моменты реализации, описание функциональности, примеры, список известных багов и фич для реализации.
Читать дальше →
Total votes 64: ↑63 and ↓1+62
Comments33

Путь от успешного стартапа до большой компании

Reading time5 min
Views2.2K
На Хабре довольно часто публикаются статьи о том, как правильно раскрутить свой стартап (например, вот эта статья). Но я пока еще не встречал статей о том, что делать со стартапом после того, как он успешно запущен и раскручен, поэтому я решил восполнить этот пробел и написать про статью про историю одного сферического стартапа в вакууме. Статья не обходится без выводов, базируется на реальном жизненном опыте и находится под катом.

С Новым Годом! С Новым Счастьем!
Читать дальше →
Total votes 109: ↑102 and ↓7+95
Comments51

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

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

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

Есть несколько бесплатных инструментов помогающих уменьшить и оптимизировать изображения. В этой статье вы найдете удобные инструменты для создания картинок для веба настолько маленьких по весу, насколько это возможно.
Обзор инструментов — под катом.
Читать дальше →
Total votes 86: ↑78 and ↓8+70
Comments72

Хакерская флешка из микросхем BIOS'a

Reading time3 min
Views27K
Наглядевшись на всевозможные корпуса для флешек, как коммерческие так и ди-ай-вайные, прочитав некоторое количество статей по модингу, родилось непреодолимое желание попробовать себя в данном виде творчества (разобрать, сломать, собрать). Это желание совпало еще с одним непреодолимым желанием — избавится от родного корпуса моего девайса USB Flash Drive.

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

– Ага, взявши в руки одну из материнок, мой взгляд практически сразу же упал на чип BIOS'а, вроде подходит, вроде все просто. Ринулся в гуглояндекс. Однако мой поиск не завершился просмотром кучи фотографий и чтением мануалов изготовления этих гик-накопителей.

Поэтому цель данного поста устранить это недоразумение. Тем более, что в результате кастомайзинга, получится вполне добротная вещь.
Читать дальше →
Total votes 154: ↑134 and ↓20+114
Comments109

Feedback для интернет-магазина, моя практика

Reading time10 min
Views5.3K
К уже написанному на хабре топику "Мелочи решают все".

Прочитал топик. Согласен со многим написанным там. Но… Я занимаюсь интернет-магазинами давно, и с более или менее постоянной занятостью. Если конечно мне в жизни больше нечем заняться, хотя даже в подобные моменты я занимаюсь интернет-магазинами. Речь в посте пойдет о том как заработать больше на обратной связи с заказчиком, клиентом… ээ «customer» :) И так дальше под катом. Кстати, извините за большое количество текста… но по другому в письменном виде не получается.

Читать дальше
Total votes 77: ↑74 and ↓3+71
Comments55

Немного советов начинающим и не очень

Reading time6 min
Views4.7K
image

Немного воды
Разрешите представиться — фрилансер-дизайнер с опытом работы чистым фрилансером всего полтора месяца.
Профессиональный опыт работы в вебе — более 6 лет. Именно эти шесть лет позволили мне сейчас стать тем, кем являюсь и окончательно выбрать вектор своего движения.

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

Но, как оказалось, я ошибался. Потому-то как минимум 50% фрилансеров просто не понимают каких-то прописных истин, о которых я и хочу поведать далее.
Читать дальше →
Total votes 203: ↑168 and ↓35+133
Comments150

Information

Rating
Does not participate
Location
Алма-Атинская обл., Казахстан
Date of birth
Registered