RSS новости
Каталог / Форумы, блоги

Всё не обо всём

Добавить ленту в 'Закладки'

Транслировать ленту у себя на сайтеТранслировать эту RSS ленту на своем сайте
Загрузка обьявлений ...
28.10.08 03:25:33

Ставим memcached на Mac OS X

Возникла в выходные необходимость поставить Memcached на Mac OS X. В рунете по этому поводу ничего не нашел, зато, роясь в поисках информации, наткнулся на хорошую статью на английском. Собственно ее перевод я и хочу опубликовать.

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

Установка демона Memcached на Mac OS X

  1. Установите пакет Xcode Tools с вашего Mac OS X DVD или скачайте с Apple Developer Connection, нам понадобится GNU Compiler Collection (gcc), который идет Xcode Tools.
  2. Скачайте shell-скрипт с topfunky.net (зеркало).
  3. Установите права на скрипт и запустите его:
    chmod 744 install-memcached.sh 
    sudo ./install-memcached.sh

    Если скрипт не запустился и выдал ошибку, похожую на следующее: C compiler cannot create executables, убедитесь, что Xcode установился корректно.

  4. Следуя инструкции в конце скрипта, добавьте EVENT_NOKQUEUE=1 в файлы .bashrc или .profile, которые находятся в вашей домашней папке.
  5. Проверьте, что memcache установился. Для этого закройте текущее окно терминала и откройте новое, в котором наберите memcached -h. Вы должны увидеть что-то похожее на это:
    muxx:~ muxx$ memcached -h
    memcached 1.1.12
    -p port number to listen on
    -l interface to listen on, default is INDRR_ANY
    -d run as a daemon
    -r maximize core file limit
    -u assume identity of (only when run as root)
    -m max memory to use for items in megabytes, default is 64 MB
    -M return error on memory exhausted (rather than removing items)
    -c max simultaneous connections, default is 1024
    -k lock down all paged memory
    -v verbose (print errors/warnings while in event loop)
    -vv very verbose (also print client commands/reponses)
    -h print this help and exit
    -i print memcached and libevent license
    -P save PID in , only used with -d option
  6. Отчистите папку, в которую вы скачивали install-memcached.sh, удалив созданную им папку src и сам файл скрипта.

Установка memcached-расширения для PHP

Вариант 1. Скачиваем скомпилированное расширение

Если у вас последняя версия MAMP с PHP 5.2.5 и вы пользуетесь Intel Mac, то вам достаточно проделать следующее:

  1. Скачать PHP 5.2.5 (Intel) memcache.so и переименовать в memcache.so;
  2. Переместить скачанный файл в папку /Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-[date]. [date] — значение в виде даты, оно зависит от даты установки MAMP.

Я использовал именно этот вариант, надеюсь, вам он также подойдет.

Вариант 2. Компилирование PECL Memcache расширения

Если у вас другая версия MAMP и PHP или вы использует PowerPC, вам нужно скомпилировать memcache.so под свою конфигурацию.

  1. Скачайте исхоный код PHP с php.net в папку /Applications/MAMP/bin/php5. Вы должны скачать версию, соответствующую вашей версии MAMP, которую вы можете узнать по адресу http://localhost:8888/MAMP/info.php.
  2. Создайте папку include в php5.
  3. Разпакуйте архив с исходными кодами и разместите его в /Applications/MAMP/bin/php5/include.
  4. Переименуйте php source directory в просто php (должно получиться /Applications/MAMP/bin/php5/include/php).
  5. В Терминале выполните следующие команды для компиляции расширения:
    cd /Applications/MAMP/bin/php5/include/php
    ./configure
    cd /Applications/MAMP/bin/php5/bin
    ./pecl i memcache
  6. После этого создастся новая директория в папке /Applications/MAMP/bin/php5/lib/php/extensions. В ней должно быть 2 других директории, отличающиеся датой в конце имени, примерно вот так — no-debug-non-zts-20050922. Откройте папку с текущей датой на конце и переместите файл memache.so в другую папку, в которой уже находится много других файлов *.so.
  7. Удалите пустую папку no-debug-non-zts-[date] в которой находился файл memcache.so.

Подключение memcached-расширения

  1. Откройте файл /Applications/MAMP/conf/php5/php.ini и добавьте в него extension=memcache.so в раздел ; Extensions.
  2. Перезапустите MAMP из приложения или используя виджет.
  3. Проверьте, работает ли Memcache-расширение на странице http://localhost:8888/MAMP/info.php

Все! Теперь у вас стоит полноценный и рабочий Memcache!

Старт и остановка Memcache-демона вместе с MAMP

Теперь, когда Memcache установлен и доступен из MAMP, нужно настроить запуск и остановку memcache-демона.

  1. Скачайте 4 скрипта ниже в папку /Applications/MAMP/bin, заменив существующие startApache.sh и stopApache.sh.
  2. Установите права на выполнение скриптов для вашего пользовател.
    chmod 775 *.sh
  3. Остановите и запустите MAMP.
Теперь вы можете обращаться в memcache через порты с 11211 по 11221!
  • Категория: php

23.10.08 05:31:21

Оффтопик про безумного следователя

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

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

  • Категория: кино

18.10.08 05:49:01

Глобализация в разработке

Стоило мне выложить плагин ведения статистики sfStatisticsPlugin на Symfony Project, как его начали активно использовать разработчики буквально со всей планеты, а к процессу развития плагина подключились ребята из США, Германии и даже из Румынии! В такие моменты начинаешь ощущать, что сделал что-то действительно полезное.

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

  • Категория: symfony

09.10.08 05:24:07

Конференция HighLoad++

Конференция HighLoad++

Побывал впервые на конференции разработчиков высоконагруженных систем HighLoad++. Могу сказать, что понравилось. Организация конференции была на уровне — доклады практически без задержек, питание на уровне, интернет и кофе со сливками на кофе-брейках :)

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

Какие общие особенности я для себя выделил.

Во-первых, многие проекты активно используют оперативную память, разворачивая в ней различные контейнеры данных, а порой и целые БД. Это, надо полагать, связано со значительным снижением стоимости этой RAM. Об этом говорили и Игорь Мельников, рассказывая про СУБД Oracle TimesTen, и Дмитрий Исайкин, описывая движок хранения и обработки оценок в рекомендательном сервисе Имхонет, и Игорь Ермаков, рассказывая о Mail.Агенте, в котором все данные о статусах и контакт-листах онлайн-пользователей размещаются в ОЗУ.

Во-вторых, в некоторых крупных или специализированных проектах частично или полностью отказываются от традиционных решений. Это меня удивило, т.к. я думал, что на данный момент под любые задачи можно найти существующие достаточно хорошие решения. Так поступили в Рамблере, разработав HCS (хикс), который кстати выложат в открытый доступ, в Имхонет, используя для хранения оценок «разреженную матрицу», в РБК, где Полина Зубарева написала собственную утилиту для нагрузочного тестирования модулей архитектурно сложных систем и кластеров. Причем все упомянутые разработки писались на сях. В общем, если хочешь, чтобы все летало — пиши на C++ :)

К сожалению, пришлось пропустить вторую половину второго дня конференции, надеюсь, выложат видео, где можно будет посмотреть все самое интересное.

  • Категория: highload

04.10.08 16:55:02

Cod'им с удовольствием

CodaСегодня я хочу сделать небольшой обзор используемого мною средства разработки под названием Coda, разработанного компанией Panic.

Coda позиционируется разработчиками как средство разработки «все-в-одном» (в оригинале «one-window web development»). Она включает в себя менеджер проектов, редактор кода, фтп/файловый-менеджер, «заготовки» кода, терминал, редактор css, а в последней версии — svn-клиент и усовершенствованную систему поиска-замены. Теперь чуть подробнее обо всех этих вкусностях.

Менеджер проектов и svn-клиент

Менеджер проектов в Coda

Очень удобная штука, позволяет указывать локальное размещение и размещение на ftp файлов проекта, настройки по доступу через ssh к удаленному серверу, адрес сайта на локальной машине и в интернете, а также путь в svn-репозиторию.

При работе с проектом на локальной машине Coda отслеживает изменения в файлах, список изменившихся файлов можно посмотреть в любой момент, а главное — их можно опубликовать в production нажатием одной кнопки! Если же вы еще указали путь к svn-репозиторию, то нажатием другой кнопки вы можете загрузить изменения в Subverion, предварительно указав список изменений.

Редактор кода

Редактор кода в Coda

Редактор кода достаточно мощный и удобный:

1. Включает в себя подсветку кода всех скриптовых языков, а также xml, sql и многих других языков, нумерацию строк, адрес символа под курсором в строках и столбцах.

2. Содержит в себе функцию autocomplete, а также выводит подсказки по функции, на которой находится курсор.

Autocomplete в Coda

3. Включает в себя менеджер «заготовок» кода Clips. Версия Coda 1.5 и выше позволяет вести как отдельные clip'ы для каждого проекта, так и глобальные clip'ы, которые можно использовать во всех проектах. Последняя версия Coda также позволяет экспортировать и импортировать наборы «заготовок».

Clips в Coda

4. Позволяет открывать общий доступ к файлам для других разработчиков на Coda, которые могут редактировать их с тобой в режиме онлайн. Измененный код подсвечивается цветом, который назначается каждому из присоединившихся к совместной разработке.

5. Содержит ряд удобных сочетаний клавиш, например Cmd+[, Cmd+] сдвигает влево и вправо весь выделенный текст на одну табуляцию, Cmd+D позволяет переходить к следующей функции/классу/id, Cmd+/ помещает весь выделенный текст в теги комментариев, причем соответствующих языку выделенного текста — html-код он помещает в , а php-код — в /* */!

6. Включает в себя Code Navigator, который отображает список классов, функций, css-классов объявленных в коде открытого файла, и позволяет переходить к ним одним кликом.

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

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

Встроенный терминал

Терминал в Coda

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

Недостатки

Ничто не идеально, поэтому и в Coda нашлись недостатки, правда всего лишь два:

В остальном ей нет равных, плюс ко всему она очень удобна и красива! 

  • Категория: mac

21.09.08 05:07:47

Поностальгируем

Привет вам из прошлого:

Мелодия

(источник)

А еще, убирая сегодня из тумбочки всякий хлам, я наткнулся на дискеты 1,44 Мб. Вот такое послание из прошлого. Что интересно, у меня не осталось ни одного доступного устройства, чтобы их прочитать, интересно, на них что-нибудь сохранилось?.. 

  • Категория: ностальгия

12.09.08 06:28:19

256 день в году!

День программиста

Сердечно поздравляю всех программистов с их профессиональным праздником! Желаю всем поменьше багов и побольше релизов :)

  • Категория: праздник

09.09.08 01:19:52

Новый плагин ведения статистики sfStatisticsPlugin

Предлагаю всем желающим попробовать новый плагин sfStatisticsPlugin для Symfony. Данный плагин позволяет быстро строить наборы различных отчетов на базе модели Propel. Графики в отчетах строятся с помощью Google Chart API.

Из возможностей хочется выделить следующее:

  1. Возможность группировки данных по дате и по значению;
  2. Три вида графиков: линейный, круговая и столбцовая диаграмма;
  3. Настройка уровня апроксимации данных (значения с малой долей группируются в поле "Другие");
  4. Возможность настройки внешнего вида графика (фоновый цвет, размер, длина надписей);
  5. Полная поддержка i18n (на данный момент есть английский и русский перевод).

Весь стиль страницы модуля в плагине аналогичен стандартному стилю админки. Я впервые использовал этот модуль в интернет-магазине — за пару часов можно наваять 2 десятка отчетов, сразу видно всю картину происходящего.

Плагин поддерживает symfony 1.0, symfony 1.1 с Propel 1.2 и Propel 1.3. Пока плагин работает только с MySQL в случае группировки данных по дате, т.к. используются встроенные функции работы с датой MySQL. В дальнейшем планирую портировать на другие БД.

Страница плагина на Symfony Project

В пакете плагина README на английском языке. Для ускорения освоения прилагаю его русскую версию.

  • Категория: symfony

08.09.08 22:29:13

Нашествие спамеров

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

  • Категория: спам

25.08.08 04:45:01

Взаимодействуем с memcached с помощью SQL

Наткнулся на интересный вариант взаимодействия с memcached. Применен в facebook, а суть его в том, что в sql-синтаксис MySQL-сервера добавили новую конструкцию MEMCACHE_DIRTY, позволяющую удалять кеш с заданным ключом:

REPLACE INTO profile ('first_name') VALUES ('Monkey') WHERE 'user_id'='jsobel' MEMCACHE_DIRTY 'jsobel:first_name'

А вот здесь показано решение с использованием триггеров.

Меня заинтересовали эти методики возможностью реализации ее в ORM (Propel), т.к. отслеживание актуальности кеша и его чистка в необходимых местах — это рутинная работа, в модели это наверняка можно описать, тем самым снимая это пласт работ с плеч разработчика. Я в данном случае говорю о кешировании данных, а не результирующего html.

Буду рад услышать мнения по этому поводу..

  • Категория: symfony


Загрузка ...
Всего лент: 5875

Поиск

Google

Товары

Hotpoint-Ariston HZ 9Hotpoint-Ariston HZ 9
$385.50..$623.76
Тип: традиционная; Тип монтажа: настенный; Режим работы: отвод/циркуляция; Макс. производительность (м3/ч): 650; Кол-во скоростей: 13; Кол-во двигателей: 1; Фил
Cata Delta 900 V4Cata Delta 900 V4
$482.00..$515.00
Тип: традиционная; Тип монтажа: настенный; Режим работы: отвод/циркуляция; Макс. производительность (м3/ч): 1100; Уровень шума (дБ): 63; Кол-во скоростей: 3; Ко
ARDO CL 60ARDO CL 60
$140.00..$321.50
Тип: традиционная; Тип монтажа: настенный; Режим работы: отвод/циркуляция; Макс. производительность (м3/ч): 650; Уровень шума (дБ): 52; Кол-во скоростей: 3; Кол

Статистика