В данной заметке, будет показано как поставить связку Nginx + php5-fpm (php5.3) на Debian Lenny и настроить безопасную конфигурацию.
User
Как я продал права на своё приложение для Android
6 min
23KДоброго времени суток!
В этом посте я хотел бы поделиться опытом разработки приложения и не очевидного способа монетизации.
История началась год назад. Заболев на новогодние праздники, я решил не тратить время зря, а начать изучение платформы Android. На тот момент про нее я знал немного, да и в Java был не силен. Изучение решил начать с написания небольшой игры.
UPD: А кто-нибудь может прокомментировать цену? Много это или мало, сколько Вам кажется оно могло стоить?
В этом посте я хотел бы поделиться опытом разработки приложения и не очевидного способа монетизации.
История началась год назад. Заболев на новогодние праздники, я решил не тратить время зря, а начать изучение платформы Android. На тот момент про нее я знал немного, да и в Java был не силен. Изучение решил начать с написания небольшой игры.
UPD: А кто-нибудь может прокомментировать цену? Много это или мало, сколько Вам кажется оно могло стоить?
+126
Выкатываем в бой
6 min
3.6K Внедрение конечного веб-продукта является не самой приятной процедурой для создателя и часто сопровождается жутким стрессом. Нелюбовь разработчика к релизам связана не только с чувствами ответственности и страха перед эксплуатацией новой версии, но и с ощущениями неопределенности: а что будет после того, как внедримся?
Приложения могут разрабатываться большим коллективом программистов, инженеров по качеству, графическим интерфейсам, но в конце проектного пути ответственность на себя берет последний из могикан. Недостаток теоретических знаний заставляет нервничать нашего героя, ведь опыта, приобретенного вследствие проб и ошибок, под час не достаточно для систематически успешного внедрения. Чтобы разобраться, как правильно выкатывать веб-проекты в бой, начнем, пожалуй, с основ.
Приложения могут разрабатываться большим коллективом программистов, инженеров по качеству, графическим интерфейсам, но в конце проектного пути ответственность на себя берет последний из могикан. Недостаток теоретических знаний заставляет нервничать нашего героя, ведь опыта, приобретенного вследствие проб и ошибок, под час не достаточно для систематически успешного внедрения. Чтобы разобраться, как правильно выкатывать веб-проекты в бой, начнем, пожалуй, с основ.
+70
Используем быстрые селекторы для jQuery
3 min
40KКак Вы знаете — в разработке объёмного JS-приложения где используется популярнейшая библиотека jQuery наступает момент когда остро встаёт проблема производительности. Все силы кидаются на амбразуру профайлера, каждый вызов скрупулёзно исследован, каждый функционально нагруженный кусок реализации обнюхан со всех сторон и выправлен. Но беда поступает не с той стороны, откуда её ждут 90% разработчиков. Селекторы — Как много в этом слове.
Давайте разберёмся — как работает эта магия и почему поиск DOM-элементов может стать причиной падения производительности приложения.
Давайте разберёмся — как работает эта магия и почему поиск DOM-элементов может стать причиной падения производительности приложения.
+151
N+1 полезных книг о бизнесе
9 min
229KВ топике блиц-обзор книг, которые будут полезны IT-специалистам, бизнесменам и тем, кто собирается открыть своё дело. Рядом с каждой — короткие пояснения, почему и зачем стоит прочесть.
Отобраны лучшие 10% из примерно 200 прочитанных книг о маркетинге, продажах и всем связанном — самые «пробивные» вещи, которые помогут вам не тратить время на всякий шлак, а сразу начать с главного.
В конце — суммация книг, которые хабровчане рекомендуют в комментариях помимо основного списка.
Отобраны лучшие 10% из примерно 200 прочитанных книг о маркетинге, продажах и всем связанном — самые «пробивные» вещи, которые помогут вам не тратить время на всякий шлак, а сразу начать с главного.
В конце — суммация книг, которые хабровчане рекомендуют в комментариях помимо основного списка.
+126
Основы репликации в MySQL
10 min
328KС репликацией серверов MySQL я познакомился относительно недавно, и по мере проведения разных опытов с настройкой, записывал, что у меня получалось. Когда материала набралось достаточно много, появилась идея написать эту статью. Я постарался собрать советы и решения по некоторым самым основным вопросам, с которыми я столкнулся. По ходу дела я буду давать ссылки на документацию и другие источники. Не могу претендовать на полноту описания, но надеюсь, что статья будет полезной.
+68
Накопительная сборка ZF в один файл
2 min
874В тему объединения PHP-классов в Zend Framework'е (и других, следующих таким же соглашениям наименования и размещения) публикую свое решение, реализующее __autoload с накопительной сборкой автозагружаемых классов.
В нем учтены две известные проблемы:
Решение базируется на примере реализации __autoload из книги Дмитрия Котерова по PHP5 и идее описанной тут.
В нем учтены две известные проблемы:
- В файлах содержащих переменную __FILE__ осуществляется подстановка этой переменной.
- Обрабатывается случай параллельного выполнения скриптов.
Решение базируется на примере реализации __autoload из книги Дмитрия Котерова по PHP5 и идее описанной тут.
0
Стартап LinguaLeo заправился ракетным топливом
4 min
7.8KРакетное топливо венчурных инвестиций для стартапа подано!
Сегодня поступил первый транш в счёт инвестиций проекта LinguaLeo. Ангелы и венчурные инвесторы наконец-то заметили проект и готовы вкладывать в перспективное будущее стартапа LinguaLeo.
Это случилось в самый подходящий момент. С лета сего года собственных средств основателя проекта уже никак не хватало для активной развития веб-сервиса, что привело к приостановке разработки на целых полгода. О том, как и от кого LinguaLeo получил инвестиции, что происходило в эти полгода, где нашёлся инвестор, и что ждёт LinguaLeo впереди, а также о том, что мы приглашаем двух талантливых разработчиков в проект — под катом!
Сегодня поступил первый транш в счёт инвестиций проекта LinguaLeo. Ангелы и венчурные инвесторы наконец-то заметили проект и готовы вкладывать в перспективное будущее стартапа LinguaLeo.
Для тех, кто ещё не пробовал: LinguaLeo — это увлекательный веб-сервис для освоения английского языка онлайн.
Это случилось в самый подходящий момент. С лета сего года собственных средств основателя проекта уже никак не хватало для активной развития веб-сервиса, что привело к приостановке разработки на целых полгода. О том, как и от кого LinguaLeo получил инвестиции, что происходило в эти полгода, где нашёлся инвестор, и что ждёт LinguaLeo впереди, а также о том, что мы приглашаем двух талантливых разработчиков в проект — под катом!
+89
Memcached — стратегия кеширования
6 min
17KХочу поприветствовать хабросообщество. Из приятных впечатлении при регистрации на Хабре — так это атмосфера сказочности, которая бывает только в старых добрых сказках из советского Кинофильма.
Итак, слезы умиления прошли, приступаем. Ниже топик, который привел к инвайту на Хабр.
Memcached применяется для кеширования данных. Это делается для того, чтобы избежать лишних обращений к базе данных, т.е. в Memcached сохраняют результаты запросов. Это ускоряет работу сайта и уменьшают время выдачи страниц.
Кеш кроме преимуществ имеет свои недостатки. Одна из проблем кеша — это его актуальность. В режиме работы «только чтение» трудностей не возникает. Если же мы имеем дело с данными, которые изменяются, или изменяются часто, то эффективность кеширования резко падает.
Итак, слезы умиления прошли, приступаем. Ниже топик, который привел к инвайту на Хабр.
Memcached применяется для кеширования данных. Это делается для того, чтобы избежать лишних обращений к базе данных, т.е. в Memcached сохраняют результаты запросов. Это ускоряет работу сайта и уменьшают время выдачи страниц.
Кеш кроме преимуществ имеет свои недостатки. Одна из проблем кеша — это его актуальность. В режиме работы «только чтение» трудностей не возникает. Если же мы имеем дело с данными, которые изменяются, или изменяются часто, то эффективность кеширования резко падает.
+17
Повышение производительности за счет блочного кеширования
5 min
5.6KТема блочного кеширования и ssi не раз проскакивала на Хабре. Ниже я представлю еще одну реализацию, использующего блочное кеширование, а также исходники фреймворка, использующего эти принципы, которые можно найти тут. А как это работает — прочитать ниже.
+42
Польза кеширования данных. Пример из реальной практики.
3 min
3.4KС появлением и развитием memcached-подобных систем в архитектурах веб-приложений появилось еще одно звено, а именно кеш-серверы. Обычно это машины с большим объемом оперативной памяти, в которой хранятся заранее подготовленные данные. Это могут быть результаты сложных запросов к БД или же отрендеренные динамические части страниц сайта. На самом деле, кеш, как и любая другая система, может использоваться как угодно, чтобы удовлетворить нужды приложения.
+34
Кеширование блоков с помощью nginx
6 min
15KМногим разработчикам знакома ситуация когда кешировать страницы сайта, скажем, на 5-10 минут нельзя всего из-за одного небольшого блочка, актуальность которого нужно поддерживать если не в реальном времени, то с временем «старения» не больше 5-10 секунд. При этом посещаемость сайта продолжает расти, растет время генерации страниц и c этим надо что-то делать…
- Вариант решения 1: Подкрутить то, до чего не доходили руки последнее полгода. Все Вас поймут и передвинут сроки на другие задачи. Вы будете в роли «Супермена» один спасать сайт от непомерной нагрузки, решая проблему «бесплатно» (без доп. вливаний в оборудование). Вам может пригодиться статья «Тюнинг nginx».
- Вариант решения 2: Улучшить техническую базу (докупить мозгов на сервер, улучшить дисковую систему, поставить под БД отдельный сервер). В принципе проблема не решена, а скорее отложена. Теперь у Вас есть время «окопаться» и подготовиться ко второй волне наплыва нагрузки, она будет больше и накроет сильнее.
- Вариант решения 3: Ваш вариант, о котором я, вероятно, узнаю из комментариев.
+98
YesterdayMe: опыт роста стартапа от 1 до 2000 активных пользователей
5 min
835 В этом посте расскажу о собственном опыте создания и продвижения стартапа YesterdayMe.ru. Пост построю как перечисление наиболее значимых наблюдений и рекомендаций в ходе развития проекта, но намеренно не буду делать обширных выводов, чтобы уместиться в читаемый объем. Коротко, по делу, исходя из опыта первых семи месяцев работы сервиса.
YesterdayMe — сервис, позволяющий следить за употреблением алкоголя. Выпил — записал. По вводимым данным строятся разные отчеты. Изначально была идея сделать только персональный трекер выпитого, но потом, с учетом пожеланий пользователей, сервис эволюционировал в небольшую социальную сеть. Сейчас можно следить за друзьями и сравнивать показатели друг друга.
Сегодня у сервиса около двух тысяч активных пользователей (пользуются сервисом хотя бы раз в неделю).
YesterdayMe — сервис, позволяющий следить за употреблением алкоголя. Выпил — записал. По вводимым данным строятся разные отчеты. Изначально была идея сделать только персональный трекер выпитого, но потом, с учетом пожеланий пользователей, сервис эволюционировал в небольшую социальную сеть. Сейчас можно следить за друзьями и сравнивать показатели друг друга.
Сегодня у сервиса около двух тысяч активных пользователей (пользуются сервисом хотя бы раз в неделю).
+87
Видео с пользовательской конференции по Sphinx (~8часов)
1 min
1KПоскольку новость не пробежала на Хабре, но однозначно (с) будет интересна многим:
«Видео с пользовательской конференции по Sphinx (~8часов)
http://devconf.tv/user/sphinx».
«Видео с пользовательской конференции по Sphinx (~8часов)
http://devconf.tv/user/sphinx».
+20
«Мой адвокат». Работа над ошибками
5 min
772Здравствуй, Хабр!
Вот и заканчивается год с момента, когда мы запустили нашу Систему юридической помощи онлайн «Мой адвокат». Сегодня мы хотим рассказать о наших надеждах, которые не оправдались. О наших успехах, которые мы не ждали. А также об ошибках и «шишках», которые мы совершили и набили.
Вот и заканчивается год с момента, когда мы запустили нашу Систему юридической помощи онлайн «Мой адвокат». Сегодня мы хотим рассказать о наших надеждах, которые не оправдались. О наших успехах, которые мы не ждали. А также об ошибках и «шишках», которые мы совершили и набили.
+50
ЗаБронируй — онлайн сервис предварительной записи и планирования событий
4 min
2.3KЯ программист, предпочитаю супермаркеты совковым магазинам с теткой-продавщицей, ненавижу звонить записываться на очередь в парикмахерскую. По той же причине вечером в пятницу нам с друзьями приходится пить пиво на офисе, заглянув и в очередной раз убедившись, что во всех ближайших кафе уже нет мест. Так и родилась идея написать сервис zabroniruy.com
Какие возможности я, как пользователь, хотел бы видеть в подобного рода системе?
- в первую очередь — возможность забронировать быстро, не тратя время на поиск информации в интернете, звонки и т д
- видеть что\кого я бронирую (например, где в кафе расположен столик, или к какому парикмахеру я записываюсь)
- в каком-то виде иметь возможность наблюдать полную картину работы заведения — загруженность и т д
- удобный поиск по карте, плюс, например, хотелось бы иметь возможность бронирования не только на сайте определенного заведения, но и иметь карту с неким интерактивным каталогом заведений
- возможность услуги sms напоминания, например в случае, когда записываешься на прием к врачу за неделю или больше
+14
Тормозит веб-сервер. Настройка на примере www.ochevidets.ru
8 min
28KЯ оказываю услуги по настройке web- и БД-серверов. На днях ко мне обратился Иван Усачёв — владелец портала ochevidets.ru с просьбой избавить сайт от торможения.
Страницы в пиковое время стали долго загружаться, вплоть до 5 минут на страницу.
Страницы в пиковое время стали долго загружаться, вплоть до 5 минут на страницу.
UPDATE: Статья была написана в 2010 году. Кое-что изменилось: вышли новые версии программ, у nginx изменились некоторые директивы и появились новые. Учитывайте это.
+109
Настройка и оптимизация MySQL сервера
9 min
313KВ этой статье будут описаны различные настройки MySQL, преимущественно те, которые влияют на производительность. Для удобства все переменные разделены по разделам (базовые настройки, ограничения, настройки потоки, кэширование запросов, тайминги, буферы, InnoDB). Сначала уточним имена некоторых переменных, которые изменились в версии 4 MySQL, а в сети продолжают встречаться и старые и новые варианты имен, что вызывает вопросы.
+162
PHPUnit. Часть 03 Написание тестов для PHPUnit
9 min
50KTranslation
Предисловие переводчика
Эта статья продолжает серию переводов официальной документации по PHPUnit на русский язык.
Часть 1, Часть 2
Пример 4.1 демонстрирует как с помощью PHPUnit можно выполнить тестирование операций с массивами PHP. В этом примере показаны базовые соглашения и шаги, свойственные тестам PHPUnit:
Эта статья продолжает серию переводов официальной документации по PHPUnit на русский язык.
Часть 1, Часть 2
Пример 4.1 демонстрирует как с помощью PHPUnit можно выполнить тестирование операций с массивами PHP. В этом примере показаны базовые соглашения и шаги, свойственные тестам PHPUnit:
+15
Как выбрать помещение для интернет-магазина в реале
7 min
34K Маркетинг магазина в реале начинается с выбора места. Есть два пути решения задачи: так называемый «жоп-филинг», то есть интуитивное принятие решения и продуманный просчёт.
Общая задача такая:
Общая задача такая:
- Есть интернет-магазин, нужна точка в реале;
- Место должно способствовать наибольшей прибыли точки как отдельного розничного магазина;
- И хорошо работать как пункт самовывоза интернет-магазина.
+170
Information
- Rating
- Does not participate
- Registered
- Activity