Персональный блог Ruslan Voloshin

git - precommit hook

  •  
November 23, 2011 14:481 коммент.

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

Для этого дела есть разные хуки у джита и остальных версионников. Так как сейчас большая часть рельсового населеняи пользуется джитом то привожу пример хука прекомита который будет проверять код на синтаксис.

 

vi .git/hooks/pre-commit 

#!/bin/sh
git diff --cached --name-status | grep -E '\.(rb|rake)$'  | while read st file; do
# skip deleted files
  if [ "$st" == 'D' ]; then continue; fi

  if ! ruby -c "$file" >/dev/null; then
#   echo "Ruby syntax check failed for file: $file"
    exit 1
  fi
done

chmod +x .git/hooks/pre-commit 
 
Так же можно заставить запускать насильно всех тесты перед комитами.

 

nginx - static content optimization

  •  
5.0 из 2 гол.
October 11, 2011 09:032 коммент.

location ~* \.(jpg|jpeg|gif|css|png|js|ico)$ {

  access_log off;

  add_header Cache-Control public;

  expires max;

}

 

## Compression

gzip on;

gzip_static on;

gzip_buffers 16 8k;

gzip_comp_level 9;

gzip_http_version 1.0;

gzip_min_length 0;

gzip_types text/plain text/html text/css image/x-icon;

gzip_vary on;

Подклюм линкус по wi-fi

  •  
3.0 из 1 гол.
August 21, 2011 21:561 коммент.

И так удаляем чудо сервис NetworkManager

Проверяем содержимое конфига wi-fi сетевой карты

 /etc/sysconfig/network-scripts/ifcfg-wlan0

DEVICE=wlan0
ONBOOT=yes
TYPE=Wireless
BOOTPROTO=dhcp
MODE=Managed
HWADDR=00:22:b0:e8:bf:5c
DNS1=8.8.8.8
NM_CONTROLLED=yes
USERCTL=no
PEERDNS=yes
IPV6INIT=no
RATE=auto
ESSID=bnet
CHANNEL=
WLAN_WPA="wpa_supplicant"
WLAN_WPADRIVER="wext"
 

yum remove Networkmanager

Генерим параметры для wpa_suplicant

wpa_passphrase my_ssid my_secret_password

network={
ssid=”my_ssid”
#psk=”my_secret_password”
psk=6bea99c21cff6002adc637d93a47fba760ec5e6326cb41784c597b6691ed700d
}

Дальше полученный пароль в хексе записываем в файл

/etc/wpa_supplicant.conf

или

/etc/wpa_supplicant.conf/wpa_supplicant.conf

Файл должен выглядеть примерно так

ap_scan=1
network={
ssid=”my_ssid”
#psk=”my_secret_password”
psk=6bea99c21cff6002adc637d93a47fba760ec5e6326cb41784c597b6691ed700d
}

В моем случае он такой

[root@bublik ~]# cat /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=root
eapol_version=1
ap_scan=1
fast_reauth=1
network={
        proto=WPA WPA2
        key_mgmt=WPA-PSK
        pairwise=TKIP
        group=CCMP TKIP WEP104 WEP40
        priority=2
## wpa_passphrase bnet zaqwsxcderfvb
        ssid="bnet"
        #psk="zaqwsxcderfvb"
        psk=34fcf97e11980e7d151153455a98f2c04fd1217e41738e967ed0422fb5582f34
}

Дальше стартуем с дебагом чтобы видетьчто происходит

wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf -dd

 

Кроме того не забудьте положить eth0  в случае если у вас есть обычный езернет, чтобы не было проблем с роутингом.

XHR запросы и Access-Control

  •  
July 21, 2011 19:220 коммент.

Спецификация стандарта

http://www.w3.org/TR/access-control/#access-control-allow-origin-response-hea 

Хедеры которые надо установить на своем сервере если вы ходите обслуживать аякс запросы с   http://source.com сервера, поставьте звездочку елси разрешаете всем.

Access-Control-Allow-Methods: GET, POST, OPTIONS

Access-Control-Allow-Credentials: true

Access-Control-Allow-Origin: http://source.com

Access-Control-Allow-Headers: Content-Type, *

 

Подробное описание от разработчиков Mozilla 

https://developer.mozilla.org/en/HTTP_access_control 

http://alexn.org/blog/2011/03/24/cross-domain-requests.html

Как протестировать формат запроса XML - и правильную структуру запроса.

  •  
5.0 из 1 гол.
July 14, 2011 10:120 коммент.


it "should create a new user"
   valid_user_xml = File.read("fixtures/valid_user.xml")
   post :create, valid_user_xml,  :content_type => 'application/xml'
end

Еще один вариант

request.env['content_type'] = 'application/xml'
request.env['RAW_POST_DATA'] =  some_long_xml_string
post :create