SlideShare ist ein Scribd-Unternehmen logo
1 von 36
漏れのある抽象化の
  法則について
自己紹介
●
    名前
      – 橘田 隼一
●   TwitterID
     – hayabusa333
●
    興味があること
     – カーネルとか言語開発とか
●
    現在のお仕事
     – テストプログラマー
●
    信仰
     – Joel教
漏れのある抽象化の法則
漏れのある抽象化の法則
     ● Joel Spolsky提唱
     ● Fog Creek Software 創

       業者
     ●
       人気ブログ
       Joel on Software
抽象化
一度に注目すべき
概念を減らすこと
およびその仕組み
例
TCP/IP
IP
●
  信頼性のない通信方式
TCP
●
  信頼性のある通信方式
TCPはIPの上に
実装されている
信頼性のない通信方式で
信頼性のある通信を行う
TCPはIPを使って通信を
行っているが詳しいことを
 知らなくても通信できる
TCPはIPを使って通信を
行っているが詳しいことを
 知らなくても通信できる
TCPはIPを抽象化している
しかし
LANケーブルが切れてい
れば繋がらない
回線が重ければ、TCPは
信頼性を確保できない
抽象化には漏れがある
これが
漏れのある抽象化の法則
漏れのある抽象化の法則
自明でない抽象化はすべて、
程度の差こそあれ、漏れがある
抽象化は失敗する。
あるときは小さく、あるときは
 大きく、漏れがあるのだ。
  物事は悪くなるものだ。
この漏れは、抽象化が行われて
いるあらゆる場所で起こる。
Joel の出した例
大きな二次元配列の要素を順番に
たどるという単純な事でも、水平方向
か垂直方向かで、「芝目」に依存して
パフォーマンス特性が劇的に異なるこ
       とがある
C言語で記載
for(i = 0; i < 30000; i++){
    for(j = 0; j < 30000; j++){
        array[i][j] = 0;
    }
}


for(i = 0; i < 30000; i++){
    for(j = 0; j < 30000; j++){
        array[j][i] = 1;
    }
}
デモ
この性能差はプログラム言語に
    よって出たものではなく
OSやCPUによって現れたものである
C言語は簡単である。
ただしOSの特殊な振る舞い
   に目をつむれば
OSは簡単である。
 OS
 ただしCPUの特殊な
振る舞いに目をつむれば
あなたが日常使うことの90%は
 1週間で学習できるが、残りの
10%を知るためには2、3年かか
     るかもしれない
先ほどの例の理由を
知るためには、C言語だけではなく
 OSの特性、メモリ管理、仮想
化、CPUの挙動についても知らない
       といけない
漏れのある抽象化の法則に
うまく対処する唯一の方法は、
その抽象化がどのように機能
し、それが何を抽象化している
   のかを学ぶことだ。
そういうわけで、抽象化は
私たちが作業する時間を節約し
てくれるが、私たちが学ぶ時間
までは節約してくれないのだ。
ネットワーク・サーバは
プログラム言語で実装されている
プログラムは
OSやCPUの上で動いている
抽象化されている先を
   知らなければ
 問題は解決できない
問題を解決できる
エンジニアになるためには
全てを勉強する必要がある
我々が目指すエンジニア像は
  漏れのある抽象化の法則の
漏れを解決できるエンジニアで
     あるべきである
ぜひ、漏れのある抽象化に
   だまされないで
 漏れを解決できる人に
    なってほしい
参考書籍
ご清聴ありがとう
 ございました

Weitere ähnliche Inhalte

Was ist angesagt?

Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門tsukasamannen
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMPYusuke Kagata
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門大樹 小倉
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例Naoya Kishimoto
 
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Taku Miyakawa
 
はじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよ
はじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよはじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよ
はじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよShohei Okada
 
Kongの概要と導入事例
Kongの概要と導入事例Kongの概要と導入事例
Kongの概要と導入事例briscola-tokyo
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門Hiroyuki Wada
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれKumazaki Hiroki
 
負荷対策しておもったことまとめ~JMeterでSocket.IOもいけるでよ~
負荷対策しておもったことまとめ~JMeterでSocket.IOもいけるでよ~負荷対策しておもったことまとめ~JMeterでSocket.IOもいけるでよ~
負荷対策しておもったことまとめ~JMeterでSocket.IOもいけるでよ~johgus johgus
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAkihiro Kuwano
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugItsuki Kuroda
 
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善Ito Takayuki
 
今話題のいろいろなコンテナランタイムを比較してみた
今話題のいろいろなコンテナランタイムを比較してみた今話題のいろいろなコンテナランタイムを比較してみた
今話題のいろいろなコンテナランタイムを比較してみたKohei Tokunaga
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能Kohei Tokunaga
 
Managed Service Provider(MSP)によるマルチOrganizations管理の裏側(Security JAWS 第24回 発表資料)
Managed Service Provider(MSP)によるマルチOrganizations管理の裏側(Security JAWS 第24回 発表資料)Managed Service Provider(MSP)によるマルチOrganizations管理の裏側(Security JAWS 第24回 発表資料)
Managed Service Provider(MSP)によるマルチOrganizations管理の裏側(Security JAWS 第24回 発表資料)NTT DATA Technology & Innovation
 

Was ist angesagt? (20)

Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMP
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
 
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
 
はじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよ
はじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよはじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよ
はじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよ
 
Kongの概要と導入事例
Kongの概要と導入事例Kongの概要と導入事例
Kongの概要と導入事例
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
負荷対策しておもったことまとめ~JMeterでSocket.IOもいけるでよ~
負荷対策しておもったことまとめ~JMeterでSocket.IOもいけるでよ~負荷対策しておもったことまとめ~JMeterでSocket.IOもいけるでよ~
負荷対策しておもったことまとめ~JMeterでSocket.IOもいけるでよ~
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
 
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
 
今話題のいろいろなコンテナランタイムを比較してみた
今話題のいろいろなコンテナランタイムを比較してみた今話題のいろいろなコンテナランタイムを比較してみた
今話題のいろいろなコンテナランタイムを比較してみた
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
Managed Service Provider(MSP)によるマルチOrganizations管理の裏側(Security JAWS 第24回 発表資料)
Managed Service Provider(MSP)によるマルチOrganizations管理の裏側(Security JAWS 第24回 発表資料)Managed Service Provider(MSP)によるマルチOrganizations管理の裏側(Security JAWS 第24回 発表資料)
Managed Service Provider(MSP)によるマルチOrganizations管理の裏側(Security JAWS 第24回 発表資料)
 
MLOpsはバズワード
MLOpsはバズワードMLOpsはバズワード
MLOpsはバズワード
 

Andere mochten auch

RubyでBLコマンド実装
RubyでBLコマンド実装RubyでBLコマンド実装
RubyでBLコマンド実装hayabusa333
 
Cbで解るjojo up
Cbで解るjojo upCbで解るjojo up
Cbで解るjojo uphayabusa333
 
DevLove2012 懇親会LT
DevLove2012 懇親会LTDevLove2012 懇親会LT
DevLove2012 懇親会LThayabusa333
 
自動化のその前に
自動化のその前に自動化のその前に
自動化のその前にhayabusa333
 
アイマスで分かるプログラマ
アイマスで分かるプログラマアイマスで分かるプログラマ
アイマスで分かるプログラマhayabusa333
 
Jenkinsとidobataで幸せな生活
Jenkinsとidobataで幸せな生活Jenkinsとidobataで幸せな生活
Jenkinsとidobataで幸せな生活hayabusa333
 
ブラックボックステスト技法
ブラックボックステスト技法ブラックボックステスト技法
ブラックボックステスト技法hayabusa333
 
ホワイトボックステスト技法
ホワイトボックステスト技法ホワイトボックステスト技法
ホワイトボックステスト技法hayabusa333
 
Cowboyとphoenixの速度比較
Cowboyとphoenixの速度比較Cowboyとphoenixの速度比較
Cowboyとphoenixの速度比較hayabusa333
 
現場にsahaginを取り入れた話
現場にsahaginを取り入れた話現場にsahaginを取り入れた話
現場にsahaginを取り入れた話hayabusa333
 
Elixirのhoundを使ってみて
Elixirのhoundを使ってみてElixirのhoundを使ってみて
Elixirのhoundを使ってみてhayabusa333
 
Getting test world
Getting test worldGetting test world
Getting test worldhayabusa333
 
E言語スタック
E言語スタックE言語スタック
E言語スタックhayabusa333
 
Erlang and Elixir
Erlang and ElixirErlang and Elixir
Erlang and Elixirhayabusa333
 
派遣社員が現場にRubyを取り入れるまで
派遣社員が現場にRubyを取り入れるまで派遣社員が現場にRubyを取り入れるまで
派遣社員が現場にRubyを取り入れるまでhayabusa333
 
Elixir v1.3 で入るかもしれない機能
Elixir v1.3 で入るかもしれない機能Elixir v1.3 で入るかもしれない機能
Elixir v1.3 で入るかもしれない機能hayabusa333
 
脆弱性検査ツールってどうよ
脆弱性検査ツールってどうよ脆弱性検査ツールってどうよ
脆弱性検査ツールってどうよMasakazu Ikeda
 
Serverspecの本気をみるのです
Serverspecの本気をみるのですServerspecの本気をみるのです
Serverspecの本気をみるのですhayabusa333
 

Andere mochten auch (20)

RubyでBLコマンド実装
RubyでBLコマンド実装RubyでBLコマンド実装
RubyでBLコマンド実装
 
Cbで解るjojo up
Cbで解るjojo upCbで解るjojo up
Cbで解るjojo up
 
DevLove2012 懇親会LT
DevLove2012 懇親会LTDevLove2012 懇親会LT
DevLove2012 懇親会LT
 
自動化のその前に
自動化のその前に自動化のその前に
自動化のその前に
 
アイマスで分かるプログラマ
アイマスで分かるプログラマアイマスで分かるプログラマ
アイマスで分かるプログラマ
 
Jenkinsとidobataで幸せな生活
Jenkinsとidobataで幸せな生活Jenkinsとidobataで幸せな生活
Jenkinsとidobataで幸せな生活
 
ブラックボックステスト技法
ブラックボックステスト技法ブラックボックステスト技法
ブラックボックステスト技法
 
ホワイトボックステスト技法
ホワイトボックステスト技法ホワイトボックステスト技法
ホワイトボックステスト技法
 
Cowboyとelixir
CowboyとelixirCowboyとelixir
Cowboyとelixir
 
Cowboyとphoenixの速度比較
Cowboyとphoenixの速度比較Cowboyとphoenixの速度比較
Cowboyとphoenixの速度比較
 
現場にsahaginを取り入れた話
現場にsahaginを取り入れた話現場にsahaginを取り入れた話
現場にsahaginを取り入れた話
 
IEXを学ぶ
IEXを学ぶIEXを学ぶ
IEXを学ぶ
 
Elixirのhoundを使ってみて
Elixirのhoundを使ってみてElixirのhoundを使ってみて
Elixirのhoundを使ってみて
 
Getting test world
Getting test worldGetting test world
Getting test world
 
E言語スタック
E言語スタックE言語スタック
E言語スタック
 
Erlang and Elixir
Erlang and ElixirErlang and Elixir
Erlang and Elixir
 
派遣社員が現場にRubyを取り入れるまで
派遣社員が現場にRubyを取り入れるまで派遣社員が現場にRubyを取り入れるまで
派遣社員が現場にRubyを取り入れるまで
 
Elixir v1.3 で入るかもしれない機能
Elixir v1.3 で入るかもしれない機能Elixir v1.3 で入るかもしれない機能
Elixir v1.3 で入るかもしれない機能
 
脆弱性検査ツールってどうよ
脆弱性検査ツールってどうよ脆弱性検査ツールってどうよ
脆弱性検査ツールってどうよ
 
Serverspecの本気をみるのです
Serverspecの本気をみるのですServerspecの本気をみるのです
Serverspecの本気をみるのです
 

Ähnlich wie 漏れのある抽象化の法則

OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介Hiromu Yakura
 
ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争Eric Sartre
 
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイドYAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイドkeroyonn
 
超簡単! PythonをWindows Serverにインストール
超簡単! PythonをWindows Serverにインストール超簡単! PythonをWindows Serverにインストール
超簡単! PythonをWindows ServerにインストールShin Tanigawa
 
第13回スライド.pptx
第13回スライド.pptx第13回スライド.pptx
第13回スライド.pptxPenguin49
 
1.29.user,user,user
1.29.user,user,user1.29.user,user,user
1.29.user,user,userTonny Xu
 
MAごころを、君に - #7 ChatGPT勉強会(2023-03-28)
MAごころを、君に - #7 ChatGPT勉強会(2023-03-28)MAごころを、君に - #7 ChatGPT勉強会(2023-03-28)
MAごころを、君に - #7 ChatGPT勉強会(2023-03-28)Webpla LLC.
 
財務分析勉強会挨拶
財務分析勉強会挨拶財務分析勉強会挨拶
財務分析勉強会挨拶oranie Narut
 
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops20120927 findjob4 dev_ops
20120927 findjob4 dev_opsume3_
 
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリオープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ陽平 山口
 
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)NTT DATA Technology & Innovation
 
Janog31 bof-pattern-sasaki-01
Janog31 bof-pattern-sasaki-01Janog31 bof-pattern-sasaki-01
Janog31 bof-pattern-sasaki-01Ken SASAKI
 
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」Shuji Morisaki
 
Pythonで業務改善をしたときにあった問題(ライト版)
Pythonで業務改善をしたときにあった問題(ライト版)Pythonで業務改善をしたときにあった問題(ライト版)
Pythonで業務改善をしたときにあった問題(ライト版)Satoshi Yamada
 
コンソールゲームを世界展開してみた - JAWS DAYS 2015
コンソールゲームを世界展開してみた - JAWS DAYS 2015コンソールゲームを世界展開してみた - JAWS DAYS 2015
コンソールゲームを世界展開してみた - JAWS DAYS 2015Ryo Nakamaru
 

Ähnlich wie 漏れのある抽象化の法則 (20)

OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介
 
鹿駆動
鹿駆動鹿駆動
鹿駆動
 
ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争
 
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイドYAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
 
超簡単! PythonをWindows Serverにインストール
超簡単! PythonをWindows Serverにインストール超簡単! PythonをWindows Serverにインストール
超簡単! PythonをWindows Serverにインストール
 
第13回スライド.pptx
第13回スライド.pptx第13回スライド.pptx
第13回スライド.pptx
 
1.29.user,user,user
1.29.user,user,user1.29.user,user,user
1.29.user,user,user
 
MAごころを、君に - #7 ChatGPT勉強会(2023-03-28)
MAごころを、君に - #7 ChatGPT勉強会(2023-03-28)MAごころを、君に - #7 ChatGPT勉強会(2023-03-28)
MAごころを、君に - #7 ChatGPT勉強会(2023-03-28)
 
財務分析勉強会挨拶
財務分析勉強会挨拶財務分析勉強会挨拶
財務分析勉強会挨拶
 
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops20120927 findjob4 dev_ops
20120927 findjob4 dev_ops
 
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリオープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ
 
Zigbee Study
Zigbee StudyZigbee Study
Zigbee Study
 
Django_fukuoka
Django_fukuokaDjango_fukuoka
Django_fukuoka
 
Django_Fukuoka
Django_FukuokaDjango_Fukuoka
Django_Fukuoka
 
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
 
Janog31 bof-pattern-sasaki-01
Janog31 bof-pattern-sasaki-01Janog31 bof-pattern-sasaki-01
Janog31 bof-pattern-sasaki-01
 
Python勉強会 2015-12-02
Python勉強会 2015-12-02Python勉強会 2015-12-02
Python勉強会 2015-12-02
 
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
 
Pythonで業務改善をしたときにあった問題(ライト版)
Pythonで業務改善をしたときにあった問題(ライト版)Pythonで業務改善をしたときにあった問題(ライト版)
Pythonで業務改善をしたときにあった問題(ライト版)
 
コンソールゲームを世界展開してみた - JAWS DAYS 2015
コンソールゲームを世界展開してみた - JAWS DAYS 2015コンソールゲームを世界展開してみた - JAWS DAYS 2015
コンソールゲームを世界展開してみた - JAWS DAYS 2015
 

漏れのある抽象化の法則