それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

2011-09-01から1ヶ月間の記事一覧

Rubyで文字列をテンプレートの出力と見なして定型フォーマットされ文字列から値を取出す方法

定型文字列から,数字を抜き出したい時がある。 降水確率0% 降水確率90% このように定型フォーマットで出力の文字列は山ほどアルフォーマットを見つける 降水確率NN% と見なして、数字だけを取出すことは可能. SCANFを使います とても簡単で出来ます.いく…

Rubyでシェル環境変数を参照する

rubyで、シェルの環境変数を取得するにはENV変数を見る >> ENV["USER"] => "takuya" >> ENV["SHELL"] => "/bin/bash" >> ENV["TERM"] => "screen" >> ENV["_"] => "/usr/bin/irb" >> ENV["PATH"]PATHとか見たいなーとか、USER見たいなーというときに,知って…

postgresqlでクエリのログをとりたい

psql でクエリのログをとりたい log_destination = 'stderr' redirect_stderr = on log_directory = '/work/postgres/logs' log_rotation_age = 86400 #log_parser_stats = off #log_planner_stats = off #log_executor_stats = off log_statement = 'all' …

PHP でセッションのタイムアウトを設定するには

PHP でセッションのタイムアウトを設定するには session.gc_maxlifetime session.gc_probability session.gc_divisor の3つをこねくりまわせば有効期限を制御することができる。 この中で一番大切なのは、session.gc_maxlifetimeの設定値。 session.gc_maxli…

Rubyで exptect や ptyを使ってパスワードを自動入力する

SSHパスワード省略について書くと,公開鍵エントリに埋もれてしまうのですが。。。Sudoや、SSHを踏み台にしてその先のPCにRsyncするときなど、パスワード入力が毎回出てきて煩わしい.公開鍵が使えない業者のサーバーに限って,SSHで多段アクセスだったり頻…

auお客様サポートがOperaで動かない件に対応する

au お客様サポートがOperaで動かない.本件についてau に問い合せた結果、Operaで動作確認取れています。ちゃんと表示されます。というよく分らない回答.わたしゃ、クリックEventがおかしいと言っているのがですが. Operaでau お客様サポートサイトを動か…

すぐわかるfindコマンドの使い方

find コマンドは ファイルとディレクトリを見つけるコマンド.ファイルを検索します.ファイルの検索はファイルのメタデータを調べます.つまりi-nodeに入ってる情報。つまりパス名,アクセス時刻,アクセス権です find使い方。 一番最初にfind コマンドを使…

スクリプトをDaemonizeする。god ツール.しかもプロセス監視・再起動付き

twitter ボットとか、ファイル同期ボットとか、メール転送ボットとかイロイロボット作るよね?ボッと作らないで、プログラムを使う意味がないというか,ボットがあるからこそプログラムに価値があるわけです. rubyのプロセス管理ツールGod がそこそこイカス…

Google検索の件数表示が空白と縦幅を無駄使いするので消す方法g

消した.Googleの検索結果の件数表示#appbar が主張しすぎてついに我慢のリミッターをコマした.もうGoogleに我慢できません.Google+ の plus バーも黒くて主張強いし.CSSをつかって退場願うことにして,Googleの検索ページの縦幅の余白を確保した.ので在…

縦幅の空白、存在意義

レッツノートで検索結果が3件目以降が見えなくなった。マジ発狂しそうこの空白の存在意義について、デザイナーを問い詰めたい.表示領域の小さいノートPCはもう使うな,タブレットORスマフォ使えって事ですかね.PCはデスクトップでHD画質のみ、中途半端な…

cygpath の便利なオプション

CygwinつかっていてWin32のコンソールアプリ(Ruby.exeとかPHP.exeとかPython.exe)をCygwinのBashから使うのにすごく重宝するCygpath。Cygpathについて知らないことが多い おさらい。cygpathとは何か cygpathはUNIXパスからWindowsパスの変換,またその逆の…

文字列と文字列の引き算。

Rubyで文字列と文字列の引き算が出来れば、コードが読みやすくなると思いました。 "httpd.conf.bak" - ".bak" #=> "httpd.conf"になればいいと思いませんか.僕はイイと思います.extname をつかって dirname するよりスッキリしてて良いですよね. 文字列ど…

日本語文字列を一文字ずつ処理をしたい

日本語文字列を一文字ずつ取出したいN-gram を作るとかで重宝しそうですよね $KCODE='u' "3月のライオン".split // #=> ["3", "月", "の", "ラ", "イ", "オ", "ン"] $KCODEを使うのがちょっと1.8系依存だけどね 一文字ずつ処理するにはコレが確実.

文字列の差をから共通部分を&で求めてみる String#&

文字列を頭から比べて、同じところだけを取出したいとき "/home/takuya/2010-09-10" & "/home/takuya/test.rb" #=> "/home/takuya/" のようなことがしたいわけです.何に使うか分らないけど,URLの共通部分や,ファイルのパスの頭の部分で一致する箇所を調べ…

psql コマンドをWindows使う

PostgreSQLのインストーラーで入れても良いけど,cygwinがあれば,クライアントだけを手軽に導入できた.パッケージをインストール takuya@letsnote:~$ apt-cyg install postgresql-client psql がErrorになる takuya@letsnote:~$ cygcheck psql takuya@lets…

PostgreSQLのテーブル名はダブルクォート有無で別名になった.

postgresql に対するPDOのqueryがうまくいかないので、調べたところ,SQLがTableが見つかりませんのエラーだった ダブルクォート有り無しでテーブルが見つからない クォート無し my_db=# select gid from tbl_name_A limit 1; ERROR: relation "tbl_name_a" …

PostgreSQLのpsqlでテーブル定義を確認する方法

MySQLでテーブルだとshow create table でCREATE文を確認できたと思うんです postgresql で show create table をするには pg_dump -U postgres --schema-only my_db --schema-only テーブル定義: をつける --table=テーブル名 テーブルを制限する コマンド…

PDOでエラー表示をする.PDOの例外をエラーメッセージを表示する

php

「PHPはエラー表示しない」のが標準設定らしいです.初心者や使うだけの人がWarningsを見せられても意味わかんないって事らしいんですけど、チョッとしたデバッグでも不便です. PDOのSQL周りのエラーでExceptionにして欲しい $dbh->setAttribute(PDO::ATTR_…

WinSCPってコマンドラインから使えるんですね.

WinSCPはコマンドから使える winscp.com ファイルがコマンド用 コマンドラインから起動して,ファイルの転送を行う事が出来る 細かい書式とかは コマンドラインから呼び出す魅力keeptoupdateコマンド ローカルとリモートのフォルダを自動同期するコマンドが…

ubuntu/debian でも chkconfig っぽいこと

まぁいろいろあるけど、debian でもchkconfig --list みたいなことが出来るね sudo apt-get install sysv-rc-conf 実行結果 sysv-rc-confsysvinit なので /etc/init.d/ とか/etc/rc5.d/見れば登録状況は分るしね.sysvinit がどうなるか分らないし,ランレベ…

SQLITEでの auto increment

IDがユニークで連番とか、それは内部で勝手にやるから,意識しなくて良いよって事になってる Aut Incの書き方 SQLiteでAutoIncrementなフィールドを設定しようとしてCreate Tableの書き方を調べた If a table contains a column of type INTEGER PRIMARY KEY…

SWAPの確認・Swapファイルの利用

Swapっていざというときに必要になるらしい。最近はメモリが潤沢なので油断してる.一応確認しておいた メモリ情報から確認する takuya@atom:~$ cat /proc/meminfo | grep Swap wapCached: 8 kB SwapFree: 2097140 kB SwapTotal: 2097148 kB procファイルシ…

LVMを使ってファイルシステムをリサイズする

LVMを使っているので,容量の拡大縮小が結構楽に行える 容量の拡大 lvresize ext2online 容量の縮小 resize2fs lvresize 実際容量減らしてみた [root@web2 dtvadm]# lvresize -L -20GB /dev/VolGroup00/LogVol02 WARNING: Reducing active and open logical …

RubyでWindowsのバイナリ文字列を読めるようにしたい

ruby でHexダンプの16進数を文字に戻したい。バイナリの16進数文字列がWindowsのレジストリにあるので、コレを元に戻して、何が書いてあるのか見てみたい hexダンプ文字列 16進数のバイナリのダンプを作る方法。 >> a="Ruby逆引きレシピ" => "Ruby\351…

CentOSのSSHが古いのでrpmbuildで最新版パッケージを作って最新にする

CentOSのSSHが古すぎて・・・Match使えないので困りました. いくら何でも古いよ [takuya@kodai ~]$ yum info openssh-server Available Packages Name : openssh-server Arch : i386 Version : 4.3p2 #古い!! ssh サーバーは簡単に作れる ビルドめんどく…

phpがcgiかmod_phpかどうか調べる

php-cgi や suphpはCGIで動きますが、php はApacheのモジュールでも動きます。そのため、どのApacheのAPIで動いているか調べる必要がある。php-cgiなのかphp-fcgiなのか、mod_phpなのかどっちで動いているか調べるのは,apache2handlerをphpinfoから探すのが…

phpをユーザー毎に実行させるsuphp

前回の5時間の実験の結果、PHP+SuEXECはすごくめんどくさいと言うことが分った. suphpを試してみる sudo aptitude install libapache2-mod-suphp suphp-common 設定の確認 /etc/suphp/suphp.conf ;Path all scripts have to be in docroot=/var/www:${HOM…

php のCGIモードを有効にする-suEXECには php の cgi モードが欠かせない

suEXECでphpを動かせばユーザー毎にファイルの権限がきっちり別れます. つまり、PHPの設定で,『Apcheから書き込みできること』などと*1な設定指南書を納品されたのでかっとなって調べた.PHPが作ったファイルがwww-dataになって大慌てしなくて済みますサー…

userdir のチルダをなんとかする

URL からファイルシステム上の位置へのマップ - Apache HTTP サーバ を参考にuserdir と組合せてチルダを消せるようなRewriteパターンを纏めた /etc/passwd に存在しないユーザーでもマッチするような感じ Alias で強制マッチさせる AliasMatch ^/users/([a-…

ulimit で制限をかけル範囲はシェルらしい

ulimit で制限をかける.ulimit は bash で動くっぽい。PAMを使えば、ログインの認証にulimit を使うことが出来る。基本的にはshellの範囲で掛かる制限っぽいです 設定はドコに書くのか /etc/profile /etc/bash.bashrc ~/.bashrcなど。bashrc に書くって事は…