bitbucketの使い方

butbucketからローカルにリポジトリ取得。

$ git init
$ git remote add origin https://ユーザID@bitbucket.org/ユーザID/リポジトリ名.git

bitbucketアカウントのパスワードを聞かれるので入力。

$ git pull origin master
Password for 'https://ryouichi31@bitbucket.org':
remote: Counting objects: 485, done.
remote: Compressing objects: 100% (372/372), done.
remote: Total 485 (delta 56), reused 485 (delta 56)
Receiving objects: 100% (485/485), 727.75 KiB | 460.00 KiB/s, done.
Resolving deltas: 100% (56/56), done.
From https://bitbucket.org/ryouichi31/ws
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master

sublime text 2の初期設定

sublime text 2をインストール。

まずはvim化。

Vintageパッケージを有効に。

画面上部メニュー「Preferences > Settings - User」を選択。


// Vim モード
"ignored_packages": [],
// Vimキーバインドを使用
"vintage_ctrl_keys": true,
// 新規ファイルを開いたらノーマルモード
"vintage_start_in_command_mode": true,
// ヤンクバッファとクリップボードを同期
"vintage_use_clipboard": true,

vimキーバインド設定。(しなくてもよいが必要なものだけ)


// タブの切り替え
{ "keys": ["g", "t"], "command": "next_view",
"context":
[
{ "key": "setting.is_widget", "operand": false },
{ "key": "setting.command_mode" }
]
},
{ "keys": ["g", "T"], "command": "prev_view",
"context":
[
{ "key": "setting.is_widget", "operand": false },
{ "key": "setting.command_mode" }
]
},
// インサートモードから抜ける
{ "keys": ["ctrl+j"], "command": "exit_insert_mode",
"context":
[
{ "key": "setting.command_mode", "operand": false },
{ "key": "setting.is_widget", "operand": false }
]
},
{ "keys": ["j","j"], "command": "exit_insert_mode",
"context":
[
{ "key": "setting.command_mode", "operand": false },
{ "key": "setting.is_widget", "operand": false }
]
},
// ビジュアルモードから抜ける
{ "keys": ["ctrl+j"], "command": "exit_visual_mode",
"context":
[
{ "key": "setting.command_mode"},
{ "key": "num_selections", "operand": 1},
{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": false }
]
},

Package Controlをインストール。

「Ctrl + `」を押すか、「View > Show Console」を選択すると画面の下の方にコンソールウィンドウが出るので、そこに以下のコードを貼り付けて実行。


import urllib2,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a3098092775ccb37ca9d6b2e4b7d'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')

パッケージコントロールを起動するには、

「Prefelence > Pacage Control」を選択するか、「Ctrl + Shift + p」で「Command Palette」を起動し、"package"で絞り込み、Package Control のコマンドを選択

Install Packageを選択し、


VintageEx : 「:%s」の置換コマンドや、「:ls」コマンドなどを追加


Vintage Escape : オートコンプリート表示中にEscキーを押すとノーマルモードに戻る
通常はオートコンプリートが閉じる(一度のキー入力で戻れる)


Vintage Surround : 囲われている文字には変更を加えず、テキストを囲うものだけを追加、削除、変更
[],(),{},'',""などの引用符、HTMLタグなど
PackageControlに無いのでGitHubで直接ダウンロード


SublimeBlockCursor : ノーマルモード時のカーソルキーをブロックカーソルに変更
これらを全てインストール。

参考URL
http://uraramarry.blog.fc2.com/blog-entry-10.html
http://d.hatena.ne.jp/xyk/20131001/1380610973
http://ytsuda.hateblo.jp/entry/2012/12/05/170506
http://dotblogrc.blogspot.jp/2013/06/sublime-text-2-vintage-macwindows.html


sublime text 2でローカルの秘密鍵を使ってSFTPでファイルをアップロードする設定。
http://blog.ecoteki.com/webservice/post-2401/

CentOS 6.xにMySQLをインストールしてphpで日本語utf-8表示

yumでインストール

yumリポジトリ更新

$ sudo yum update

すでにインストールしているmysql関連パッケージを確認

$ sudo yum list installed | grep 'mysql'

以下のようにインストール

$ sudo yum install mysql.x86_64

以下のようになるまでインストールする

$ sudo yum list installed | grep 'mysql'
mysql.x86_64           5.1.73-3.el6_5   @updates
mysql-connector-odbc.x86_64
mysql-libs.x86_64      5.1.73-3.el6_5   @updates
mysql-server.x86_64    5.1.73-3.el6_5   @base
php-mysql.x86_64       5.3.3-40.el6_6   @updates

my.cnfの設定

日本語とメモリ量の設定

[client]
default-character-set = utf8

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

max_allowed_packet=128M

skip-character-set-client-handshake
default-character-set = utf8
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8

[mysqldump]
default-character-set = utf8

[mysql]
default-character-set = utf8

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

php.iniのmbstringも以下のようになっているか確認

;mbstring.language = Japanese
;mbstring.internal_encoding = EUC-JP
;mbstring.http_input = auto
;mbstring.http_output = SJIS
;mbstring.encoding_translation = Off
;mbstring.detect_order = auto
;mbstring.substitute_character = none
;mbstring.func_overload = 0

以下のように対応する項目を変更

mbstring.internal_encoding = UTF-8
mbstring.http_output = UTF-8
mbstring.encoding_translation = On

参考URL
http://ortk.main.jp/blog/?p=67

CentOS-6.5でredisサーバ構築

インストール

外部リポジトリに新しいパッケージがあるので、epelリポジトリを登録。

$ wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

# rpm -ivh epel-release-6-8.noarch.rpm

epelリポジトリを使ってインストール

# yum --enablerepo=epel install redis
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: ftp.jaist.ac.jp
 * epel: ftp.jaist.ac.jp
 * extras: ftp.jaist.ac.jp
 * updates: ftp.jaist.ac.jp
Setting up Install Process
Resolving Dependencies
    • > Running transaction check
      • > Package redis.x86_64 0:2.4.10-1.el6 will be installed
    • > Finished Dependency Resolution
Dependencies Resolved ================================================================================================================================================= Package Arch Version Repository Size ================================================================================================================================================= Installing: redis x86_64 2.4.10-1.el6 epel 213 k Transaction Summary ================================================================================================================================================= Install 1 Package(s) Total download size: 213 k Installed size: 668 k Is this ok [y/N]: y Downloading Packages: redis-2.4.10-1.el6.x86_64.rpm | 213 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : redis-2.4.10-1.el6.x86_64 1/1 Verifying : redis-2.4.10-1.el6.x86_64 1/1 Installed: redis.x86_64 0:2.4.10-1.el6 Complete!

起動

# /etc/init.d/redis start
redis-server を起動中:                                     [  OK  ]

動作確認

# /etc/init.d/redis status
redis-server (pid  2116) を実行中...

# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 127.0.0.1:6379              0.0.0.0:*                   LISTEN

〜〜
デフォルトではポート6379で動作するらしい

redis clientを使ってみる

redis本体と一緒にインストールされるredis clientでも動作確認

'foo'をhogeにセットしてゲット

$ redis-cli
redis 127.0.0.1:6379>

redis 127.0.0.1:6379> set hoge 'foo'
OK

redis 127.0.0.1:6379> get hoge
"foo"

node.jsのpm2でデーモン化とクラスタリング

作業中のため参考URLのみメモ

Node.js 自動再起動モジュール
http://qiita.com/disc99/items/57490f5eef3e2eb685ba

【Node.js】foreverより高機能なpm2でデーモン化
http://blog.shonanshachu.com/2013/07/nodejsforeverpm2.html

Node.js + Socket.IO + pm2でデーモン化とクラスタリング
http://tomowatanabe.hatenablog.com/entry/2014/01/31/124740

pm2 - node.js プロセス管理パッケージ
http://nodejs.osser.jp/thread/node-pm2

調査中に見つけたnode.jsについての考察

Node.jsの問題点、デメリットと解決方法まとめ
http://qiita.com/hshimo/items/156249ec8e6dbf75205a

Node.jsについてのよくある誤解
http://meso.hatenablog.com/entry/20110220/1298202879

sambaの設定

sambaをインストール

yumでインストール

# yum install samba

smb.confの設定

以下の設定を適当な位置に追加

# vi /etc/samba/smb.conf

[global]
        unix charset = UTF-8
        dos charset = CP932
        display charset = UTF-8

〜〜

        security = share
        passdb backend = tdbsam


〜〜

[printers]
        comment = All Printers
        path = /var/spool/samba
        browseable = no
        guest ok = no
        writable = no
        printable = yes

〜〜

[public]
        comment = Public Stuff
        path = /home/public
        public = yes
        writable = yes
        only guest = yes
        vfs objects = recycle
        recycle:repository = .recycle
        recycle:keeptree = no
        recycle:versions = yes
        recycle:touch = no
        recycle:maxsize = 0
        recycle:exclude = *.tmp ~$*
        force user = sai
        force group = sai
        directory mask = 0775
        create mask = 0664

sambaを起動

# /etc/init.d/smb start

動作確認

# /etc/init.d/smb status

自動起動の設定

# chkconfig --add smb

# chkconfig --list | grep smb
smb             0:off   1:off   2:off   3:off   4:off   5:off   6:off

# chkconfig --level 35 smb on

# chkconfig --list | grep smb
smb             0:off   1:off   2:off   3:on    4:off   5:on    6:off

rootでもvimのシンタックスハイライトを有効にする

.vimrcを作成

# cd
# touch .vimrc
syntax on

これだけでは、rootはシンタックスハイライトが有効にはなりません。
以下のようにコメントアウトします。

# vi /etc/profile.d/vim.sh
if [ -n "$BASH_VERSION" -o -n "$KSH_VERSION" -o -n "$ZSH_VERSION" ]; then
  [ -x /usr/bin/id ] || return
#  ID=`/usr/bin/id -u`
#  [ -n "$ID" -a "$ID" -le 200 ] && return
  # for bash and zsh, only if no alias is already set
  alias vi >/dev/null 2>&1 || alias vi=vim
fi