+0.46
Рейтинг
0.10
Сила

Атомы и несколько частей одной функции в Erlang

… А также вызов одной функции из другой и заменой конкатенации аргумента в строку встроенным средством форматирования (~s)

%заголовок модуля должен совпадать с именем файла; без расширения
-module(er).

%объявляем функции перечислением
-export([init/0, hello/1]).

%однострочная функция без аргумента
hello(atom)->
io:format("Hello, Max\n" ,[]);

%многострочная функция с конкатенацией и аргументом
hello(Name)->
	io:format("Hello, ~s" ,[Name]),
	io:format("\n").

%вызов функции из другой функции
init()->
	hello(atom).


Вызывать выражение с атомом нужно точно:

er:hello(atom).


Другое выражение этой же функции с аргументом вызывается как и раньше:

er:hello("Nadya").


Таким образом, использование атома дало нам право не объявлять две разные функции, а использовать одну с двумя выражениями.

Первая прога на Erlang

Модуль er.erl


%заголовок модуля должен совпадать с именем файла; без расширения
-module(er).

%объявляем функции перечислением
-export([hello/0, hello/1]).

%однострочная функция без аргумента
hello()->
	io:format("Hello, Max\n" ,[]).

%многострочная функция с конкатенацией и аргументом
hello(Name)->
	io:format(string:concat("Hello, ",Name) ,[]),
	io:format("\n").


Запуск:

er:hello().

или:

er:hello("Nadya").

Сетевая папка в windows c другой учеткой

Под правами админа запускаем cmd и пишем волшебной палочкой:
net use o: \\192.168.100.20\backup_web /PERSISTENT:NO /User:SERVER-UCHETOLD\YOURNAME yourpassword

В проводнике вбиваем
O:\
и пользуемся.

P.S. Если вдруг вылезает проблема с «множественным подключением», рубим сессию:
net session \\192.168.100.20 /del

получение данных в VBS через ODBC


set args = WScript.Arguments
num = args.Count

limitvar = "3000"

if num > 0 then
limitvar = args.Item(0)
end if

sqlvar = "SELECT username, user_email FROM phpbb_users  where user_email LIKE '%@smeta.ru' LIMIT "

set appAccess = createObject("AdoDB.Connection")
set objRecordset = createObject("AdoDB.Recordset")
appAccess.open "DSN=forum"
objRecordset.open sqlvar & limitvar,appAccess,3,3

do until objRecordset.EOF
WScript.Echo objRecordset(0).value & VbTab & VbTab & VbTab & objRecordset(1).value
objRecordset.Movenext
loop
objRecordset.close
appAccess.Close


P.S. запуск этого скрипта в консоли (cmd) с аргументом количества нужных записей (например 7):

cscript odbc.vbs 7

Установка Red5 на Debian lenny


Шаг 1. Скачиваем и устанавливаем Java
aptitude java6-sdk

Шаг 2. Установка Ant
cd /usr/src
wget http://mirrors.kahuki.com/apache/ant/binaries/apache-ant-1.8.1-bin.tar.bz2
tar jxvf apache-ant-1.8.1-bin.tar.bz2
mv apache-ant-1.8.1 /usr/local/ant
ln -s /usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java

Шаг 3. Ставим SVN
apt-get -y install subversion

Шаг 4. Скачиваем и устанавливаем Red5
svn co http://red5.googlecode.com/svn/java/server/tags/0_9_1/
mv 0_9_1 /usr/share/red5
cd /usr/share/red5
ant prepare
ant dist
cp -r dist/conf .

Шаг 5. Изменяем права на скрипт red5.sh
chmod a+x red5.sh

После такого заклинания, сервер должен запуститься командой ./red5.sh
Если все "хозяйство" завелось, то Red5 доступен по адресу http://yourip:5080/

Быстрый web-сервер на Nginx и php5-fpm в Debian 6 squeeze

Никаких IIS c апачем, виндой и прочим медленным хламом! ))
Это линукс — родная платформа для сайтов.
И nginx — самый быстрый и клевый web-сервер в мире!
Протестировано — работает — очень быстро работает:

Добавляем репозиторий свежих пакетов, обновляем список компонентов и ставим пых с патчем:

echo "deb http://packages.dotdeb.org squeeze all" >> /etc/apt/sources.list
wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | sudo apt-key add -

apt-get update

apt-get install php5-cli php5-fpm php5-cgi

стартуем патч:

/etc/init.d/php5-fpm start

Далее мой конфиг nginx виртуального хоста:
(gedit /usr/local/nginx/conf/nginx.conf &)

server {
    listen   80;
    server_name goodsite;
    location / {
        root /var/www/goodsite;
	index index.php;
    }
	location ~ \.php$ {
                include /etc/nginx/fastcgi_params;
                fastcgi_pass  127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param  SCRIPT_FILENAME  /var/www/goodsite$fastcgi_script_name;
        }
}

добавляем локальный хост:

echo '127.0.0.1 goodsite' >> /etc/hosts

Создаем директорию с индексным файлом для сайта:

mkdir /var/www/goodsite
touch /var/www/goodsite/index.php
echo '< ? php echo phpinfo();?>' >> /var/www/goodsite/index.php

Стартуем nginx:

/usr/local/nginx/sbin/nginx

Перезапускать его можно будет так:

/usr/local/nginx/sbin/nginx -s reload