2015/07/30

Runnable

Javaのスレッド用インターフェースの話ではなく、あるサンプルコードがラヌァーブルかどうかという話。
日本人なのに英語の発音がやたら良い人が言ってたので、ランネイブルじゃなくrunnableと聞こえたような気がした。
いまScala用の本を読んでいるが本の中のサンプルコードが沢山あるのは良いんだが、打ち込んでも動かないんですよどういうことですか!みたいなことが多い。
関数だけ書いてあったり、ほんとにごく一部のコードだったり初心者じゃ補完できないような部分まで省略していたり。
外側のクラスとかは自分で作ってその中に書くのかな?って思って頑張って外側作ってもコンパイルエラーを直すのにすごい時間をかけてしまう。初心者だもの。

で、「Runnableなサンプルコード」とは全部書き写すだけで動くコード、って意味。新しい言語を学ぶときに断片的なサンプルコードだけで学ぶのは難しいんだよねぇ。
もともとこのブログは、他の技術ブログの記事が難しいことを「知ってて当然でしょ?」のように書いてたり、ソーシャル的な繋がりを広げようとかの意識高過ぎたりでムカつくことが多かったので、技術ブログ界の技術力水準の平均を押し下げる目的で初歩的で簡単なことを簡単に書く、ということだった。(自分が難しいことなんか一つも書けないから)
記事数が増えてきてそれなりに目的は達しているような気がする。

でも簡単なサンプルコードを作るのがやっぱり面倒だったり難しくて、ある程度その言語の前提知識がないと使えないコードを載せてしまってるようにも思う。で、意識高そうな人が「ココ(BlogだかGitHubだか?)に載せてるコードは全てRunnableです。」と得意気に言ってたので、そういうのは見習わないといけないなぁと。
やっぱりそいうコードを載せるならGitHubなんだろうな。最近見るようになったGistっていうのかな?

2015/07/24

自分のマシンのIPアドレスを取得する

DHCPに設定したPCで、どうしてもバッチファイル内でIPアドレスを使いたいことがあった。
NIC名を指定して実行するとIPv4アドレスを返すだけのexeを作った。
Windows API 及び C/C++ を使って単機能のexeが気軽に作れるようになったのはほんとに便利だ。コード生成の設定で「/MT」を指定するとサイズは大きくなるが.Net依存無しでどのwindowsでも動くexeとなる。
コードは「C/C++あれこれ/自マシンのIPアドレスを取得」 を参考に、というかコピペで出来た。コピーアンドペースターの本領発揮。
全く同一のコードを載せちゃうのも気が引けるが後でまた必要になったときの自分用にべたっと貼っておく。

2015/07/23

Git環境を作るときの個人的なメモ

Git環境の準備をメモっておく。
公式のGitを入れた後で行うこと。

PowerShellでフォント設定をConsolasとか、MigMix 2Mとかに変更

ショートカットを右クリック、PowerShellのプロパティで変更する。Gitコマンドのフォントカラーがなかなか見難いので背景色も見やすいものを選ぶ。

PsGetをインストール(http://psget.net/

以下を一行で実行。
(new-object Net.WebClient).DownloadString(
         "http://psget.net/GetPsGet.ps1") | iex  
PowerShellを管理者権限で起動し、以下を実行。
Set-ExecutionPolicy RemoteSigned

Posh-Gitをインストール(https://github.com/dahlbyk/posh-git

以下を実行。
Install-Module posh-git

git status 時のフォントの色設定を変更

「~\.gitconfig」 に以下の内容を追記。
[color "status"]
   added = green
   changed = red bold
   untracked = magenta bold
(まだ読みにくい文字はあるけども・・)

vimを使うつもりがまだあるなら「*~」ファイルをignoreする

「~\.gitconfig」に以下の内容を追記。
[core]
   excludesfile = ~/.gitignore
「~\.gitignore」を作成して以下の内容を追記。
*~
*.swp
(ついでにswpファイルもignoreしてるけど)

2015/07/21

Test First

カフェでもないのに電源とWiFiを用意していたGlobalWorkに感謝(子供連れ用スペースみたいだったけどちょっと借りました)。
それからいつもコーヒー2杯で電源とWiFiを利用させてもらってる某カフェにも感謝。

今更だが、先日Eclipseを使ったテストファーストプログラミングをYoutubeで見て感動したので自分でも同じようにできるように練習した。
でさっそく友人にこういうプログラミングができるぞ、と実践して見せてやったら同じように感動してくれた。
どんな時代になってもこういうアナログな経験は最高に重要なんだと思う。
技術ブログを読むより、O'Reillyを読むより、その場で実践されると感動するもんだ。
誰かが技術ブログをつけるよりプログラマこそYoutubeに動画を上げろと言ってたがそういう意味があるんだと思う。
他のプログラマの1行書く速度感、 1クラス完成させる速度感、タイピング速度、キーボードショートカット、マウスさばきなど、文字だけでは絶対に伝わらない部分が感動を起こすんだ。
どんなにブログにサンプルコードを載せてもその辺は伝わらんもんな。
もし余裕があったら動画を撮ってみようと思った。