タグ

Programmingとprogrammingに関するWatsonのブックマーク (1,069)

  • [翻訳] コードレビューについて

    この記事は::..: glen.nu :.: ramblings :.: on code review :.::の意訳記事です。@9len氏の許可を受けて投稿しています。 This article originally appeared in English at :..:: GLEN D SANFORD :.: RAMBLINGS :.: ON CODE REVIEW ::..: and has been translated with @9len’s permission for posting to this blog in Japanese. この記事は2014年3月に書いている。Twitterでユーザ検索チームを私が率いていたころの話だ。この記事は、コードレビューに関するセオリー・アプローチを体系化することを狙いとしていて、いくつかの基的なプラクティスの確立を狙っている。あな

  • クラス設計の原則 — みんなのウェディングエンジニアリングブログ

    みんなのウェディングの高井です。 クラスベースのオブジェクト指向プログラミング言語を利用している人であれば、クラスとは、ありふれていて普段から利用するものです。にもかかわらず、良いクラスをつくるというのは、なかなかに難しいことです。 先日、みんなのウェディングでアルバイトをしてくれている学生さんのコードレビューをしていたときにも、それを強く感じました。 実践的プラグマティックには「ソフトウェアの規模や文脈にあわせて、適切に抽象化していただきたい」という以上のことを言っても仕方がないところなのですが、それだけでは経験の浅いプログラマーにとって、まったく分からないという話になってしまいます。 というわけで、今回はクラス設計の原則についてのお話しです。 Bertrand Meyerのクラス設計の原則 Bertrand Meyerは『オブジェクト指向入門 第2版』の中で、クラス設計について章をひと

    クラス設計の原則 — みんなのウェディングエンジニアリングブログ
  • 正しい製品を作る / 製品を正しく作る - ninjinkun's diary

    Inspired: 顧客の心を捉える製品の創り方を読み返していて、「第7章: プロダクトマネージャーを管理する」の一節 エンジニアリング部門というのは、基的に、正しい製品を作ることではなく、製品を正しく作ることに専念することになっているからだ。 というところが引っかかったので、思うところを書いてみる。ちなみに「第5章: プロダクトマネジメントとエンジニアリング(実装)」にも「正しい製品を作るのか、それとも、製品を正しく作るのか」というタイトルの章がある。 エンジニアは製品を正しく作る エンジニアは製品をリリースする責任があるので、不確定要素を減らして正しいスケジュールでリリースすることにモチベーションがある。このために、開発が進むほどにエンジニアは保守的になっていく。企画段階では和気藹々とブレストしてアイデアを出していても、最後のリリース前にはしぶい顔で実装を拒んだりする。 エンジニア

    正しい製品を作る / 製品を正しく作る - ninjinkun's diary
  • うまくメソッド名を付けるための参考情報 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    うまくメソッド名を付けるための参考情報 - Qiita
  • プログラマが体験するべきではない50の危険なこと - Cube Lilac

    Togetter - 「プログラマが体験するべき50の危険なこと」 が面白かったのでリスト化してみました(タイトルはこっちの方が適切な気がしたのでちょっと変えましたzzZ).タイトルの元ネタは プログラマが知るべき97のこと かと思ったら 子どもが体験するべき50の危険なこと だそうです.類似シリーズとして,プログラマが知るべきではない97のこと,プログラマの嫁が知るべき97のこと も併せてどうぞ. twitterにハマる ノートPC持ったまま飲み会参加 なれる!SEを読む root権限を持つ rm -rf / crontab -r 「AAA」とかいう変数名 乱立するxxxStringクラスシリーズ ヘッダファイルがランダム 「コード汚いから1から書き直そう!!」 テストコードのないリファクタリング コンフリクトしたソースコードを強制コミット SVNでのコミット合戦 バージョン管理なしでの

    プログラマが体験するべきではない50の危険なこと - Cube Lilac
  • 本当に有意義なエラーメッセージを書くには | POSTD

    想像してください。あなたは今、オフィスにいます。周りとは仕切られた個別スペースです。今週は、近々新たに展開する予定の製品を紹介するために多くの時間を割いてきました。疲れが溜まり、不機嫌ぎみになっています。今はようやく近づいた週末が待ち遠しくて仕方ありません。 しかしその前に、新製品を紹介するホームページがWindows 10で正常に動かくかどうかを試してみなければなりません。あなたは問題ないはずだと信じています。あなたが信頼を寄せているMacには、Windowsを問題なく実行できるソフトもインストールされています。 ソフトを起動してみると、丁寧にもWindowsがポップアップ通知で可能なアップデートがあることを知らせてくれます。もちろんアップデートを開始するため、あなたは了承します。 すると、こんなものを目にするのです。 訳:何かが発生しました。 何かが発生。 新製品の準備のため期限が迫っ

    本当に有意義なエラーメッセージを書くには | POSTD
  • ひどいソフトウェア作りたくなくて考えること - hitode909の日記

    ソフトウェア作ってるとどうしようもないひどい状況になったり、知らないプロダクトを読んだらひどい状況になってたりすることがあって、どんなときにそういうことになるのか、必ずそうなるのか、そうなることを予見できないか、完成したソフトウェアを見てひどいかどうか判定できるか、とか気になってる。 作ってる途中に気付けないものか 作る前に気づけることはあるかひどいのは分かってるけどやるしかないときにだけひどいものができるのか時間はあるけどやる気がないとそうなるのかプライベートでなんかあるとそうなるのか書いてから時間が経つと大体のものはそうなるのかコードは正しくて読者が使われてるパターンに理解がないだけなのかパターンの使い方が変だと読めなくなるのか当時と環境、社会情勢や実行環境、データ量、などが変わってひどくなるのかいい技術が発明される前なのでしかたないのかいい技術が発明されたときにキャッチアップすべきか

    ひどいソフトウェア作りたくなくて考えること - hitode909の日記
  • ゲームボーイアドバンスのゲームを書こう | POSTD

    子どもの頃は、ゲームボーイのゲーム(たいがい、かなりひどいもの)で遊ぶのにたっぷり時間を費やしました。 これまでは「標準の」一般的な目的に使われるコンピュータ以外のためにコードを書いたことはなかったのですが、最近考えるようになりました。 「ゲームボーイ(アドバンス)のゲームは簡単に書けるだろうか?」 ゲーム機には詳しくない方のために説明すると、ゲームボーイアドバンス(GBA)は、任天堂が発売した人気携帯型ゲーム機でした(写真下)。 240 x 160 (3:2) 15ビット カラーLCDディスプレイ、6種類のボタンと十字キーが付いています。 ゲームボーイアドバンス 内部を見ると、GBAのCPUは32-bit ARM7TDMI RISCコア(16.78MHz)です。 標準の32-bit ARMのインストラクションのほかに、 このチップは16ビットThumb のインストラクションも実行できます

    ゲームボーイアドバンスのゲームを書こう | POSTD
  • 障害の事後分析を読んで得た教訓 ― 「何がシステムを停止させるのか?」 | POSTD

    私はポストモーテム(事後分析)の記録を読むのが大好きです。ポストモーテムを読むと勉強になりますが、大抵の教材的資料とは違って、興味深いストーリーが含まれているのです。相当な時間をかけてGoogleMicrosoftのポストモーテムを読みました。大きな障害を招く最大の原因について、私は(まだ)きちんと分析していませんが、何度も繰り返し目にするポストモーテムのパターンがいくつかあります。 エラーハンドリング 適切なエラーハンドリングのコードを書くのは難しいものです。エラーハンドリングのコードに含まれるバグは、 大きな 問題を引き起こす主な原因となっています。つまり、エラーによってバグのあるエラーハンドリングのコードが実行されるということは、単に個々のエラーが重なるだけという事態にはとどまらないのです。障害が重なって重大なシステム停止につながることはよくあります。それはある意味明らかなことで、

    障害の事後分析を読んで得た教訓 ― 「何がシステムを停止させるのか?」 | POSTD
    Watson
    Watson 2015/09/26
    単純にエラーを無視してると、重大な障害になりかねないとのこと
  • 20億行のコードを保存し、毎日4万5000回のコミットを発行しているGoogleが、単一のリポジトリで全社のソースコードを管理している理由

    20億行のコードを保存し、毎日4万5000回のコミットを発行しているGoogleが、単一のリポジトリで全社のソースコードを管理している理由 Googleは検索サービスやGoogle Apps、Google Cloud Platformなど巨大なサービスを多数運営しています。その同社は、20億行にもおよぶソースコードの管理をサービスやプロジェクトごとに分けず、すべて単一のリポジトリで管理しているそうです。 先週9月14日にサンノゼで開催されたイベント「@Scale」で、Googleによるセッション「The Motivation for a Monolithic Codebase: Why Google Stores Billions of Lines of Code in a Single Repsitory」(単一コードベースへの取り組み:なぜGoogleは単一リポジトリに数十億行ものコー

    20億行のコードを保存し、毎日4万5000回のコミットを発行しているGoogleが、単一のリポジトリで全社のソースコードを管理している理由
  • 関数や変数のネーミングに悩んだら「codic」に日本語名を入力するとある程度解決するかも

    codicとは codicは、日頃、変数名や関数名に頭を悩ませるプログラマのためのネーミング辞書です。 以前は、プログラマ向けの単語辞書といった感じだったのですが、Ver.3からは、「日語を入力すると、ふさわしい名前を勝手に生成してくれる」という仕様になりました。 例えば関数名を作るのに、「従業員数を取得する」と入力するだけで「get_employee_count」という名前を勝手に生成してくれます。 これだけでも、かなり便利なんですが、codicにはその他にも、プログラミングのための便利な機能が満載だったので、その使い方などを紹介したいと思います。 codicの使い方 codicの主な機能は、日語を入力すると、勝手にネーミングを生成してくれると言うことです。 ただ、ちょっとした使い方次第で、より便利に利用できるので、その使い方などの紹介です。 基機能まずは、基的な機能、「日語→

    関数や変数のネーミングに悩んだら「codic」に日本語名を入力するとある程度解決するかも
  • GitHubエンジニアによる「リファクタリングにおける冒険とは」の翻訳 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    GitHubエンジニアによる「リファクタリングにおける冒険とは」の翻訳 - Qiita
  • ノウハウの共有文化がない場所にコードレビューをねじ込んでみた結果とか - タオルケット体操

    コードレビューをキメると品質も上がるし自分のレベルも上がるので最高」みたいな論が巷を賑わせていて、以前はそういうイケてる制度を指をくわえてみるのみだったのだけれど、最近職場と、それと個人的に関わったプロジェクトコードレビュー制を無理矢理交渉して導入してみた結果、世間のイケてる書籍やエントリから得られる情報とはまた少し違う知見が得られたので書いてみる。 割と泥臭かったり、あまり希望に溢れてたりはしない感じのエントリなのでそういうのは期待しないほうがいいです。 準備 些末なコードレビューを極力避けるために、コードの規約やスタイルについてはlintとフォーマッターを用意した。 他は無策。 結論 結論から言うと、理想的な運用は出来なかったものの、コードレビューについて世間で言われるような成果(作業を共有する意識、レベルの向上)は得られた。良かった。 ぶっちゃけ僕なんかが浅はかな考えで導入しても

    ノウハウの共有文化がない場所にコードレビューをねじ込んでみた結果とか - タオルケット体操
  • 作り直し - hitode909の日記

    ソフトウェアを作ってて、作り直したり、書き直したりするべきかどうかという話をすることがある。 大きな規模だと、ソフトウェアを作り直す、というところから、小さな規模だと、込み入った機能を書き直す、くらいまであるけど、作り直すとうまくいくのは、次の二つのうちどちらかではないか。 最初に作ったときより世の中の技術が発展したとき 昔のコンピュータでは収まらなかったとか、昔は良いライブラリがなかったけど、今はある、というとき。 単に今ありふれた技術で作り直すと、よいものができそう。 最初に作ったときよりはコンピュータのスペックが上がったので、そのつもりで、並列度倍に上げても止まらないし、より速く動かせる、とか。 昔はバッチで計算しないといけなかったけど、今ならリアルタイムに返せる、とか。 昔は依存管理のよいライブラリがなかったけど、今ならこれ入れたら簡単、とか。 最初に作ったときより人間の技術が発展

    作り直し - hitode909の日記
  • 初心者から上級者まで、たくさんのプログラミング問題を解けるサイト7選 -

    Photo by Matt Ryall こんにちは。谷口です。 ITエンジニアの皆さんや、プログラミングを学習中の皆さんは、プログラミング問題を解くのはお好きでしょうか?(お好きな方が多い……と信じております……) プログラミングが好きな方の中には、「業務とは直接関係ないけどプログラミング問題をもっと解きたい!」また、「プログラミング初心者で勉強中だから、問題をたくさん解きたい!」という方もいらっしゃるかと思います。 また、競技プログラミングがお好きで既にばりばり挑戦されている方や、競プロに挑戦してみたいけど「まだ初心者だしいきなり挑戦するのはハードル高いな……まずは自分の実力アップのために練習したい!」という方も、ちょうどいいレベルのプログラミング問題が必要になってくるかと思います。 (※競技プログラミングとは、一般に、出題されたプログラミング問題を制限時間内に解いて競い合う競技大会のこ

    初心者から上級者まで、たくさんのプログラミング問題を解けるサイト7選 -
  • 無料で商用利用も可能なソースコードを読みやすくするためのタイプフェース「Hack」

    モニターに表示する文字間隔やx-height値などを調整し、ソースコードを読みやすくするためだけに作られたオープンソースのタイプフェースが「Hack」です。 Hack http://sourcefoundry.org/hack/ 「Hack」には等幅のレギュラー、ボールド、斜体、斜体ボールドの4書体があり、シンタックスハイライトに必要な全ての書体をカバーしています。ラテン語、現代ギリシャ語、キリル文字など1500以上の記号が含まれ、多言語にも対応。また、powerlineにも対応しており、インストールするだけでパッチなどを当てることなく利用可能です。 以下のスクリーンショットが実際にソースコードをHackで表示した例。文字間隔は8px~12pxで、x-height値は大きめになっているなど、デスクトップやノートPCモニターでコードが読みやすいように設定されています。余計な飾りや仕掛けはな

    無料で商用利用も可能なソースコードを読みやすくするためのタイプフェース「Hack」
  • ゲーム パフォーマンス: データ指向プログラミング

    .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

    ゲーム パフォーマンス: データ指向プログラミング
  • ビジュアル構文解析

    The document appears to provide a detailed breakdown of a parsing algorithm, likely related to LR parsing techniques, with various production rules and shifting/reducing operations listed. It includes examples of parsing expressions involving numbers, addition, and multiplication. Overall, it serves as a technical guide for understanding and implementing LR parsing methods in contextual grammar.

    ビジュアル構文解析
  • 1分で感動

    【水辺で遊ぶ時の一番の溺れる理由】(1/3)・急な深み・後追い沈水この二つはこの季節水辺で遊ぶ際特に注意しましょう#生還図鑑 pic.twitter.com/hvd1NcjOVS — 大塚志郎 漫画を色々発表…

  • iOS9 ATS問題 - Qiita

    iOS9で問題になりそうなATSをまとめました。 ご指摘事項あれば是非コメントをいただきたいです。特にAFNetworkingまわり・・。 AFNetwotking部分は下に記載していますが、iOS8向けのビルドでiOS9端末でも発生したので要注意です。 2015/09/21追記 iOS9GM以降は(もうreleaseされちゃいましたが・・)AFNetworkingでの証明書判定がiOS8とおなじになりました。。。 2016/07/27追記 toshi0383さん 修正依頼ありがとうございます。 1年間間違っていることに気が付きませんでした。。修正ありがとうございます。 App Transport Security App Transport Security (ATS) enforces best practices in the secure connections between a

    iOS9 ATS問題 - Qiita