投稿

2011の投稿を表示しています

プログラミングを上達するための5つのポイント

イメージ
プログラミングの上達のために何かやったほうがいいことってありますか?できれば千晶さん自身どのようにそのような技術を学んだのかも知りたいです。(しがない初心者C#erからの少々ぶしつけな質問でなんか申し訳ないですが…。)というザ・インタビューズに寄せられた質問を受けて少し思い返しながら記事を書きます。長めな記事ですがご了承ください。

Android向けふぁぼ専用Twitterクライアント「★favrfavfav★」

イメージ
ふぁぼりたい!とにかくふぁぼりたい!タップひとつでふぁぼりたい!ふぁぼ規制なんてもう怖くない、ふぁぼってふぁぼってふぁぼりまくるぞ!!という方のために開発されたふぁぼ専用クライアントを紹介します。

サンタクロースについての考察

イメージ
そろそろクリスマスじゃないですか。クリスマスと言えばサンタですよね!サンタは子供たちにプレゼントをくれる素敵な赤い服を着て白い髭を生やしたおじいさんとして有名です。

でもサンタってよくわからないじゃないですか。煙突から忍び込んでもサンタが捕まったという事例は聞かないし、子供たちって両手で数えられる人数より多いはず(2進数で数えたとしても2^10=1024人よりも明らかに多いはず)なのになぜ配達できるのか、そもそも日本の家には煙突ないのにどうやって入ってきてるの!?などなど。考えれば考えるほど分けがわからなくなってきます。そこでデーターを使ってサンタを考察してみました。

私が好きなプログラミングで使える「DejaVu Sans Mono」 #LOVEFONT

イメージ
タイムラインでチラッと見かけた自分の好きなフォントについて語る#LOVEFONTにだいぶ遅れつつも参加してみます。

テキストエディタMery用LaTeXコンパイルマクロ

以前powershellを併用したバージョンを作りましたが、今度はJavascriptマクロ+コマンドラインだけです。powershellはローカルのスクリプトファイルを実行するのに色々めんどくさいんで… PDFの出力先は.texファイルがあるところと同じ場所です。
var docPath = '"'+document.Path + document.Name+'"'; var cmd = 'cmd /c cd /d "' + document.Path + '" & platex ' + docPath + ' & dvipdfmx '+docPath.replace(".tex",""); document.Save(); new ActiveXObject("WScript.Shell").Run(cmd, 1, true);
コマンドライン側で.texの拡張子を取り除こうとしてて、馬鹿だなぁと思いましたw 普通にマクロ側で削除してから渡せばいいのに。

2012/07/27追記:---Meryの開発ブログのこの記事を覗いていたら意外にこのマクロを使ってくださってる人がいるみたいでありがたやw

その中でsaiさんがTeX Live 2012での使い方を書いてたのでこちらの方にも追記させて頂きます。
TeX Live 2012の場合var cmd = 'cmd /c cd /d "' + document.Path + '" & platex 'の部分を
var cmd ='cmd /c cd /d "' + document.Path + '" & platex -guess-input-enc'に置き換える。

ASP.NET MVC + Entity Frameworkで列挙体を扱う

Entity Frameworkで列挙体を扱おうとしてかなりはまりました。綺麗にかけないw
まずDBでは列挙体は扱えないのでModelではintとして扱うことになります。これではうまく列挙体を表示できないだろううということで調べて見つけたのがEnumDataType。列挙体の代わりにint型で扱っているメンバーにそれを設定してやるとDisplayFor()にEnumDataTypeで設定した列挙体のメンバーにDescription属性を設定してやって渡すと指定した名前で表示してくれたり、EditerFor()でドロップダウンを生成したりしてくれないんですね。
そこでどうしたらいいのか調べました。

Razorのススメ

はい、ここで問題です。このコードはサーバーコードの一部分です。どちらのコードが一番読みやすいでしょうか?
@if (Model.Price >= 5000) { <b>高い!</b> }<%if (Model.Price >= 5000) { %><b>高い!</b><% } %>第5回 新しいビュー・エンジン「Razor」の基本を理解しよう
私は絶対的に前者を取ります。そして前者がRazorのコードです。後者はASP.NETです。
このコード見たときに心撃ちぬかれましたね… ずきゅーんって。惚れたw あんな煩雑だったコードがこんなにも簡単に…と驚きました。短いコードだったら大差ないと思いますが長いコードになるとその差は大きくなると思います。Entity Framework 4もお勧めしたかったのですが、すごいということだけしかまだ理解していなくて具体的に紹介はできないのでまた書くかもしれないです。

ワンダと巨像 アグロの上に飛び乗る

イメージ
ワンダと巨像で遊んでてセーブが出来る塔の上に登ってふと、アグロを呼び寄せてアグロの上に塔から飛び降りて飛び乗ったらどうなるのだろう…wと思いついた。
結果

うまくアグロに飛び乗るのに苦戦しましたが乗れましたw 普通にアグロに乗ってアグロの上に立ち上がるコマンドもありますがその場合は手綱を握っています。立ち位置は鞍の上固定で歩いたりできません。飛び乗ればできます。飛び乗ったからってできることはそれだけなんですが…w アグロが歩くとバランスを取るようにワンダが腰をかがめたのが面白かったです。

じゃまなGoogleの結果を表示しない

ただ単にとあるサイトを機械翻訳しただけのサイトなのにトップに引っかかる某サイトや某サイト。それらを非表示にすることができるそうです。今まで知らなくて何度も引っかかってしまったことがあり、もっと早く知りたかったと思います。検索結果のブロックを実行できるページはこちら。
http://www.google.com/reviews/t
[元ネタ]

あとChromeで検索結果をブロックすることもできるようです。こちらからだと検索結果のところからブロックすることができるので便利。
Personal Blocklist (by Google)

Android開発でハマったところ

ググればすぐヒットするものばかりですが、知っておけばあとで時間を書けずに対処することができるので書き出します。
ListViewのフッター追加のためのaddFooterViewはsetAdapterより先に書くrequestWindowFeature();はcontentを追加する前に(setContentView()の前)書く。Threadで例外が発生するとスタックトレースが意味不明になるけど慌てずブレークポイントを仕掛けて地道に探す。ListViewの下にボタンを配置したい、ただし両者は重ならないように覚えてる限りではこんなもん。

#003sh 用液晶保護フィルム「リックス RX-GALAPAGOS04」

イメージ
気づいたら液晶の保護フィルムが剥がれてたんで新しいのかってきました。株式会社リックスのRX-GALAPAGOS04です。本当は前と同じのが良かったんですが、あいにく置いてなかったもので…。でもまぁ同じく気泡が入らないを売りにしてたんでそれで買ってみました。貼ってみた結果がこちら。

見てください!この驚きの白さ!!この製品を使うことでどんなに頑固な汚れも …(ry

撮影時間、撮影機種こそ前回のものとは違いますがはぁ、なんかひどかったです。特殊加工のせいか、画面が白くなってしまいます。どっからどう見てもiBUFFALO製品の劣化コピーじゃないっすか…w 気泡ゼロは正しかったですが。なんかもう、有名でない会社の液晶保護フィルムって信用出来ないです…。

実際のところMono for Androidってどうなのよ?

Androidアプリ作りたくていろいろ調べたり読んだり格闘してたわけですがいい加減にそろそろ言語を確定しないと…ということでまとめてみました。
JavaMono for Androidコーディングしやすさ△◎エミュレータの動作普通くっそ重い金額無料$399=3.1万円(執筆時点)ググった時のサンプルコードたくさんゼロに近いグラフィックデザイナー装備なし…結論?採用不採用Javaでもエミュレータの動作が早いとは言いませんけど、Mono for Androidの動作速度は… 我慢できなかったです。はい。じゃあ実機でやればいいじゃんって話になりますけど新たに一台揃えたくないですし、早くなるとは限らないですし、コストパフォーマンスを考えるとJavaのほうが良くなるわけですね。ちょっと我慢すればいいだけですから。開発ツールもEclipseが一番充実してました。

というわけでJavaでやります。
もう逃げない。

Mono for AndroidはJDK7には対応していない

イメージ
ひたすらできないできないなんで署名済みなのに署名してないってAndroidに怒られるの~><と悩んでたMono for Androidですが、先程やっと解決しました… はい。
>> We've determined that Java 7 does not currently work with Mono for
>> Android, resulting in the [INSTALL_PARSE_FAILED_NO_CERTIFICATES] error.

Android apparently doesn't like Java 7's jarsigner output, and creating deployable packages is a rather important requirement.[mono-android] splash screenAndroidはJDK7のjarsignerの出力を好まないよー。結果INSTALL_PARSE_FAILED_NO_CERTIFICATEエラーになってしまうよーっってなこと書いてありますね。てけとーに読みましたが。JDK6の最新版にダウングレードしてあっさり解決。ドキュメントに書いておいて欲しかったですね。ほんとに。

[解決済み]Mono for Androidを試してみた

Javaやったるぞ!って気合入れてGoogle Androidアプリケーション開発入門読んでたんですけどやっぱりC#の便利さには勝てないことに気が付きまして。ええ。Mono for Androidがあることは知ってたんですが有償ということで躊躇してました。ですが今日思い切って体験版をDLしてきてやってみました。結果詰まってるなうですね。


[ 解決しました!! ]Mono for AndroidはJDK7には対応していない


C♯erがJavaやってみてショック受けたこと

C♯erですがAndroid開発するためにJavaを本格的に始めました。その時ショック受けたことを上げます。
メソッドの頭文字が小文字プロパティがない。get~(),set~()とか関数を使う匿名関数がない。delegateがない。匿名クラスのメンバ関数として実現してる。static関数なのにインスタンスメソッド形式で書けてしまう(コンパイルできる)オーバーライド許可してないのに派生クラスはオーバーライドできてしまう投げる例外をいちいち宣言してやらないと例外がなげられないなげられるすべての例外は必ず処理しなければならないLINQがない。LINQ相当のものは外部によって作られてるものの3によりあまりスマートではないスコープがデフォルトでinternal状態C#のconstに相当する機能がない。String hoge = "boo" + "piyo";としても静的に結合してくれないそのほかいろいろ。ないものねだりですけど。JavaとC♯は仲良くなれそうもないです…。 でもAndroidのためならがんばちゃう!w やっぱりしーにゃーぷたんかわいい。

夏ですねぇ~

イメージ
あづいい~ ってことでブログも夏仕様に。だいぶまともになった気がしますw タイトルのところはとあるサイトからパクりましたw まぁー、そんなもんですよね。たぶん。うんw CSS3を使用しているので(WebFont、角丸) Chome推奨です。あとでFFできるかぎり対応します。確認はしません(まて

あー、冬になってもこのままだったらさすがにまずいよなーw まぁいいや。

[追記]
IE9で確認したら角丸以外なんかうまくできてた。もうちょっと作業してみる→てけとーに角丸にしてみたけど記事のところはならなかったからおしまい。

…あ、矢印アイコンとか色変えてなかった。中途半端だなぁ。まぁ気が向いたらでいいや

ちょうちょ

イメージ
携帯って便利帰ってる途中偶然撮影できました。慌てて携帯取り出して撮影したので画像がScreenサイズで小さいのが残念。今後は2M(1200x1600)に設定しておこうと思いました。Micro SDカードの容量はデフォルトでついてきたのが14GBもあって余裕がありまくるのでw 一眼レフとか重くて常には持ち歩けないので携帯便利ですねー
このあともう一枚撮ったのですがその後にはもうひらひらと頼りなく飛んでいってしまいました。もうちょっと撮らせてくれれよー><

Hello Android World!

イメージ
やりたいやりたいとは思ってもなかなかうまく行かなかったり、時間が無かったりで出来なかったAndroid開発。ようやくスタートしましたよ!!以前は詰まりに詰まってうまく行ってなかったのに今回はすんなり出来ました。エミュレターで動かしてうまく行ったので調子に乗って私の携帯003shで動かしてみたのが写真です。いやー、嬉しいですっ!

#003sh 裏技 セーフモードでの起動方法

ESET Mobile Securityを先日導入しまして、パスワードが弱いから変更しようと夜間に変更した結果、忘れてしまってにっちもさっちも操作できなくなりましたw どうしようか考えあぐねていたところ、セーフモードでの起動方法を思い出したのでここにメモします。
電池パックを抜く、ロック画面から電源ボタン長押しでシャットダウンするなどして電源を切る電源を入れてソフトバンクロゴが出ているうちに本体のメニューボタンを長押し、ロックスクリーン画面まで以降長押しし続ける。無事セーフモードで起動&ESET Mobile Securityのロック画面を回避することができ、オールリセットで通常起動でもロック画面に嵌ることなく、解決!…の、はずです。というのも操作用暗証番号を忘れてしまいまして…w オールリセットができていないので、どうなるかまだわかってないです。

[追記]
無事オールリセットできて端末を普通に使えるようになりました。

悲惨数学

イメージ
テストであまりに問題が解けなすぎることから名づけられた悲惨数学こと離散数学。今日はオーダーを減らすことを勉強しましてをに減らしました。
つまりどういう言う事かというと、
for(int i = 0; i<3;i++){ for(int j =0;j<3 j++){ sum +=a[i] * b[j]; } }は
for(int i = 0; i<3;i++){ sum_j += a[i]; sum_k += b[i]; } sum = sum_j * sum_k;と同じことだよねってことを数学的に延々と式変形を繰り返してやってたわけです。
あととは同じだよねーとか。黒魔術すぎる… (ここでaは定数)今度のテストこんな感じの問題が出るらしい。式がどんと提示されてこれを一般化せよ。以上。解ける気がしない。

携帯充電器解体してみた

イメージ
首断線して使えなくなった携帯充電器をなんとなく解体してみた。

それぞれ面と裏面。100V AC電源を5.3V/1200mA DC電源に変換してくれる。かなり簡単な回路なのねー。読めないけどw オズマ株式会社のやつだったけど壊す前に型番メモるの忘れてどれだかわからなくなったw まぁただ単なる好奇心からやってみた。解体したら気が済んだのでこのまま捨てる。使えはしないもんっw

手前の二つ並んでる銀色の金具のところが入力、後ろの白と黒のコードが出力です。

ブログデザイン(?)変更…?

イメージ
ブログがなんか寂しいなぁと思ったので変えてみようってことにしたんですよ。幅1000px改造をしたおかげでスペースができすぎてて。 ってことでなんとなく変更してみたing(一応終わったけど無限に進行してる)んだけど、文字がやたらと多くなったw なんか方向性違う気がする。

まぁゆっくりのんびりー

IE6 さよなら

なにこれIE6にサヨナラするためのアレ。このブログをIE6で見ると多分動作します。
なんで作ったの?うん、なんとなくやってみたかったんだ。IE6は現在4%のシェアしか無くなってほとんど消えたけど、ネタを得たら消化しなきゃいけないだろと思って。IE7も適応しても良かったんだけど、さすがにかなりうるさいからIE6だけにした。最後の方はかなりふざけた。\リンちゃん可愛いよリンちゃん!!/
物は?続きを読むにありますっ

暇つぶしプログラミングの小ネタ

イメージ
シーザー暗号(暗号化、復号化)を組みなさい
参考?プログラム
円周率を求めなさいヒント:逆正接関数をテーラー展開→f(1)  * 4を求める


行列の和、積、差、逆行列を求めるプログラムを組みなさい
今後追加する かも しれない。

初めて触るプログラミング言語

今までJavaScriptとか、独学素人なんで、なかなか勉強する気が出ませんでした。
勉強の大事さは分かるんですが、時間とか取れないです。
しかも、「関数や引数がどうたらで、まずは足し算をアラート表示」とか、あまりやる気が出ません。

でも、jQueryは勉強の成果がすぐにめっちゃ分かりやすく出ます。
たぶん、自分にとって一番効果が大きかったのは、簡単さよりも便利さよりも、「やる気が出る」ってことでした。
【Webサイト制作】独学素人がjQueryで、ドラクエ画面を作ってみた
そう、そこだと思うんだよね。だから私にとってC#はとても良かった。楽しみながらやるにはC#+Visual Studio2010がいいんじゃないかと思う。あとでC言語に戻ることもできるし。実用的なアプリを組もうとすると地獄過ぎて死ぬけどw

今年の一枚

イメージ
今年の桜。グロー効果とかいうの知ってちょっと使ってみた。ふわーってしてて可愛い気がする。003SHのカメラです。一眼レフじゃないです。

初めてのC# -メモ帳でも作ってみる?-

イメージ
暇だから一日でエントリーでも書いてみるかなーと思ってC#入門エントリ書いてみます。質問は@kassyiにて受け付けます。執筆時現在鍵がかかっていますが、@投げていただければどうにかします。
C#って?プログラミング言語!以上。(ぇ
…真面目に書くと、便利で開発速度が速くて私もプログラミングを習得するときに使った言語です。わかりやすいけど実用的で堅牢な言語です。
なにやるのー?Hello Wold とかググればいっぱい出てくるでしょ。それに黒い画面に文字出して何が面白いんだよw ってことでメモ帳でも作ってみましょ。Windowsで有名なnotepad.exeってやつです。これが面白いかっていうと…微妙だけどw

見てるページをQRCodeで表示するブックマークレット

QRコード生成サービスは他人のだからごく簡単な短いJavascriptを書いただけだけど…
使いたい人は「QRコードを表示」これをどうぞ。
javascript:window.open().document.write('<p><img src="http://qrcode.jp/qr?q='+location.href+'&s=5" /></p>');
見てるページを携帯で見たい時とかに使ってたけどいまはChrome to Phoneで足りてる。問題ない。

アセンブラいじってみる -crackme!-

暇で暇でしょうがない。じゃあ自分でcrackme作って遊んでみるかなーって。思って遊んでみた。
1. level0パスワードを探り当ててください。
level0.exe


塗りつぶしサンプルアプリ作ってみた

だるくて作ってなかった塗りつぶしサンプルアプリ、ついに完成。暇だったから作ったw こちらからどうぞ。.NET 4.0が必要です。
塗りつぶしサンプルアプリをDL
処理が重くなると境界線を書くときに飛んでしまうのは仕様なのでどうしようも無いです(キリッ
直線補間とかあるらしいんですけどね。せっかくRxで綺麗に書いたのに汚くなっちゃうし嫌だから諦めました。ソースはこのへんから適当に察して持ってってください。

befor → after 左クリックで境界線描画、右クリックで塗りつぶしです

--13:09追記--
RxのDLL追加してサンプルもう一度うpした。失念していた

VS2010のJQueryを使用した場合のインテリセンス補助

HTMLファイルからJavascriptを切り分けるとインテリセンス補助が使えなくなるものかと思い込んでたけど、<reference >XMLコメントを書くと使えるようになるみたい。コードスニペットがあるからref→Tub→Tubでいける

情報元:@neuecc

電子回路 電子サイコロの作り方

壮大に学校の課題でつぼったのでメモしとく。
以下、キーワード。
分周回路クロックを落とすのに使う。要するにカウンタ回路。74390oを今回は使用した。ひとつで1/100とどこかに書いてあった気がするけど定かではない。使わないCLRにはGNDをくっつけとくといいらしい。PN符号擬似乱数回路。いろいろ理論があるらしいけどググった限りでは見当たらなかった。使った回路はこれ。XORの位置をずらすことによって生成される擬似乱数のパターンが変わるらしい。ラッチ回路スイッチの入力を保持するのに。押して離して回路が動作して、再び押して離したときに回路が停止するようなものに使った。スリーステート表示する桁を選択するのに。マルチプレクサで十分だった気がするorzマルチプレクサ上と同じ目的で74157を使用した。デコーダ生成した乱数のビットを7segに表示するのに7447を使用した。リセットボタンが欲しければ、表示する値を貯めておくレジスタ(JKFFがいっぱい繋がったやつ)があるはずだからそのCLEN端子にスイッチを直結すればいい。回路図はパクられる可能性を考えて載せない。ただ、かなりのヒントは書いた、と思う。頑張れ同士…

え?やっぱり回路図がほしいだって?じゃあ大きい声では言えないけど、回路図どうぞ。丸パクリは全くためにならんからね…?あとこれ、かなり偶然動いてるから注意。あとあと、つかったFPGAのマニュアルはこれね。ライセンスは、もちろんサイドバーに書いてあるものだから注意してねっ!破ったら怖いよ

円周率暗記ったー

円周率100,000桁の暗唱してるかどうかのテストができます。
半角入力にして10キーかキーボード上の数字キーを押すと暗唱テストができます。 動作確認はChromeとIEとか炎狐で確認しましたにゃ

Reedy... 3.[?]
Rest

…JQueryで遊んでみたかったんだよっw 後ろの桁も表示してるから暗記でもなんでもないんだけどさw もっと色々ゲーム要素つけようと思ったけどあいにくそっちの能力はなかった。考えたのは音ゲー。リズムに合わせて円周率を入力しよう!とか。audioタグがあるからできるんじゃないのかなーとか。

21:00 Audioタグで不正解時に効果音鳴らしてみた
2/15 Restつけてみた
2/16 不正解時に文字色変えてみたww

過去に作ったマップエディタの可動バージョン発掘ww

USBメモリを漁ってたら過去に頑張ってたマップエディタの動くバージョンの実行ファイルを見つけたのでここにうp。ソースはRefecterつかえばGetできると思うけど、まぁいじらないからもうこれでいいやと思う。バグってる。よくわからない例外吐いて死ぬバージョンのソースならあるんだけど動くバージョンは見つからない。

動作にはXNA Frameworkが必要です。
動くバージョンの実行ファイルをDL

オープンソースでないので、再配布禁止、改造禁止でお願いします。
ソース見たらきっとおぞましいんだろうなぁw

サイハテ ピアノアレンジ

…いいとしかいいようがないです。どうしてこんないい曲を知らなかったのだろうと思って急遽ブログにアップ。サイハテはにこにこを知ったそのくらいに出会っていこう色々なアレンジを聞いていますがこのアレンジは… や ば い 。

もっといろんな人に聞いてほしい

&lt;p&gt;&amp;amp;lt;a href="http://www.nicovideo.jp/watch/sm3734288"&amp;amp;gt;【ニコニコ動画】【ピアノアレンジ】サイハテ ~あの空の向こうは~&amp;amp;lt;/a&amp;amp;gt;&lt;/p&gt;

C#で塗りつぶし

マップエディタとか作ってると塗りつぶしアルゴリズムとか欲しくなりますよね。私も欲しくなってずいぶん前に作りましたが、対象のアプリは完成せず放置プレイに。治そうとしてたところソースが読めなくなって実行したら落ちて何が何だかよくわからなくなってました。そのままにするのももったいないのでそっから掘りだして整形してライブラリにしたのでここで公開します。ビルド済みライブラリは
こちらから
最新のソースは
こちらから
ダウンロードできます。

2011 Happy New Year!!!

イメージ
新年明けましておめでとうです。

山ありゃあ谷ある、楽しいこともつらいことも失敗も出会いも別れもありました。
ツイッター初めてからプログラマとつながれて一気に世界が広がりました。むぎゅークラスタ(?)に出会ったのも大きかったかな?w ツイッターが楽しくなった始まりでした。今年もまた春がきて暑い暑い夏が来てさっさと冬が来い!!と言ったと思ったら秋が来てそして冬が来てやべぇ…寒すぎだろとか言ってるうちにまたこれと同じような記事を書くことになるんだと思います。

来年は…
C#たんともっと仲良くなりたいな!!ついぴよ、公開「ASP.NET MVC、 T4、Rx ←触ってみたい。時間をつくろう」←実行しようぜ!!Codeforcesがんばろな!蟻本の勉強をしっかりするもちろん学校の勉強もしっかり、単位落とすなアクティブになろうぜ、やれるだけでいいから やれることを書いてみました。やってみます。やれるだけ。無理は決して続きませんから。