SlideShare una empresa de Scribd logo
1 de 1
Descargar para leer sin conexión
プログラムを作る 2013/04/03
1 / 1
コストが下がる 快適な環境を追求する
デバッグするスキル
テストをするスキル
コードを読むスキル
名前にこだわる
没頭することも大事 フロー状態を大事にする
Exceptionが上がっているのはエラーだからです エラーを無視しない
本当に求めているものはそれですか? 顧客の言葉はそのまま受け入れない
言語・イディオム・テクニックを学ぶ
テストがあれば怖くない
よりよい構造
変更を恐れない
自分が扱ったコードは元のコードよりも良くする
一人だけで創っているわけではない 他の人と協調する
保守しやすいコード わかりやすいコード
とりあえず動かそうというコードは書かない
良いコード
コードを見る人のためにテストを書く
データ構造とか
他社への思いやりを考慮したコーディング
一人より二人
テストのないソフトウェア開発はありえない
コード分析ツール
コスト意識
面倒でも自動化できるものは自動化する
Riak
MongDB
NoSQL
Oracle
SQLite
PostgreSQL
データベース
3つのスキル
自動化ビルド
Webアプリプログラミング
スレッドプログラミング
その場しのぎをしない
精度見積もり
限界を知る
Ant
Maven
YAGNI原則
かも知れないは要らないもの
余計なコードを書かない
タスクトラッカ
レビューの仕組みとSCMと連携したい
バグレポート
ITS
定時に帰れるような仕組み・やり方を考える
徹夜・休日出勤しない
ハードワークは報われない
エラーハンドリング
etc ...
QA
1つの変更の理由は常にひとつでなければならないSRP(単一責任原則)
OCP(開放・閉鎖原則)
DRY原則
ステップ実行
C#
Perl
LISP
Erlang
関数型言語
Python
言語
正規表現
プロトコル
TCP/IP
CSS
HTML
プロトコル
Webの知識
SMTP・POP・IMAP
ログ
Servletコンテナ
コマンド
Apache
Eclipseを知る
ツールの知識
DIの知識
ClassLoader
Linux
ネットワークの基礎知識
Javaのツール
VM
Javaの知識
変更を恐れない
属人性の排除
手順化
自動化
省力化
デプロイ・リリース
技術だけではない
自分が学びたいものを発表・議論
チームのコード 学ぶソース
Webサイト
書籍・雑誌
学び続ける姿勢
ノイズにならないように
JavaDoc
コードにかけないことのみコメントにする
ブランチ、タグのルール
コミットログ
コメントの規約
カプセル化
正常系・異常系
境界値の考え方
知識(想像力)がいる
書き方
批判をしない
コーディングにおける全員が守るべきガイドラインの確立
チーム全員に同じ知識を共有する
クラス設計
デザインパターン
メソッド分割の単位構造化
レビューの時の感謝の気持
ありがとうの気持ち
他人よりまず自分を疑う
リファクタリング
開発効率
保守性
可読性
レビュー
カバレッジ
レビュー
見える化
制約をいれる
分散リポジトリ
見える化
書く
考え方
使い方
再発防止
原因追求
自動化
ドキュメント化
ツール実行自動化
単体テスト
規約にそっているか
重複がないか
アンチパターンがないか
ツール
チェック
コードを私物化しないように
対する意識
ルールに沿うようにガード
手を動かす
どこまで必要か?
アルゴリズムとか
どうやって手に入れるか
車輪の再発明しない commonsとか
ライブラリの知識
実際にシステムを使うユーザについて
お客様
他のメンバーとの協業
エディタ
IDE
ツール
レイアウト
スタイル
バージョン管理
文章の書き方
ドキュメント
辞書ベースにしたい
変数
メソッド
命名規約
コーディング規約
知識を集約・拡散
プログラマとしての勉強法について
ベースとなる知識
知識
障害対応
設計
制約
チーム
デバッグ
作業
コーディング
規約
意識
プログラムを作る

Más contenido relacionado

Similar a プログラムを作って飯を食うということ

「いいコード」をみんなで書こう!
「いいコード」をみんなで書こう!「いいコード」をみんなで書こう!
「いいコード」をみんなで書こう!tq_ed
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう増田 亨
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ増田 亨
 
言語差異によるTDDプロセスへの影響度の解析
言語差異によるTDDプロセスへの影響度の解析言語差異によるTDDプロセスへの影響度の解析
言語差異によるTDDプロセスへの影響度の解析pocketberserker
 
Hey It's Not My TDD!
Hey It's Not My TDD!Hey It's Not My TDD!
Hey It's Not My TDD!Yasui Tsutomu
 
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)Masayuki Kanou
 
Kobe sec#7 summary
Kobe sec#7 summaryKobe sec#7 summary
Kobe sec#7 summaryYukio NAGAO
 
20150715 『続・断捨離』TDDの心得編
20150715 『続・断捨離』TDDの心得編20150715 『続・断捨離』TDDの心得編
20150715 『続・断捨離』TDDの心得編nackypon
 
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則現場で役立つシステム設計の原則
現場で役立つシステム設計の原則増田 亨
 
プログラミングを早くする方法
プログラミングを早くする方法プログラミングを早くする方法
プログラミングを早くする方法kazukiTakahashi18
 
使い捨て python コードの書き方
使い捨て python コードの書き方使い捨て python コードの書き方
使い捨て python コードの書き方Sho Shimauchi
 
【de:code 2020】 学生諸君! Azure であそぼう! ~Microsoft の AI を自作アプリに取り入れるまで~
【de:code 2020】 学生諸君! Azure であそぼう! ~Microsoft の AI を自作アプリに取り入れるまで~【de:code 2020】 学生諸君! Azure であそぼう! ~Microsoft の AI を自作アプリに取り入れるまで~
【de:code 2020】 学生諸君! Azure であそぼう! ~Microsoft の AI を自作アプリに取り入れるまで~日本マイクロソフト株式会社
 
新人がTDDを学ぶ方法
新人がTDDを学ぶ方法新人がTDDを学ぶ方法
新人がTDDを学ぶ方法Ito Kunihiko
 
はじめる前に知っておきたいAndroidアプリ開発のポイント
はじめる前に知っておきたいAndroidアプリ開発のポイントはじめる前に知っておきたいAndroidアプリ開発のポイント
はじめる前に知っておきたいAndroidアプリ開発のポイントShinobu Okano
 
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発慎一 古賀
 
Blenderソースコードリーディング
BlenderソースコードリーディングBlenderソースコードリーディング
BlenderソースコードリーディングTetsuo Mitsuda
 
テストコードってすごい.pptx
テストコードってすごい.pptxテストコードってすごい.pptx
テストコードってすごい.pptxcistb220msudou
 
プログラミング勉強会 その0
プログラミング勉強会 その0プログラミング勉強会 その0
プログラミング勉強会 その0Hirokazu Fukami
 

Similar a プログラムを作って飯を食うということ (20)

「いいコード」をみんなで書こう!
「いいコード」をみんなで書こう!「いいコード」をみんなで書こう!
「いいコード」をみんなで書こう!
 
後期講座07
後期講座07後期講座07
後期講座07
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
 
言語差異によるTDDプロセスへの影響度の解析
言語差異によるTDDプロセスへの影響度の解析言語差異によるTDDプロセスへの影響度の解析
言語差異によるTDDプロセスへの影響度の解析
 
Hey It's Not My TDD!
Hey It's Not My TDD!Hey It's Not My TDD!
Hey It's Not My TDD!
 
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)
 
Kobe sec#7 summary
Kobe sec#7 summaryKobe sec#7 summary
Kobe sec#7 summary
 
20150715 『続・断捨離』TDDの心得編
20150715 『続・断捨離』TDDの心得編20150715 『続・断捨離』TDDの心得編
20150715 『続・断捨離』TDDの心得編
 
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
 
プログラミングを早くする方法
プログラミングを早くする方法プログラミングを早くする方法
プログラミングを早くする方法
 
使い捨て python コードの書き方
使い捨て python コードの書き方使い捨て python コードの書き方
使い捨て python コードの書き方
 
【de:code 2020】 学生諸君! Azure であそぼう! ~Microsoft の AI を自作アプリに取り入れるまで~
【de:code 2020】 学生諸君! Azure であそぼう! ~Microsoft の AI を自作アプリに取り入れるまで~【de:code 2020】 学生諸君! Azure であそぼう! ~Microsoft の AI を自作アプリに取り入れるまで~
【de:code 2020】 学生諸君! Azure であそぼう! ~Microsoft の AI を自作アプリに取り入れるまで~
 
新人がTDDを学ぶ方法
新人がTDDを学ぶ方法新人がTDDを学ぶ方法
新人がTDDを学ぶ方法
 
はじめる前に知っておきたいAndroidアプリ開発のポイント
はじめる前に知っておきたいAndroidアプリ開発のポイントはじめる前に知っておきたいAndroidアプリ開発のポイント
はじめる前に知っておきたいAndroidアプリ開発のポイント
 
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
 
Blenderソースコードリーディング
BlenderソースコードリーディングBlenderソースコードリーディング
Blenderソースコードリーディング
 
テストコードってすごい.pptx
テストコードってすごい.pptxテストコードってすごい.pptx
テストコードってすごい.pptx
 
Coderetreat
CoderetreatCoderetreat
Coderetreat
 
プログラミング勉強会 その0
プログラミング勉強会 その0プログラミング勉強会 その0
プログラミング勉強会 その0
 

Último

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 

Último (10)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

プログラムを作って飯を食うということ

  • 1. プログラムを作る 2013/04/03 1 / 1 コストが下がる 快適な環境を追求する デバッグするスキル テストをするスキル コードを読むスキル 名前にこだわる 没頭することも大事 フロー状態を大事にする Exceptionが上がっているのはエラーだからです エラーを無視しない 本当に求めているものはそれですか? 顧客の言葉はそのまま受け入れない 言語・イディオム・テクニックを学ぶ テストがあれば怖くない よりよい構造 変更を恐れない 自分が扱ったコードは元のコードよりも良くする 一人だけで創っているわけではない 他の人と協調する 保守しやすいコード わかりやすいコード とりあえず動かそうというコードは書かない 良いコード コードを見る人のためにテストを書く データ構造とか 他社への思いやりを考慮したコーディング 一人より二人 テストのないソフトウェア開発はありえない コード分析ツール コスト意識 面倒でも自動化できるものは自動化する Riak MongDB NoSQL Oracle SQLite PostgreSQL データベース 3つのスキル 自動化ビルド Webアプリプログラミング スレッドプログラミング その場しのぎをしない 精度見積もり 限界を知る Ant Maven YAGNI原則 かも知れないは要らないもの 余計なコードを書かない タスクトラッカ レビューの仕組みとSCMと連携したい バグレポート ITS 定時に帰れるような仕組み・やり方を考える 徹夜・休日出勤しない ハードワークは報われない エラーハンドリング etc ... QA 1つの変更の理由は常にひとつでなければならないSRP(単一責任原則) OCP(開放・閉鎖原則) DRY原則 ステップ実行 C# Perl LISP Erlang 関数型言語 Python 言語 正規表現 プロトコル TCP/IP CSS HTML プロトコル Webの知識 SMTP・POP・IMAP ログ Servletコンテナ コマンド Apache Eclipseを知る ツールの知識 DIの知識 ClassLoader Linux ネットワークの基礎知識 Javaのツール VM Javaの知識 変更を恐れない 属人性の排除 手順化 自動化 省力化 デプロイ・リリース 技術だけではない 自分が学びたいものを発表・議論 チームのコード 学ぶソース Webサイト 書籍・雑誌 学び続ける姿勢 ノイズにならないように JavaDoc コードにかけないことのみコメントにする ブランチ、タグのルール コミットログ コメントの規約 カプセル化 正常系・異常系 境界値の考え方 知識(想像力)がいる 書き方 批判をしない コーディングにおける全員が守るべきガイドラインの確立 チーム全員に同じ知識を共有する クラス設計 デザインパターン メソッド分割の単位構造化 レビューの時の感謝の気持 ありがとうの気持ち 他人よりまず自分を疑う リファクタリング 開発効率 保守性 可読性 レビュー カバレッジ レビュー 見える化 制約をいれる 分散リポジトリ 見える化 書く 考え方 使い方 再発防止 原因追求 自動化 ドキュメント化 ツール実行自動化 単体テスト 規約にそっているか 重複がないか アンチパターンがないか ツール チェック コードを私物化しないように 対する意識 ルールに沿うようにガード 手を動かす どこまで必要か? アルゴリズムとか どうやって手に入れるか 車輪の再発明しない commonsとか ライブラリの知識 実際にシステムを使うユーザについて お客様 他のメンバーとの協業 エディタ IDE ツール レイアウト スタイル バージョン管理 文章の書き方 ドキュメント 辞書ベースにしたい 変数 メソッド 命名規約 コーディング規約 知識を集約・拡散 プログラマとしての勉強法について ベースとなる知識 知識 障害対応 設計 制約 チーム デバッグ 作業 コーディング 規約 意識 プログラムを作る