32nd Diary

過去の日記
もっと過去の日記
2015年
4月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30

めーるあどれす:ruby -r base64 -e 'puts Base64.decode64("dGFrQG5vMzIudGs=")'





2014-08-07 (Thursday) [長年日記] この日を編集

[Python] SkypeKit のサポートが完全に終了

8月4日からランタイムのバージョンではログインできなくなるという告知があった。

5日に目視で確認した。

そういったわけで、一昨日あたりから SkypeKit をベースにしたソフトウェアを片っ端から Skype API ベースに書き換えるという修行をしている。

自分のメンテナンスしている範囲でも、いろいろと実は SkypeKit で動いていたりするので、改修が間に合わないソフトウェアも存在する可能性があります。 現在、ランタイムが落ちるとそのまま疎通しない状態になりますが、比較的がんばっていますので、周囲の方々におかれましては温かい目で見守りくださいまし。


2013-08-04 (Sunday) [長年日記] この日を編集

[Hack] ギークハウスプログラミングコンテストの問題を30分くらいで解いた

ギークハウスプログラミングコンテストというイベントがありました。

https://www.facebook.com/events/206583066132014/

参加したんですが、ミーティング、昼飯、移動に時間をとられてしまい、コードを書いたのは実質的に30分ほどでした・・・

問題と自分の書いた回答は以下

問題:
プログラム引数で与えられる5枚のカード情報から、その5枚を用いて出来る一番強いポーカーの役を判定して出力せよ(*1)(*2)。

プログラム引数は以下のように与えられる。 $ prog Ac Th Kd 3h As

カード情報について(*3)(*4)(*5) 1文字目:数値 (A:エース 2〜9:数字 T:10 J:11 Q:12 K:13) 2文字目:スート(s:スペード h:ハート d:ダイヤ c:クローバー)

ポーカー役の強さの順番と出力値、それに対応する入力例 1:straight flash (As Ks Qs Js Ts) (*6) 2:four of a kind (7s 7h 7d 7c As) 3:full house (Ts Th Td 7c 7d) 4:flush (Ad 4d 5d Jd Kd) 5:straight (2s 3h 4s 5d 6c) 6:three of a kind (9s 9h 9d Ts 3s) 7:two pair (Ts Th 2c 2h 5d) 8:one pair (2s 2d 5c 6d 9c) 9:high cards (Ah Jc 5d 4s 9c)

  • 1 入力が「As Ks Qs Js Ts」のとき、「straight flash\n」と出力すること
  • 2 標準入力からの入力内容は無し
  • 3 カード情報は特に決まった順番はなく、ランダムに与えられる
  • 4 大文字・小文字は例示の通り与えられる
  • 5 ジョーカーは無い
  • 6 T J Q K A はストレートになるが、J Q K A 2 はストレートにならない

全ての役の判定実装が間に合わない場合、部分的に実装して「○番と○番以外は判定できます」という申告もアリ。

追加問題: テキサスホールデムの役判定を行え。 7枚分のカード情報が与えられるので、そのうち任意の5枚を用いて作られる最高の役を判定して出力せよ。 (プログラムは上記5枚バージョンとは別に作成してください)

参考: "straight flash" "four of a kind" "full house" "flush" "straight" "three of a kind" "two pair" "one pair" "high cards"

書いたのはこれ

https://github.com/takano32/geek-house/blob/master/poker.rb

大ざっぱすぎる位置においたので上の URL は無効になるかも。 現在のコードの状態は以下ですわ。

動くっぽいので、テストとか書きます。#逆だろ、順序。

まぁ、でも。

commit f1054568675cd4e0c6569cdfaa3cb3490846e266
Author: TAKANO Mitsuhiro <takano32@..>
Date:   Sun Aug 4 16:41:10 2013 +0900

から

commit 7f4d1d01cb235cb9fa8faa9dba7ee9607784f9c8
Author: TAKANO Mitsuhiro <takano32@...>
Date:   Sun Aug 4 17:11:14 2013 +0900

で、ほぼすべての実装を終えることができたのは自己満足感はある。

コンテストの結果としてはレギュレーションの時間内に終わってないし、遠隔参加なのでいまいちフィードバックできなかった。

所感としては Java って人気があるんだなぁ。と感じた。 あと、RSpec とかあとでちゃんと書こうな。うん。

本日のツッコミ(全2件) [ツッコミを入れる]

takano32 [いまみると、ほんと急いで書いてるなぁ。デッドコードたくさんありまくりや。リファクタもせにゃね・・・]

takano32 [だいたい 400L/h で書いてたっぽい。]


2013-06-14 (Friday) [長年日記] この日を編集

[Hack] プログラミングに限らず「教育はきっかけ」

初等教育から中等教育で英語を教えはじめるようになったわけですが、別に英語がペラペラな日本人がガンガン増えてるわけでもない。そこから何か学ぶことはないのかと感じる。まあ、計算機科学と英語を一絡げに扱うのは雑だと指摘されれば、はいそうです。なんですけど、義務な教育なんてそんなもんかなと思う。

別にコンピュータについて教えようが教えまいが、教えることになったときに何を教えるべきかとか議論してもあんま意味ないと思う。いや、多少は意味あるんだろうけど、大きく捉えると意味ないだろう。

興味があれば、教育に限らず、きっかけさえあれば勝手によしなにやってるだろうし、興味がなければ、そのひとにとって他の興味のない教育・学問と同じようになると思う。そういう意味では「いかに興味をもたせるか」というのにフォーカスするのは意味あるかもしれない。具体的にコレ教えろ、アレ教えろではキリがない。

継続するひとはするし、しないひとはしない。

ただ、まあ、出口として「ゲームが作れると思ってコンピュータサイエンスに進みました!」みたいなことがないように進路のアドバイスには気をつけてほしいですね。傍からみてても、ゲームが作れると思ってきた子を卒業させるのとか割りと大変ですよ。