apache2でuserdirを使えるようにする(仮)

環境はUbuntu 13.04です。
今までホームディレクトリに/var/wwwへのシンボリックリンクを貼っていたが、
どうもダサいので設定してみることに。
(仮)になってるのは、きっともっと良い方法があるだろうということで。


モジュールのロード

大体すでにロードされていることが多いような気もするけど、
Ubuntuであればa2emodコマンドでモジュールのロードが可能。
a2emod [mod_name]として直接指定してもいいし、引数を与えずにコマンドを叩くと一覧が出てくる。

多分、a2emodが実行されると
/etc/apache2/mods-available/にloadファイルとconfファイルが、
/etc/apache2/mods-enabledにはmod-availableディレクトリへのシンボリックリンクが生成されるはず。
すでにロードされていたので、変更は確認していない。
ちなみにモジュールを無効にするにはa2dismodを使用する。

loadファイルはLoadModuleだけが書かれていて、文字通りモジュールをロードするための設定ファイル。
confファイルにはあれやこれや設定が書かれている。

userdir.confの設定(追記も参照してください)

userdir.confを開くと、デフォルトではユーザディレクトリ直下にpublic_htmlがあって、
そこを見に行くようになっているらしいけれど、NotFoundになるので

Alias /user_name "/home/user_name/public_html"

としてとりあえず解決。

あまりにゴリ押しでダサい。ユーザ名は自動で入るようにできそうな気もしないでもないけど、
それ以上にいい方法があるんじゃないのだろうか。

追記(2013/12/01)

Aliasの設定は不要でした。
指定しないといけないURLは
http://hostname/~user_name/filename
ですね。~をつけるのを忘れていました……
お恥ずかしい限り(;´Д`)

ノートPCのディスプレイを壊した話

文字通り。


9月末にとある組み込み系の大会に出たのだけど。

自分のノートPCからマイコンへの書き込みがうまくいかなくて、
他のPCにUSBメモリでソースを移して書き込みしてたんだよね。

本当はネットワークつなげばよかったんだけど、困ったらテザリングとかでいいよねーなんて言って
結局ネットワークつないでなかった。
例年は有線で構築していたようだけど、今年の会場だとあまりスペースもなかったかなー。


まぁ、USBメモリでデータをうつしていたわけです。



色々作業をして、PCを閉じたんですね。バタンと。
そうしたら、なんか「パキッ」って音がしてうまく閉まらなかったんですよ。
ん?と思って、もう1回閉じてみたらまた「パキッ」って音がしたんですよ。



よく見てみたらUSBメモリ挟んでたし、液晶割れてましたよね。
ちなみに中古で買って3ヶ月のPCでした。


若干萎えたけど、大会の会場で萎えてる場合でもないので必死にコード修正してた。





後日ジャンク屋に持って行ったんだけど、ちょうど同業者みたいな人が入り浸ってて
「あーw」「俺だけじゃなかったろー?w」みたいな話をしてた。
「君あれだろ、『ハードウェアの安全な取り外し』とかしない人だろ」とか言われてまさに図星。
あれをするとそのデバイスに関連する処理の優先度があがって、
キューを全部フラッシュしてくれるらしいですね。
Linuxでいうとsyncみたいなものかな。

あとは入り浸っていた人がベラベラ喋っていたのでずっと聞いていた。
銀座は物価が高いぞとか、北海道の女はダメだとか、東京にいるならファッション誌は読むなとか。
まあまあ面白い話が多かったな。
学校の先生だとああはなかなかいかない。
他の科の先生はいいんだけどね……


修理に2万ほどかかりそう。
多分買い替えじゃなくて修理すると思うけど、実は11月に入った今まだ修理していない。
お金の都合が……



USBメモリの扱いには本当に気をつけましょう。

phpのexecでrubyが実行できなかった話

phpにexec()コマンドというものがあって

http://php.net/manual/ja/function.exec.php

名前の通りコマンドを実行する関数。
Linux環境で言えば、lsとか。
Windows環境で言えば、dirとか。
ちなみに今回はwindows環境での話。



phpのバージョンでも取ってみようかな?と思いたって
exec('php -v');
はきちんと動作したのだけれど、
exec('ruby -v');
はなぜか動いてくれなかった。

なんでかなーと思ったらrubyのPATHがユーザの環境変数になってたのが原因だったっぽい。
ユーザの環境変数rubyしか入ってなかったから、思い切ってユーザのPATHを消したら
eclipseがえらいエラーを起こすようになって困ってしまった。

とりあえずjavaのクラスがインポートできてないよ、みたいなエラーだったので、
ユーザの環境変数のPATHにeclipseについてきたjava/6/binにPATH通して一応なんとかなった。

なんとかなったけど、なんか不安だなぁ……

CentOS6+無線LAN(LAN-W450AN/U2)を設定した

特にブログにするネタでもないんだけど、Facebooktwitterに書くにはしょぼい話だし、
勉強会参加レポート以外にも記事を書いたほうがいいかなーと思い立って記事を書くことにした。
(どうでもいいけど、今眠いし酔ってる)

Linux無線Lanといえば、ndiswrapperですよね。

@ITにこんな記事がありました。
LinuxWindows無線LANドライバを利用するにはhttp://www.atmarkit.co.jp/flinux/rensai/linuxtips/767ndiswrapper.html

ndiswrapperでは、どうやら*.infファイルがないとダメな模様。
自分が購入したLogitec LAN-W450AN/U2では、ユーティリティとドライバがセットになったexeファイルしかなかったので、
どうしようかと困っていたところこんなページを発見しました。

Fedora17 で Logitec LAN-W450AN/U2 を使う
http://www.tomoyan.net/dokuwiki/linux/fedora_rt3573

Ralink社のドライバを利用する模様。

このページの通りやったら、見事に繋がりました。
お困りの方は、是非。

Community Open Day 2013 北海道会場に参加しました

すっかりおさぼりでした。明けましておめでとうございます。
勉強会は相変わらず月1〜2で参加してます。

さて、今回はCommunity Open Day 2013に参加しました。
北海道は主催コミュニティがCLR/Hなので、いつもどおりといえばいつもどおり……

Community Open Dayのページはこちら
http://cod.ms/Pages/default.aspx



午前中のセッションは中継だったので、自宅でUstreamを見てました。
来年就職なので、自分の就職先やキャリアプランを考える上で参考になったなぁと思います。
自分はコード書きたいので、現場に居続けられたらいいなぁ。
歳を重ねるとまた意見が変わってくるのかもしれませんが。

さて、北海道のセッションは以下の4セッションでした。

togetterはこちら。資料もあります。毎度まとめてくださる@KatsuYuzu氏に感謝!
http://togetter.com/li/501349


無償でできる! ASP.NET MVC なサイトを構築・公開してみよう!

ASP.NETといえばとりあえずWindows Azureみたいな印象があったので、このセッションは大変嬉しい。
Windows Azureはクレジットカードが必要なので、学生からするとクレカを用意するのがちょっと手間でした。
まぁ親に頼むのもひとつの手段ではあるのですが……。

今回のセッションではWindows Azure以外のサービスを使ってサイトを構築しようという内容でした。

  • AppHarbor
  • Iron Foundary
  • Somee

各サイトの比較は資料参照。


今だから企業に提案すべきMicrosoft SaaSの魅力

学生からすればOffice365を始めMicrosoftSaaSはあまり身近でないのですが、
これは非常に便利だなーと感じました。

業務を支えるIT基盤とは?
  • 安心安全に業務ができる
  • ライセンスを意識せずに利用できる(もちろんライセンスに違反しない)
  • ITが足を引っ張らない(ITは効率化のための手段)
  • 従来よりも便利に効率的な作業環境

このページは非常にハッとしました。
私はついつい手段を目的化して考えてしまうところがあるので、
何をゴールとして、何をよしとするのかということを考えていくことが大切だなぁと感じました。

恥ずかしながら図表がうまく作れなくて、「ああ手で描きたい」と思うことがよくあるので、
ITが足を引っ張る状況というのはおそらくどこにでも起こるのだろうなぁ。

セッションを見てて「あ、すごく便利そう。使いたい。」と思ったので、
セッションのゴールは達成したのですね(*´ω`*)

ドキュメンテーションというのはあまり好きではないのだけれど、
経営陣相手にプレゼンするというのは非常に面白そうですね。

全くの余談ですが、最近学校ではファシリテーションの授業があって
非常に悪ふざけしながら(本当はふざけちゃいけない)ホワイトボードに書き込んでいくのですが、
書いてあることはふざけてるんだけど発表で無難に抑えるというのが最近のちょっとした楽しみです。
LTやら面接やらでこの程度ではあまり緊張しなくなりましたね。


おやつ

チーズケーキじゃなかった!
非常に彩りの良いケーキが目の前にいっぱいあって目が幸せでした。
抹茶ケーキタルトをいただきました。ごちそうさまです!
チーズケーキタルトちゃんは余ってました。カワイソス(´・ω・`)
私が美味しくいただきました。ごちそうさまです。

今年もCodeが開催されるようで。


Visio vs PowerPoint

このセッションは個人的にすごく感動しました。
まさかあのVisioがここまで戦えるとは思っても見なかったです。
是非ともUstreamを!

いろいろなアニメーションを始めとして、ビンゴマシンが動いたり
スマートシェイプでキャラクターがあんなことになるなんて……

Visio舐めてました。土下座。


Deep Dive Windows Runtime

WindowsRuntimeのお話でしたが、タイトル通りDeepでした。
このレベルの話が全部理解できるぐらいには勉強したいと思う限りですね。
ストアアプリにはスタートメニューから呼ばれたり、チャームから呼ばれたりと
起動方法が数種類あるというのは非常に印象に残りました。
Async/Awaitの使いすぎにも気をつけなければならないし、
Terminateされて終了したのか、Exceptionによって終了したのかという違いにも留意しなければならず、
「お行儀の良いアプリ」を作るのは非常に難しいなと感じました。


懇親会

懇親会の写真を1枚も撮ってないことに気づいた……
お寿司が花まるでした。
ピッツァがいつもより小さかったけど、やはり結構なボリューム( * ´ ω ` * )
おやつが結構効いてました。チーズケーキ1ホール食べてないのになぁ……



今日もとても楽しかった(*´ω`*)!


Rome was not built in a day.(ローマは一日にして成らず)
A journey of a thousand miles begins with a single step.(千里の道も一歩から)
ということで、AppHarborにデプロイしたら寝ます!

という記事を書きたかったのだけれど、1時間半以上かかってしまって
デプロイせずに今すぐに寝たい。

お疲れ様でした(*´ω`*)

12/22 プログラミング生放送勉強会 第19回@品川 に参加してきました

今回は地元北海道の勉強会ではなく、東京まで行ってきました!

プログラミング生放送のページはこちら
http://pronama.jp/
第19回詳細はこちら
http://atnd.org/events/34321

なんでわざわざ東京に、という話なのですが理由はいくつかあって
①一応プロ生のお手伝いだから
②バイトを始めて金銭的に余裕ができた
③札幌開催のきっかけになった?このツイートをしたのが昨年クリスマスのプロ生@品川だったから
という感じでしょうか。一度品川のセミナールームに行きたかったというのもあります。

飛行機なんて高校の修学旅行でしか乗ったことがなくて、しかも東京なんて初めて行くものだから
何かトラブルが起こらないかと心配していたんですが、特に何もなかったのでよかったです。
強いて言えば耳が詰まりっぱなしでちょっと大変だったことでしょうか。
当日は北海道から六花亭のおやつとか白いブラックサンダーを持っていきました(*´ω`*)

エヴァ講座は北海道の勉強会で一度聞いていたのだけれども、やはり何度も聞いておきたい講座ですね。
SurfaceやJenkinsは気になって、今回どんなものか知ることができたのはうれしいですね。
他にも新しく知ったことが多くて非常に勉強になりました。
RaspberryPi、買ってみようかな。

今回は懇親会に参加しなかったので、次は参加したいですね。
都内ももうちょっと見て回りたいし、一泊二日じゃなくてもう少し長い期間で東京に行きたいですねー。
お疲れ様でした(*´ω`*)