JOI予選通過しました

情報オリンピック予選

何故か通過しました。

点数は72点でギリギリ。(ボーダーも72点)
20+20+20+8+4 = 72 てな感じでした。

うどんすすりながら、node.jsで受けた。

こんな回答だったのに通過していいのか。

KYの二年は、自分も含め少なくとも3人通過した見たい。

他の二人はめちゃんこ点数高いです。

ぼかぁアルゴリズマーじゃないし、普段から勉強もしてないんで、本戦ではみなさんがんばってくださいって感じですね。

たぶん、あの二人は余裕で本戦も通過しそうだなあ。

罪悪感はあるけど、マイナーな言語で受けると逆に受かりやすい場合もあるんだなあと実感。
(ヒント:提出したプログラム)

また、ただで東京に行って参ります。

セキュリティ&プログラミングキャンプ2010実施報告会に行ってきた

情報処理推進機構:IT人材育成:セキュリティ&プログラミングキャンプ2010

これを目的に格安で東京に行ってまいりました。

セプキャンが廃止されるみたいな噂があって冷や冷やしていたんですが、報告会では積極的な意見が数々出ており(僕は意見を言えませんでしたが)、やはりこのキャンプは多くの影響を与えてきたんだなあと再認識しました。

僕自身も、このキャンプに行った事で能力の高い人たちがいることを再認識し、その人々を間近で話すことができるという貴重な体験をすることができました。

今回の報告会では、サイボウズの青野社長の講演の後、卒業生LTがあり、最後にディスカッションがありました。

青野社長の講演では、日本では起業をするのはお勧めしないって言う話と、アメリカの女子にIT業界が人気っていう話が印象に残りました。
セプキャンに関してもそうですが、日本人のIT技術者などに対する、よくない意味でのオタク的なイメージが変わらることが、この分野の成長には必要なのだと思われます。

ディスカッションでは主に、
成果を見せる必要があるということと、
キャンプ卒業生による広報がやはり重要だという話と、
wikiやポータルサイトのような、キャンプ卒業生や、未来のキャンプ生たちが交流できる場所がいるのではないかという話がされていました。(僕の記憶では)

一つ目は、セキリュティ組ってどういう成果を出したらいいんだろう・・・ってのをもんもんと考えてました。
ただ、成果を出しても、分かってくれる人は限られるという意見もあったように記憶しています。
たしかに成果をずばっと見せるのは難しいかもしれないですね。

二つ目に関しては、僕も以前に学校で話したりしていたのですが、
プログラミングなどに興味のない人には、「ふーん。無料でいけるんだ。へー」としか思ってもらえませんでした。
僕がもっと興味を持たせられるようなしゃべり方を身につけていればよかったのですが・・・。なかなか難しいですね。
逆に、もともとプログラミングをやっている人の一部には、著名な講師の方々が来るということで、とても興味を抱いてもらうことができました。
専門学校ならともかく、うちのような普通の学校の生徒に対する広報はなかなか難しいなあと思います。

三つ目のwikiは、さっそく@mine_studio先生が開設されました。
行動力がぱないですw
http://spcamp.com/

終わった後は懇親会がありました。
少し疲れていたのもあって、あまり話しかけることができず、@grapswizさんと、@ajalaboxさんと三人でずっと固まっていましたw
ただ、未来のキャンプ生から話しかけてもらうことができ、僕らが最後のキャンプ生になってはいけないなと感じながら帰りました。

せっかく東京に行ったので、ついでにキーボードを1000円で購入し、翌日のJOIはそれで受験しました。

往復5000円で東京まで行ってきました

大阪東京間を格安で移動しようと思ったとき、あなたはどうしますか?

夜行バスですか?格安航空でしょうか?それともヒッチハイク??

いいえ!青春18切符ですね!

今年は発売されないという噂もあったようですが、無事に今年の冬も発売されました。
ダイヤ改正されて、時間がかかるようになりましたが、なんとか行けます。
がんばれば一日で往復できますw

僕は12/17のお昼に家(兵庫)を出発し、夜に東京に到着、翌日の12/18深夜に東京を出発して、12/19の朝に帰宅しました。
行きは普通列車でのんびりと行き、帰りは「ムーンライトながら(以下ながら)」を使用して帰りました。
かかった費用は 2300*2(18切符二日分) + 510(ながらの指定席券代) = 5110円 でした
“往復5000円で東京まで行ってきました”の続きを読む

node.jsでJOI受けた。

情報オリンピック日本委員会

PHPを使うか、ブラウザのコンソール画面でJavaScript実行させるか、node.jsを使うかで悩んだ末、勉強もかねてnode.jsを使いました。

結果はかなり微妙でしたが、node.jsの勉強になったと思うので、よしとします。
予選通過するかしないかギリギリのラインですが、どっかでミスってる可能性大なので、たぶん通過しません。

残ってるコードはこんな感じ

– Q1

– Q2

– Q3

Q4は二問ほどを総当り(ブルートフォース的に)解いて、残りを解くために改良していたところで、バグに見舞われてしまい、終了となりました。
Q5もはじめの一問を解いたけど、たぶん点数に加算されない気がするなあ。

Q2を解き始めたところから、「split(‘n’)」で一行ずつ取得という処理ができなくなり、そこでも時間を潰したかな。
rnでsplitしても、また別の問題が浮上してくるのですごく戸惑いました。
最終的にはダウンロードした入力データを、エディタで改行を除くなどして応急処置をほどこしました。

向こうの想定するC,C++ではなくて、node.jsで解いた罰かもしれんねー

まあこれで、アリ本を買うことなんかは今後もないでしょう

「node.js」はじめました

ubuntu環境が手に入ったので前々から気になってたnode.jsはじめた。

JavaScriptでサーバーサイドが書けるなんて、JavaScript最強伝説()始まってんじゃね!?

恋するnoderの@KOBA789先輩に手ほどきしてもらいながら、なんとかHello Worldまでできたー。

ほとんど経験のないコマンド処理に迷ったりもしたけどまあそれはともかく。。。

“「node.js」はじめました”の続きを読む

さくら鯖にgitを入れたい

できない。

ぐぐったら下の三つがそれらしいので試してみたがだめだった。
バージョンは最新の1.7.3.3でやってる。
2010-02-19 – Dive into the Tech World!
さくらのレンタルサーバにgitをインストールする方法 | public static void main
サクラのレンタルサーバーでgitを使う – Text::Easyhacking

というかexportコマンドが用意されてないみたいだけどよく分かんない。

未だにLinuxとかそのコマンドに関しては初心者から脱却できないでいる。
進展があるとすれば、最近ubuntuを使い始めたくらい。

ちまちま雑誌とか読んでれば分かるようになるかな。
さくら鯖にrails入れようとしたときも失敗したし、まずはローカル環境でできるようになってからにする。

JOIの解答がGoogle Chromeで提出できないという話

情報オリンピック日本委員会

現象

なーんかJOIの予選練習問題解いてたら、@asi1024がChromeでCのソースコードをアップできないって言うんで、どういうことかなーって思ってたら、後日JOIから発表があった。

「予選練習」において, Google Chrome (7.0 以降)など一部のブラウザからソースコードのアップロードが正常に行えない場合があることが確認されています.
競技当日までに競技に使用するPCから予選練習にてソースコードのアップロードが
正常に行えるか確認してください.less than a minute ago via HootSuite

どうやらChromeだけの現象らしい。
しかも.txtファイルはアップできて、.cファイル等がアップできないという不思議な現象。
.c等のファイルをアップロードしようとすると以下のようにエラーがでる。
(JOIからの報告の数日後に、サイトの保守作業があったみたいだけど、まだバグは治っていなかった)

原因らしきものをぐぐってみたら、さくっと出てきた。

一般に登録されていない拡張子の場合、Chromeでアップロードできない – Google Chrome 公式ヘルプフォーラム

もしかしたらもう解決済みなのかな?とは思ったものの、ちょっと調べてみた。
Chromeのバージョンは8.0.552.215 beta

「Content-Typeフィールド」が無い

プロキシツールを使って、sample.txtファイルをアップしたときと、sample.cファイルをアップしたときの違いを見てみた。
どうやらレスポンスヘッダーの「Content-Typeフィールド」の付与の有無が関わってることが分かった。
一般に登録されてない拡張子だと「Content-Typeフィールド」が付与されないみたい。
(他のブラウザだと、どのファイルでも「Content-Typeフィールド」が付与されるようだ。)

(比較)

「Content-Typeフィールド」を適当に付け加えるとアップロードできるようになった。

あとがき

今までChromeを使ってても、dropboxも使えたし、なんら問題がなかったので、ちょっと驚き。
ちなみにdropboxでアップロードするときも、「一般に登録されてない拡張子」だと「Content-Typeフィールド」が付与されなかった。
JOIの鯖側で「Content-Typeフィールド」のチェックでもしてるのかしら。

それにしてもJOIさん、font要素とかまじで使わないでください。

追伸

どうやらChromeのバグだったようです。
Issue 6800 – chromium – Chrome doesn't set Content-Type for file upload when the file extension is not recognized. – Project Hosting on Google Code

一度直されたバグが復活したのかな?
今後直されるといいですが・・・

thanks to @pastak

試験対策 – 日本史

前回の地理まとめがちょっと好評だったため、日本史まとめもしちゃう。

テストの点数が上がる保障はありません。
これを使った僕自身、地理のテストに関しては、いつもの数倍勉強した割に、いつも通り空白が・・・。
内容の暗記はできてたけど、問われ方を変えられるとぜんぜん思い出せないのよねん。。。

随時追加します。

日露戦争
重工業の発達と財閥の成立
欧米文化と伝統文化
朝鮮の植民地化
大正デモクラシー
第一次世界大戦
第一次世界大戦後の世界
日本資本主義の成長
米騒動と社会運動
普通選挙法と治安維持法

期末試験対策 – 地理

前回作った赤シートツールを使って地理のまとめを作り上げることにします。

いつも試験のたびに勉強資料を提供してくださるN様も地理の写真をupするようですが、自分の勉強のためにもやっておこうと。
ちなみに歴史もやる予定。
足らないとことかミスとかあるし、誰か改良してくれるとありがたいけど、誰もしないよねー

随時追加していきます。

土壌まとめ
熱帯まとめ
乾燥帯まとめ
温帯まとめ
冷帯まとめ
寒帯まとめ
高山帯まとめ
土壌と植生まとめ

赤シート2.0

赤シート2.0

試験前だが、ふと思い立って作った。

自分はPCがあると勉強ができない。
どうしても電源を入れる癖がある。
しかしSmart.fmは嫌いじゃないし、もしかしたらPCを使えば集中できるのではなかろうかと。

とは言うものの、今まで試験中にPCをつけると、TwitterをしたりSkypeをしたりするため、うまくいったためしがない。
しかしサービスの開発中は、Skypeで呼び出されようが、TwitterでReplyが来ようが、無視するくらい集中できる自信はある。

そこで、自分に開発をしているのだと暗示をかけながら勉強をすればいいのではないかと思いついた。
どのようなサービスがいいか考えたところ、優秀な同級生や妹を見ていると、ノートを赤いペンで書いて、上から赤シートをかぶせる勉強法を取っている人も多いことに気がついた。
その方法を真似して、PC上でやってみようと考えたが、そのようなサービスでしっくりくるものがなかったため、できるだけ簡単にできるようなのを作ってみた。
その結果できたのが、赤シート2.0である。
いろいろとダサイが、俺得サービスなので問題ない。

久々にcakePHPを使わないサービスを作ったので、3時間もかかった。
PDOにも初挑戦してみた。

使い方は、テキストの隠したい部分を「?」で囲み、それを投稿するだけである。
隠した部分は選択して反転すれば見れるようになるので、問題ないであろう。
(クリックすると見れるようになるようにしようかな。)

サンプルとして、地理のプリントの写しを挙げておく。
ほかにも、英文の穴埋めなどにも使うなど、いろいろな使い方があると思う。

土壌まとめ[地理]
熱帯まとめ[地理]