今やってること2015(仮)
1
@tututen
クラスメソッド株式会社
2015年10月03日
本日の移動距離
あんた誰?
3
あんた誰?
• サーモン大好き、パネポン大好き
• クラスメソッド株式会社 所属
• 一応開発者?(所属はオペレーション部)
• Python,Ruby,Golang and more
• 北見工業大学 卒業生 元処理研部員
• 処理研のサーバとかいじってました。
4
サーモン
5
パネポン(対戦者募集中)
6
https://www.youtube.com/watch?v=Ubv7NadPSww
2015年遍歴
7
2015年遍歴
2014/11 北見→札幌へ引っ越し
2015/01 現職入社&東京研修
2015/02 札幌オフィス初出社
2015/03末 DevelopersIOイベントスタッフ
2015/05 道内イベント参加復活
8
2015年 勉強会
2015/03 ゆるふわ勉強会(旭川)
2015/05 FraIT #8 (二人ぼっち富良野)
2015/05 Ohotech #12(OSCリハ)
2015/06 CLR/H カフェ #1
2015/07 Infrastructure as Code Casual 札幌 #0
2015/08 Code 2015 in 定山渓温泉
2015/08 FraIT #10 アイディアソン
2015/09 PyCon mini Sapporo 2015 (一応スタッフ)
2015/09 クラウドの知識から学ぶ Azure 勉強会@旭川
2015/10 Ohotech #13(←今ココ)
9
遍歴だけだと正直つまらん
今年やってきた中で
書いてきたコード
11
A-1
@tututen
クラスメソッド株式会社
2015年10月03日
断然ウチらしい!
夏のこと
13
Code 2015
問題出題しました
• 出し物班の@ag0u3さん、@darkcrushさんと一緒に
考えました
• 今回はショートコードではないものを出そう
• プログラム言語に依存しない問題
• プログラム書かなくてもある程度解ける問題
15
QRコードを解こう
QRコード
• きっかけはSECCONの札幌大会
• 「簡単に作れるし、簡単にとけそう」
• じゃぁ、大量にQRコード作ろう
17
QRコード
• きっかけはSECCONの札幌大会
• 「簡単に作れるし、簡単にとけそう」
• じゃぁ、大量にQRコード作ろう
18
Code 2015 とは?
今年やってきた中で書いてきたコード
今年やってきた中で書いてきたコード
今年やってきた中で書いてきたコード
今年やってきた中で書いてきたコード
出し物班の準備
出し物班の準備
バナナを食いながら
問題を作る人の図
QRコード問題作成の進
• 方針自体は1週間以上前から決まってた
• でも、手を動かせたのは「前日」から…
• で、上級の問題は「Drewさんのいつもの3語」で
• どの道問題は会場で作って公開
26
進 ダメです!
QRコード問題内容
27
data:
application/zip;
base64,…
4096枚 256枚
hint.txt
+
QRコード問題内容
28
data:
application/zip;
base64,…
4096枚 256枚
hint.txt
+
手作業で解かせる気がない上級問題!
QRコード問題作成・回答
• 作るのも解くのもPython
• みんなで問題の難易度とか決めようとFlaskで問題
作れるようにした→結局あんまり使わなかった
• 回答文を@ag0u3さんに作ってもらってウチはQR
コードを作る簡単な作業
• 中級までは10秒以内出来た
• 上級のQRコード4096枚生成するまで10分弱か
かった
29
QRコード問題作成・回答
• 作るのも解くのもPython
• みんなで問題の難易度とか決めようとFlaskで問題
作れるようにした→結局あんまり使わなかった
• 回答文を@ag0u3さんに作ってもらってウチはQR
コードを作る簡単な作業
• 中級までは10秒以内出来た
• 上級のQRコード4096枚生成するまで10分弱か
かった
30
問題を解いてもらった反応
31
• ポジティブ回答
• 自分の扱える言語を選べた
• 解いてて楽しかった(心折れた時もあったが)
• 中級まではスマホ片手に解けた
わーい
問題を解いてもらった反応
32
• ネガティブ回答
• QRコード読み取るライブラリが見つからなくて
本題が楽しめなかった
• 「言語が選べる」とはいえ、QRコード読み取り
精度を考慮すると選べなかった
うーむ…
Code 2015まとめ
• 出題担当は楽しい
• ただ、出題者の楽しい 解答者の楽しい
• 人数規模が増えるほど楽しいを全員で共有する難
しさ
• 次回やるとしたらもうちょいとっつきやすさ重視
• Python便利(そろそろ3系移行

せねば…)
33
最近のこと
34
カプレカ数
35
カプレカ数
• 正の整数nがあった時に二乗した値を中央で分断
• その分断した2つ数値の和がnと等しい
36
n = 297の時
n*n=88209
カプレカ数
• 正の整数nがあった時に二乗した値を中央で分断
• その分断した2つ数値の和がnと等しい
37
n = 297の時
n*n=88209
88+209=297
今年やってきた中で書いてきたコード
カプレカ数ってプログラムの練習に
いいと思うんですよ!
(略)
コード書いてください
書きました
重要なのはこの辺
カプレカ数 方針
42
log10(n)+1で桁数
pow(10, (int)(log10(n)+1))
で桁数の10の累乗
oはnの桁数の10の累乗!
カプレカ数 方針
43
でも
209を取得するのがめんどい
n*n=88209,o=1000
(int)(n*n/o)=88
は簡単
n = 297の時
カプレカ数 方針
44
n*n=88209,o=1000
n*n-((n*n/o)*o)=209
長いと思いません?
美しくないと思いません??
n = 297の時
カプレカ数 方針
45
n*n=88209,o=1000
p=n*n/o;
p+n*n-p*o==n
p=88
n*n-(p*o)=209
n = 297の時
20byte
カプレカ数 方針
n==88+209
という考えを捨てます
n = 297の時
n-88==209
という考えで行きます
カプレカ数 方針
n = 297の時
n-88=209,o=1000
n*n=88209
n*n=88000+209
n*n=(n*n/o)*o
+(n-(n*n/o))
カプレカ数 方針
n = 297の時
n*n=(n*n/o)*o
+(n-(n*n/o))
n*n=(n*n/o)*(o-1)+n
比較するので
n*n==(n*n/o)*(o-1)+n
20byte
カプレカ数 方針
49
n*n=88209,o=1000
p=n*n/o;
p+n*n-p*o==n
p=88
n*n-(p*o)=209
n = 297の時
20byte
あ、あれ?変わらん?
いやいや、そんなことはない
n = 297の時
演算子の優先順位的に
括弧いらないので
n*n==(n*n/o)*(o-1)+n
 
n*n==n*n/o*(o-1)+n
18byte
最終的に…
o;
main(n){
o=pow(10,scanf( %d",&n)+(int)log10(n));
puts(n+n*n/o*(o-1)-n*n?"false":"true");
}
90byte
カプレカ数 まとめ
• 「カプレラ数」[検索]
• Google先生「もしかして:カブレラ数?」
• 正直文字列で扱うほうが楽
• ※但し、C言語を除く
• ただ、自由度は無限大(短くなるとは言ってない)
• 第2定義?知らない子ですね

(どう頑張っても面白くない=

 愚直実装)
53
まとめ
• 趣味の範囲でやってることはほぼ変わらない
• 私は元気です
• 仕事の事は触れませんでしたがもっと色々書いて
ます
• 次回はAWS語りたいです、

面白いこと言えるぐらいまで

精進します
•
54
I Love Salmon!!
パネポン(対戦者募集中)
56Ⓒ Classmethod, Inc.

More Related Content

PDF
S05 t1 midorikawa
PPTX
Jasst16 tokyo 参加報告
PDF
S02 t0 get_started
PDF
Lightning talk01 docx
PDF
Introduction
PDF
イベント駆動とノンブロッキング #hokkaidopm
PDF
S12 t1 python学習奮闘記#5
PDF
20150704-innovationegg04-conoha
S05 t1 midorikawa
Jasst16 tokyo 参加報告
S02 t0 get_started
Lightning talk01 docx
Introduction
イベント駆動とノンブロッキング #hokkaidopm
S12 t1 python学習奮闘記#5
20150704-innovationegg04-conoha

Similar to 今年やってきた中で書いてきたコード (20)

PDF
Hadoopによるリクルートでの技術調査とその活用
PDF
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
PDF
「モダンPerl入門」の入門
PPTX
Hadoop scr第7回 hw2011フィードバック
PDF
高専カンファIn京都
PDF
U-16プログラミングコンテスト CHaser を利用したプログラミング指導
PDF
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
PDF
CoderDojoの始め方
PPT
Blueprintsについて
PDF
20201207 SoftwareDesign #19 kitazaki t1
PDF
PFI Christmas seminar 2009
PPTX
オンライン授業における目録検索システム構築演習
PDF
セキュリティ&プログラミングキャンプに参加してから
PDF
20120706-readablecode
PDF
Research and Development Review of Ken Washikita, 2019/02
PDF
ユーザ・デザイナーから見たPlone CMSのアピールポイント
PDF
大規模グラフアルゴリズムの最先端
PPTX
東京電機大学 ポータルサイト UNIPAからの情報抽出と再利用
PDF
PosGIS/pgRoutingとRの連携による道路ネットワーク分析(埼玉大学・国府田様)
PDF
Introduction to programming competition [revised][PDF]
Hadoopによるリクルートでの技術調査とその活用
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
「モダンPerl入門」の入門
Hadoop scr第7回 hw2011フィードバック
高専カンファIn京都
U-16プログラミングコンテスト CHaser を利用したプログラミング指導
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
CoderDojoの始め方
Blueprintsについて
20201207 SoftwareDesign #19 kitazaki t1
PFI Christmas seminar 2009
オンライン授業における目録検索システム構築演習
セキュリティ&プログラミングキャンプに参加してから
20120706-readablecode
Research and Development Review of Ken Washikita, 2019/02
ユーザ・デザイナーから見たPlone CMSのアピールポイント
大規模グラフアルゴリズムの最先端
東京電機大学 ポータルサイト UNIPAからの情報抽出と再利用
PosGIS/pgRoutingとRの連携による道路ネットワーク分析(埼玉大学・国府田様)
Introduction to programming competition [revised][PDF]
Ad

More from Fumihito Yokoyama (20)

PDF
Aws その他の概要と勘所
PDF
Aws lambdaで[ソンナコ]を実装してみた
PDF
re:Inventで発表されたAWS Lambdaの更新情報と使い方考察
PDF
制約をつけて遊ぼう
PDF
Ohotech特盛 #11 Box2DWebを触ってみよう
PDF
Osc2014 聞くだけじゃもったいない!観客と発表者の双方向通信を実現する「投げ銭box」
PDF
投げ銭Boxのwebクライアントを作ってみた
PDF
Clrh87 minecraftでのタートルのご紹介
PDF
Ohotech 特盛#5 長距離運転の考察ver2
PDF
Code jp2013で行った ショートコーディング について
PDF
長距離運転の考察
PDF
リバーシの条件判定をlinqで
PDF
Clrh81 windowsで定期的にキャプチャするために
PDF
monoを使ってlt countdowntimerを動かしてみる
PDF
密着!わたしのコンソールアプリ開発環境
PDF
Linqで画像処理
PDF
LINQ を使ったナンプレの解法を作ったお話
PDF
Ldd kitami(宣伝用 clrh70)
PDF
関数型忘年会Lt用
PDF
Ohotech #8 tututen pdf用
Aws その他の概要と勘所
Aws lambdaで[ソンナコ]を実装してみた
re:Inventで発表されたAWS Lambdaの更新情報と使い方考察
制約をつけて遊ぼう
Ohotech特盛 #11 Box2DWebを触ってみよう
Osc2014 聞くだけじゃもったいない!観客と発表者の双方向通信を実現する「投げ銭box」
投げ銭Boxのwebクライアントを作ってみた
Clrh87 minecraftでのタートルのご紹介
Ohotech 特盛#5 長距離運転の考察ver2
Code jp2013で行った ショートコーディング について
長距離運転の考察
リバーシの条件判定をlinqで
Clrh81 windowsで定期的にキャプチャするために
monoを使ってlt countdowntimerを動かしてみる
密着!わたしのコンソールアプリ開発環境
Linqで画像処理
LINQ を使ったナンプレの解法を作ったお話
Ldd kitami(宣伝用 clrh70)
関数型忘年会Lt用
Ohotech #8 tututen pdf用
Ad

今年やってきた中で書いてきたコード