ブックマーク / qiita.com (91)

  • 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita

    あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 「オブジェクト指向プログラミング」と「関数型プログラミング」のたった一つのシンプルな違い あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 この記事について この記事は新人向けの研修内容を再編集してお送りいたします。 ここで述べる内容はどのようにして現在のプログラミングスタイルが生まれてきたかを理解することで、よりよいプログラムを書くためのもので、正確なソフトウェア工学の歴史を学ぶためのものではありません。正確な歴史を把握したい場合は、原典をあたるようにしてください。 また、想定している読者は「よくあるオブジェクト指向プログラミングの学習」を既にし

    新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita
    aobon700
    aobon700 2017/10/01
  • オブジェクト指向と10年戦ってわかったこと - Qiita

    この記事の内容 オブジェクト指向は難しい!わかった気になって実践すると詰みます... ウギャー この記事は10年以上オブジェクト指向と戦った筆者が、通常とは異なるアプローチでオブジェクト指向を解説したものです。 筆者はJavaを使って格的なシステム開発をしたことがありませんが、オブジェクト指向言語として最もポピュラーなJavaをベースにオブジェクト指向について解説させていただきました。 また、この記事の続編にあたります「なぜオブジェクト指向は難しいのか」を更に2年の時を経て執筆させて頂きました!是非こちらも一読していただけると嬉しいです。 オブジェクト指向三大要素の謎 オブジェクト指向三大要素ってありますよね。オブジェクト指向は「カプセル化」「継承」「ポリモーフィズム」の3つの要素で成り立つと言われています。最近では、この三大要素が語られる傾向は薄いようですが、一度は耳にしたことがある

    オブジェクト指向と10年戦ってわかったこと - Qiita
    aobon700
    aobon700 2017/09/17
  • 分岐アンチパターン - Qiita

    「秩序のない分岐なんてほろんじまえ!!!!」 レガシーなシステムを触った時に、こう思ったことはあるのではないでしょうか。 私にもよくそう思うときがあります。 そんな絶望を生み出さないように分岐に関するアンチパターンと対策を考えてみました。 まず、なぜ生み出されるのかを書き出してみましょう。 秩序のない分岐 たくさんの分岐 →迷子になる ネストが多い →インデントが見づらい。 分岐ごとに条件が複雑 →覚えるのがつらい。 気づいたらスパゲッティコード →処理を追っている間にお腹が空き、スパゲッティをべちゃうので太る。 テストがしづらい。テストケースが作りづらい。 →テストをするためのテストが必要とか言い出してしまう。 ifだけに畏怖 →書きたかった。 分岐処理に出会った時、これだけの問題があることに気づきました。 私はもう絶望したくないし、私のように絶望する人を作りたくない。(そして太りたく

    分岐アンチパターン - Qiita
    aobon700
    aobon700 2017/09/16
  • ビジネスホテルで一人開発合宿する - Qiita

    ビジネスホテルはたまに利用するのですが、結構居心地が良いんですよね。仕事が捗ったこともありました。 ふと「一人開発合宿できるんじゃね?」と思い立ち、試してみたところ好評でしたので、今回まとめてみました。 対象読者 開発に専念したい(けど現状できてない)と考えている方 例1: 「最近だらけてるなー、開発アイデアはあるんだけど腰が上がらないんだよな……」 例2: 「思う存分、誰にも邪魔されずに開発しまくってみたいなぁ」 多人数参加型の開発合宿が合わずにモヤモヤしている方 一人開発合宿について興味を持った方 一人開発合宿とは まずは一般的な意味での「開発合宿」と、そこから派生した「一人開発合宿」について概要を話します。 開発合宿とは 開発合宿とは、開発を行うための合宿です。一般的には以下のニュアンスがあります。 複数人で行う 旅館に泊まる 開発は大会議室を借りて、そこに機材とか持ち込んで行う そ

    ビジネスホテルで一人開発合宿する - Qiita
    aobon700
    aobon700 2017/08/18
  • 初心者がchainerで線画着色してみた。わりとできた。

    デープラーニングはコモディティ化していてハンダ付けの方が付加価値高いといわれるピ-FNで主に工作担当のtai2anです。 NHKで全国放送されたAmazon Picking Challengeでガムテべったべたのハンドやロボコン感満載の滑り台とかを工作してました。 とはいえ、やっぱりちょっとディープラーニングしてみたいので1,2か月前からchainerを勉強し始めました。 せっかくなので線画の着色をしたいなーと思って色々試してみました。 線画の着色は教師あり学習なので線画と着色済みの画像のデータセットが(できれば大量に)必要です。 今回はOpenCVでカラーの画像から線画を適当に抽出しています。 抽出例 → カラーの画像を集めて線画を作ればデータセットの完成です。(今回は60万枚くらい使っています) ネットワークの形ですが、U-netという最初の方でコンボリューションする時の層の出

    初心者がchainerで線画着色してみた。わりとできた。
    aobon700
    aobon700 2017/05/08
  • IBM Watson 知りたいこと早わかり ~ 何ができる「知能」なのか、従来の 機械学習 や DeepLearning との違い、Watsonアプリ の開発環境、Watsonアプリ 開発事例コード、産業利用の事例 を ワン・ストップ で まとめて おさえる - Qiita

    IBM Watson 知りたいこと早わかり ~ 何ができる「知能」なのか、従来の 機械学習DeepLearning との違い、Watsonアプリ の開発環境、Watsonアプリ 開発事例コード、産業利用の事例 を ワン・ストップ で まとめて おさえるWatson人工知能PepperPrologCognitive-computing 0. がん患者の病名判断で、日国内で実績を上げたIBM Watson NHK NEWS WEB 8月4日 19時10分 「人工知能 病名突き止め患者の命救う 国内初か」 東京大学医科学研究所の附属病院は、アメリカの大手IT企業IBMなどと協同で、人工知能を備えたコンピューターシステム「ワトソン」に2000万件に上るがん研究の論文を学習させ、診断が極めて難しく治療法も多岐にわたる白血病などのがん患者の診断に役立てる臨床研究を進めています。 このうち60代

    IBM Watson 知りたいこと早わかり ~ 何ができる「知能」なのか、従来の 機械学習 や DeepLearning との違い、Watsonアプリ の開発環境、Watsonアプリ 開発事例コード、産業利用の事例 を ワン・ストップ で まとめて おさえる - Qiita
    aobon700
    aobon700 2017/04/28
  • 線画着色webサービスPaintsChainerを公開した - Qiita

    http://paintschainer.preferred.tech こちらに先月記事にした線画の着色のデモを公開しました!! 反響の大きかった皆さんに試していただけます!!(ちょっと期待値が上がり過ぎてないといいですがw) http://qiita.com/taizan/items/cf77fd37ec3a0bef5d9d 以前の記事『初心者がchainerで線画着色してみた。わりとできた。』はこちら。 ⇓そしてこちらがもじゃくっきーさんの使用例になっております。 GPUを使っている関係上アクセスが集中したりすると遅くなったりサーバーが落ちたりする可能性もありますが、生暖かく見守っていただければと思います。←たくさんの方に広まったこともあって、めっちゃ重くなっています。ぐぬぬぬ 画面はこんな感じっす。 線画ファイルを選択するととりあえず自動で塗ってくれます。 ※ただし、現状ではgifや

    線画着色webサービスPaintsChainerを公開した - Qiita
    aobon700
    aobon700 2017/01/29
  • DIS例2 / PHPは配列型と辞書(HaspMap)型が区別不能な言語! | PHPを使いもせずDISってる君達へ - Qiita

    PHPはよくDISられることがあります。しかし、実際にはほとんどPHPを利用していない人が印象だけでDISってることが多いような気がします。 そこで、PHPがよくDISられている点について、実際どうなのかをPHP未体験者向けに解説していきたいと思います。PHPを触ったことない人でもわかりやすいようにシンプル目な仕様のRubyを例に説明していきたいと思います!( Ruby触ったことなくても、その他のOOP言語を触ったことあれば雰囲気は理解できるように書いています ) DIS例1 / PHPは配列操作がしづらい PHPの配列操作は扱いづらい等とDISる人たちがいます。実際のところどうでしょうか。 以下のような処理を配列への中間変数を用いず行うコードを例に考えてみます。 0. [2,4,6,8,10]という配列を用意して 1. ↑の配列から8以下の数だけを選択した配列を作る 2. ↑の配列から各

    DIS例2 / PHPは配列型と辞書(HaspMap)型が区別不能な言語! | PHPを使いもせずDISってる君達へ - Qiita
    aobon700
    aobon700 2016/12/15
  • null安全でない言語は、もはやレガシー言語だ - Qiita

    これらは、表中の「リプレース対象言語」に挙げたように、多くのメジャー言語に対する代替手段でもあります。 Java の代わりには Kotlin や Ceylon が、 JavaScript には TypeScript や Flow が、 Objective-C には Swift が、そして PHP には Hack があります。 Python は自身に null 安全 を取り込みました。 Crystal は直接 Ruby と連携して使えるわけではありませんが、 Ruby 風の null 安全 な言語です。 RustC++ の代替を目指して開発され、 Firefox の一部で C++ のコードを置き換えるのに使われています [^100] 。 null が引き起こしてきた数々の問題を考えると、僕は、 null 安全 は GC (やその他の安全なメモリ管理手法)に匹敵するプログラミング言語の進

    null安全でない言語は、もはやレガシー言語だ - Qiita
    aobon700
    aobon700 2016/11/07
  • JavaScript中級TIPS - Qiita

    文字列リテラル HTMLを含む文字列を生成する際に便利なため、囲む時はシングルクォート'hoge'がよい セミコロン 末尾にセミコロンをつけなくても解釈してくれるが、バグを生む可能性があるのでセミコロンはつけるように習慣化する ES6のclass記法のメソッド末尾にはセミコロン不要 同値比較 基的に===をつかう。==だと寛容過ぎる解釈のため、バグを生むことがある。 短絡評価 hogeFuncの引数にtrue相当の値が入ってきた場合、 ||の右側は読まれない。 hogeFuncの引数にfalse相当の値が入ってきた場合、 (false, null, undefined, NaN, "", 0) ||の右側を読みにいく。 function hogeFunc(e){ e || console.log('piyo'); } hogeFunc(1); // 何も出力されない。もし短絡評価がなけれ

    JavaScript中級TIPS - Qiita
    aobon700
    aobon700 2016/08/10
  • エンジニアのハマり時間とその技術的難易度の相関関係 - Qiita

    めちゃくちゃにハマったからと言って、その問題は技術的難易度が高い訳ではないんじゃね?という話。 ここで言う「ハマる」とはなにかに夢中になって没頭することではない。バグとかエラーがあって、なかなか解決できなくてそのために時間を割かれてハマる、の「ハマる」。 先日、ハマった問題が解決した時の感情は「ついに解決したぞ」という安堵感と「しょーもないハマりポイント作りやがって、あのボケが!」という前任者への怒りが混ざった状態だった。 サイトのSSLの有効期限切れが2週間後にせまっていた。やる事は証明書の更新、新しい証明書をAWSのELBに入れること。ただこれだけ。しかしハマった。どうやってもELBから「あなたのキーは無効です」みたいなエラーメッセージが返ってきた。2年前にSSLを設定したエンジニア退職してしまって、もう居ない。その前任者とほぼ同じことをすればOkなはずなのに、なぜかできなかった。

    エンジニアのハマり時間とその技術的難易度の相関関係 - Qiita
    aobon700
    aobon700 2016/03/25