вторник, июня 22

Video converter

WinFF

Конвертер Anything2Anything.
Из преимуществ:
* большой выбор форматов
* бесплатность
* наличие под разные ОС
* возможность работы как через консоль, так и через GUI

пятница, мая 14

Linux на работе

Если дома программист волен использовать ту ОС, которая ему нравится, то на работе, как правило, вынужден работать строго под Windows. Не пора ли это исправить?) Ставим и настраиваем любимую ОС на работе!

[статья написана на примере Ubuntu 9.10]
Слакварщикам, гентушникам и прочей нечисти крутым линуксоидам подобные статьи не нужны ;)

Интернет

Нет проблем, если подключение по DHCP...

SSH

Пакеты: openssh-client, openssh-server, ssh-askpass-gnome, keychain, x11-session-utils, gnome-keyring


Ключ в формате *.ppk не подойдет, его нужно заранее сконвертировать в формат OpenSSH. Для этого можно например использовать PuttyGen.

Кладем приватный ключ в ~/.ssh и переименовываем в id_rsa (чтобы цеплялся автоматически).

SSH Agent

Чтобы не вводить пароль на ключ каждый раз когда тот используется настроим SSH Agents. Так же SSH Agents понадобятся для корректной работы с SVN.

После установки необходимых пакетов и перезагрузки, ssh-agent будет запускаться автоматически при загрузке Gnome. Нужно просто добавить туда нужный ключ. Делаем это средствами Gnome.

В главном меню System>Preferences>Startup Applications, ; открывается менюшка:

Name название приложения (любое)
Command ssh-add -t 10800
Comment комментарий
Не забываем поставить галочку напротив только что добавленного приложения.
(-t 10800 активизирует ключи на 3 часа, если вы не хотите ставить ограничение по времени - не используйте эту опцию)


SSH Agent Forwarding

(Необходимо для работы с SVN, да и вообще полезная штука подробнее об Agent Forwarding)

В папку ~/.ssh добавляем файл config содержащий следующее:
Host <имя сервера>
ForwardAgent yes #если требуется


Алиасы (optional)

Для управления ключами и ssh-agent удобно завести алиасы. Дописываем в конец ~/.bashrc следующее:
alias keyon="ssh-add -t 10800"
alias keyoff='ssh-add -D'
alias keylist='ssh-add -l'
Теперь при открытии терминала под вашим пользователем, будут доступны команды:
* keyon добавить ключи из папки ~/.ssh агенту
* keyoff убрать все ключи из агента
* keylist показать список загруженных ключей


SVN

Пакеты: subversion


Для успешной работы с SVN нужно правильно настроить SSH (предыдущий параграф).

  • Фанатам Tortoise
    RabbitVCS - разрабатывался как клон Tortoise с целью заменить его на линукс платформах, интегрируется в Nautilus, местами не такой удобный интерфейс как у оригинала, местами баги...
  • Пользователям IntelliJ IDEA
    IntelliJ IDEA version control
  • Пользователям Eclipse
    Subclipse plugin - Download and Install Subclipse, для того чтобы использовать уже настроенный SSH выбираем JavaHL connector и настраиваем его JavaHL FAQ
  • Праведным линуксоидам
    Rapid SVN home site
    ну и, конечно, консоль никто не отменял ;)

Монтируем сетевые директории

Пакеты: samba, samba-common, samba-common-bin, smbclient, smbfs

В примере: имеется общее хранилище //STORE к которому открыт доступ всем находящимся в домене.
Из всего хранилища монтируем только необходимые папки.

Для автоматического монтирования пишем небольшой скрипт и сохраняем его в домашней директории с правами 770 (главное чтобы у вас были к нему права на чтение и запуск).
smbmount //store/exchange $HOME/mount/store_exchange/ -o username=%
smbmount //store/Projects$ $HOME/mount/store_projects/ -o username=%
Точка монтирования может быть любой доступной, логин и пароль ваши доменные.

Дальше, как уже делали с SSH, добавляем как Startup Application.
В главном меню System>Preferences>Startup Applications, ; открывается менюшка:

Name название приложения (любое)
Command пусть до скрипта
Comment комментарий
Не забываем поставить галочку напротив только что добавленного приложения.


Приятной работы в любимой ОС! ;)

пятница, октября 23

HTTP Status Codes

Список будет обновляться и дополняться.

Этот список заведен скорее для личного пользования. Основная информация тут: http://en.wikipedia.org/wiki/List_of_HTTP_status_codes

Коды Windows: Win32 Inet-function error codes


100 Continue

101 Switching Protocols

102 Processing

200 OK

201 Created

202 Accepted

203 Non-Authoritative Information (since HTTP/1.1)

204 No Content

205 Reset Content

206 Partial Content
207 Multi-Status (WebDAV) (RFC 2518 )

300 Multiple Choices

301 Moved Permanently

302 Found

303 See Other (since HTTP/1.1)

304 Not Modified

305 Use Proxy (since HTTP/1.1)

306 Switch Proxy

307 Temporary Redirect (since HTTP/1.1)

400 Bad Request

401 Unauthorized

402 Payment Required

403 Forbidden

404 Page Not Found

405 Method Not Allowed

406 Not Acceptable

407 Proxy Authentication Required

408 Request Timed Out

409 Conflict

410 Gone

411 Length Required

412 Precondition Failed

413 Request Entity Too Large

414 Request-URL Too Long

415 Unsupported Media Type

416 Requested Range Not Satisfiable

417 Expectation Failed

418 I'm a teapot

422 Unprocessable Entity (WebDAV) (RFC 4918 )

423 Locked (WebDAV) (RFC 4918 )

424 Failed Dependency (WebDAV) (RFC 4918 )

425 Unordered Collection (RFC 3648 )

426 Upgrade Required (RFC 2817 )

449 Retry With

450 Blocked by Windows Parental Controls

500 Server Error

501 Not Implemented

502 Bad Gateway

503 Out of Resources

504 Gateway Timeout

505 HTTP Version Not Supported

506 Variant Also Negotiates (RFC 2295 )

507 Insufficient Storage (WebDAV) (RFC 4918 )

509 Bandwidth Limit Exceeded (Apache bw/limited extension)

510 Not Extended (RFC 2774 )

10001 Server Request Missing Status

10052 Network Reset

10053 Socket Connection Aborted

10054 Socket Connection Reset

10060 Socket Connection Timeout

10061 Connection Refused

11005 Connection Time Out

12000 Socket Receive Timeout

12004 Invalid URL

12007 Internet Name Not Resolved

12013 DNS Lookup Failure

12029 Internet Cannot Connect

14001 Byte Limit Exceeded

15001 User Script Failure

19999 Unknown Connection

30002 Excessive Number of Redirects

30005 Unsupported SSL Version

30500 Content Match Test Failed

31000 Time Out Exceeded

39999 Unknown Error