Archive for the ‘Programming Languages’ Category

Eclipse PDT 2.* & Ant. 2B|!2B.

Thursday, July 2nd, 2009

Как водится, после обновления PDT до версии 2.1 заметили отсутствия Ant в сборке. Работающие с Flex Builder наверное помнят, что вопрос решается довольно просто, для остальных напоминаю:

Help -> Install New Software -> Galileo – http://download.eclipse.org/releases/staging -> Programming Languages -> Eclipse Java Development Tools -> Счастье

Обсуждение результатов конференции Hi Load

Friday, October 17th, 2008

В четверг 16 октября проходил семинар посвященный результатам конференции Hi Load, которая проходила в Москве на прошлой неделе.
Ниже приведен список вопросов, которые рассматривались на семинаре.
Докладчик Копачовец Олег (Милленниум Райз).

*** Архитектура MySQL Cluster
Что такое MySQL NDB Cluster и с чем его едят? Для чего нам нужен кластер и где его использовать?
Будет ли кластер давать прирост производительности на больших объёмах данных?

*** MySQL блиц-криг
Эффективные и быстрые приёмы укрощения конфигурации MySQL.
По мотивам нескольких докладов, а так же исходя из собственного опыта.

*** Отдача больших файлов через nginx
Доклад на 2 минуты :) Как оттюнить freebsd & nginx для передачи файлов больших размеров.

*** Архитектура распределённой базы данных Skype
Postges – как основа архитектуры Skype. Готовые решения для организации шардинга,
plProxy для удаленных вызовов хранимых процедур и горизонтального масштабирования
pgBouncer для проксирования большой нагрузки
pgQ для организации очередей.

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

*** Архитектура Бегуна: Обеспечение High Load & High Availability
Ряд полезных соображений о _правильном_ конфигурировании nginx, разделении php-бэкендов на основную и резервную группу

*** Оптимизация работы с MySQL (О некоторых возможностях уменьшения нагрузки на БД)
Конкретные, практические приёмы по оптимизации

*** Архитектурные приемы: онлайн-игры. По мотивам доклада П.Кудинова
То о чём только догадывается П.Кудинов, и то что мы уже давно знаем ;)
MemcacheDB.

Видео доклада можно посмотреть ниже:



Также доступны графические материалы доклада:

Установка Eclipse на Linux

Monday, June 2nd, 2008

За последнее время минимум 4 человека столкнулись с проблемой установки Eclipse в Linux. Помогать всем в онлайне у меня больше нет сил, поэтому появилась идея написать этот пост.

Итак, приступим.

Установка Eclipse на Linux 32bit.

Установка на 64 битные версии Linux, это отдельный разговор и пока мы ее рассматривать не будем.

1. Театр начинается с вешалки, а Eclipse с Java. Поэтому первое что мы делаем, качаем JDK(или JRE). Для этого открываем ссылку: http://java.sun.com/javase/downloads/index.jsp и качаем.
Например первая ссылка – Java SE 6 Update 10 Beta. Качать рекомендую bin файл – это самораспаковывающийся архив, его можно распаковать куда угодно и настроить под него все, что нужно
2. После этого качаем Эклипс. Я предпочитаю PDT, но вы можете выбрать любой билд который вас устраивает. Идем по ссылке http://download.eclipse.org/tools/pdt/downloads/release.php?release=R20080103 и качаем полный билд для Linux.

Предположим, что для скачивания вы выбрали папку ~/Download. Это не принципиально, но так будет проще объяснять.

Итак, у нас все скачалось, переходим к Терминальным упражнениям.

1. Открываем терминал и запускаем bin файл с Java. Для этого наберем команду:
/bin/bash ~/Download/jdk-6u10-linux-i586.bin
Один раз необходимо будет сказать yes, что вы ознакомились с лицензионным соглашением.
После этого Java будет разархивирована в папку ~/Download/jdk1.6.0_10, если вы думаете, что это все, то спешу вас огорчить, веселье только начинается.
Рекомендую ставить Java в папку /usr/java, с возможностью иметь несколько версий jdk. Для этого создаем папку /usr/java:
mkdir /usr/java
Копируем в нее папку с JDK(JRE):
cp ~/Download/jdk1.6.0_10 /usr/java
Заходим в папку /usr/java:
cd /usr/java
Создаем в папке /usr/java 2 символьческих ссылки на Java: default и latest -> ./jdk1.6.0_10/
ln -s ./jdk1.6.0_10/ ./latest
ln -s ./jdk1.6.0_10/ ./default
Теперь настраиваем работу интерпретатора Java и ссылки на него, открываем /etc/bashrc (или ~/.bashrc) и добавляем в конец файла строки:
### Exporting Environment Variables ###
export JAVA="/usr/java/latest/bin/java"
export JAVA_HOME="/usr/java/latest"
export PATH="${JAVA_HOME}/bin:${PATH}"
export CLASSPATH="${JAVA_HOME}/lib:${JAVA_HOME}/jre/lib"

Теперь открываем новое терминальное окно, это необходимо для того, чтобы использовался обновленный bashrc, и выполнфем команду:
java -version

Если в результате имеем на выходе, подобрые строки:
java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b13)
Java HotSpot(TM) Server VM (build 10.0-b19, mixed mode)

начинаем бить в бубен – Java готова к работе.

Если необходимо использовать java для обработки апплетов в firefox, идем в папку /home/{yourUserName}/.mozilla/plugins в этой папке, делаем символическую ссылку: libjavaplugin_oji.so на файл:
/usr/java/latest/jre/plugin/i386/ns7/libjavaplugin_oji.so (для JDK) или
/usr/java/latest/plugin/i386/ns7/libjavaplugin_oji.so (для JRE)
Все – после перезапуска ваш файерфокс будет любить Java-апплеты.

2. Приступаем к Eclipse.
Eclipse нужно разархивировать в папку, в которую сможет писать пользователь, из-под которого Eclipse будет запускаться, например в /usr/local/eclipse.
Если вы выбрали папку /usr/local/eclipse, не забудьте сделать вашего пользователя владельцем этой папки:
chown -R user:user /usr/local/eclipse
После этого можем запускать Eclipse, для начала рекомендую запускать его из коммандной строки с флагом -clean
/usr/local/eclipse/eclipse -clean
Перед запуском Eclipse рекомендую поправить конфигурационный файл Eclipse – /usr/local/eclipse.pdt/eclipse.ini, господа не пожалейте памяти для бедного калеки, рекомендую поставить следующие опции:
-vmargs
-Xms256m
-Xmx512m

Если хотите использовать определенную версию Java для вашего Eclipse, добавьте в файл /usr/local/eclipse/eclipse.ini путь к java:
-vm
/usr/java/latest/bin/java

То же самое можно сделать, запустив Eclipse с параметром -vm:
/usr/local/eclipse/eclipse -vm /usr/java/latest/bin/java
Ну или для гурманов, запускаем Eclipse прямо через виртуальную машину:
/usr/java/latest/bin/java -jar /usr/local/eclipse/plugins/org.eclipse.equinox.launcher_1.0.1.R33x_v20070828.jar

Вуаля, спасибо за внимание, вопросы приветствуются.

Чего желаемс …

Wednesday, March 19th, 2008

Итак, топ 3 самых ожидаемых новинок ближайших месяцев.

Top 1. На первом месте идет релиз PHP 5.3.0. Чего ждем-то, ответ однозначный – пространств имен. Если чесно уже месяцев 7 как в билдах 6-го php они доступны для прощупывания, и я уже успел с ними поиграться, но хочется уже узаконить наши отношения :) . По моим прогнозам релиз версии 5.3.0 придется на конец апреля, начало мая. Так что, ждать уже не долго.

Top 2. Немного огорчает отсутствие IDE, которое бы поддерживало пространства имен в PHP, но все-таки не очень сильно, Zend все-таки радует. Итак, открываем планы разработки PDT – http://www.eclipse.org/pdt/plans/php_plan_1_1.php, смотрим планы разработки второго milestone (дата выхода 16 июня 2008 года) и радуемся:

Milestone 2:

  • PHP 5.3 Namespace Implications on PHP Model
  • Bug Squash (List of bugs can be found here)
  • Code Templates
  • Code Assist for Dynamic Variables

Top 3. Не знаю кто как, а я уже успел прощупать KDE 4. Впечатление очень двоякое. Идея просто супер, скорость не сравнима с версиями 3.5.* (Qt 4 понимаешь ли), но общее состояние разработки оставляет слишком гнетущее впечатление, ребята явно поспешили с релизом. Очень мало нормальных аплетов и параметров настройки системы реализовано. Итак ждем августа, возможно летний релиз сделает систему пригодной к стабильной работе.