2011年12月31日土曜日

今年もありがとうございました。

せっかくのブログですから、何かあるタイミングで書かないと放置気味に。
今年はいろいろありました。おばあちゃんがくも膜下出血で死ぬかもしれないとか、震災とか。
結局、おばあちゃんは後遺症もなくぴんぴんしていてひ孫の顔見るまではとか言われてしまいました。それだけはごめんなさい。。。お嫁さんの顔も難しいかもしれないね。
IT勉強会にもポチポチでながら、卒研の毎日。来年度からは社会人でございます。
皆様のおかげで夢かなってエンジニアとして就職できました。進学して研究も良いなと思った時期もありましたけど、自分を律せない私は就職の道を選択しました。エンジニア職の同期はみんな修士卒で、そうじゃない方も大学卒なのでお兄さん・お姉さんばっかりでそうゆう点は不安です。
4年の差ってなんでしょうかね・・・そんな不安です。

2月いっぱいまで卒論で火を噴きっぱなしで、あんまり年末って感じしてないです。ただ、2011年を切り抜ければ何とかなるという思いで駆け抜けてきたのでそうゆう意味ではちょっとした区切りになるのかなと。

ちなみに私はまだ19歳です。うーん、もっと大人にならねばと思い始めてる今日この頃です。
では、良いお年を。

2011年12月22日木曜日

RewitQ を Proxy 対応にしてみた #qtjp


RewitQとは

@IoriAYANE さんが開発している超マルチプラットフォーム対応済なTwitterクライアントです。
Rewit -Twitter Client for Qt-

手を出したわけ

@task_jpさんからRewitQの存在を知り、伊織さんをフォロー。2週間後ぐらいにQtDevelopperConfarenceがあり名古屋勉強会のブースに立ってた方でした。
で、QMLすげぇ!!ってことでとりあえずRewitQを眺めようと思ったのです。しかし、学校でソースをチェックアウトして実行するとProxyに阻まれて悲しいエラーが。そこで、まずはProxy対応しなきゃなという次第です。ソース取り出そうと思ってからここまで3分

方法

ググった、以上(ぉ
いや、半分本当なんですけどね。
Flickr Example
Qt Quickに興味がある方は一度は見たであろうサンプルプログラムですね。実はそこにまんまProxy対応のほうほうが書いてあるのです。
Proxy使ってない人は読み飛ばしてるかもしれませんが、実に丁寧ですね
というわけで、そのまんまコードをパクりました。
syntax highlighterの使い方を忘れてしまったのでとりあえずベタ打ちしておきます

[RewitQ.pro]
+Qt += network

[main.cpp]
+#include <qnetworkproxy>
+#include <qurl>
main(){
+QUrl proxyUrl(qgetenv("http_proxy"));
+ if (proxyUrl.isValid() && !proxyUrl.host().isEmpty()) {
+ int proxyPort = (proxyUrl.port() > 0) ? proxyUrl.port() : 8080;
+ QNetworkProxy proxy(QNetworkProxy::HttpProxy, proxyUrl.host(), proxyPort);
+ QNetworkProxy::setApplicationProxy(proxy);
+ }
}

簡単ですね!というか、まんまなので、何も考える必要はありません。環境変数から読みだしてくれるので実用的です。
ちなみに、環境変数は次のようになっていると思います。(Ubuntu Oneiric)

nekomatu@nekomatu-i3note:~/dev$ env | grep proxy
http_proxy=http://172.24.2.10:12080/
ftp_proxy=ftp://172.24.2.10:12080/
all_proxy=socks://172.24.2.10:12080/
socks_proxy=socks://172.24.2.10:12080/
https_proxy=https://172.24.2.10:12080/
no_proxy=localhost,127.0.0.0/8

こんなふうにURL形式で記述されていますのでqgetenvで環境変数を読んでQUrlに入れておきます。これでコロンで指定されたポートなどにも超簡単に取り出せるわけです。素敵。ここまで15分ぐらいです

ハマってしまったところ

Flickerの記事はすぐに出てきたのですが、QNetworkproxyが見つからないとか出てきてしょんぼりしておりました。
そもそも、QNetで候補が上がってこないのがおかしいなぁということで調べたところ、プロジェクトで宣言しておくということを知りました。
いかにも初心者にありそうな感じです。
QtNetwork Module
To link against the module, add this line to your qmake .pro file:

QT += network

2011年12月21日水曜日

Bloggerで投稿したときに自動でTwitterでつぶやいてもらう方法

Google feedburner
登録が済んだら、集客支援からSocializeから可能
RSSを受信したら勝手につぶやいてくれるというカラクリなので遅延が心配でしたが、数秒で反映されるようです。
まぁBlogger持っているのがGoogleなのでその辺はしっかりしてもらいたい

アフター・キャンプ・ミーティング2011 #spcamp に参加しました

アフター・キャンプ・ミーティング2011

毎年恒例のセキュリティアンドプログラミングキャンプの事後報告会。毎年変態レベルが上がっていますが、2011のみなさんは頭一個抜けてる感じがしまました。
ところで、報告会は周知をするという目的もあるのですが、この場に後輩を召喚したところで、参加したいと思わせられるかはかなり疑問・・・
誰かが言ってたように、自分は一人ではないんだということなので自分の周りに情熱に溢れている人ってそんなにいないから仕方ないかなとも思った。
東京に来れる人なんて限られてるんだし、未来のキャンパーへの宣伝と言う所にこだわる必要もないのだけれど。
お世話になった講師の方に内定の報告ができたりしてよかったです。
とりあえず、興味がある人は応募してください。難しそうな問題も実は1週間あればなんとかなるそうです


とりあえず、興味がある人は応募してください。難しそうな問題も実は1週間あればなんとかなるそうです
とりあえず、興味がある人は応募してください。難しそうな問題も実は1週間あればなんとかなるそうです
とりあえず、興味がある人は応募してください。難しそうな問題も実は1週間あればなんとかなるそうです
とりあえず、興味がある人は応募してください。難しそうな問題も実は1週間あればなんとかなるそうです

来年があればの話ですけどね:D




ゴメンナサイ、当日はいろいろあって眠すぎて/(^o^)\

2011年12月19日月曜日

Qt Developer Conference Tokyo 2011 #QtDC_jp に参加しました

Qt Developer Conference Tokyo 2011
自分はDay 1ーTrack B(Qt Quick入門) Day 2ーTech Trackにいました。
当日の雰囲気はTogetterにまとめられているので参考にどうぞ Qt Developer Conference Tokyo 2011 まとめ
あとそのうち、ビデオがあがるらしいので気になる人はそちらを見てもらうといいです。


会場と雰囲気

会場は秋葉原UDX。電源完備でしたが、インターネットはありませんでした。なので、モバイルルータが一斉稼動して(ry 自分はXiのUSBテザリングでしたので特に問題なく進められました。とはいいつつ、ノートパソコンを開いている人が半分いたかな?という印象。 あと、スーツな人多い。(平日だし)学生は、自分とkonoha projectのメンバーの人たち(横浜国大)ぐらいな感じかと思います。


Day1-TrackB

初日は13:00からということで、Qtがどんなものか知っているけれど、実際に開発したことないという方向けのセッションでした 冒頭挨拶によると、20人ほどが未経験者だとか。(全体が何人かわからなので多いかはよくわからいのですが) このセッションは、Qtトレーニング(有償)を抜粋して教えてくれるというものでした。ちなみに、トレーニングは3〜5日かけてやるものらしい。それを4時間でやったので、進むの早すぎてなんだかなぁという感じでした。ただ、全体像がなんとなくわかるので参加してよかったです。
内容についてはこちら(現在、書いております)で。


Day 2-Tech Track

午前中がKeyNoteで午後にテックトラックでした。というか、Lars KnollさんっていうQtの開発で一番偉い人が来てました。Webkitの開発者でも有名なはず。すげぇ!すげぇ!
Qtは最近開発体制がオープンになったのですが、FLOSSについてのお話に時間を割いていたのが印象的でした。日本の軽い勉強会なら間違いなく「僕と契約してコントリビュータになってよ!」ってところでしょうか(違
冗談はおいておいて、Nokiaはオープンにしたからやーめたではなくて、一番のコントリビュータで在り続けたいという話もありましたよ。

あと、Qt5の話も。ちょっとメモが意味消失していて詳しい時期がOrz

4.8がリリースされた今、5.0に開発はシフトしてますね。印象としては4.8をブラッシュアップしたのが5.0になるイメージです。(もちろん、新機能もかなり入る)なので、移行はスムーズに行くと思います。3系の過ちは繰り返さない(ぉ

一般人はQMLとかは4.8で色々試しておいて、ベータが出た段階でテストしまくってバグ報告しまくるといい感じですね。
あとのセッションはビデオみてー><
二日目は企業や各地方の勉強会のブースがあり賑やか




日本ではなかなかお目にかかれないN9などの端末
書籍コーナー。海外だとハードカバーでかなり厚い本も。

Qt Developer Conference Tokyo 2011 Day 1-Track B(Qt Quickトレーニング)のまとめ #qtjp


Qt Quick概要

Qt QuickはGUI周りを作るためのものなのですが、iPhoneのようなUIをサクサクと作ることを目指したものらしいです(ほんまかいな)
言語はQMLと呼ばれるもので、XMLライクなものです。どんなものかはIntroduction to the QML Languageを見てください。実際にはJavaScriptを書いたり、HTML5を書いたり、はてにはGLSL(OpenGL Shading Language)を書いたりとなんでも埋め込んでしまえる代物です。

発想としてはAdobeAIRに近いと思います。多分… 盗み聞きなのでわからないのですが、シェーダー周りを書くことはAIRではできないそうです。
ターゲットとしては、既存のQtユーザーはもちろん、Webデザイナーとかもということですね。見た目重要ですからね。見た目は超重要(大事なので2度書きました)

QMLで抑えてきたいところ

個人的に勝手にまとめただけです。ものすごいドキュメントが充実しているので、できる人は順番に追っかけていくだけでそれなりにできてしまうはずです。

  • Element
  • 枠組みですね。リンクをクリックしてもらったほうが早いです。QMLを始める前にこんなものがあるんだぁ〜ぐらいは知っておかないと後々悲しいことになります。 基本的にはElementを入れ子にしていて複雑な要素を創り上げていくイメージです。 GraphicsのRectangle(矩形)の中にMouse and InteractionのKeysを入れて、キーボード入力を入れたり〜ってかんじです。 QMLらしいなとおもったのがGraphicsのParticlesですね。ぜひ、リンクを踏んで眺めてみてください
    • Basic QML Elements
    • Graphics
    • Text Handling
    • Mouse and Interaction Area
    • Transformations
    • State
    • Animation and Transitions
    • Models and Data Handling
    • View
    • Path Definition
    • Utility
    • Graphical Effects
  • Properties
  • プロパティです。要するにElementを構成している値ですね。RectangleだとWeight(横の長さ)、Height(縦の長さ)x,y(設置される位置)などなどがあります。どんなプロパティを持っているかはElementのリファレンスを読めば書いてあります。一応、Type(型)もあるのです。Elementの オブジェクト指向なので、たいていはElementのID.Propertyで要素にアクセスできるようです。 そうそう、PropetyはElementごとに様々ですが、抑えておきたいのはidプロパティですね。これでElementを識別しますから、外から弄りたい場合は設定必須でございます。
  • QML Animation and Transitions
  • やはりQMLといったら綺麗なアニメーションでしょう。これについてはまた今度。

基本的には、4時間のセッションで上記の内容をいくつかピックアップしてレクチャーしてもらえました。
アニメーションの部分は画面遷移の取り扱い方とかが絡んでくるのですがよく設計されているなぁという感想です。(私はGUIプログラミングをしたことがないのでこの世界では当たり前なのかもしれませんが)
全体像が見えたので、なんか私にもできそうな気がしてきてやる気が出ましたですよ!

2011年12月14日水曜日

桜花あどべんとかれんだぁ(14日目) 桜花たんへの愛を世界の中心で叫ぶ。

この記事は桜花あどべんとかれんだぁの14日目として書かれました 。
gihyoのとある記事を見て参加しましたです。

さてさて、皆さんのように桜花たん(@rofi)への愛を叫ぼうと思ったのですが、実はわたくしそんなにrofiさんの事をそんなに知らないのです!!!14日目にして初めての反省文(
そうならない為にも、少し彼女の事を調べてみました。 まず、どんな人物かを知るためにTwitterに貼ってあるブログに行きました。これはいったい・・・↓
ブログより抜粋
 私はカテゴリで察しました。こいつは危険だと・・・!そして、恐る恐るプロフィールをクリックしたら案の定でした。いいえ、私の予想をはるかに超えていたのです。
元高専生?プロコンもロボコンもそのたもろもろもろもろ・・・・。いったい何者なのでしょうか。
他の方のあどべんとかれんだぁに怖い怖いと書かれている片鱗をこの目で見てしまったのです。
興奮して一気に書いてしまいました。しかし、ちょっと冷静に考えてみればこんな可愛い子がこんなに才能と実力を秘めているなんてなんて素晴らしいのでしょうか!
つまり、rofiさんの魅力の一つはギャップ萌えだったのです
これが言いたかった


ところで、rofiさんといえばTwitterアイドルとしてのほうが有名かと思われますが、その秘密についても調べてみました。
TwilogStatus-rofi
注目したいのはコミュニケーション率です。なんと79.9%という驚異的な数字。参考までに私は58.2%です。つまり、絡めば絡んでくれるという、今は流行の会えるアイドルならぬ 
絡めるアイドルだったのです!
しかも、私が把握しているところ残りの2割は日本時間の24:00~7:00ぐらいにつぶやいているようなので、ユーザーの体感は100%近くだと思われます。すげぇ!一部ではタイムゾーンがおかしいと言われています

で、本当は彼女はマルチクラスタのようだということも調べたかったのですがいろいろあって無念。
 それで、スモールワールド現象をネタに最後に桜花たんこそが世界の中心だったと結論付けたかったのですが、残念。もっともっと言えばxxxxpantsが各ノード(ユーザ)への影響度みたいのを調べたかったんですが、卒研が火を噴いていてお蔵入りに。
ところで、いつ会えます?

2011年12月5日月曜日

疎結合の素晴らしさに思いを馳せる(Androidとか伝統的なUNIXコマンドとか)

疎結合(loose coupling)
コンピュータの世界では、いろんなところで疎結合という概念が用いられてますね。
一般的には、疎結合な方がいいということのほうが多いような気もします。
自分が、注目したいのは疎を結合しているシステム(手法)の方ですね。独立性が高いのにも関わらず、上手に結合してやることでいろんなことをうまくやっているのが美しいと思います。


UNIX系コマンドのパイプ
あと、ストリームとかディスクリプタとか標準入出力ですね。(どれも同じようなもんw)
catやtailなどの超単純にファイルを開くコマンドからsedのようにエディタ(?)のような高機能なものまで様々です。基本的には、trやsortみたくある機能しか持っていない超シンプルなアプリです。

しかし、これらをパイプでつないでいくとワクワクして来ちゃうほどにいろんなことができちゃいます。
(もっとも、ハウツーを知らないと中々良さに気付けないという欠点もありますが)

Androidのインテント
これも、そんなノリですね。
フォーマットに基づいて引き受けられるアプリをOSが知っておくというカラクリです。やっぱり、シンプルで強力な概念です。ギャラリーで写真を開き、画像を引き受けられるアプリに渡します。例えば、メールソフトに渡せば、添付ファイルに。Twitterクライアントに渡せば、写真付きでといった感じです。素晴らしいですね。

というわけで、疎結合万歳\(^o^)/

GalaxyS 2 LTEをMNPで買った


SC-03D(GalaxysS2LTE)
購入価格
ギャラネク販売日にこれを買うあたり察して欲しい(謎)もちろん、ICSアップデートは来ると踏んでの購入です。

僕のスマフォ歴と言えば、W-zero3とかメガネケースことIS01を料金縛りで使っていたため、一般的に使うスマフォ初めて!もちろん、Xiのパケットし放題です。
使ってみた感想としては、とにかくお出かけが楽しくなる。
GPSのおかげでラストワンマイルには困らないし、foursqareなどのアプリがいいです。
そして、カメラが優秀なので意味もなく食事とか撮りたくなりますねw そして、そのままアプリに引き渡してTwitterにつぶやいたりブログ書いたりと夢が広がります。
Gmailなどもプッシュで飛んでくるのでリアルタイムに返信できるのもいいところ。



感想終わり
 以下は購入についてのあれこれ

・MNPで購入しました。
なんと、移動前は母親が契約者だったので委任状が必要と言われてしまった。
仕方がないので、母親についてきてもらいました。ドコモでは手続き上はMNPでも新規契約なので、このタイミングで実質名義変更できます。開通まで2時間程かかりました。


フォトフレームを同時契約したら4万円引き!?
うますぎる!はじめにかかる契約事務手数料3000円+解約料1万+利用料600円でもうますぎ!!
しかし、そこには罠がありました・・・。なんとフォトフレーム2つ契約して4万円引きだったのです!!!
実質、割引額は1万円。+フォトフレーム2つです。ちなみに、フォトフレーム代は0円です。
抱き合わせの話はよく聞いてましたが、さすがに2つにはびっくりしました。Twitterでつぶやいたら某部長が一つ欲しいとのことなので助かりました

おまけ
http://twitpic.com/7o5a54
自宅はXi(LTE)が入ったり入らなかったりするのですが、ADSLを圧倒しています。
もっとも3G回線にすら、下りでは負けているのでなんとも悲しいかな・・・


愚痴
僕の知ってるAndroidと違う・・・というのが最初触った時の感想なのですが、プリインストールというなのゴミがかなり邪魔ですね。消すこともできないため、インテントを発行すると一覧に出てきて目障り。この辺りはOS側で上手にできるようにするべきでしょう。(調べるとアプリ凍結などと呼ばれる方法があるらしいです。*要root)