2013年 11月の投稿を表示しています

Windows7でTypeScript0.9のVSプラグインがインストールできなかった

この記事は公開されてから1年以上経過しており、情報が古い可能性があります。

【前提】
・Windows7 Professional x64 (サービスパックなし)
・VisualStudio 2012 Professional

【問題となったもの】
・TypeScript 0.9.1.1
http://www.microsoft.com/en-us/download/details.aspx?id=34790

System Requirementsを読むと、win7とvs2012組み合わせでもいけそうなことが書いてある。
が、なぜかインストール出来ない。

ググってみると、WebEssentialを入れろとか、ログを見せてあー再起動ねとか、
あれこれあったような気がしますがどれもダメ。

【解決】
ダメ元でWindowsUpdateして、SP1を入れたところ、インストールできた。

System Requirementsに書いておいてくれ頼む...

jQuery.ajaxとかjQuery.getとかでjsを取得したときに実行される

この記事は公開されてから1年以上経過しており、情報が古い可能性があります。

A. 公式ドキュメント読め
http://api.jquery.com/jQuery.ajax/

いちおう、めっちゃ要約を。


dataTypeを指定しないとMIMEにもとづいて勝手に解釈するでw
scriptが指定されたときは、取得した内容を実行して、その内容をコールバックに渡してやりま


うーん、時間のあるときに実装もみてみるかーーー

あと、deffered、jqXHRオブジェクトとかいまいちちゃんと分かってないので、そのうちちゃんとやりたいですね。

Mini #seccamp in Yokohama で喋ってたことへの補足とか

この記事は公開されてから1年以上経過しており、情報が古い可能性があります。

○全体的

・高橋メソッド
もどきですが。。
文字でっかく1枚に少なく、にしたらすごいサクサクつくれたので、今後も試してみたい。
高橋メソッドについて

・ネタ画像
知ってるネタはググって入れたけど、どこから探すんだろう。
Tumblerをめぐりとかで出てきそう。

・フォント
メインでつかってたフォントは「ゆたぽん(コーディング)
ゆるふわ感がありつつも、見やすさが程よくお気に入り。

一部コード関係のフォントは「Migu 1M
手元のエディタなんかは大体このフォントにしているくらいのお気に入り。


○1回目

・自己紹介
夏キャンプのときは「ごみばこの人」「ごみばこいん」とかで参加者に知られてました。
卒論の影響もあって、JSばかりですが、お仕事はサーバ側(PHP/Java)もやります(やってます)
CTFとか書いてありますが、ガチじゃないです。
ksnctf とか akictf とか Flaggers とか

この前のCSAW CTFに参加したものの、まったく旗取れず知識・技術不足、カンの弱さを実感。
SECCONは名古屋追加募集があるとかでいけるのかしら...(枠じゃなくて、僕の都合が大丈夫かーとか)

・DOM Based XSS
IPAのレポートをみるとよいかも。
IPAテクニカルウォッチ 『DOM Based XSS』に関するレポート

急増してるとあるものの、脆弱性の報告や問題視は昔からある。
jQueryマシマシや、スマホなど、jsの活躍場所や表現力、ライブラリなどががグワッと伸びた結果、
こうなってるとおもう。

HTMLエスケープを施す、が対策になるが、DOMから拾うのが安心安全。
Twitter / bulkneets: そもそも出力時に自動エスケープすべきだしその前提にたったとき ...
Twitter / ockeghem: プログラムとコードの分離という観点、およびCSPの対応という ...

じゃあどうやるの?

function escape(str){
    var e = document.createElement('div');
    e.appendChild(document.createTextNode(str));
    return e.innerHTML;  
}

つぶやくボタンを例にだしたのは、例示でよく見かけたため。
ちょっと前にも、わりと大手サイトのつぶやくエリアが無法地帯だったとの話も聞きます。

・コミットログが2つしかない件
少なくとも、自分でだいたいいいかな、まで書いたところ、コードの見やすさが最高にクソかったので、
書き直しとか設計見なおしも含めてaltJSに移行しているリポジトリです。
元のリポジトリは50くらいでした。


○2回目

にゃんぱすー( '△')/

・経緯
1日目終わった後にまっちゃさんが「見てなかったのでもう一回ね」ということで。

・ネタ
面白さ的に以前参加した残パン会でやったやつがいけるな、と。
Befunge - Wikipedia
残パン会に参加してきました。
残パン会#3にいきました
https://github.com/sters/zanpan

・Befungeについて要約
二次元的にコードを書く
プログラムカウンタ?ポインタ?が縦横に動くことができる
自己改変機能がある
Befunge-93は広さの制限がありチューリング完全ではない
Befunge-98は任意次元の拡張とかよくわからない定義がある(理解してないし資料を読んでもいない)

・デモについて
jsで書いたBefungeインタプリタ。
ブレークポイントが貼れてステップ実行できたりしてどうのこうの。
後日、丸々書き直しをしている。

チャットは残パン会でつくったもの。あの時はちゃんと動いてたはずなんだが....

サーバ側はPHP/MySQLで飛んできたデータをしまうか、Befungeで扱いやすいフォーマットで返すだけ。
認証機構なんてなんにもない。

クライアント側をフルBefungeで作ったという話。
ただし、通信周りを一から書くのは謎いので、命令を追加している。
入室、発言、取得。

・しゃべりたかったこと
いろんな時代を経て進化してきたプログラミング言語もいいですが、esolangという世界もあります。
いろいろ楽しい、面白いので覗いてみましょう

はろーわーるどかいたよー^^って言って縦横に記号並んでたら面白いでしょ?

複雑なesolangだとそもそも実装が少なかったりするので、そういったことにチャレンジするのも、ね。


というあたりで。

Mini #seccamp in Yokohama

この記事は公開されてから1年以上経過しており、情報が古い可能性があります。

Mini #seccamp in Yokohama

○前置き

「セキュリティ・キャンプについて」
http://www.security-camp.org/outline/#index07

日曜日・月曜日と行われたセキュリティミニキャンプへと参加してきました。
今年の夏にキャンプに参加してたので、参加者側ではなくチュータとして参加しました。

本来チュータ枠はありませんでしたが、川合先生が円滑に進めたいとのことで、
コミュニティで募集をしてました。

内容は公式のpdfを見てもらえればわかると思いますが、
実習がOSとか組み込みな、低いレイヤなので、
普段はWebに住んでるぼくからすると、世界が違うのでちゃんとチュータできるかどうか...

という点も含めて、アセンブラもちらほらやってみたかったのでチュータに名乗りあげました。

/* 逆に誰も手を挙げなかったのは一体...? */

○講義内容

『プログラミング言語の歴史』 西尾講師(60分)
『セキュリティ・キャンプとCTF』 園田講師、竹迫講師(60分)
『事例に学ぶ危険なシステム設計』 園田講師(60分)
『Arduinoでの組込みOS自作体験』 坂井講師(60分)
----------Day1↑----------↓Day2-----------
『超簡易PC用OS自作体験』 川合講師(160分)
『新しい暗号技術』 光成講師(110分)

ということで、
キャンプ勢のなかでもこのあたりをピンポイントに興味ある人、
横浜開催に来れる人、
になるとまったくいなかったてオチでしょうか。

結果として、タイトルのまんまで、超専門的でまったくついていけねぇなんてことはなく、
ぼくでも大丈夫だったので、逆にそれがメインの人からすれば真新しいことはないのかなあと。
むしろちょっと興味あるけど機会がなあ、みたいな人推奨みたいな感じです。

講義の話はタイトル通りなので、実習の部分を主に。

>> プログラミング言語~はパンチカードとか、かつてコンピュータができたころの話とかとか。
>> キャンプはそのままキャンプの話
>> 事例に学ぶ~はWinnyの話でした。Winnyにはびこるウィルスを殺すには、みたいな。
>> 暗号技術はすごい簡単に説明していたと思うのですが、やっぱり??となる部分が...数学むずかしい...
>>>> スライドが公開されています => http://www.slideshare.net/herumi/ss-27882746
>>>> 数学ガール読んでたので、ある程度はついていけました。数学ガール読みましょう((

○『Arduinoでの組込みOS自作体験』

Arudinoとありますが、実際はシミュレータを使ってそれっぽいことをやる感じでした。

C言語でかかれたやつをいじくりまわして。
make でコンパイルして。
avr-elf-gdb でシミュレータを走らせて。
別のスクリーンから cuコマンドを使用して、そのデバイスに対してシリアル通信をして。
というような感じだったとおもいます!

若干プログラム周りのやることが追加されてますが、ほぼこのページ通りな気がします。
http://kozos.jp/vmimage/cui.html

・チュータポイント
うまくうごかないーとか、そもそもVM動かないんですけどというあたりから見て、
一緒に悩みながら再起動したり試したりでなんとか。。

あとで聞いた話、シミュレータも完璧ではないので、
タイミングによってはうまく引っかからなくて結果がでないこともあるそうです。

・反省点
"事前にインストールしておくこと.txt"のようなものを受け取っていたので、
そこから自分で発掘して下調べをしておくべきだった。
もしくは坂井先生に個別連絡をとって、下準備を聞いておくべきだった。

screenコマンドを全くしらないのはまずい感あるので、多少なりとも勉強したい。
tmuxとかでも。

歩きまわって各自の様子を見るべきだった。
>> なかなか聞きづらい、手を挙げづらい、という思いがやっぱりあると思う。
>> なので、様子を見て、詰まってるっぽいならこっちから聞いてみる。

・良かった点
NOP

○『超簡易PC用OS自作体験』

はじめはアセンブラを書いて、動いたやったー。
途中からセクタを読み込めるようにして、
あとはC言語でそれっぽい画面をつくる、キー入力をする、という具合です。

「30日でできる! OS自作入門」をさらに説明するのに難しそうな箇所をバンバン削って
「2時間でできる!超簡易PC用OS自作体験」とのことでした。

INT 0x10 とか INT 0x13 とか、なんやねん、て質問があったんですけど、他のレジスタとの兼ね合いで
やる内容が決まってるんですって返ししかできなかったので、こちらをみてください。
http://en.wikipedia.org/wiki/INT_10H http://en.wikipedia.org/wiki/INT_13H

・チュータポイント

資料をまるまるもらっていたので、事前に全部通してやりました。
>> ひたすら紙->目->手->PCの作業

資料にはコードだけじゃなくて、それが何を意味しているかの解説込だったので、
理解の助けになっていたとおもいます。

実施中に何人かにもいったのですけど、
フォント増やすのはかなり地道な作業になるから、
そのあたりを構造体とかポインタとかカッチョいい感じに使って、
リファクタリングとかやってみたらいいんじゃないかなー、なんて話を。
実際にしている人はいなかったっぽいですけども..w

あとは、forまわして動きをつけたりしてる人もいましたね。
他にも、sin関数移してきてゲームっぽいものを作ろうとしてたり、
Brainf*ck専用OS(?)を作ろうとしている人なんかも。
後者についてはこわすぎるので、しかるべき場所にいくべきです((

・反省点
ぼくの事前学習がちょっと不足してた。
エラー対応のパターンとか。

Terapadの行表示をさせるのを忘れていた。

・良かった点
初日からの改善で、演習始まったら見て回ってた。
抜群の目grep力(皆無)でエラーっぽいのを見つけて声をかけるようにした。

エラーが出る方がC言語側に集中していたので、対応しやすかった。
>> コンパイルエラー出たら紙とにらめっこするよりも、エラー文を読んだほうが色々よさそうです。

○その他

最後の人生相談の場にいなくてごめんなさい。
いつでもリプライでもDMでも顔本でもなんでも聞いてくれれば反応します。
もちろん参加者じゃなくても、ちょっとキャンプ興味あるんだよな、
参加した人の話聞きてーなー俺もいけるんかなーくらいの軽いノリでも大歓迎です。

こんなぼくの話でよければいくらでもします。

ぼくのかいた応募用紙についてもちらっと見ると参考になりそーなことが書いてあるかもしれないです。
セキュリティキャンプ2013(web)に参加します+応募用紙のあれ

キャンプ中に言うのを忘れてたことがひとつ。
いろんな知識とか技術とかを受け取ったと思うんですけど、
なにかしらの形でそれらを出力していけるといいですよね。

voidじゃなくて、せめてもbool。うんともすんとも言わねえ...というのはいささか勿体無い気も。

ぼくもここは夏キャンプ分の出力できてないので、まだまだこれからですねって話ですが..w

それともう一つ。チャンスは掴んでいけ、というところです。
最初にも書いたのですが、コミュニティのほうで募集をかけており、
1週間たっても誰も名乗り出ていなかったのでやってみるかーという思いで手を上げました。
結果、チュータのお仕事がちゃんとこなせていたかなんてわかりません
(=講師陣・参加者から見てどうだったか...)
が、面白い話がたくさん聞けましたし、もっとがんばらなくちゃなーって気になりました。

各地のミニキャンプはキャンプ予選みたな形だと思うのですが、
ここにチュータ参加できたのは、ある種のチュータ予選みたいな話でもあってよかったとおもいます。
いきなりLTやって!というのもいい経験ですし、LTとはいえスライドづくりや説明の甘さも思い知りました。

>> 個人的には「にゃんぱすー [反応をみる] はい、ということで2回めのLTをー...」はよかった(やりきった感

LTで喋ったことの補足記事もかきます。
とくに二回目の方はあたふたしすぎてまったくなにがなんだかわからなかったので本当に申し訳なかったです。

○さいごに

@参加者のみなさんへ
ミニキャンプはどうでしたか。
チュータ力不足につきサポートしきれない点もありましたが、
みなさんなんとかやりきったのかなーと勝手に思っています。

できる人できない人が混在していたので、1か0かでさくっと分類してぼくからのメッセージを書きますね。
脳内のメモリは限られてますし、読むだけ読んで、そのまま/dev/nullへでも送ってください。

・簡単だと思った人
もっと勉強して、もっとプログラムを書いて、もっとパケットを読んで、来夏のキャンプに備えましょう。

若干の上下幅はあるものの、同年代のすごい人達がたくさん来ます。
普段できない話や、あたらしい視点、ひらめき、人脈、etc...

キャンプで得られるものは講師陣からの卓越した技術や知識だけではないとおもいます。
過去のキャンプ生...できれば最近なほうがいいですねw、を見るとその様子が見て取れるのではないでしょうか。

そんなセキュリティキャンプ、どうですか。

・難しいと思った人

やったことはすべて与えられています。ゆっくりと復習してみましょう。
そのときに、なにがわからないか、1つずつ調べていきましょう。
必要であればお手伝いします。

そして、やっぱりキャンプなんかむりだろー、という前にまずは手を動かしてみませんか?

とはいえ新しい何かを作るのはアイデアないしなあ、というのであれば、とても素晴らしいアイテムをもっていますよね。

坂井先生のArduinoシミュレータ、川合先生の自作OS。
このプログラムをいじくり倒して、あれこれしてみてはどうでしょうか?

@講師陣、運営なみなさんへ

いろいろと至らぬ点があったかと思いますが、いずれも言い訳をして捨てることはしません。
粛々と受け止め、改善策を考え、あれこれ試して、次の機会に備えます。

ぼくの知らない世界がたくさん見えて、チュータとはいえ参加者側の気分でした。
アセンブラやOSなど、興味がでてきたので、時間をみてちょっとずつ手を出してみようとおもいます。

キャンプ以外にも、いろいろなところで今後もお世話になるかと思います。
そのときはまた、よろしくお願いします。


おまけ。

短歌を読んでみたんですが、思った以上に難しくて白目。
味わい深さどころか、57577の形になっただけの要修行なレベル。ここからがんばります。
DOSです。

C:\DOCUME~1\user\デスク~1>fib.com
-d
2CE5:0100  B3 00 BF 01 00 B4 4C B2-31 B1 06 50 80 EC 4A CD   ......L.1..P..J.
2CE5:0110  21 00 DA 57 89 DF 5B 90-01 FB E2 F3 58 EB F0 00   !..W..[.....X...
2CE5:0120  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
2CE5:0130  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
2CE5:0140  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
2CE5:0150  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
2CE5:0160  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
2CE5:0170  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
-g
112358プログラムは正常に終了しました.
-q

C:\DOCUME~1\user\デスク~1>
B3 00 BF 01 00
B4 4C B2 31 B1 06 50
80 EC 4A CD 21
00 DA 57 89 DF 5B 90
01 FB E2 F3 58 EB F0
あ、あと、ぼくのスライド欲しい人いればリプライとかで直接いってください。
公開するのはあまり乗り気ではない模様...