dreamin' blog

僕は感情的になっている人間が好きだ。
その人が怒りや喜びを表してるその人の心に嘘のない表情が好きだ。

だから、ポーカーフェイスで佇んでいる大人よりも、怒りを爆発させている子どものような人の方が好きだ。

もし、怒るなら怒ってほしい、感情を見せて欲しい。
何に怒っているのかを論理的にではなく感情的に教えて欲しい。

僕は人が感情的になっているとき、その人が感情的になる理由を考える。
そして、納得がいく。

もし、感情を見せない人に論理的に怒られても、何も感じない。
それならば、怒鳴ってほしい。

怒鳴る労力がいやという人はもっと嫌いだ。
人のために労力を使うのが嫌だと言ってるみたいだからだ。

人に対して真剣にぶつかっていく。そういう人間でありたい。

ブログをアメブロからbloggerに引っ越して一発目のブログになる。

ツイッターのまとめ表示をさせる場所が欲しくて、アメブロはそちらに異動させました。

保護者望む子ども像、指導力より協調性

これは数日前の日経の記事であるが、これを見て、将来、幼稚園を開かねば、という思いが強くなった。

もともと、幼児教育に興味を持ったのは 風の谷幼稚園がウェッジで特集されていたからだ。
これを見て、自分の恩返しという人生の目標の一つに幼稚園というプランが定まった。

私は特段に幼児教育について勉強したわけでも、詳しいわけでもない。

しかしながら、現在の社会の状況を見ていると、幼稚教育から改善することが必要だと強く感じられたのだ。

まず、幼児教育をすることで、保護者教育をすることができる。
大学生のアルバイトで保護者と接することが多くあったが、中学生や高校生の保護者の考え方を変えるには、相当な労力が要る。

しかし、小学生の保護者であれば、子どもがまだ未発達な分、親の子どもに対する考え方も変えることが比較的簡単である。

これは、『うちの子は○○な子!』という決めつけが少ないからである。

これは幼稚園になれば、もっと大きくなるはずだ。

はじめて、わが子が社会を経験するときに親がどのような行動に出るかで、大きくその子の人格形成に関わるの確実である。

そして、まだ幼稚園児の親は比較的若いはずだ。

幼児教育を行い、保護者教育を行うことで、きっと保護者を成功に導くこともできる。

私塾とともに、これは自分の使命になりうると考えている。

...

... Continue Reading

今日はアルバイト先の塾でビラ配りをするためのミーティング。
3つの班に分かれているが、まったく進んでないうちの班。
他の班はいい感じに進んでいるだけに、このうちの班の危機的状況打開すべく、元バイトリーダーの僕が仕方なく動き出しました。

まず、何のためにビラを配るのか??というところから、問い直しました。
そして出た結論が、『笑顔をふくらませる』。

ここでちょっと一歩先や二歩先のゴールが出たのはこの状況を打破するにはぴったりだ。
ブレインストーミングでは発散させる手法を使わないとアイデアが出てこないのだ。
この調子ならば、どんどんアイデアが出てくる。この時点で小さな目標を立てていてはブレストは進まない。

笑顔を膨らませるために、僕たちができること。
それは、子どもたちの成績を上げること。
子どもたちの悩みを解決すること。
子どもたちが前向きに生きてくれること。

どんどん、アイデアができてくる。狙い通りだ。

ある程度出たところで、どんな子どもに前向きに生きてもらえるのか、を問い直す。

名前は桜井翔。
中2。テニス部。
あこがれの大野先輩は偏差値60程度のM高校に入学。
同じ成績くらいの相葉が親友でテニスのペアを組む。
ライバルは松本・二宮組。
松本はイケメンで、後輩から超人気。
高校からのスカウトも来るし、テストも90点代連発。
二宮は次期生徒会長候補。
勉強もスポーツも万能で、先生からの信頼もある。
テニス部の新キャプテン。

まるで、ベネッセの小冊子みたい。
だが、これが中学生に人気の嵐の名前と設定することで想像をしやすくしていく。

相葉が大野先輩に憧れて、大野の塾に入塾する。
が、大野の2学期の期末テストは自分よりも悪いことを知る。 ...

... Continue Reading

世間を賑わせているトヨタ問題。この問題は3つに分けられる。

以上の三つだ。

『ブレーキマット』と『アクセルペダル』の問題

まず、『 ブレーキマット』と『アクセルペダル』の問題 について。

これはもともとトヨタのミスというよりは、部品メーカーのミスだ。

しかし、今までトヨタの部品メーカーがこのような大きなミスを起こすことはなかった。

その理由はトヨタと長期継続的な取引を行っている部品メーカーがより緊密な連携を取って、設計からテストまで協働して行っていた。

しかし、トヨタの大きな市場が国内から北米に移行するにつれ、全てを国内で補うのは難しくなった。当初は全て国内の部品メーカーから納入していたが、おそらく米国政府からの圧力もあり、米国部品メーカーからの納入、米国内での生産が決まったのであろう。

BIG3の相次ぐ破たんで、米国内の部品メーカーを救済する必要があったのだ。
しかし、不慣れなトヨタとの取引で、おそらく旧来の緊密な連携はとれず、大きな事故を引き起こす原因になった。

トヨタが渋々受け入れた処置で、トヨタは炎上してしまった格好だ。
憶測の域は出ないが、米国政府の息のかかったメーカーがあえて不具合品を納入した可能性も大きいのではないかと、私は考えている。

宗教や文化が全く違う国のメーカーがアメリカの象徴を潰したと考える人は少なくないだろう。また、民主党のCO2削減政策に対してNOを突き付ける武器として、極右派の石油会社が考えた可能性もある。

ABSの不具合について

...

... Continue Reading

title: 今更macportsからhomebrewに乗り換えた件
tags: PHP Mac
author: koheiSG
slide: false

さて年末年始の休みを使ってガリガリコード書くぞー!!!
って思ったのですが、知らない間にがっつり環境構築系の作業をやっておりました。

mac portsからhomebrewへの乗り換え。
homebrew自体はこんな感じで簡単に入ってしまうのですね。

ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"

素晴らしいです。

その後、homebrewをチェックするためのコマンドを叩きます。

brew doctor

偉いたくさん怒られました。
macports関連で怒られていたので、
思い切ってuninstallすることに。
下記のコマンドそのままで。問題ありませんでした。

http://macwiki.sourceforge.jp/wiki/index.php/MacPorts#MacPorts_.E3.82.92.E5.86.8D.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB.E3.81.97.E3.81.9F.E3.81.84

上記を参考にuninstallしてみました。
あとmac port関連で通したpathも全て取り除きました。
.bash_profileとか、zshrcとか

さてこれでガリガリコーディングとか思いましたが、
なかなか上手くいかず。
そりゃmac portsで入れたものほぼ全てが、使えない状態になってますもんね。
...

... Continue Reading

title: あんまりよくわかってないtcpdump
tags: tcpdump
author: koheiSG
slide: false

 tcpdump -Xn -i eth0 port 80

とかはどハマりしたときに使うけど、よく忘れる。。。。

この記事のライセンス

クリエイティブ・コモンズ・ライセンス
この記事はCC BY 4.0(クリエイティブ・コモンズ 表示 4.0 国際 ライセンス)の元で公開します。

この記事は Ruby on Rails Advent Calendar 2015 - Qiita の12日目の記事です。

vimでrailsを書く毎日を送っているkoheisgと申します。

一昨年までphperだった自分が、この1年railsを書いて身に付けたテストの間合いについて、書きたいと思います。
rspecアドベンドカレンダーかと思いましたが、rspecでrailsをテストするときの内容なのでご容赦ください。

そもそも、テストの間合いとは

twitterでtwadaさんが下記のようなことを呟いていました。

自分にはこの間合いという言葉非常にしっくりきました。
武道経験のある自分からすると、自分の間合いで相手と戦うと相手の動きが直感的に読める(見える)ため、手数を出さずに相手を封じ込むことができます。

自分はrailsでのテストの間合いが見えてきたかもしれないと思ったのでした。...

... Continue Reading

title: テストの書き方
tags: PHPUnit RSpec
author: koheiSG
slide: false

この記事は誰向け?

知り合いがテストを書いたことがないけど、書きたいと言っていたときにまとめたものを記事にしました。
すなわち、テストコードを初めて書くという人に向けた記事です。

テストの書き方

3つのゾーンがあります。

具体的にはこんな感じ。phpunitで書きます。

/**
 * @test
 */
public funtion ユーザが作成されたとき、statusが初期値となること()
{
	// 事前状態
	$user = new User();
	// 実行
	$actual = $user->getStatus();
	// 検証
	$this->assertSame('init', $actual);
}

phpunitでは事前状態をsetUpメソッドにくくりだします。
少しシンプルに書けますね。

public function setUp()
{
	// 事前状態
	$this->user = new User();
}

/**
 * @test
 */
public funtion ユーザが作成されたとき、statusが初期値となること()
{
	// 実行 & 検証
	$this->assertSame('init', $this->user->getStatus());
}

rspecではこんな感じ

describe 'ユーザが作成されたとき'
  before do...
... Continue Reading

title: 改行コードまとめ
tags: CR LF diff Vim
author: koheiSG
slide: false

LFに統一しろや!!!ってことで、まとめてみます。
徐々にね 笑

##vimで改行コード置換

:set fileformat=dos | mac | unix

http://www.futuregadget.com/?p=34

##改行コード無視してdiff

$ diff -w a.txt b.txt または diff --strip-trailing-cr

http://d.hatena.ne.jp/youhey/20091028/1256748465

##改行コードをさくっと確認する

$ hexdump -c

この記事のライセンス

クリエイティブ・コモンズ・ライセンス
この記事はCC BY 4.0(クリエイティブ・コモンズ 表示 4.0 国際 ライセンス)の元で公開します。


title: dateコマンドあれこれ
tags: date ShellScript
author: koheiSG
slide: false

http://blog.clouder.jp/archives/001083.html
はまった。。

macはBSD系やからこうせなアカンのね。

DATE=`date -v-2d +%Y%m%d`

この記事のライセンス

クリエイティブ・コモンズ・ライセンス
この記事はCC BY 4.0(クリエイティブ・コモンズ 表示 4.0 国際 ライセンス)の元で公開します。


title: dateコマンド
tags: Linux
author: koheiSG
slide: false

##date関数系(バックアップファイル作るときに便利)

###linux(GNU系)

$ echo `date '+%Y%m%d'`
$ cp ./hoge.txt ./hoge.txt.`date '+%Y%m%d'`.bak
$ ls
hoge.txt hoge.txt.20110322.bak

###BSD系とGNU系で違う。。
ローカル環境をmacにしているときは注意が必要。
こういう問題が多いから、環境はVM環境を構築することが急がれますね。。

#for GNU
DATE=`/bin/date +%Y%m%d -d '2 days ago'`
#for BSD
DATE=`date -v-2d +%Y%m%d`

参考URL
http://blog.clouder.jp/archives/001083.html

この記事のライセンス

クリエイティブ・コモンズ・ライセンス
この記事はCC BY 4.0(クリエイティブ・コモンズ 表示 4.0 国際 ライセンス)の元で公開します。


title: mysqlの設定のときにいつも見てる記事
tags: MySQL
author: koheiSG
slide: false

http://blog.layer8.sh/ja/2011/12/23/mysql%E3%82%92%E9%AB%98%E9%80%9F%E5%8C%96%E3%81%97%E3%81%9F%E3%81%84%E3%81%A8%E3%81%8D%E3%81%AE%E3%83%81%E3%83%A5%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0/

http://yumewaza.yumemi.co.jp/2009/08/mysqlinnodb.html

いつかまとめる。。。


title: PHPでコマンドラインから引数を受け取るバッチを書くとき
tags: PHP
author: koheiSG
slide: false

フレームワーク使ってたらあんまり使わないから、結構忘れてしまうんです。

コマンドラインの引数ってどうやってとるんやっけ?

%php args.php 1 2 3 4 5 6 7 8 9
var_dump($argv);

出力結果

$argv[0] = args.php;
$argv[1] = 1;
$argv[2] = 2;
$argv[3] = 3
$argv[4] = 4
$argv[5] = 5
$argv[6] = 6
$argv[7] = 7
$argv[8] = 8
$argv[9] = 9

まぁフレームワーク使う場合は、引数受け取るようになってますよね。という話でした。

この記事のライセンス

クリエイティブ・コモンズ・ライセンス
この記事はCC BY 4.0(クリエイティブ・コモンズ 表示 4.0 国際 ライセンス)の元で公開します。


title: diffまとめ
tags: diff
author: koheiSG
slide: false

diffコマンドよく使うけど、良く忘れるのと、Qiitaとかkobitoとかmarkdownとかテストするために投稿。
※基本的に僕のメモなので役立つかは知りません。すみません。

##改行コード無視してdiff

$ diff -w a.txt b.txt または diff --strip-trailing-cr

http://d.hatena.ne.jp/youhey/20091028/1256748465

##サーバ間でdiff

$ ssh hostname cat filename | diff filename -

##タブ無視してdiff

$ diff b.txt a.txt
2c2
<         echo "hoge";
---
>       echo "hoge";

-bオプションでタブを無視できる

$ diff b.txt a.txt -b

ちなみにタブ無視してgit diffも

$ git diff -b 

または

$ git diff --ignore-space-change

##diffの出力形式
-cオプション
context 出力形式を用いる

$ diff -c b.txt a.txt
*** b.txt       2012-10-01 06:05:08.000000000 -0400...
... Continue Reading

title: [WIP]git少し慣れた人用まとめ
tags: Git
author: koheiSG
slide: false

とりあえずcommitやpushはできるようになった人用のまとめです。

別ブランチの変更を取り込みたい

git checkout {取り込みたいbranch}
git pull origin {取り込みたいbranch}
git checkout {作業branch}
git merge {取り込みたいbranch}

別ブランチのコミットだけ取り込みたい

git fetch origin
git cherry-pick {リビジョンナンバー} 

マージしていらなくなったブランチを消す

git branch -d branch_name

ブランチ名を間違えて作ってしまった!!
マージしてないブランチは、無理矢理消す(-dでは消えない)

git branch -D branch_name

間違えてコミットしてしまった
コミットを打ち消す

git reset {commit logのハッシュ値}

コミットを打ち消して、コミット前の状態に戻す

git reset --hard {commitログのハッシュ値}

ローカルブランチとリモートブランチの差分を確認

$ git fetch
$ git diff remotes/origin/master

現在の作業を一旦置いておく

git stash

stashから戻す

git stash list...
... Continue Reading

title: FireMobileSimulater
tags: firefox
author: koheiSG
slide: false

そんくらい知ってるよ、と思うかも知れませんが、結構はかどります。
chromeのdeveloper toolを使うようになって最近はあまり使いませんが。。
(FMSは開発だけでなく、営業や運用の方も良く使うと思いますので。。ぜひ、周りにも教えてあげてください。)

FireFoxのアドオンであるFireMobileSimulaterを、いつの間にかタブ毎に端末を設定できるようになっていました。
chromeのFireMobileSimulaterでは使えません。まぁ最近はつかうことも少なくなってきましたが。

例)
タブAでdocomo
タブBでau
タブCでSB
タブDでスマフォ
タブEでPC

やりたいのにできない…と思っていたのですが、
いつの間にかアップデートされてできるようになっていました!

ツール⇒FireMobileSimulater⇒オプション設定⇒全般⇒端末選択
「タブごとに端末を選択する」にチェックを入れて、再起動!

これでかなり幸せになります。

この記事のライセンス

クリエイティブ・コモンズ・ライセンス...

... Continue Reading

title: cygwinのapt-cygでリポジトリを国内リポジトリに変更するコマンド
tags: text
author: koheiSG
slide: false

apt-cyg -m ftp://ftp.iij.ad.jp/pub/cygwin/ update

これで、いろいろ入れられるようになりました。


title: 容量確認系コマンド
tags: Linux
author: koheiSG
slide: false

##デカいファイルを探す大きディレクトリを探す

$ sudo du  /  |sort -n|tail
2383932 ./var/log
3206136 ./home/www/cms
3703848 ./var/lib/mysql/data
3924128 ./usr
4115076 ./home/www
8706056 ./var/lib/mysql
8760148 ./var/lib
9173396 ./home
11328132        ./var
24822470        .

##100000以上のファイルを探す

$ find / -size 100000 -ls -R

この記事のライセンス

クリエイティブ・コモンズ・ライセンス
この記事はCC BY 4.0(クリエイティブ・コモンズ 表示 4.0 国際 ライセンス)の元で公開します。


title: macでVitualBox上のUbuntuが違うネットワークに入ったとき外にでれなくなる
tags: VirtualBox
author: koheiSG
slide: false

最近、mac上でvirtualboxを入れて、いろいろ作業する機会が増えてきました。
例えば外でテザリング機器につなげて作業した後、家に帰ってきます。
macが家の環境に繋がっている時、VirtualBox上のubunutが外に出れなくなります。。

そんなときは、

$ sudo /etc/init.d/networking restart

でubuntu君がいんたーねっとに出れるようになれます。
VirtualBox使い初めの頃よくはまったので、、、

この記事のライセンス

クリエイティブ・コモンズ・ライセンス
この記事はCC BY 4.0(クリエイティブ・コモンズ 表示 4.0 国際 ライセンス)の元で公開します。


title: デバッグ手法まとめ
tags: debug
author: koheiSG
slide: false

この記事のライセンス

クリエイティブ・コモンズ・ライセンス
この記事はCC BY 4.0(クリエイティブ・コモンズ 表示 4.0 国際 ライセンス)の元で公開します。

デバッグは大事な能力

設計やテストも大事ですが、デバッグも大事です。

でも、実装を進めていくには、自分の書いたコードがどのように実行されるか?
テストが落ちた、意図通り実行されなかったとき、それを確かめて自分で書いたロジックを訂正する力が必要です。

良く訓練されたプログラマはデバッグの腕も良く訓練されています。
debugができないとプログラミングを覚えられないでしょう。

そこで、自分の普段行っている方法をまとめました。
プログラミング初心者の方には参考になるかもしれませんが、上級者の方々には他の技法も教えて欲しいです。

print(printf) debug

問題が起こりそうな場所で、print文を挿入し、変数の状態を確認します。...

... Continue Reading

title: php5.4まとめ
tags: PHP
author: koheiSG
slide: false

http://www.slideshare.net/nazone/php54-13345814
http://qiita.com/items/b6d96036a4ae538e1817

・配列の新しい書き方ができるようになった。
$array = ['hoge','fuga'];

・tarait
別のクラスから関数をクラスの継承なしで、使用することが可能。

trait hoge {
	function logger($var) {
		
	}
}
class a {
	user logger;
	function method($a) {
		$this->logger($hoge);
	}
}

・独自のサーバを立てられるようになった。
 そんで?って感じやけど

php -S localhost:8000

この記事のライセンス

クリエイティブ・コモンズ・ライセンス
この記事はCC BY 4.0(クリエイティブ・コモンズ 表示 4.0 国際 ライセンス)の元で公開します。


title: Chromeで背景画像を印刷する方法
tags: HTML CSS Chrome
author: koheiSG
slide: false

firefoxのやり方がわからなんだ。。

body {
	-webkit-print-color-adjust: exact;
}

この記事のライセンス

クリエイティブ・コモンズ・ライセンス
この記事はCC BY 4.0(クリエイティブ・コモンズ 表示 4.0 国際 ライセンス)の元で公開します。

前提・背景

railsにはrails runnerとてもよくできたバッチ機構が存在します。
rails runner 'p "hoge"' のように、rails runnerの後ろにrubyでプログラムが書けます。

大体、サービスのバッチで使用する場合は、下記のようにして、
Batchクラスに実装したrunメソッドを実行することが多いようです。

$ rails runner Batch.run

もちろん、Batch.runの部分はただのrailsですので、

$ rails r User.actives.map(&:kick)

のように、書くこともできます。

ただ、大体はバッチの実行用のクラスを用意し、処理をファイルの中に書き、それを実行すると思います。

自分が考えていること

少しでもDRYにしたいにしたい

バッチを毎回毎回普通に作るのはそれでいいんだけど、
バッチの実行時間や実行ログなどは、大体同じ処理になるはず。
失敗したときの通知とか、正常に終了した時の通知とかもあるはず。

少しでもインターフェースを統一したい

バッチファイルの置き場所をつくっても、人によって実行の仕方が違うと混乱する。
runで実行するひととexecで実行する人とか色々いそう。

バッチを書いた時に、自分がチームのインターフェースと違う形で実行していると気付けるようにしたい。...

... Continue Reading

title: [WIP]phpでよくたまに調べることまとめ
tags: PHP
author: koheiSG
slide: false

phpでよく調べることを更新していきます。。

空白判定

http://www.phppro.jp/phpmanual/php/types.comparisons.html

Xdebug導入手順

$ pecl install xdebug

/etc/php.iniに下記を追記

zend_extension = "/usr/lib/apache2/modules/xdebug.so"

この記事のライセンス

クリエイティブ・コモンズ・ライセンス
この記事はCC BY 4.0(クリエイティブ・コモンズ 表示 4.0 国際 ライセンス)の元で公開します。