タグ

プログラミングに関するtsuyokのブックマーク (34)

  • シンプルさの必要性 · eed3si9n

    2013-06-24 2012年4月23日にテキサスの Austin で行われた RailsConf 2012 での Rich Hickey (@richhickey) さんによる基調講演、Simplicity Matters を書き起こして翻訳しました。 Rich Hickey さんは Clojure や Datomic の作者です。 この翻訳は Creative Commons Attribution ShareAlike 3.0 ライセンスに基いて公開します。 Rich Hickey 講演 e.e d3si9n 訳 談: こんにちは。ご招待いただきありがとうございます。 聞く所によると RailsConf はいつもコミュニティーからかなり外れた人を選ぶらしく、今回は僕ということになりました。 僕の電話ボックスは外に駐車してあります。(会場、笑) だけど、今日は言語の壁を越える話題を持

  • 何かのときにすっと出したい、プログラミングに関する法則・原則一覧 - Qiita

    エンジニア組織を強くするためのを出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 デメテルの法則 別名最小知識の法則。デメテルは、豊穣の女神。アスペクト指向などの研究であった「デメテルプロジェクト」に由来。 基的な考え方は、任意のオブジェクトが自分以外(サブコンポーネント含む)の構造やプロパティに対して持っている仮定を最小限にすべきであるという点にある。 単純化して説明すると、オブジェクトの"メンバーのプロパテ

    何かのときにすっと出したい、プログラミングに関する法則・原則一覧 - Qiita
  • 職業Web系エンジニアに必要なこと - Qiita

    学生時代まで一人でしかコードを書いてこなかったひよっこエンジニアが、「企業で、チームで作るってこんな別種の大変さがあるのか!」とビクンビクンした話です。僕がある企業のAPIエンジニアとして1年間学び、そこで得たことを書こうと思います。 目次 チームで作るということ 障害との向き合い方 新しい技術の導入に必要なこと チームで作るということ 優先度と見積もり 「俺が作りたいもの作るぜ!!俺様の気の向くままに気が向いたときに作るんだURYYYYY!!」みたいなノリは当然ダメです。つらいですね。 (社内の立ち位置によっては許されるかもですが) やるべきタスクは何か? 優先度は? それぞれの見積もりは?リリースはいつか? タスクの依存関係は? 今は進捗遅れてるの?遅れてるとしたらどうするの? 僕らの労働時間はリソースなので、これらをチーム内にもチーム外にも説明できるようにしておかないといけません。

    職業Web系エンジニアに必要なこと - Qiita
  • JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト

    1. 実践JUnit xUnitTestPatternsから学ぶユニットテスト 2012.06.16 OSC 2012 北海道 Shuji Watanabe (@shuji_w6e) 1

    JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
  • 米大統領「全ての人よ、プログラミングを!」 | Life is Tech!(ライフイズテック)

    「全ての人よ、プログラミングを!」 アメリカのオバマ大統領が、全てのアメリカ人に対して、 プログラミングの大切さを伝えたメッセージが公開されました。 まずは動画と、和訳、原文です。 <和訳> みなさんこんにちは! 私は今週、「アメリカの学校でコンピューターサイエンスをサポートし、 新たな、そして大きなステップを踏み出す会合」に参加しました。 (学生、先生、ビジネスマン、そしてNPO達が参加してました。) こういったスキルを学ぶのは単に将来に役立つからというだけではありません。 我が国の将来に必要なのです。 我が国が最先端をゆく国であり続けたいのであれば、 私達の生活を変えてくれるような、ツールや技術を習得した、 あなたたちのような若い人が必要なのです。 だから、私はあなたたちにやってほしい! 新しいゲームを買うだけではなく、つくってみよう! 最新のアプリをダウンロ

    tsuyok
    tsuyok 2013/12/10
    大統領が!
  • Continuous Modeling - Fly me to the Luna

    みなさまご無沙汰しております。僕はここの所、残業はしないまでも毎日クタクタになるほど忙しい毎日を過ごしています。どんな仕事か一言でいうと、あるプロダクトのアーキテクチャを刷新するお仕事です。今までできなかったあれやこれやを実現するために、既存のアーキテクチャを改善したり、作りなおすお仕事です。今はまだ始まったばかりで、方針を決めるために、既存のアーキテクチャ上に機能拡張してみて問題点を調査したり、どう改善するのか方針案を考えたり、実際に改善案を少しずつやってみたりしています。 このプロジェクトは、それほど大所帯ではないですが、他の会社のエンジニアさんも加わるなど、結構スキルセットがバラバラです。そのため、久しぶりにペアプロで作業を回しています。1日じゅうペアプロすると、一日の終わりの頃には頭がクタクタです。久しぶりです、この感覚。楽しい。 さて、既存のアーキテクチャを見ていくと、10年以上

    Continuous Modeling - Fly me to the Luna
  • #俺が見たクソコード選手権 まとめ

    ハッシュタグ #俺が見たクソコード選手権 が賑わっていて面白かったのでまとめてみました。 こちらに簡単な補足説明を用意しました。よろしければどうぞ http://elephnote.com/blog/archives/874 気持ちのわかるものから全く意図不明なものまで。 続きを読む

    #俺が見たクソコード選手権 まとめ
  • Microsoft PowerPoint - マイナビ130626.ppt [互換モード]

    © NISHI, Yasuharu ソフトウェア品質は“ユーザー主導”の時代へ ― タイムリーかつ"納得感"のあるシステム構築に重要な「受入れテスト」フェーズ ― マイナビニュース 「ソフトウェア品質」サミット 2013/6/26(水) 電気通信大学 大学院情報理工学研究科 総合情報学専攻 経営情報学コース 西 康晴(Yasuharu.Nishi@uec.ac.jp) © NISHI, Yasuharu 2 自己紹介 • 身分 – ソフトウェア工学の研究者 » 電気通信大学 大学院情報理工学研究科 総合情報学専攻 経営情報学コース » ちょっと「生臭い」研究/ソフトウェアテストやプロセス改善など – 先日までソフトウェアのよろず品質コンサルタント • 専門分野 – ソフトウェアテスト/プロジェクトマネジメント /QA/ソフトウェア品質/TQM全般/教育 • 共訳書 – 実践ソフトウェア・エ

    tsuyok
    tsuyok 2013/06/28
    名言「丸投げとは、何を委託しているかもよく分からず、委託先が何をしているかもよく分からずに、仕事を委託することである」けど、あるあるすぎる
  • Evan Priestley 氏がどうやってプログラミングを学んだかを教えてください - Knoh (ノウ) | The Knowledge Hub

    人による回答です。Evan Priestley 氏は知る人ぞ知る、Facebook を代表する (元) エンジニアの一人です。Facebook には 2007 年から 2011 年の間に在籍していました。 手短かに言えば: 何年もの歳月の賜物というか。ぼくはただひたすらプログラミングが大好きで、(フェイスブックで働いていた) 過去4年間、ほとんど他のことをしていない。その前も2.5年ほどプログラマーとして働いていたし、そのさらに前も6年くらい趣味でプログラミングをしていた。ぼくは高校も大学も中退しているので、それで空いた時間もプログラミングに費やした。つい最近フェイスブックを辞めたけど、未だに起きている時間のほとんどはプログラミングだ。 もっと詳しく言えば: 月並みだが、ぼくはちっちゃい頃からコンピューターが好きで、我が家にあったヤツで(最初はMac Plusで途中からIIsiになった)

    tsuyok
    tsuyok 2013/05/28
    「この「質v.s.スピード」という概念は根本的に間違っていると思う。」「フェイスブックでは「質v.s.スピード」ではなく「質=スピード」を念頭にソフトウェアを書いてきた。」
  • 優れたプログラマーの7つの資質

    印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます 優秀なプログラマーであるためには、自分の持つスキル、経験、知識から、動くコードを生産するための資質を持っている必要がある。技術的なスキルは持っていても、必要な資質を持っていないために優秀なプログラマーになれない人もいる。この記事では、偉大なプログラマーになるために必要な7つの資質を紹介する。 1.自発的に新しい技術的・非技術的スキルを習得する だめなプログラマーは、どうしても必要になった時にしか学ぼうとしない。よいプログラマーは、積極的に新しい技術的スキルを習得する。偉大なプログラマーは自ら新しい技術的なスキルを学ぶだけでなく、技術以外のスキルも学び、ほかの人なら考えもしないような情報源に対してもオープンな態度で接する。 具体的に例を挙

    優れたプログラマーの7つの資質
    tsuyok
    tsuyok 2013/05/22
  • Strategic Choice

    Problemこのクラスは大きすぎて、もうこれ以上大きくしたくありません。「単一責務の原則」を適用してクラスを分割しようと思います。分割の具体的な方法がわかりません。Strategy「クラスの抽出」を適用します。どんなとき?「単一責務の原則」を適用してクラスを分割しようと思います。責務を把握したので、分割の実装を行いますが、具体的な方法がわかりません。どうする?「クラスの抽出」リファクタリングを適用します。ほとんどのレガシーシステムにおいて、最初にできることは、「実装レベル」で単一責務の原則を適用することです。つまり、大きなクラスから「クラスの抽出」をして、抽出クラスに委譲することです。「インタフェースレベル」で単一責務の原則を導入するには、より多くの作業が必要です。クラスの呼び出し側を変更しなければならず、テストも必要になります。まず、実装レベルで単一責務の原則を導入しておくと、将来イン

  • システム設計日記

    テスト駆動開発 和田卓人(t-wada)さんによる『テスト駆動開発』の新訳版が出版されました。 オブジェクト指向でソフトウェアを開発するのであれば、このとマーチンファウラーの『リファクタリング』は必読書だと思います。この古典ともいえる『テスト駆動開発』が和田さんの手によって新訳版として復刊されたことは、ほんとうにすばらしいことです。 このが出版された経緯と、和田さんはじめ関係者の方々のご努力については、和田さんの、このブログをぜひ読んでいただければと思います。 新訳版『テスト駆動開発』が出ます 新訳は、単に原著が日語で読めるようになっただけではありません。和田さんの手によって、原著にはない新たな価値が付け加えらました。 一つは、サンプルコードの工夫です。 できるだけ省略はしない変更箇所を目立つようにした各章末にその時点での全コードを記載する これらの工夫により、に書かれた内容が、

  • プログラミング出来ない奴ちょっと来い

    プログラミング出来る方法教える。 世の中「プログラミング言語」を説くはごまんとあれど「プログラミング」を説くやブログはあまりない。 いや実際に "ない" というのはかなり語弊があるかもしれない。 しかし、通常この種の説明しているに辿り着くまでには多くの時間が必要だ。 普通の人は、多くの間違った方法を試し、その都度試行錯誤を重ね、プログラミング経験を経ることよって、重要な概念を獲得するのだと思う。 例えば、「計算機プログラムの構造と解釈」や「実用 Common Lisp」、「コンピュータプログラミングの概念・技法・モデル」などの書籍は現実の問題に対し "プログラム" をどう書くかという問題に正面から取り組んでいる良書だ。 しかし、どれだけ”普通の”プログラマが上記のような書籍を読んでいるのだろうか。 そして、"普通のプログラマ" がプログラミングを学ぶ書籍として、それらは果たして適切と

    プログラミング出来ない奴ちょっと来い
  • Javaはどのように動くのか~図解でわかるJVMの仕組み 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    Javaはどのように動くのか~図解でわかるJVMの仕組み 記事一覧 | gihyo.jp
  • Javaはどのように動くのか~スライドでわかるJVMの仕組み

    Javaユーザーグループ JJUG ナイトセミナー 2 月 27 日(水) http://www.java-users.jp/?p=309 注:サンプルソースはあくまでも例であり、その修正例も完全なものではありません。Read less

    Javaはどのように動くのか~スライドでわかるJVMの仕組み
  • 優れた仕様を決定するために必要なこと - GoTheDistance

    たまにはブログ更新したいから、ついさっき流れてきたエントリにいついちゃうよー。 ソフトウェア設計とは何か 〜 設計にはプログラミング経験が必要か否か | Social Change! 工程の分断はあり得ません ソフトウエアの設計に実装経験が要るか要らないかというのはそもそも議論にならない。「ソフトウエアの設計=仕様の設計+コードの設計」なんだから、例えればコインの表と裏。それらは引き離すことは出来ないのに引き離して分業しようとするからよろしくないことが起きてしまうというのが、上記記事の主題かと思います。簡単に言えば。 僕もこの点については「工程の分断」という言葉で何度も書いています。コインの表と裏であるべきものを分断してしまうと、互いのフィードバックを得る術を無くしてしまいます。そうなったら良いことは無い。ここは誰でも納得がいく所でしょう。 仕様を設計するチャンスって超少ないんじゃない?

    優れた仕様を決定するために必要なこと - GoTheDistance
    tsuyok
    tsuyok 2013/01/22
    「優れた仕様を決める一番手っ取り早い方法は、自分がコード書いてそれで他人の仕事を回してあげること。」
  • 世界で闘うプログラミング力を鍛える150問 〜トップIT企業のプログラマになるための本〜 - iwiwiの日記

    先行発売のお知らせ (11/7 追記) 以下の店舗で先行発売が行われているらしいです. 紀伊國屋書店 新宿店 (https://twitter.com/KinoShinjuku/status/265658160222724096) 紀伊國屋書店 新宿南店 (https://twitter.com/kino_Minami/status/265405470548844546) ジュンク堂書店 池袋店 (https://twitter.com/junkudo_ike_pc/status/265677297430978562) 有隣堂 ヨドバシAKIBA店 (https://twitter.com/yurindo_akb/status/265648944745426945) 丸善 丸ノ内店 なお,電子書籍版の発売も予定しているそうですが,調整中とのことで少し後になりそうです. 原著は既に第5版

    世界で闘うプログラミング力を鍛える150問 〜トップIT企業のプログラマになるための本〜 - iwiwiの日記
  • codic - デベロッパーのためのネーミング辞書

    codicは、プログラマーのためのネーミング辞書です。新しいcodicでは、翻訳エンジンを搭載しネーミングをジェネレートできるようになりました。

    codic - デベロッパーのためのネーミング辞書
    tsuyok
    tsuyok 2012/09/30
    使えそう
  • オブジェクト指向の設計と実装の学び方のコツ

    1. 学習パターンを実践する オブジェクト指向の設計と実装の 学び方のコツ 2012年9月12日 有限会社 システム設計 増田 masuda@system-sekkei.com Twitter : @masuda220

    オブジェクト指向の設計と実装の学び方のコツ
  • ITアーキテクトの要求開発力向上作戦

    私が要求開発やコンサルティングなどを行っているとき,UMLのクラス図によるモデリングについてよく聞かれることがあります。それは,「どうやったらモデリングが上手くなりますか?」という質問です。 そうした場合,私は「プログラムを書いたらいいですよ」とか「モデルを理解するためにも,プログラムを書いてみましょう」といったたぐいのことを,よく言います。 しかし,こう回答すると,とても嫌な顔をされることがあります。「実装はプログラマのやることだろ」とか「プログラムを書かずにうまくなれないですかね~」などと言われたりします。確かにTFP分割によるモデル図などは,ユーザー系の方でも「読めたり」または「書けたり」するので,プログラミングまでする必要はないかもしれません。 誤解のないよう,ここで要求開発に携わる人の役割を定義しておきましょう。ビジネスユースケースや要求ツリー,業務フロー,TFP分割図(読み書き

    ITアーキテクトの要求開発力向上作戦
    tsuyok
    tsuyok 2012/09/04
    結構すごいことが書いてあるけど同意しちゃう