TDDBC お題

Takuto Wada
Takuto WadaChief Executive Programmer at Towersquest
TDDBC お題
Write a program that prints the numbers from 1 to 100. But for
multiples of three print “Fizz” instead of the number and for the
multiples of five print “Buzz”. For numbers which are multiples of
both three and five print “FizzBuzz”.


1       100
3                                            Fizz          5
 Buzz                          3     5                                    FizzBuzz




         http://tickletux.wordpress.com/2007/01/24/using-fizzbuzz-to-find-developers-who-grok-coding/
         http://www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm
http://www.cs.is.saga-u.ac.jp/~nakayama07/sotsuken.html
TDDBC お題
Map

      Last Recently Used (LRU) Cache



                   Map
#
lru.put(“a”, “dataA”);
lru.put(“b”, “dataB”);
lru.put(“c”, “dataC”);
lru.get(“a”); #=> null


# get
lru.put(“a”, “dataA”);
lru.put(“b”, “dataB”);
lru.get(“a”); #=> “dataA”
lru.put(“c”, “dataC”);
lru.get(“b”); #=> null
LRU Cache   ?



(   …)
LRU Cache   ?



(   …)
LRU Cache



(   …)
TDDBC お題
s = FileStore.new
s.set(“foo”, “hoge”)
s.get(“foo”)      #=> “hoge”
s.dump            #=> “foo:hoge¥n”

s.set(“bar”, “fuga”)
s.dump            #=> “foo:hoge¥nbar:fuga¥n”

s.get(“toto”)       #=> nil

s.set(nil, “momo”) # nil
s.set(“”, “gogo”)     #
s.dump              #=> “foo:hoge¥nbar:fuga¥n”

s.set(“foo”, “piyo”)
s.dump            #=> “bar:fuga¥nfoo:piyo¥n”
FileStore            ?



         (             …)




void : set_multi(Map)
Map : get_multi(Array)

s.set_multi({‘foo’ => ‘hoge’, ‘bar’ => ‘fuga’})
s.get_multi([‘foo’, ‘bar’, ‘baz’]) #=> {‘foo’ => ‘hoge’, ‘bar’ => ‘fuga’}
FileStore   ?



       (           …)




s.set(“foo”, “${now}”) #=> ${now}
s.get(“foo”) #=> “2010-07-10 14:19:12”
FileStore



        (               …)




set(key, val, second)            (           )
set(key, val, Time)          (           )
#            1
s.set_multi({‘foo’ => ‘hoge’, ‘bar’ => ‘fuga’})
s.get_multi([‘foo’, ‘bar’, ‘baz’]) #=> {‘foo’ => ‘hoge’, ‘bar’ => ‘fuga’}


#            2
s.set(“foo”, “${now}”) #=> ${now}
s.get(“foo”) #=> “2010-07-10 14:19:12” #=>                  dump      ?


#            3
set(key, val, second=nil)                 (           )
set(key, val, Time=nil)               (           )
FileStore



(   …)
TDDBC お題
TDDBC お題
TDDBC お題
#
“           :             ”

filter = WordFilter.new(‘Arsenal’)

# detect #=> true/false
filter.detect(“t_wada:         Arsenal vs Chelsea    !”) #=> true;
filter.detect(“t_wada: ManU vs Liverpool                       ”) #=> false;


# censor #=> String
filter.censor(“t_wada:         Arsenal vs Chelsea        !”)
    #=> “t_wada:        <censored> vs Chelsea      !”
WordFilter   ?



(        …)
    NG
WordFilter   ?


                                    …
     (        …)
 <censored>
…
WordFilter   ?


                                      …
    (       …)
        <censored>
…
WordFilter   ?



(   …)
    (          )
WordFilter



(   …)
#1           NG
filter = WordFilter.new(‘Arsenal’, ‘t_wada’)

#2                                    (                      OK)
filter.censor(“t_wada: Arsenal!!”) #=> “t_wada: <XXX>!!”;

#3
filter.censor(“t_wada: t_wada                       ”)
       #=> “t_wada: <censored>                          ”;

#4
         :             <       (OS     OK)>
         :             <       (OS     OK)>
1 of 26

Recommended

SPAのルーティングの話 by
SPAのルーティングの話SPAのルーティングの話
SPAのルーティングの話ushiboy
22.4K views35 slides
RDF Semantic Graph「RDF 超入門」 by
RDF Semantic Graph「RDF 超入門」RDF Semantic Graph「RDF 超入門」
RDF Semantic Graph「RDF 超入門」オラクルエンジニア通信
10K views100 slides
ぐるなびが活用するElastic Cloud by
ぐるなびが活用するElastic Cloudぐるなびが活用するElastic Cloud
ぐるなびが活用するElastic CloudElasticsearch
1.5K views68 slides
Apache Avro vs Protocol Buffers by
Apache Avro vs Protocol BuffersApache Avro vs Protocol Buffers
Apache Avro vs Protocol BuffersSeiya Mizuno
5.3K views33 slides
オブジェクト指向できていますか? by
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?Moriharu Ohzu
237.5K views129 slides
イミュータブルデータモデル(世代編) by
イミュータブルデータモデル(世代編)イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)Yoshitaka Kawashima
38.1K views16 slides

More Related Content

What's hot

Java ORマッパー選定のポイント #jsug by
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugMasatoshi Tada
90.1K views66 slides
マイクロサービスバックエンドAPIのためのRESTとgRPC by
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCdisc99_
19.9K views58 slides
Dockerからcontainerdへの移行 by
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Akihiro Suda
7.5K views36 slides
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) by
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) hamaken
100.1K views34 slides
MongoDBのアレをアレする by
MongoDBのアレをアレするMongoDBのアレをアレする
MongoDBのアレをアレするAkihiro Kuwano
14.5K views73 slides
最近のストリーム処理事情振り返り by
最近のストリーム処理事情振り返り最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返りSotaro Kimura
17.3K views72 slides

What's hot(20)

Java ORマッパー選定のポイント #jsug by Masatoshi Tada
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
Masatoshi Tada90.1K views
マイクロサービスバックエンドAPIのためのRESTとgRPC by disc99_
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
disc99_19.9K views
Dockerからcontainerdへの移行 by Akihiro Suda
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda7.5K views
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) by hamaken
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
hamaken100.1K views
MongoDBのアレをアレする by Akihiro Kuwano
MongoDBのアレをアレするMongoDBのアレをアレする
MongoDBのアレをアレする
Akihiro Kuwano14.5K views
最近のストリーム処理事情振り返り by Sotaro Kimura
最近のストリーム処理事情振り返り最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り
Sotaro Kimura17.3K views
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー by Toru Makabe
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe37K views
こわくない Git by Kota Saito
こわくない Gitこわくない Git
こわくない Git
Kota Saito881.4K views
Laravel の paginate は一体何をやっているのか by Shohei Okada
Laravel の paginate は一体何をやっているのかLaravel の paginate は一体何をやっているのか
Laravel の paginate は一体何をやっているのか
Shohei Okada15.2K views
世界一わかりやすいClean Architecture by Atsushi Nakamura
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura47.1K views
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ by Recruit Technologies
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
Recruit Technologies59.8K views
PlaySQLAlchemy: SQLAlchemy入門 by 泰 増田
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田21.4K views
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」 by Takuto Wada
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada148.6K views
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O... by NTT DATA Technology & Innovation
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
R MarkdownとBeamerでプレゼンテーション資料作成 by Hiroki Itô
R MarkdownとBeamerでプレゼンテーション資料作成R MarkdownとBeamerでプレゼンテーション資料作成
R MarkdownとBeamerでプレゼンテーション資料作成
Hiroki Itô6.6K views
後悔しないもんごもんごの使い方 〜アプリ編〜 by Masakazu Matsushita
後悔しないもんごもんごの使い方 〜アプリ編〜後悔しないもんごもんごの使い方 〜アプリ編〜
後悔しないもんごもんごの使い方 〜アプリ編〜
Masakazu Matsushita10.5K views
ビッグデータ処理データベースの全体像と使い分け
2018年version by Tetsutaro Watanabe
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年version
Tetsutaro Watanabe21.2K views
マイクロにしすぎた結果がこれだよ! by mosa siru
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru132.6K views
SPAセキュリティ入門~PHP Conference Japan 2021 by Hiroshi Tokumaru
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru99.5K views

Similar to TDDBC お題

Τα Πολύ Βασικά για την Python by
Τα Πολύ Βασικά για την PythonΤα Πολύ Βασικά για την Python
Τα Πολύ Βασικά για την PythonMoses Boudourides
1.1K views21 slides
A Taste of Python - Devdays Toronto 2009 by
A Taste of Python - Devdays Toronto 2009A Taste of Python - Devdays Toronto 2009
A Taste of Python - Devdays Toronto 2009Jordan Baker
1.3K views39 slides
Perl 6 in Context by
Perl 6 in ContextPerl 6 in Context
Perl 6 in Contextlichtkind
1.2K views288 slides
Programming Lisp Clojure - 2장 : 클로저 둘러보기 by
Programming Lisp Clojure - 2장 : 클로저 둘러보기Programming Lisp Clojure - 2장 : 클로저 둘러보기
Programming Lisp Clojure - 2장 : 클로저 둘러보기JangHyuk You
752 views26 slides
Basics by
BasicsBasics
BasicsLogan Campbell
434 views83 slides
Hidden treasures of Ruby by
Hidden treasures of RubyHidden treasures of Ruby
Hidden treasures of RubyTom Crinson
578 views28 slides

Similar to TDDBC お題(20)

Τα Πολύ Βασικά για την Python by Moses Boudourides
Τα Πολύ Βασικά για την PythonΤα Πολύ Βασικά για την Python
Τα Πολύ Βασικά για την Python
Moses Boudourides1.1K views
A Taste of Python - Devdays Toronto 2009 by Jordan Baker
A Taste of Python - Devdays Toronto 2009A Taste of Python - Devdays Toronto 2009
A Taste of Python - Devdays Toronto 2009
Jordan Baker1.3K views
Perl 6 in Context by lichtkind
Perl 6 in ContextPerl 6 in Context
Perl 6 in Context
lichtkind1.2K views
Programming Lisp Clojure - 2장 : 클로저 둘러보기 by JangHyuk You
Programming Lisp Clojure - 2장 : 클로저 둘러보기Programming Lisp Clojure - 2장 : 클로저 둘러보기
Programming Lisp Clojure - 2장 : 클로저 둘러보기
JangHyuk You752 views
Hidden treasures of Ruby by Tom Crinson
Hidden treasures of RubyHidden treasures of Ruby
Hidden treasures of Ruby
Tom Crinson578 views
第二讲 预备-Python基礎 by anzhong70
第二讲 预备-Python基礎第二讲 预备-Python基礎
第二讲 预备-Python基礎
anzhong70113 views
第二讲 Python基礎 by juzihua1102
第二讲 Python基礎第二讲 Python基礎
第二讲 Python基礎
juzihua1102213 views
Invertible-syntax 入門 by Hiromi Ishii
Invertible-syntax 入門Invertible-syntax 入門
Invertible-syntax 入門
Hiromi Ishii2.3K views
Five Things you Need to Know About Scaling by MongoDB
Five Things you Need to Know About ScalingFive Things you Need to Know About Scaling
Five Things you Need to Know About Scaling
MongoDB1.1K views
Refactor like a boss by gsterndale
Refactor like a bossRefactor like a boss
Refactor like a boss
gsterndale592 views
Class 6: Lists & dictionaries by Marc Gouw
Class 6: Lists & dictionariesClass 6: Lists & dictionaries
Class 6: Lists & dictionaries
Marc Gouw587 views
Basic NLP with Python and NLTK by Francesco Bruni
Basic NLP with Python and NLTKBasic NLP with Python and NLTK
Basic NLP with Python and NLTK
Francesco Bruni2.8K views
[SI] Ada Lovelace Day 2014 - Tampon Run by Maja Kraljič
[SI] Ada Lovelace Day 2014  - Tampon Run[SI] Ada Lovelace Day 2014  - Tampon Run
[SI] Ada Lovelace Day 2014 - Tampon Run
Maja Kraljič841 views
Pre-Bootcamp introduction to Elixir by Paweł Dawczak
Pre-Bootcamp introduction to ElixirPre-Bootcamp introduction to Elixir
Pre-Bootcamp introduction to Elixir
Paweł Dawczak128 views
Refactoring to Macros with Clojure by Dmitry Buzdin
Refactoring to Macros with ClojureRefactoring to Macros with Clojure
Refactoring to Macros with Clojure
Dmitry Buzdin3.5K views
Самые вкусные баги из игрового кода: как ошибаются наши коллеги-программисты ... by DevGAMM Conference
Самые вкусные баги из игрового кода: как ошибаются наши коллеги-программисты ...Самые вкусные баги из игрового кода: как ошибаются наши коллеги-программисты ...
Самые вкусные баги из игрового кода: как ошибаются наши коллеги-программисты ...

More from Takuto Wada

組織にテストを書く文化を根付かせる戦略と戦術 by
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術Takuto Wada
76.4K views33 slides
OSS活動の活発さと評価の関係について by
OSS活動の活発さと評価の関係についてOSS活動の活発さと評価の関係について
OSS活動の活発さと評価の関係についてTakuto Wada
14.7K views64 slides
unassert - encourage reliable programming by writing assertions in production by
unassert - encourage reliable programming by writing assertions in productionunassert - encourage reliable programming by writing assertions in production
unassert - encourage reliable programming by writing assertions in productionTakuto Wada
18.1K views36 slides
OSS についてあれこれ by
OSS についてあれこれOSS についてあれこれ
OSS についてあれこれTakuto Wada
41.8K views65 slides
power-assert, mechanism and philosophy by
power-assert, mechanism and philosophypower-assert, mechanism and philosophy
power-assert, mechanism and philosophyTakuto Wada
48.4K views29 slides
アジャイルサムライの次に読む技術書 by
アジャイルサムライの次に読む技術書アジャイルサムライの次に読む技術書
アジャイルサムライの次に読む技術書Takuto Wada
25.6K views30 slides

More from Takuto Wada(20)

組織にテストを書く文化を根付かせる戦略と戦術 by Takuto Wada
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada76.4K views
OSS活動の活発さと評価の関係について by Takuto Wada
OSS活動の活発さと評価の関係についてOSS活動の活発さと評価の関係について
OSS活動の活発さと評価の関係について
Takuto Wada14.7K views
unassert - encourage reliable programming by writing assertions in production by Takuto Wada
unassert - encourage reliable programming by writing assertions in productionunassert - encourage reliable programming by writing assertions in production
unassert - encourage reliable programming by writing assertions in production
Takuto Wada18.1K views
OSS についてあれこれ by Takuto Wada
OSS についてあれこれOSS についてあれこれ
OSS についてあれこれ
Takuto Wada41.8K views
power-assert, mechanism and philosophy by Takuto Wada
power-assert, mechanism and philosophypower-assert, mechanism and philosophy
power-assert, mechanism and philosophy
Takuto Wada48.4K views
アジャイルサムライの次に読む技術書 by Takuto Wada
アジャイルサムライの次に読む技術書アジャイルサムライの次に読む技術書
アジャイルサムライの次に読む技術書
Takuto Wada25.6K views
Test Yourself - テストを書くと何がどう変わるか by Takuto Wada
Test Yourself - テストを書くと何がどう変わるかTest Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada38.3K views
テスト用ライブラリ power-assert by Takuto Wada
テスト用ライブラリ power-assertテスト用ライブラリ power-assert
テスト用ライブラリ power-assert
Takuto Wada12.7K views
Reviewing RESTful Web Apps by Takuto Wada
Reviewing RESTful Web AppsReviewing RESTful Web Apps
Reviewing RESTful Web Apps
Takuto Wada9K views
power-assert in JavaScript by Takuto Wada
power-assert in JavaScriptpower-assert in JavaScript
power-assert in JavaScript
Takuto Wada9K views
TDD のこころ @ OSH2014 by Takuto Wada
TDD のこころ @ OSH2014TDD のこころ @ OSH2014
TDD のこころ @ OSH2014
Takuto Wada15.8K views
テストを書く文化を育てる戦略と戦術 by Takuto Wada
テストを書く文化を育てる戦略と戦術テストを書く文化を育てる戦略と戦術
テストを書く文化を育てる戦略と戦術
Takuto Wada49.4K views
私にとってのテスト by Takuto Wada
私にとってのテスト私にとってのテスト
私にとってのテスト
Takuto Wada16.8K views
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版) by Takuto Wada
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada70.6K views
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 by Takuto Wada
SQLアンチパターン - 開発者を待ち受ける25の落とし穴SQLアンチパターン - 開発者を待ち受ける25の落とし穴
SQLアンチパターン - 開発者を待ち受ける25の落とし穴
Takuto Wada17.2K views
愛せないコードを書くには人生はあまりにも短い by Takuto Wada
愛せないコードを書くには人生はあまりにも短い愛せないコードを書くには人生はあまりにも短い
愛せないコードを書くには人生はあまりにも短い
Takuto Wada26.6K views
ペアプログラミング ホントのところ by Takuto Wada
ペアプログラミング ホントのところペアプログラミング ホントのところ
ペアプログラミング ホントのところ
Takuto Wada38.4K views
RESTful Web アプリの設計レビューの話 by Takuto Wada
RESTful Web アプリの設計レビューの話RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話
Takuto Wada72.2K views
例外設計における大罪 by Takuto Wada
例外設計における大罪例外設計における大罪
例外設計における大罪
Takuto Wada68.5K views
DevLOVE DDDBC by Takuto Wada
DevLOVE DDDBCDevLOVE DDDBC
DevLOVE DDDBC
Takuto Wada3.1K views

Recently uploaded

Special_edition_innovator_2023.pdf by
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdfWillDavies22
18 views6 slides
MVP and prioritization.pdf by
MVP and prioritization.pdfMVP and prioritization.pdf
MVP and prioritization.pdfrahuldharwal141
31 views8 slides
Piloting & Scaling Successfully With Microsoft Viva by
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft VivaRichard Harbridge
12 views160 slides
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Safe Software
280 views86 slides
Info Session November 2023.pdf by
Info Session November 2023.pdfInfo Session November 2023.pdf
Info Session November 2023.pdfAleksandraKoprivica4
13 views15 slides
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc
11 views29 slides

Recently uploaded(20)

Special_edition_innovator_2023.pdf by WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2218 views
Piloting & Scaling Successfully With Microsoft Viva by Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software280 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc11 views
6g - REPORT.pdf by Liveplex
6g - REPORT.pdf6g - REPORT.pdf
6g - REPORT.pdf
Liveplex10 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Five Things You SHOULD Know About Postman by Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman36 views
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab21 views
SAP Automation Using Bar Code and FIORI.pdf by Virendra Rai, PMP
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdf
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely25 views
PharoJS - Zürich Smalltalk Group Meetup November 2023 by Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi132 views
HTTP headers that make your website go faster - devs.gent November 2023 by Thijs Feryn
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023
Thijs Feryn22 views
Voice Logger - Telephony Integration Solution at Aegis by Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma39 views

TDDBC お題

  • 2. Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”. 1 100 3 Fizz 5 Buzz 3 5 FizzBuzz http://tickletux.wordpress.com/2007/01/24/using-fizzbuzz-to-find-developers-who-grok-coding/ http://www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm
  • 5. Map Last Recently Used (LRU) Cache Map
  • 6. # lru.put(“a”, “dataA”); lru.put(“b”, “dataB”); lru.put(“c”, “dataC”); lru.get(“a”); #=> null # get lru.put(“a”, “dataA”); lru.put(“b”, “dataB”); lru.get(“a”); #=> “dataA” lru.put(“c”, “dataC”); lru.get(“b”); #=> null
  • 7. LRU Cache ? ( …)
  • 8. LRU Cache ? ( …)
  • 9. LRU Cache ( …)
  • 11. s = FileStore.new s.set(“foo”, “hoge”) s.get(“foo”) #=> “hoge” s.dump #=> “foo:hoge¥n” s.set(“bar”, “fuga”) s.dump #=> “foo:hoge¥nbar:fuga¥n” s.get(“toto”) #=> nil s.set(nil, “momo”) # nil s.set(“”, “gogo”) # s.dump #=> “foo:hoge¥nbar:fuga¥n” s.set(“foo”, “piyo”) s.dump #=> “bar:fuga¥nfoo:piyo¥n”
  • 12. FileStore ? ( …) void : set_multi(Map) Map : get_multi(Array) s.set_multi({‘foo’ => ‘hoge’, ‘bar’ => ‘fuga’}) s.get_multi([‘foo’, ‘bar’, ‘baz’]) #=> {‘foo’ => ‘hoge’, ‘bar’ => ‘fuga’}
  • 13. FileStore ? ( …) s.set(“foo”, “${now}”) #=> ${now} s.get(“foo”) #=> “2010-07-10 14:19:12”
  • 14. FileStore ( …) set(key, val, second) ( ) set(key, val, Time) ( )
  • 15. # 1 s.set_multi({‘foo’ => ‘hoge’, ‘bar’ => ‘fuga’}) s.get_multi([‘foo’, ‘bar’, ‘baz’]) #=> {‘foo’ => ‘hoge’, ‘bar’ => ‘fuga’} # 2 s.set(“foo”, “${now}”) #=> ${now} s.get(“foo”) #=> “2010-07-10 14:19:12” #=> dump ? # 3 set(key, val, second=nil) ( ) set(key, val, Time=nil) ( )
  • 16. FileStore ( …)
  • 20. # “ : ” filter = WordFilter.new(‘Arsenal’) # detect #=> true/false filter.detect(“t_wada: Arsenal vs Chelsea !”) #=> true; filter.detect(“t_wada: ManU vs Liverpool ”) #=> false; # censor #=> String filter.censor(“t_wada: Arsenal vs Chelsea !”) #=> “t_wada: <censored> vs Chelsea !”
  • 21. WordFilter ? ( …) NG
  • 22. WordFilter ? … ( …) <censored> …
  • 23. WordFilter ? … ( …) <censored> …
  • 24. WordFilter ? ( …) ( )
  • 25. WordFilter ( …)
  • 26. #1 NG filter = WordFilter.new(‘Arsenal’, ‘t_wada’) #2 ( OK) filter.censor(“t_wada: Arsenal!!”) #=> “t_wada: <XXX>!!”; #3 filter.censor(“t_wada: t_wada ”) #=> “t_wada: <censored> ”; #4 : < (OS OK)> : < (OS OK)>