「テスト駆動開発」を含む日記 RSS

はてなキーワード: テスト駆動開発とは

2024-04-05

[]2024年3月滅多にホットエントリを出さなドメインからホットエントリ

ここ1年で初めてはてなブックマーク日毎の総合人気エントリ入りしたドメインからホットエントリブクマ数順トップ30

ブクマタイトルドメイン
1900なんとなく使っていませんか? 括弧の種類と使い分け|モリサワ note編集部note.morisawa.co.jp
1309波 2024年4月号 おつむの良い子は長居しない 第12回/高嶋政伸www.shinchosha.co.jp
1241電車の中で座るための戦略アクションプランみずほリサーチテクノロジーwww.mizuho-rt.co.jp
1061無印良品ランドセルの思い出 - プロムナードpromenade.hatenablog.jp
1011謙虚リーダーのもとで心理的安全性が高まりメンバー本領発揮しやすくなる―職場においてリーダー謙虚さと心理的安全性が果たす役割― | 東京大学 先端科学技術研究センターwww.rcast.u-tokyo.ac.jp
986いらすと本舗irasutofree.com
921電通人間の消費行動に強く影響する「11欲望」最新版を発表 | AdverTimes.(アドタイby 宣伝会議www.advertimes.com
918訃報集英社週刊少年ジャンプ公式サイトwww.shonenjump.com
808日本賃金が上がらない理由大企業中の人目線で) - konanタワリーマンブログkonantower.hatenablog.com
730はじめに | ちいさな Web ブラウザを作ってみようbrowserbook.shift-js.info
680あなたが教わってるそのCSSテクニックはもう古い | TAKLOGwww.tak-dcxi.com
664個人開発を7年以上続けて分かった技術選択のコツblog.craftz.dog
648お知らせ 閉店・廃業します。 | 新宿 curry草枕currykusa.com
638さすがの一言に尽きる!全登山者が求めていた“神アイテム”はモンベルにあった | YAMA HACK[ヤマハック]yamahack.com
618高木浩光@自宅の日記 - Claude 3に例の「読了目安2時間記事解説させてみたtakagi-hiromitsu.jp
590とほほさんの「お茶紅茶入門」の内容を検証する(主に中国茶部分) – あるきちのお茶旅行日記arukichi.teamedia.jp
582翻訳テスト駆動開発定義 - t-wadaブログt-wada.hatenablog.jp
543冬の電気自動車の遠出は本当に厳しい。航続距離も減るし、とにかく充電スピードが落ちます - 勝間和代が徹底的にマニアックな話をアップするブログkatsumakazuyo.hatenablog.com
540トーweb 創作文芸サークルキャロット通信」の崩壊創作文芸サークルキャロット通信」の崩壊to-ti.in
539ワイヤレスイヤホン価格帯別選び方 - ARTIFACT@はてブロkanose.hateblo.jp
536会議で話されている内容と、ソースコード全然違う」〜イオン発の“新ネットスーパーリリース直前の1年間を語る|イオンネクストCTOインタビュー |AEON TECH HUBengineer-recuruiting.aeon.info
53227歳年収420万非モテ男がマッチングアプリ始めた結果がヤバすぎる - 人生万事こじらせるべからwww.gorannosponsor.net
525Python滅ぼす協会に入会したいdev.thanaism.com
514はてなアプリ専用マンガビューワを集英社採用。2,700万ダウンロードを超える「少年ジャンプ+」に提供開始 - プレスリリース - 株式会社はてなhatena.co.jp
485無料台湾で収録された自然環境ライブラリ、99Sounds「Nature Sounds」無償配布開始! | Computer Music Japancomputermusic.jp
476美しいもの・美しいものcomic-medu.com
451ゲームを途中でやめた理由、ご意見対策集 - SmokingWOLF - Ci-en(シエン)ci-en.dlsite.com
447シェフ考案】チキン南蛮の作り方。衣はザクザク、肉はジューシー甘酢タルタルレシピも必見です | 三越伊勢丹の食メディア | FOODIE(フーディー)mi-journey.jp
439業務スーパーラグジュアリッチコーヒーはなぜ美味い?珈琲まめ工房質問攻め - 福岡フリーライター大塚たくま.comwww.otsuka-takuma.com
429文字組版教室 note版|モリサワ note編集部note.morisawa.co.jp

2024-04-01

anond:20240401163549

実践できないのは難しいからって考えてる

テスト駆動開発のものというよりその前提にあるクラス設計の部分も含めて

anond:20240401153531

個人的な話だとテスト駆動開発

どうしても後からテスト書いてしま

作り始める前にクラスイメージがはっきりできてないからなんだけど

臭いおじさんなので大雑把な思い付きで作り始めて作りながら調整してく作り方から抜け出せない

2023-12-14

プログラマーのワイが読んだ中で良かった本ベスト10

1. UNIXという考え方 Mike

2. プログラミング作法 Brian and Rob

3. テスト駆動開発 Kent

4. 達人プログラマー Andy

5. リファクタリング Martin

6. プログラマーが知るべき97のこと

7. ソフトウェアアーキテクトが知るべき97のこと

8. レガシーコードからの脱却

9. Design It!

10. 少年メイドクーロ君

2023-10-29

達人プログラマーゾルラーク

anond:20231027224113

プログラミング話題と相性がいいんじゃないかと思って、昔読んだことがある達人プログラマー (1999年出版された第1版の方、2019年出版された第2版ではない) をぱらぱら見返してみた。プログラマーとしての姿勢プラクティスなどは一般に普及したかどうかの判断が難しい。間違いなく一般的になったなと思えるものに絞って書く。インフラ面の進化が大きいと言えそう。

フリーレン「わずか数年で人類の開発方法論に組み込まれ、新しいインフラによってシステム開発生産性を向上させた。」

17 ソースコード管理

でも今のチームはソースコード管理システムを使っていないんだけど…

恥ずかしいと思ってください! そして、これが伝道師となる機会だと受け止めてほしいのです。しかし、彼らが自ら進むべき道を見つける時まで、あなた一人ぼっちであってもソース管理を使うようにしてください。

フェルン「いまのはバージョン管理システムです。」

33 リファクタリング

いつリファクタリングを行うべきなのか?

コードがうまくなじんでいないと感じたり、まとめるべき 2 つの事柄を見つけたりといった何か「おかしもの」に遭遇した場合、手を入れることを躊躇してはいけません。

34 テストやすコード/43 容赦ないテスト

テスト文化

あなた記述したソフトウェアはすべてテスト対象になりますあなたあなたのチームの人間テストをしなければ、最終的にユーザーテストを強いられるのです。このため、テスト計画を徹底的に練る必要がありますしかし、事前にものごとを少し考えるだけでメンテナンス費とヘルプデスクへの呼び出しを大幅に削減できます

(中略)

テスト技術というよりは文化なのです。こういったテスト文化は、使用する言語関係なくプロジェクトに植え付けることが可能なのです。

フェルン「いまのはテスト駆動開発です。」

42 どこでも自動化

多くのプロジェクトでは、こういったレベルビルドは毎晩自動的に実行されています。つまりプロジェクト特定部分を夜間ビルド作成すると同時に、個別テストよりも完全なテストを実行できるのです。これによって、完全なビルド実行時に行うテストをすべて実行させることも可能になります。結果として、その日のうちに回帰テスト問題を見つけられるようになるわけです。ソースの変更後、できるだけ早い時点で問題を検出できれば、バグの検出と修正を円滑に進められるようになるはずです。

フェルン「いまのは CI/CD です。」

2023-09-19

anond:20230919110606

これ、応用情報技術者試験のR4春の午後の問3前半のコードと似ていて読めないようなコードではない。

https://www.ipa.go.jp/shiken/mondai-kaiotu/gmcbt80000009sgk-att/2022r04h_ap_pm_qs.pdf

応用情報のほうは添え字を一次元に展開しているのをChatGPTは二次元でやってるだけ。

問題後半では探索の効率化をやっていて、人間が解くように候補数字リスト作成してそこから処理するんだけど、ChatGPTのコードも少しの変更で速くなることはコード読んで短時間判断できるから決して保守性の悪いコードではないでしょ。

しろVBAかじった素人や、派遣自称エンジニアコードのほうが一般に酷い。

応用情報の方は誘導がありコメントの通り書くだけのラッキー問題で1問あたり30分で設問3つのうちの2つを占めるから制限時間20分だけど、ChatGPTはこれを一行命令誘導なしで即答する。

一定水準の網羅性を考慮した動作確認用のいくつかの入力と出力の組を過去業務データから用意して、テスト実行マクロもChatGPTに書かせてしまえば、変更があったときコードベース修正しないでプロンプトから出し直してしまえば中身がブラックボックスでもテスト品質確保するテスト駆動開発ができる。レビューなんかテストパターン網羅性とテスト結果で十分よね。

業務をよく知っている人が業務内容をプロンプトに落とし込んでテストパターンを適切に準備できればVBA知識ほとんどいらないし、その知識すらChatGPTのコードと会話から学ぶことができるんよね。

2022-09-01

IT系企業

なんかイベントかに登壇してうちはテスト駆動開発からバグが少ないとか言ってる割に

しょうもないけど絶対これテストで引っ掛かるだろ・・・って内容のバグを見つけてしまうと

理想だけ高くて内実うまくまわってねぇんだろうなぁって思ってしま

2022-08-18

anond:20220818113853

DRY原則KISS原則YAGNI法則

をなど有名な格言がある

コメントを残すのはあまり良いことではない

コード自身意味が込められてないという証明から

必要最低限のコメントだけにするひつようがある。

独学ならテスト駆動開発などの動画を見て

https://www.youtube.com/watch?v=Q-FJ3XmFlT8

動画のとおりに写経する。

この動画にはプログラムの基礎が詰まっている

2020-11-21

ソースコード品質を保つために真に効果的な手段は3つしか無い

  1. バージョン管理システムを使う
  2. 静的型付け言語およびlintを使う
  3. テスト駆動開発をする

どんなに優れたツール設計思想などがあっても、使う奴がダメだと全く無意味。弊社もWebアプリを作ってて、RESTだのFluxアーキテクチャだのいろいろ導入を試みたが、ほとんど無駄に終わった。

どんなクソ組織でも効果があると確信持って言えるのは上の3つだけ。1つ目は初歩的すぎると思われるかも知れないが、筆者の想定するダメ組織ダメプログラマというのは、このレベルの連中を含む。

とにかく最低限の品質保証強制する仕組み以外は無意味

静的型付け言語サーバーサイドならJavaC#フロントエンドならTypeScript)を使わせれば、少なくともコンパイル時に分かるエラー修正させられる。

というか、ダメプログラマに動的型付けの言語は触らせてはいけない。必ずそのプロジェクト半年後には保守できなくなる。

テスト強制的に書かせるし、テストのないクラスや、通らないテストあったらコミットできないようにする(それは容易にできる)。

番外編: ものすごくマイナー言語を使う

もう一つの方法は、そもそも優秀なエンジニアしか参加できないようにすること。たとえば、ScalaHaskellErlangCommon Lispなどで書かれていれば必然的にそれが分かるエンジニアしか開発できないし、こういう言語自主的学習しているエンジニアは優秀である可能性が高い。

2020-04-29

ここ2週間でやったこ



なんかいろいろやってるようで、それでも暇に感じてしまうし、ついつい遊んでしま

アプリ一本仕上げるだとか、何か一つに没頭した方が良いかなぁ

2018-09-19

テスト駆動開発かいうけど

製造よりテストコード書く方が2-3倍は工数掛かるってなんか無駄な気がするんだけど、

もうちょい自動的テストコード生成してくれたりせえへんのかな。

2017-02-15

http://anond.hatelabo.jp/20170214114736

ここまでテストの話一切無し。日本技術者レベルって低いね

バグを0にするのは難しいが、テストを書いて、ある程度の動作保証を行うことは出来る。普通はこれで十分。

テスト駆動開発とか継続的インテグレーションとか勉強しようね。

2016-06-19

全てのRubyエンジニアはだいたい糞である

汎用系のエンジニアからRubyエンジニアとして転職して1年。

コボラー(笑)なんて言われることも多いが、この1年で出会ったRubyエンジニアは全て糞だった。

その特徴はだいたいこの3つだ。

1.テストを甘く見ている

やれテスト自動化だ、やれテスト駆動開発だの口だけ達者なエンジニアの多いこと。

そもそもブラックボックステストホワイトボックステストを分かっていない奴が多すぎ。

テストコードカバレージが100%だったとしても実際の打鍵結果でエラーは弾けることが多いのにリリースしてしまう。

そもそもテストケース表を若いうちに書く習慣が無いからだ。

ドキュメント揶揄し机上デバッグも行わない、こんな状態で「アジャイルですから」とかドヤ顔でいってしまRubyエンジニアは糞である

2.パフォーマンスを考えない

Rubyエンジニアパフォーマンスを考えない。

どのメソッドがどれくらいの負荷なのか意識せず実装を行う。

便利だから、ただそれだけの理由なのである

そもそも自分が行おうとしているソートが何ソートなのか知っているのか?計算回数を考慮した上での実装か?

便利なメソッドがたくさんあるのは知っている。

ただ、中身くらいは知っておこうよ。

eachで回してばかりだから複雑なループ対応もできない。

新人に教えたらバカにされたけど、まずフローチャート書くようにしようぜ。

3.外部ライブラリに対する絶対的根拠の無い信頼

Gemに対する絶対的な信頼感、あれなんなの?

Githubで公開されてましたんで導入しました」じゃねーよ。

結局他のGemバッティングしているじゃねーか。

得体の知れないコードをたくさん詰め込んだプログラムをよく動かせるな。

そんで都合の悪いところだけコードを読んでオーバーライドする。

影響範囲を全く調査せず、Gem絶対神話を唱える。あれなんなの?



いや、Rubyが便利なのは認めるよ。俺だってPLIとかCOBOLより書いてて楽しいよ。

インデント合わなくてコンパイルエラーとかないしな。

でもあまりにもRubyエンジニア糞すぎだろ。

エンジニアもどき量産言語だね。どれか1つでも当てはまった奴は小学校からやり直せ。

日本の将来が心配だわ。


追記

意見がたくさんもらえて喜ばしい。

文化の違いという意見もあったが、「よくわからないけどなんかうまくいく」コードだとデバッグも大変だし不具合も起きやすい。

それで納品するのはプロとしておかしい。

主語が大きい

「だいたい」とあるだろう。全てのだいたいだ。

フローチャート

ロジックを整理するツールとしては優秀。

精神論に聞こえるかもしれないが、フローチャート書いて育ったエンジニアは頭の中でロジックの組み立てと凡その演算回数が計算できるようになるよ。

カバレージが100%だったとしても実際の打鍵結果でエラーは弾ける

あー、ここは誤タイピングだわ。

自動テストカバレージ100%です、そして画面数回触ってリリースしますーっていう奴が多いってこった。

単体だけじゃなく画面使ったテストもケース表書いて網羅性を担保しないとダメだろ。

もちろん慣れて頭に入ってくれば勘所がわかるんだが、そんな属人的ものよりもケース表書くのが無難だろう。

2015-06-17

6/16の日記

日記なのだから日記を書こうと思う。

■7:00 起床

 最近使い始めたアラームアプリは簡単な計算問題を解く必要がある。

 今日は27-13。

 最初は良かったけど、最近は寝ながらでも問題を解けそうなので、

 問題難易度を上げようと思う。

■7:05

 ベットに寝ながらネットサーフィンをする。

 昨日Newspickで書いたコメントいいねがついていた。

 やっぱりアイコンを女の写真にしておくと食いつきがいい。

■7:30 出社準備

 ベットから這い出て軽いストレッチの後シャワーを浴びる。

 またネットサーフィン

 未だにテスト駆動開発とか言ってるのを見つけて懐かしい気持ちになる。

 去年死んだでしょ?

■8:40 家出

 自宅を出て駅へ。

 どういうことか、行くときに反対方向にすれ違ったおばちゃんと

 5分後ぐらいに別の交差点で会う。

 数年かけて最短コースを探索したつもりだったけど、

 まだ他に抜け道でもあるのか。

■08:57 電車に乗る

 今日電車が遅れてきた。

 最近時間通りだと驚くぐらいだ。

 同じ車両に綺麗な女性を見つける。

 彼女に会えただけで今日家を出てよかったと思える。

■09:30 会社最寄駅到着

 今日フレックス出社。

 09:15には出社する予定だったはずだけど気にしない。

 コンビニでお昼ご飯を買う。

 今日会計モバイルSuicaで払おうとしたら、

 言う前に店員がSuicaタンバイしてくれていた。

 有能。一緒にLINEIDも渡してくれたら完璧だった。

■09:45 会社到着

 遅刻した気がするがいつものごとく何も言われない。

 この会社就職して良かったと思える瞬間。

 スマホロッカーに入れて、PCの電源を入れて一休みする。

 今日も一仕事終わった感。

10:00 仕事開始

 くだらないメールを読んでくだらない電話に回答して

 ネットサーフィンする。

 近くにいる今年配属された新人ちょっかいを出す。

 相変わらず真面目で面白味のないやつだ。

 2ch二次裏ニコ動ネトゲはてな発言小町も知らないらしい。

 うむ、その生き方が正しい。

11:30 まだ仕事

 やっと雑用が終わってEclipseを立ち上げる。

 起動を待ってる間にネットサーフィン

 木村岳史の極言暴論コラム、今度は「中国にも抜かれるIT後進国ニッポン

 人月商売が引きずり込む奈落」らしい。

 この記事Facebookいいねランキング一位なんだけど…IT後進国だと実感するわ。

12:30 昼休み 

 朝コンビニで買ったごはんを食べる。

 今日は早く帰るだろうと思い、残業用に残しておいた菓子パンも食べる。

12:45

 「達人プログラマー」を読み返す。本に書いてあるようには上手くいかない。

 自分けがDRY原則割れ窓理論を守ってもしょうがないんや…

 昼寝。

■13:00 午後の仕事再開

 人から質問を受ける。

 「この社内業務用のサイトがやたら遅いんだけどなんで?」

 あーとりあえずF12押してからF5押してください。デバックできます

 …このサイト、ただプルダウン表示するだけでサーバと六千回通信してる…!?

■13:30

 摩訶不思議サイトの件はもっとPHPに詳しい人に投げる。 

 いつも思うけど、どうやったらあんなつくりにしようと思えるのか。

 IT後進国

 やっと自分コーディング作業を開始する。

 といっても朝だらだらしているうちにだいたい考えていたので、

 あとはタイプするだけ。

■14:00

 タイプに飽きてきた頃に別の人から質問を受ける。

 「去年君が作ったプログラム見てるんだけど、

  あれなんで実コード10行程度なのに10画面もあるの?」

 一時期私の中ですべてXMLに書くのが流行った時期があるからですよ。

■14:30

 本気で飽きたので業務と関係のない自動プログラムを作って遊ぶ。

 あとは上司にこのExcelを開かせれば楽しいパーティーの始まりだ!

 だいたいこういう調子に乗っているときはよくないことが起きる。

■15:10

 そして顧客から障害発生の連絡を受ける。

 幸い運用は止まっていないけど今まで見たことのない挙動をしてる。

■15:30

 障害の原因特定。現地の担当に連絡して対処してもらう。

 一段落したけど、担当から

 「今日は様子を見るので遅くまで残っておいて」とのこと。

 昼に菓子パン食べたの後悔。

■16:00~

 記憶がない。

 たぶん仕事ネットサーフィンしてた。

■21:00

 帰宅準備。

 帰り際に同じフロア女の子からしかけられる。

 「いつも椅子に浅く寝るみたい座ってますよね。

  落ちないかな、と思っちゃいます。」

 これはプログラマー伝統的なポーズなんだよ。

 古事記にもそう書いてある。

■21:30

 スマホを取り出すとこの前の日曜に遊んだ女子大生からLineが来てた。

 「ブラック企業って本当にあるんですか??」

 大学生らしい質問だと思う。

 企業ブラックホワイトで分けられないんだよ。

 

 他に一つ下のフロアで働いてる女性に送ったLine

 もう一週間未読放置されてる。徹底的すぎるでしょ。

 事務連絡っぽく送ったんだからせめて既読ぐらいつけてくれてもいいのに。

■22:00 晩御飯

 スーパー惣菜を買って帰って食べる。

 スプラトゥーンの対戦実況動画にもそろそろ飽きてきた。

 ココア神拳動画はよ。

23:50

 この日記を書き始める

2014-05-08

Google先生TDDテスト駆動開発)の評価を尋ねてみたよ

検索窓にふと tdd is って打って出た候補にワロタwwww

容赦なさすぎやろw

さらに、"tdd is a-z"の結果な。

tdd is a
tdd is a waste of timeTDD時間無駄
tdd is b
tdd is bullshit(TDDはたわ言)/tdd is bad(TDDは悪い)
tdd is c
tdd is crap(TDDは糞)
tdd id d
tdd is deadTDDは死んだ)
tdd is h
tdd is hard(TDDは難しい)
tdd is n
tdd is not a silver bullet(TDD銀の弾丸ではない)
tdd is o
tdd is overrated(TDD過大評価されている)
tdd is p
tdd is pointless(TDD無意味
tdd is s
tdd is stupidTDDは愚か)/tdd is slow(TDDは遅い)/is tdd still used(TDDはまだ使われているの)
tdd is u
tdd is useless(TDDは役に立たない)
tdd is w
tdd is a waste of timeTDD時間無駄

肯定的な文句がまったく出てきませんでした。事実はともかくとして、このように思われているということでしょうね。啓蒙は難しそうですね。大変ですね。

こちらからは以上です。

2014-04-20

SIerを辞めさせてくれなかったのでエロサイト作りました

結論から申し上げますエロサイト作成いたしました。

ゆーすけべーさんが以前に作ってたimeeroみたいな感じです。画像Blogスクレイピングしてエロ画像効率的に見るサイトです。

だらだらエロ画

なお、先程解約手続きを済ませたので4月末くらいに見れなくなりますエロサイト自体にあまり興味がなく、ローンチしたらやる気が無くなったのです。

主要な技術

生産性よりも憧れの昇華を重視しました。

テスト駆動開発がやりたく、DSLに強いロック魂を感じたRSpec

はやりに乗ってBootstrap

特にCapistrano名前キュートでやっていることがカッコイイのでどうしてもやりたい技術でした。

あと、メインとなるRailsこの記事に書いているスキルの中で唯一経験が無かったというのが一番の理由です。Rubyが好きなのもありますけどね。

辞めたい理由
会社を辞められない理由

いやぁ、退職しようとすると会議室で8時間説教されるって都市伝説じゃないんですね〜。

ところで転職活動をした感覚だと、今より給与が2倍出るところでも簡単に内定が出ることが分かりました。

転職活動やエロサイト作成を通して精神的な余裕も出ましたので、もう少しSIerのものの問題、仕事の進め方などを熟考した上で、本当に正しいSIerのあり方を考えたいと思います。無理そうなら逃げます

以上、よろしくお願いいたします。

2014-02-25

初音ミクオンラインかるたゲーム「ミクミクかるた」を作ってみた

初音ミクオンラインかるたゲーム「ミクミクかるた」をリリースしました

http://mikumikuplay.com/karuta/

個人で開発して、開発期間は3週間くらいです。

■紹介動画URL

http://www.nicovideo.jp/watch/sm22964822

リリースしたものの過疎ってるので、増田宣伝をさせてくださいなと!

「ミクミクかるた」はブラウザで簡単に遊べるオンラインかるたゲームです。ゲームルールは簡単で、ボカロ曲が流れたら、歌詞の先頭文字の札をクリックするだけです。「みっくみ~くにし~てあげる♪」と流れたら「み」の札を取りますかるたの札の読み上げの代わりにボカロ曲が流れるというシステムです。オンライン対戦することも出来ますボカロ好きな人たちが集まって遊べる場になればと思っています

ゲームで使わせて頂いた曲はpiapro(ピアプロ)でお借りしました。改めて素晴らしい曲がたくさんあることを知り感動しました。このゲームによって素晴らしい曲が、より多くの人に聴かれることを願っています

実はこのゲーム開発者である私もボカロPをちょびっとやっています。私の場合、曲を作ってニコニコ動画にアップしても2日も経てば再生数の伸びが止まってしまます毎日すごい数の曲がアップされている為、すぐに埋もれてしまうのでしょう。私の曲は大したことがないのでいいのですが、中にはすごく良い曲でも再生数が少ないものが多々見られます。このゲームによって埋もれている隠れた名曲に、光を当てられたらと思っています

以前、「ミクミクすごろく」というオンラインすごろくゲーム(http://mikumikuplay.com/sugoroku/)を作り、ユーザーイラストと文章を作ることによってゲームコンテンツ拡張していくことが出来るCGG(Consumer Generated Game)の仕組みを作りました。CGGはブログなどでおなじみのCGM(Consumer Generated Media)のゲーム版に当たります

今回開発した「ミクミクかるた」では、開発作業をニコニコ生放送で配信していました。すると視聴者の方がゲーム機能デザインについてのアイデアコメントしてくれました。コメントしてくれたアイデアほとんどを採用しています。言わば、生放送駆動開発(Live Driven Development)と言えるのではないでしょうか?まぁ、これは悪乗りですが・・・

最近流行している開発手法としてテスト駆動開発(Test Driven Developement→略してTDD)というものがありますTDDをするとテストやすインターフェースモジュール設計が出来るようになりますが、この生放送駆動開発すると、ユーザーが望んでいる設計が出来るのではないかと思います。新たな開発手法発見することが出来ました。

■特徴一覧

ボカロ曲歌詞の先頭文字の札を取るかるたゲーム

ニコニコ動画等で埋もれてしまっている隠れた名曲に光を当てるシステム

Webブラウザのみ、ユーザー登録なしでプレイ可能

・開発作業を生放送で配信して視聴者から貰った意見を反映

HTML5Node.jsによりWebブラウザゲームにおけるリアルタイム処理を実現

ユーザー登録なしで簡単に遊べるのでぜひPlayしていただいて感想とかダメ出しとかしてくれると嬉しいです!よろしくです!

2014-01-15

http://anond.hatelabo.jp/20140114231030

しかし、テスト必要性を感じて導入したいとなったときテストしづらい構造になってると悲しいので、

テスト駆動開発でなくともテストについて考慮しておくのは良いことではないかと

2014-01-14

テスト駆動開発の話になると絶対「テストしないやつは糞」ってなってさ、それはわかるんだが独学週末プログラマの俺はどこから手をつければいいのかわからんので困る。入門書としていつも「テスト駆動開発入門」が挙げられるけど絶版。今売りので何か挙げてほしいわ、てか誰か出版してよKindle本でいいからさ。

いや、ネット検索して勉強たかテストコードらしきものは書けるよ、書けるけどさ、書けるだけなんだよ。通るに決まってるじゃんと思いつつ書いて、やっぱ通るんだよ。でも、俺のテストのやり方は間違ってたり、抜けがあったりするんだろうなとも思うの。だからテストコードを書けるだけじゃなくて、考え方含めて体系的に勉強したいんです。

でも絶版の本ばかりお薦めされるんです、有名なプログラマーの皆さんのブログとか見ると。

誰かAmazonで売ってて、かつ、テスト駆動開発入門以外の良い本教えて。洋書ちょっときついけどサンプルコード多めの構成なら何とか頑張るから

2013-08-08

テスト駆動開発失敗

テストを書くのに時間がかかりすぎて、製品ができなかった…

2013-03-03

RailsとTwitterBootstrapでエロ動画ソーシャルブックマークWebサービス作った

Rails + Twitter bootstrapでエロ動画ソーシャルブックマークWebサービスソーシャルオナニー=ソシャニーを作りました


こちらです http://www.socianie.com


【なにこれ?】

かっこつけた言い方をすると、

「いっぱいエロ動画あるけど結局みんなどんなお宝動画で抜いてるの?という日常的な疑問への答え」

とかでしょうか。

実際どんな事が出来るサービスかというと、基本的には、はてなブックマークのようにエロいページをブックマークする(その時に、コメントを付記することができる)というものです。

サイト内の他のユーザーフォローすることができ、TwitterのようにTimelineのようなものがあってそこにフォローしている人がブックマークしたページが表示されます(そのページが、xvideos,fc2などの有名サイトならば埋め込みプレーヤーですぐ再生出来ます。)

まりフォローしてる人の最新お気に入りエロ動画がチェックできます

ブックマークされたページはそれぞれが固有のページを持っており、タグを付ける事ができます

ユーザーブックマークしたもの動画一覧で横断的に見ることができ、並び替え・検索などが出来ます

ブックマーク数で今日ランキング今週のランキングなどが見れます

あと、累計ブックマーク数によってユーザーランクが上がったりします。

TwitterOAuth認証ログインが出来ますTwitterツイート投稿などはしません。また、サイト内の名前アイコンTwitterのものを流用するかどうかも自分で決められます。)



他のエロサイトとの違いは、3つあると思っています

ソーシャル機能。他にも世の中に色々素晴らしいエロサイトがありますがそれらはソーシャル機能を持つものが少ない。

②上記の話とちょっと被ってますが、他のサイトは基本コンテンツ自体を自動クローリングするけれどソシャニーはそこをユーザー自身に委譲しているため、集まってくる動画の質はそれに比べて上がるんじゃないかというのと、

エロサイトありがちな出来るだけごちゃっと感を無く広告も無しでTwitter bootstrap使って小綺麗な感じ


作成後記】

Webサービス作るならRailsかな楽で便利らしいしというざっくりとしたイメージからRailsで作り始めましたが、

ネット情報入門書に取り組んでもサンプルと同じモノは作れても実際自分が作りたいモノになると、で、どうやるの?となりなかなか進みませんでした。

Railsは色々と勝手によろしくやってくれる機能が多すぎて実際何が起きてんの?というのがわかりづらいというのが第一印象でした。

色々試行錯誤した結果、一番参考になったのはRails tutorial( http://ruby.railstutorial.org/ruby-on-rails-tutorial-book )でした。

英語ですがバージョンは新しいしBootstrapの使い方もわかるしサンプルがTwitterクローンサービスを作ろうというなかなかおもしろものなので途中で飽きること無く取り組めました。

何かを学ぶ時は、モチベーションが続く形の学び方が一番いいと思いました。

僕はエロ動画が大好きなので、エロサイトというのもモチベーションの1つです(ただ、作業中に脱線して気づいたらキーボードではなく下半身に手が伸びているという事もありました。)

また、上記のチュートリアルテスト駆動開発なのでSpecテストをモリモリ書いているのですが、とりあえずはテストに関しては何をやってるのかざっと眺める程度で精読しませんでした。

まずは全体像を把握して何が必要か把握したかたからです。結果的に最後までやりきれたので良かったと思います



あとは、Rails固有の知識ではなくWebサービス全般の知識で足りないな、と思ったときネット上や本屋立ち読みで済ましました。

ネットで細切れにお勉強している場合本屋で体系的にまとまっている本をざっと読むと意外に抜けてる知識が保管されたり脳内インデックスが作れるのでいいと思いました。


バージョン管理gitを使いました。

理由はみんなが良い良いというので乗っておくかという安易なものです。

実際のところgitの良い所を使い倒せているのかというと全くそんな事ないですね。

せいぜいstash位でしょうか。あとbisectとか。


リポジトリ最初DropBoxに作ってたのですが、途中からBitbucketを使いました。

GitHubを使わなかった理由はBitbucketプライベートリポジトリ無料で持てるからです。

また、恥ずかしがり屋なのでGithubで公開は敷居が高いと感じたからです。

初のRailsプロジェクトというのもありソースがイケてないので恥ずかしいのです。

いつかイケメンコードGithubで公開してオレツエーしたいものです。


サーバーエロOKのところを探すのがなかなか難しく結局海外VPSを使いました。

Linodeというところですが、他との違いを挙げるとiPhoneアプリ経由で再起動などが出来たりします。あまりこの機能使ってないですが。

OSベタCentOSです。

構成はpassenger+apacheで、DBSQLite特にLBなどはないです。

諸々構築後に人気が出た時困らないように負荷分散のお勉強なんぞもやりかけましたがまずは不要かなということで辞めました。

ちなみにサーバーがUS西海岸なのでSSHで作業するとエディタちょっともっさりすることがありました。


プロジェクト管理は、会社でも使ってるのでRedmineかなと思ったのですがどうせ一人だしRedmineのUIきじゃないのでTrello( https://trello.com/ )を使いました。

TODO,Doing,Done,Bug,Suspendのリストを作ってやること忘れないように管理しました。

ふと出先で思いついた機能とかをiPhoneでスイっと追加など出来て便利でした。


正月に公開してお友達界隈で見てもらったんですが、よかれと思って作ったChrome拡張CSRFの対策が不備あり結局ブックマークレットにしたり、

ソースを見てもらったら設計RestfulじゃないとかControllerがfat過ぎるModelに押しこめなどアドバイスをもらえたり無知な僕には色々とお勉強になりました。

出来たものはしょぼいものですが、「Webサービス作ったことないコンプ」は少し解消出来た気がします。


以上、月19ドルも払ってるのにお友達だけで使われてるのも寂しいので増田でまとめついでに宣伝してみました。

叩かれるんでしょうか。怖いです。いじめないで。

2012-08-20

テスト駆動開発

テストのないコードレガシーコードだ!今は猫も杓子もアジャイルで、テストコードを書きながら開発するのだ!

ってなってるけど、オープンソースプロダクトのほとんどにテストコードがついてないのは、なぜ?

2012-04-01

テスト駆動開発 in ゲーム業界

最近ゲームバグがひどいと問題になっている。

ゲーム業界は未だにほとんどがレガシーコードレガシー開発手法がなされている。他業界のようにテスト自動化などは可能なんだろうか。

絵がちゃんと出てるか、音がちゃんと鳴ってるかなどのテスト自動化しようがなく、テスト駆動開発なんかが不可能だと思うんだがどうだろうか。

ログイン ユーザー登録
ようこそ ゲスト さん