SlideShare a Scribd company logo
LINQ を使ったナンプレの解
                   法を作ったお話

momo_*(@tututen)
自己紹介
●   某北見市で働く職業プログラマ
●   趣味でもプログラム書くことがあります
●   お仕事:C言語、(Python、C#)
●   趣味:ほぼ何でも(※アセンブリを除く)
●   パネルでポン(以下、パネポン)ができます
●   タグ「友達がいないとこうなります」で検索!
●   あと、手元を映したUst動画もあったりします
地図
地図
自己紹介
●   某北見市で働く職業プログラマ
●   趣味でもプログラム書くことがあります
●   お仕事:C言語、(Python、C#)
●   趣味:ほぼ何でも(※アセンブリを除く)
●   パネルでポン(以下、パネポン)ができます
●   タグ「友達がいないとこうなります」で検索!
●   あと、手元を映したUst動画もあったりします
検索結果
最近のタグ(7/7 13:00現在)
Ust風景




http://www.ustream.tv/recorded/20923039
お品書
●   LINQの簡易説明
●   ナンプレの解法手順1
●   実装1
●   ナンプレの解法手順2
●   実装2
●   デモ
LINQについて
Language Integrated Query の略称で、 C# や VB
などの .NET Framework 対応言語に、 リレーショ
ナルデータや XML に対するデータ操作構文を組
み込む (+ データベースや XML 操作用のライブ
ラリ)

引用:http://ufcpp.net/study/csharp/sp3_linq.
html
クエリ式




           拡張メソッド




LINQについて
ナンバープレース
                                  9×9のマスの中に、1から9まで
                                 の数字を入れていくパズルである。
                                  次のような三つのルールは守らな
                                 ければならない。

                                 ●   一列で同じ数字を使ってはいけない
                                 ●   一行で同じ数字を使ってはいけない
                                 ●   一つのブロックで同じ数字を使ってはいけ
                                     ない



引用:http://www.sudokugame.org/ 
      2012/7/4 最高級
定義
● フィールドは1次元のint配列で定義
● 配列にはそれぞれ[0-9]が入り、0は空白を示す
解法手順1
1. 空白場所を探す
2. たて・横・ブロックを見て、
   現状で空白に入る数字をリストアップする
3. 2で得た数字を入れてみる
4. 1に戻る
5. 2で数字が見つからなければ、
   一つ前の空白に戻り、違う数字を入れる
解法手順1
1. 空白場所を探す
2. たて・横・ブロックを見て、
   現状で空白に入る数字をリストアップする
3. 2で得た数字を入れてみる
4. 1に戻る
5. 2で数字が見つからなければ、
             ここでLINQ使える!
   一つ前の空白に戻り、違う数字を入れる
0.使う構造体
各マスの構造体
Valはマスの値、
Indexはマスの場所、
NumListは入れることの出来る数字のリストです
0.使う構造体の初期化
● 通常
0.使う構造体の初期化
● LINQ
1.空白の場所を探す(1)
● 通常
1.空白の場所を探す(2)
● LINQ
2.たて・横・ブロックの…(1)
               今いるセルのたての列の
               値を取得したい場合




 ・・・今見てる空白マス
2.たて・横・ブロックの…(2)




 ・・・今見てる空白マス
2.たて・横・ブロックの…(3)
               今いるセルの横の列の値
               を取得したい場合




 ・・・今見てる空白マス
2.たて・横・ブロックの…(4)




 ・・・今見てる空白マス
2.たて・横・ブロックの…(5)
               今いるセルのボックスの列
               の値を取得したい場合




 ・・・今見てる空白マス
2.たて・横・ボックスの…




 ・・・今見てる空白マス
2.たて・横・ブロックの…(7)
               たて・横・ボックスに存在し
               ない数字を「候補リスト」と
               して扱う




 ・・・今見てる空白マス
2.たて・横・ブロックの…(8)
2.たて・横・ブロックの…(9)
       最後に1-9のリストと差分
       をとって「候補リスト」ができ
       る
       ↓
       差集合を取る
2.たて・横・ブロックの…(A)
               LINQを使うと・・・




 ・・・今見てる空白マス
2.たて・横・ボックスの…
       LINQを使うと・・・
2.たて・横・ボックスの…
                 LINQを使うと・・・




たて・横・ブロックマスの抽出
2.たて・横・ボックスの…
         LINQを使うと・・・

 空白除去・重複要素除去
2.たて・横・ボックスの…
                LINQを使うと・・・




各スペースに候補リスト代入
解法手順1           省略!


1. 空白場所を探す
2. たて・横・ブロックックスを見て、
   現状で空白に入る数字をリストアップする
3. 2で得た数字を入れてみる
4. 1に戻る
5. 2で数字が見つからなければ、
   一つ前の空白に戻り、違う数字を入れる
解法手順1の問題点
● 空白マスが多く深く探索後に間違いに気づく
  問題の場合酷く時間がかかる
● 空白の多いマスで実行すると7~8時間帰って来
  ないことがある
● 再帰関数の呼び出し回数が1000万超えること
  も…
解法手順2
1. 候補が絞れている物は埋めてしまう
2. 空白場所を探す
3. たて・横・ブロックックスを見て、
   現状で空白に入る数字をリストアップする
4. 3で得た数字を入れてみる
5. 2に戻る
6. 3で数字が見つからなければ、
   一つ前の空白に戻り、違う数字を入れる
解法手順2
1. 候補が絞れている物は埋めてしまう
2. 空白場所を探す
3. たて・横・ブロックックスを見て、
   現状で空白に入る数字をリストアップする
                    追加!
4. 3で得た数字を入れてみるここもLINQ使える!!
5. 2に戻る
6. 3で数字が見つからなければ、
   一つ前の空白に戻り、違う数字を入れる
手法
8
                   ●   ある列を抜き出した物
    [4, 5, 7, 9]   ●   マスの横にあるものを候補リストとす
    [4, 5, 7]          る
6

2
                   引用:http://www.geocities.
    [3, 5, 7]
                   jp/m_hiroi/func/abcscm41.html
1

    [4, 5, 9]

    [4, 9]
手法
8
                   ●   この列の候補リストの中で
    [4, 5, 7, 9]       [3, 5, 7]中の3だけ候補リストに
    [4, 5, 7]
                       存在する
                   ●   このマス以外に3を入れると
6
                       ルール上崩れるので
2                      このマスに3を入れることが出来る
3   [3, 5, 7]
                   ●   これを検索するプログラムを書きました
1

    [4, 5, 9]

    [4, 9]
2.たて・横・ボックスの…
       LINQを使うと・・・
たて・横・ブロックに属するマスを取得
平坦化する
IEnumerable<IEnumerable<TmpData>> {
  たて, 横, ブロック
}
を、
IEnumerable<TmpData> {
 たて, 横, ブロック
}にする
たて・横・ブロックの候補リストを取得し
候補の数字をキーにグループ化
グループ化した要素の個数が1個のものを
取得し、リスト化する
1つだけの候補の位置を探しだし
その位置に数字を埋める
比較
● http://www.sudokugame.org/ の
  2012/07/05 中級の問題

● 解法1
  ○ 解答時間 5.3851703秒
  ○ 関数呼び出し回数: 3090回


● 解法2
  ○ 解答時間 0.0805433秒
  ○ 関数呼び出し回数: 4回
比較
● http://www.sudokugame.org/ の
  2012/07/05 最高級の問題

● 解法1
  ○ 解答時間 測定不能(8h以上)
  ○ 関数呼び出し回数: 1000万回以上


● 解法2
  ○ 解答時間 0.3522107秒
  ○ 関数呼び出し回数: 15回
Demo
LINQ!! LINQ!!
まとめ
● このアプリ作成使ったループ文は1個!
● LLじゃなくても1ライナー!(但し文字数多い)
● わーいLINQ、@tututen LINQ大好き!
おまけ
● 画像処理もLINQ
今回の裏機能
今回の裏機能
主な流れ
● フォームのサイズでキャプチャ
● キャプチャした画像をグレースケール→二値化
● 予め用意した数字の画像とマッチング
主な流れ
● フォームのサイズでキャプチャ
● キャプチャした画像をグレースケール→二値化
● 予め用意した数字の画像とマッチング



           ここでもLINQ使える!!
二値化
二値化
マッチング
マッチング
ありがとう

ございました
LINQ!! LINQ!!

More Related Content

What's hot

何故、素数は1ではないのか?
何故、素数は1ではないのか?何故、素数は1ではないのか?
何故、素数は1ではないのか?
Arisa Niitsuma
 
C言語講習会4
C言語講習会4C言語講習会4
C言語講習会4
odenhadengaku
 
C言語講習会2
C言語講習会2C言語講習会2
C言語講習会2
odenhadengaku
 
C言語ポインタ講座 (Lecture of Pointer in C)
C言語ポインタ講座 (Lecture of Pointer in C)C言語ポインタ講座 (Lecture of Pointer in C)
C言語ポインタ講座 (Lecture of Pointer in C)
kakira9618
 
わんくま名古屋#31(20140524) TDD道場 #19
わんくま名古屋#31(20140524) TDD道場 #19わんくま名古屋#31(20140524) TDD道場 #19
わんくま名古屋#31(20140524) TDD道場 #19
Yasuhiko Yamamoto
 
第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案
yushin_hirano
 

What's hot (6)

何故、素数は1ではないのか?
何故、素数は1ではないのか?何故、素数は1ではないのか?
何故、素数は1ではないのか?
 
C言語講習会4
C言語講習会4C言語講習会4
C言語講習会4
 
C言語講習会2
C言語講習会2C言語講習会2
C言語講習会2
 
C言語ポインタ講座 (Lecture of Pointer in C)
C言語ポインタ講座 (Lecture of Pointer in C)C言語ポインタ講座 (Lecture of Pointer in C)
C言語ポインタ講座 (Lecture of Pointer in C)
 
わんくま名古屋#31(20140524) TDD道場 #19
わんくま名古屋#31(20140524) TDD道場 #19わんくま名古屋#31(20140524) TDD道場 #19
わんくま名古屋#31(20140524) TDD道場 #19
 
第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案
 

Viewers also liked

Linqで画像処理
Linqで画像処理Linqで画像処理
Linqで画像処理
Fumihito Yokoyama
 
Ldd kitami(宣伝用 clrh70)
Ldd kitami(宣伝用 clrh70)Ldd kitami(宣伝用 clrh70)
Ldd kitami(宣伝用 clrh70)
Fumihito Yokoyama
 
C#を始めたばかりの人へのLINQ to Objects
C#を始めたばかりの人へのLINQ to ObjectsC#を始めたばかりの人へのLINQ to Objects
C#を始めたばかりの人へのLINQ to Objects
Fumitaka Yamada
 
100枚の中から2枚を選ぶlightroom術
100枚の中から2枚を選ぶlightroom術100枚の中から2枚を選ぶlightroom術
100枚の中から2枚を選ぶlightroom術Tatsuya Iwama
 
Rx入門
Rx入門Rx入門
Rx入門
Takaaki Suzuki
 
Beachhead implements new opcode on CLR JIT
Beachhead implements new opcode on CLR JITBeachhead implements new opcode on CLR JIT
Beachhead implements new opcode on CLR JIT
Kouji Matsui
 
Reactive extensions入門v0.1
Reactive extensions入門v0.1Reactive extensions入門v0.1
Reactive extensions入門v0.1一希 大田
 
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
Yoshifumi Kawai
 
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Yoshifumi Kawai
 
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
Yoshifumi Kawai
 
RuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for UnityRuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for Unity
Yoshifumi Kawai
 
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#
Yoshifumi Kawai
 
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPCZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
Yoshifumi Kawai
 

Viewers also liked (13)

Linqで画像処理
Linqで画像処理Linqで画像処理
Linqで画像処理
 
Ldd kitami(宣伝用 clrh70)
Ldd kitami(宣伝用 clrh70)Ldd kitami(宣伝用 clrh70)
Ldd kitami(宣伝用 clrh70)
 
C#を始めたばかりの人へのLINQ to Objects
C#を始めたばかりの人へのLINQ to ObjectsC#を始めたばかりの人へのLINQ to Objects
C#を始めたばかりの人へのLINQ to Objects
 
100枚の中から2枚を選ぶlightroom術
100枚の中から2枚を選ぶlightroom術100枚の中から2枚を選ぶlightroom術
100枚の中から2枚を選ぶlightroom術
 
Rx入門
Rx入門Rx入門
Rx入門
 
Beachhead implements new opcode on CLR JIT
Beachhead implements new opcode on CLR JITBeachhead implements new opcode on CLR JIT
Beachhead implements new opcode on CLR JIT
 
Reactive extensions入門v0.1
Reactive extensions入門v0.1Reactive extensions入門v0.1
Reactive extensions入門v0.1
 
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
 
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
 
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
 
RuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for UnityRuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for Unity
 
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#
 
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPCZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
 

Similar to LINQ を使ったナンプレの解法を作ったお話

appengine ja night BT 近くを探す?
appengine ja night BT 近くを探す?appengine ja night BT 近くを探す?
appengine ja night BT 近くを探す?
Suguru ARAKAWA
 
Lisp Tutorial for Pythonista : Day 5
Lisp Tutorial for Pythonista : Day 5Lisp Tutorial for Pythonista : Day 5
Lisp Tutorial for Pythonista : Day 5
Ransui Iso
 
数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ
Shuyo Nakatani
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムTakuya Akiba
 
ウェーブレット木の世界
ウェーブレット木の世界ウェーブレット木の世界
ウェーブレット木の世界
Preferred Networks
 
アルゴリズムのお勉強 アルゴリズムとデータ構造 [素数・文字列探索・簡単なソート]
アルゴリズムのお勉強 アルゴリズムとデータ構造 [素数・文字列探索・簡単なソート]アルゴリズムのお勉強 アルゴリズムとデータ構造 [素数・文字列探索・簡単なソート]
アルゴリズムのお勉強 アルゴリズムとデータ構造 [素数・文字列探索・簡単なソート]
hixi365
 

Similar to LINQ を使ったナンプレの解法を作ったお話 (7)

appengine ja night BT 近くを探す?
appengine ja night BT 近くを探す?appengine ja night BT 近くを探す?
appengine ja night BT 近くを探す?
 
Lisp Tutorial for Pythonista : Day 5
Lisp Tutorial for Pythonista : Day 5Lisp Tutorial for Pythonista : Day 5
Lisp Tutorial for Pythonista : Day 5
 
数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
 
ウェーブレット木の世界
ウェーブレット木の世界ウェーブレット木の世界
ウェーブレット木の世界
 
アルゴリズムのお勉強 アルゴリズムとデータ構造 [素数・文字列探索・簡単なソート]
アルゴリズムのお勉強 アルゴリズムとデータ構造 [素数・文字列探索・簡単なソート]アルゴリズムのお勉強 アルゴリズムとデータ構造 [素数・文字列探索・簡単なソート]
アルゴリズムのお勉強 アルゴリズムとデータ構造 [素数・文字列探索・簡単なソート]
 
Matrix
MatrixMatrix
Matrix
 

More from Fumihito Yokoyama

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

More from Fumihito Yokoyama (20)

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

LINQ を使ったナンプレの解法を作ったお話