時雨に舞う

プログラミングや技術情報などの備忘録

.gitignoreについて

gitの管理対象外ファイルを指定する.gitignoreについて。

.gitignoreの書き方に関して、よく正規表現が使えるという記述があったりしますが、実際には簡易正規表現のようなもので、globパターンというものが使えるようです。


・空行あるいは # で始まる行は無視される
・標準の glob パターンを使用可能
・スラッシュ( / )で始まる場合はルートディレクトリからを表す
・ディレクトリを指定するには、パターンの最後にスラッシュ (/) をつける
・パターンを逆転させるには、最初に感嘆符 (!) をつける
複数マッチするパターンがある場合は最後にマッチするものが優先

 

globパターンの主なもの

・* 任意の0文字以上の文字列
・? 任意の1文字
・[abc] a or b or cのいずれかに一致
・[a-d] aからdまでにいずれかに一致

例えば a*e であれば age, ace, abcde, axxxxxxxxxxe などが該当する。
例えば a?e であれば age, ace, axe などが該当する。


著者:t.n

linuxのsedが便利

linuxsedコマンドが便利だったのでメモ。

圧縮状態で数GB、解凍したら数十GBもあるような巨大なテキストデータから特定の部分を削除したい場合に重宝する。

テキストエディタで開くのは非常に難しい。秀丸エディタでも部分指定して開くのが精いっぱい。しかも行番号は指定できない(ファイルを最初から読み進める事で行数を把握するだろうから当然と言えば当然)。

例えば圧縮されているファイルを展開しながら任意の範囲行を削除して再圧縮するにはこんな感じ。

# zcat a.sql.gz | sed -e '13456,25385!d' | gzip > b.sql.gz

これは13456行~25385行以外を削除する処理。

普通の手段でやろうとするとメモリに展開しようとしてメモリもスワップも食いつぶして大変な事に・・・。

 

著者:t.n

 

floatを使った時の左右のカラムの高さを揃える方法

floatを使用して左右のカラムに背景色や背景画像の指定をした時、コンテンツの量で左右の高さが合わなくて片方の背景が切れてしまう事が…。

無理に高さを指定しまうと変にスペースも出来てしまうし、いい方法がないかと検索してたらjQueryで簡単に高さを揃える方法がありました。
http://tukuruder.com/archives/1257#codesyntax_8

調べた中ではこれが一番簡単でわかりやすかったです。

著者:N.K

WinSCPで多段階接続をする

【ローカル】

 →【踏み台1(鍵1認証)】

  →【踏み台2(鍵2認証)】

   →【ターゲット(鍵3認証)】

という構成でWinSCPをターゲットに繋げる方法の一つを紹介します。

重要なのはWinSCP単体ではなく、puttyも併用する点です。

予め puttyで多段階接続をする - 時雨に舞う を済ませておきましょう。

-----

(1)トンネル用puttyの設定を用意する

 puttyで多段階接続をする - 時雨に舞う のセッションをコピーし、その内容に対して下記の設定を加えます。

[接続→SSH→トンネル]

 ポートフォワーディング:源ポート:3000以上の任意の値(例:3111)

 ポートフォワーディング:送り先:
  [ターゲットのIPアドレスまたはホスト名]:[ターゲットの接続先ポート番号]
  (例:example.com:22)

 ラジオボタン1行目:ローカル

 (※上記3個所を設定したら「追加」ボタンを押しておくこと)

(ここまでやったらセッションを保存しておきましょう)

-----

(2)接続用WinSCPの設定を用意する

[セッション]

 ファイルプロトコル:SFTP

 ホスト名:localhost

 ポート番号:[上記(1)で源ポートに指定した値(例:3111)]

 ユーザー名:[ターゲットでログインするユーザー名]

(ここまでやったらセッションを保存しておきましょう)

-----

(3)トンネル用puttyを起動する(プロンプトが出ている状態にしておく)

-----

(4)接続用WinSCPでログインボタンで接続できるはず・・・

 

参考にしたページ

Connect to FTP/SFTP Server Which Can Be Accessed via Another Server Only :: WinSCP

 

著者:t.n

 

puttyで多段階接続をする

【ローカル】

 →【踏み台1(鍵1認証)】

  →【踏み台2(鍵2認証)】

   →【ターゲット(鍵3認証)】

という構成でputtyをターゲットに繋げる方法の一つを紹介します。

-----

(1)【踏み台1】に ~/.ssh/config を作成する(無ければ新規)

# vi ~/.ssh/config

▽ここから

HOST Humidai2

    HostName [踏み台2のIPアドレスまたはホスト名]

    User [ログインするユーザー名]

    Port [接続先ポート番号]

 HOST Target

    HostName [ターゲットのIPアドレスまたはホスト名]

    User [ログインするユーザー名]

    Port [接続先ポート番号]

    ProxyCommand ssh -W %h:%p Humidai2

△ここまで

 パーミッションを600にしておく(念のため)

# chmod 600 ~/.ssh/config

-----

(2)Pageant.exeを実行して常駐させる

 ここで多段階接続に必要な分の鍵を登録しておく

 (最低限鍵2と鍵3、鍵1も入れておいた方が楽)

-----

(3)puttyの設定をする(特筆無ければデフォルト)

[セッション]

 接続先の指定:ホスト名:[踏み台1のIPアドレスまたはホスト名]

 接続先の指定:ポート:[接続先ポート番号]

[接続→データ]

 ログインの詳細:自動ログインのユーザ名:[ログインするユーザー名]

[接続→SSH]

 サーバに送られるデータ:リモートコマンド:ssh Target

[接続→SSH→認証]

 認証方法:Pageantを使って認証する:ON

 認証パラメータ:エージェントフォワーディングを認める:ON

 認証パラメータ:認証のためのプライベートキーファイル:鍵1

(ここまでやったらセッションを保存しておきましょう)

puttyの開くボタンで接続できるはず・・・

 

参考にしたページ

多段SSHで4段先のサーバに一発ログイン - Glide Note - グライドノート

 

著者:t.n

WinSCPのiniファイルの場所(Windows8.1)

PC乗り換えの時に毎回iniファイルの場所を探すのでメモです。

C:\Users\ユーザ名\AppData\Local\VirtualStore\Program Files\WinSCP

 

エクスポート機能はあるのになぜインポート機能はないのだろうか…

 

著者:y.u

Google ChromeがSkypeのCPU使用率を上げる問題

最近PCの動作が重い気がして気になっていました。
検索するとこんな記事が…!

Google ChromeがSkypeのCPU使用率を上げる問題の対処法 | numlockz

skypeのバージョンは変わっているんだけど…。

ためしにこれで、様子を見てみようと思います。

 

著者:yotsu