SlideShare a Scribd company logo
1 of 31
Download to read offline
家族のために
エンジニアとして
やってみたこと
What I did for my Family
as an Engineer
                           Kazuya NUMATA / 沼田 一哉 @kaznum
                                                 #ldd13is
                                        http://www.flickr.com/photos/aigle_dore/6826909042/
Saturday, January 26, 13
こんにちは
                •          ぬまた かずや( @kaznum )
                           My name is Kazuya Numata.


                • 株式会社エストコスモ                                           で

                           プログラマしています。
                           I work for ESTCOSMO Co., Ltd as a programmer.


                •妻             と  息子(1歳5ヶ月)の3人暮らし
                           I have a wife and a baby (17 months old).


Saturday, January 26, 13
家計簿 さな太郎
                      Web Household Account Book - SANATARO -

Saturday, January 26, 13
Kakeibo SANATARO


        • source code:
                github.com/kaznum/sanataro



        • demo:
                http://sanataro.herokuapp.com



Saturday, January 26, 13
作ったきっかけ- motives

             • 結婚当初、米国CA在住の
                     インフラエンジニア 兼 プログラマ

             • 家計管理が必須(海外で餓死とか)
             • 約1年間、妻と「小槌」を使用
             • 当時、ちょっと問題が・・・
    We lived in Southern California, U.S. when getting married, where I
        had worked as an infrastructure engineer and programmer.
    At that time, I had kept the household account book with KOZUCHI,
                but there were several problems around it....
Saturday, January 26, 13
Dec 2007



    「              俺が作ってやる!」(キリッ

                           “Don’t worry! I will make it for you!” ;-)


Saturday, January 26, 13
Then...


                       •終業後に家で少しずつ作業し、
                           1ヶ月
                           で最低限の機能を作成


             I implemented them, and deployed them directly each time.


Saturday, January 26, 13
Jan 2008


       妻「すごいね!超ステキ!

        あなた、こんなの作れるのね                        ♥♥ ♥♥」



  Wife: “Cool! It’s exciting that you can make such a thing!”


Saturday, January 26, 13
Jan 2008



                           僕(ドヤッ
                               Me: (a smug face)


Saturday, January 26, 13
妻に褒められた♥瞬間


                           I won praise from her.

Saturday, January 26, 13
自分の職業スキルで家庭内の問題を一つ

                                    解決した
                                                     瞬間


        It was the moment when my practical skill resolved a
                      problem of our family.

Saturday, January 26, 13
家族に自分の仕事を

                           知ってもらえた
                                            瞬間
                            ※ 妻の職業は別業種
   It was the moment when she knew about my occupation.
              (*She works for the different field.)
Saturday, January 26, 13
What happened

                 • 妻(ユーザー)がそばにいるので、
                           フィードバックが速い。
                           (Quick feedback)

                 • 自分と妻が欲しい機能を優先して実装。
                           (What we wanted got Higher priority)


                 •先順位を変える。
                  ニーズの変化に応じてスケジュールや優
                           (Flexible priority and schedule)



Saturday, January 26, 13
This is



                           Agile       や!!



Saturday, January 26, 13
Continuously,


              今でも、機能追加・変更を
              続けています。

                           Sanataro has been improved,
                            and hope so in the future.

Saturday, January 26, 13
これ、          重要
                           This is SO IMPORTANT!

Saturday, January 26, 13
流行りものを使うと


                 •Ruby on Railsは
                           頻繁にバージョンアップ
                           する。


                       Ruby on Rails has been updated frequently.

Saturday, January 26, 13
常に手を入れ続ける

             • しばらく放置しておくとRailsの新機能や変更に
               追従できなくなる
             • Railsのセキュリティホールが報告
                     されちゃったり
                     (find_by_* のSQL Injectionとか)



       We cannot keep track of the changes without continuous touch...
               Sometimes, the vulnerabilities are reported...

Saturday, January 26, 13
バージョンアップ時の



           検証                                        は・・・?

                 How can we check the correctness for every migrations?


Saturday, January 26, 13
Continuous Integration

Saturday, January 26, 13
さな太郎でのCI

            • Automatic Test:
                    RSpec
                    Cucumber
                    Capybara
            • CI environment:
                    Travis-CI
Saturday, January 26, 13
さな太郎でのCI

            • とにかく最初はTDD&テスト無双
                 •でカバレッジチェックなど。
                  simplecov、rcov

            • Railsの新しいバージョン適用後に、手元で
              rspec、cucumberを実行
            • githubにpushすると同時に、Travis-CIで、
              同じテストを複数の環境で実行


                           Travis-CI supports lots of kinds of environment.
Saturday, January 26, 13
さな太郎でのCI

                            同じテストを


                            複数の環境
                            で実行


                           Travis-CI supports multiple environments.


Saturday, January 26, 13
さな太郎でのCI
                            Ruby              DB

            •Ruby 1.9.2   •SQLite3
            •Ruby 1.9.3 × •PostgreSQL
            •JRuby 1.7    •MySQL
                           「JRuby & SQL Server 2008」
                           でもRSpecがPASS


                           手動テストで確認するのは、     無理
Saturday, January 26, 13
さな太郎が動作する環境
              •Linuxサーバ(EC2、VPS)
              •Mac OS X
              •*BSD
              •heroku
              •Windows
              自宅でも、クラウドでも、

              導入環境を選ばない
              → 多くの人に使ってもらえる!
Saturday, January 26, 13
さな太郎が動作する環境
              新しい環境で動作させたい場合は、
              まず、その環境で


              RSpecとCucumberを実行

              すれば、簡単に動作検証ができる。

              At first, execute rspec and cucumber to check whether new
                           environment is supported or not.
Saturday, January 26, 13
Gain (Conclusion)




                           つまり
                                 That is,

Saturday, January 26, 13
Gain (Conclusion)

          おまえらが使える家計簿ソフト
              作ったから、

                             使えや
                     You can use SANATARO anytime, anywhere!

Saturday, January 26, 13
Anyway,

                      家族で使えるソフトウェアを
                      作るのを、オススメします!!!
                                  いいこといっぱいあるよ!

            Anyway, I surely recommend that you create apps
              for your family. There are lots of good effects.

Saturday, January 26, 13
One more,
                • 家計簿さな太郎
                 • github kaznum/sanataro
                 • 是非、使ってみてください!
                      •    Issue、Pull Request
                           お待ちしております!
                            Try Sanataro.
         I’m always waiting for post issues and pull-requests!

Saturday, January 26, 13
Thank you :)




Saturday, January 26, 13

More Related Content

Viewers also liked

つくっておぼえる!仮想マシン〜直前で実装編〜
つくっておぼえる!仮想マシン〜直前で実装編〜つくっておぼえる!仮想マシン〜直前で実装編〜
つくっておぼえる!仮想マシン〜直前で実装編〜Eric Sartre
 
ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争Eric Sartre
 
ネトゲで人生を変えたい
ネトゲで人生を変えたいネトゲで人生を変えたい
ネトゲで人生を変えたいEric Sartre
 
x86-64/Linuxに独自メモリ空間を勝手増設
x86-64/Linuxに独自メモリ空間を勝手増設x86-64/Linuxに独自メモリ空間を勝手増設
x86-64/Linuxに独自メモリ空間を勝手増設Minoru Nakamura
 
Kernel vm#9 powerkvm-dist-20131208
Kernel vm#9 powerkvm-dist-20131208Kernel vm#9 powerkvm-dist-20131208
Kernel vm#9 powerkvm-dist-20131208Manabu Ori
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みMasahiro Sakai
 
「わからない」との付き合い方
「わからない」との付き合い方「わからない」との付き合い方
「わからない」との付き合い方Eric Sartre
 
やさしい日本語言い換えシステムを支える技術
やさしい日本語言い換えシステムを支える技術やさしい日本語言い換えシステムを支える技術
やさしい日本語言い換えシステムを支える技術Eric Sartre
 

Viewers also liked (8)

つくっておぼえる!仮想マシン〜直前で実装編〜
つくっておぼえる!仮想マシン〜直前で実装編〜つくっておぼえる!仮想マシン〜直前で実装編〜
つくっておぼえる!仮想マシン〜直前で実装編〜
 
ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争
 
ネトゲで人生を変えたい
ネトゲで人生を変えたいネトゲで人生を変えたい
ネトゲで人生を変えたい
 
x86-64/Linuxに独自メモリ空間を勝手増設
x86-64/Linuxに独自メモリ空間を勝手増設x86-64/Linuxに独自メモリ空間を勝手増設
x86-64/Linuxに独自メモリ空間を勝手増設
 
Kernel vm#9 powerkvm-dist-20131208
Kernel vm#9 powerkvm-dist-20131208Kernel vm#9 powerkvm-dist-20131208
Kernel vm#9 powerkvm-dist-20131208
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
 
「わからない」との付き合い方
「わからない」との付き合い方「わからない」との付き合い方
「わからない」との付き合い方
 
やさしい日本語言い換えシステムを支える技術
やさしい日本語言い換えシステムを支える技術やさしい日本語言い換えシステムを支える技術
やさしい日本語言い換えシステムを支える技術
 

Recently uploaded

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 

Recently uploaded (9)

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 

家族のためにエンジニアとしてやってみたこと(What I did for my family as an engineer)

  • 1. 家族のために エンジニアとして やってみたこと What I did for my Family as an Engineer Kazuya NUMATA / 沼田 一哉 @kaznum #ldd13is http://www.flickr.com/photos/aigle_dore/6826909042/ Saturday, January 26, 13
  • 2. こんにちは • ぬまた かずや( @kaznum ) My name is Kazuya Numata. • 株式会社エストコスモ で プログラマしています。 I work for ESTCOSMO Co., Ltd as a programmer. •妻 と 息子(1歳5ヶ月)の3人暮らし I have a wife and a baby (17 months old). Saturday, January 26, 13
  • 3. 家計簿 さな太郎 Web Household Account Book - SANATARO - Saturday, January 26, 13
  • 4. Kakeibo SANATARO • source code: github.com/kaznum/sanataro • demo: http://sanataro.herokuapp.com Saturday, January 26, 13
  • 5. 作ったきっかけ- motives • 結婚当初、米国CA在住の インフラエンジニア 兼 プログラマ • 家計管理が必須(海外で餓死とか) • 約1年間、妻と「小槌」を使用 • 当時、ちょっと問題が・・・ We lived in Southern California, U.S. when getting married, where I had worked as an infrastructure engineer and programmer. At that time, I had kept the household account book with KOZUCHI, but there were several problems around it.... Saturday, January 26, 13
  • 6. Dec 2007 「 俺が作ってやる!」(キリッ “Don’t worry! I will make it for you!” ;-) Saturday, January 26, 13
  • 7. Then... •終業後に家で少しずつ作業し、 1ヶ月 で最低限の機能を作成 I implemented them, and deployed them directly each time. Saturday, January 26, 13
  • 8. Jan 2008 妻「すごいね!超ステキ!  あなた、こんなの作れるのね ♥♥ ♥♥」 Wife: “Cool! It’s exciting that you can make such a thing!” Saturday, January 26, 13
  • 9. Jan 2008 僕(ドヤッ Me: (a smug face) Saturday, January 26, 13
  • 10. 妻に褒められた♥瞬間 I won praise from her. Saturday, January 26, 13
  • 11. 自分の職業スキルで家庭内の問題を一つ 解決した 瞬間 It was the moment when my practical skill resolved a problem of our family. Saturday, January 26, 13
  • 12. 家族に自分の仕事を 知ってもらえた 瞬間 ※ 妻の職業は別業種 It was the moment when she knew about my occupation. (*She works for the different field.) Saturday, January 26, 13
  • 13. What happened • 妻(ユーザー)がそばにいるので、 フィードバックが速い。 (Quick feedback) • 自分と妻が欲しい機能を優先して実装。 (What we wanted got Higher priority) •先順位を変える。 ニーズの変化に応じてスケジュールや優 (Flexible priority and schedule) Saturday, January 26, 13
  • 14. This is Agile や!! Saturday, January 26, 13
  • 15. Continuously, 今でも、機能追加・変更を 続けています。 Sanataro has been improved, and hope so in the future. Saturday, January 26, 13
  • 16. これ、 重要 This is SO IMPORTANT! Saturday, January 26, 13
  • 17. 流行りものを使うと •Ruby on Railsは 頻繁にバージョンアップ する。 Ruby on Rails has been updated frequently. Saturday, January 26, 13
  • 18. 常に手を入れ続ける • しばらく放置しておくとRailsの新機能や変更に 追従できなくなる • Railsのセキュリティホールが報告 されちゃったり (find_by_* のSQL Injectionとか) We cannot keep track of the changes without continuous touch... Sometimes, the vulnerabilities are reported... Saturday, January 26, 13
  • 19. バージョンアップ時の 検証 は・・・? How can we check the correctness for every migrations? Saturday, January 26, 13
  • 21. さな太郎でのCI • Automatic Test: RSpec Cucumber Capybara • CI environment: Travis-CI Saturday, January 26, 13
  • 22. さな太郎でのCI • とにかく最初はTDD&テスト無双 •でカバレッジチェックなど。 simplecov、rcov • Railsの新しいバージョン適用後に、手元で rspec、cucumberを実行 • githubにpushすると同時に、Travis-CIで、 同じテストを複数の環境で実行 Travis-CI supports lots of kinds of environment. Saturday, January 26, 13
  • 23. さな太郎でのCI 同じテストを 複数の環境 で実行 Travis-CI supports multiple environments. Saturday, January 26, 13
  • 24. さな太郎でのCI Ruby DB •Ruby 1.9.2 •SQLite3 •Ruby 1.9.3 × •PostgreSQL •JRuby 1.7 •MySQL 「JRuby & SQL Server 2008」 でもRSpecがPASS 手動テストで確認するのは、 無理 Saturday, January 26, 13
  • 25. さな太郎が動作する環境 •Linuxサーバ(EC2、VPS) •Mac OS X •*BSD •heroku •Windows 自宅でも、クラウドでも、 導入環境を選ばない → 多くの人に使ってもらえる! Saturday, January 26, 13
  • 26. さな太郎が動作する環境 新しい環境で動作させたい場合は、 まず、その環境で RSpecとCucumberを実行 すれば、簡単に動作検証ができる。 At first, execute rspec and cucumber to check whether new environment is supported or not. Saturday, January 26, 13
  • 27. Gain (Conclusion) つまり That is, Saturday, January 26, 13
  • 28. Gain (Conclusion) おまえらが使える家計簿ソフト 作ったから、 使えや You can use SANATARO anytime, anywhere! Saturday, January 26, 13
  • 29. Anyway, 家族で使えるソフトウェアを 作るのを、オススメします!!! いいこといっぱいあるよ! Anyway, I surely recommend that you create apps for your family. There are lots of good effects. Saturday, January 26, 13
  • 30. One more, • 家計簿さな太郎 • github kaznum/sanataro • 是非、使ってみてください! • Issue、Pull Request お待ちしております! Try Sanataro. I’m always waiting for post issues and pull-requests! Saturday, January 26, 13
  • 31. Thank you :) Saturday, January 26, 13