タグ

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

  • オブジェクト指向やデザインパターンはどんどんやるべき - 業務エンジニアの攻撃は最大の防御ブログ

    「オブジェクト指向にこだわった設計をしたい」「デザインパターンを使って良い設計にしたい」という人がいればドンドンやればいいと思います。 少なくとも個々の開発者の成長のためにはドンドンやらせるべきだと思います。 不真面目な考えかもしれませんが、そう思います。 色んな人が「オブジェクト指向やデザインパターンを中途半端な知識で使うな」という趣旨の事を仰っています 正論です。パターンや設計手法は「考え方の見」であり、それらを考えなしに使うというのは末転倒です 中途半端な知識でオブジェクト指向やデザインパターンをやろうとしたせいで処理が追いにくいだけのゴミの集まりになる事は数多くあります。 そのために、無駄に保守コストがかかったり、自分自身でそういうソースを書いてしまって後悔したりといった例も枚挙に暇がありません。 そういった経験から、デキる人達は警鐘を鳴らしておられるのだと思います けれど私は

    オブジェクト指向やデザインパターンはどんどんやるべき - 業務エンジニアの攻撃は最大の防御ブログ
    taka_zyawa
    taka_zyawa 2014/07/21
    同意。ただ、クソコードを良コードと勘違いして、どんどん黒魔術化する可能性もあるので、良い師範は必要だよなぁ。
  • プログラミング勉強中の人にオブジェクト指向とは何なのかを何となく伝えたい話 - かまずにまるのみ。

    この文章について OOP(オブジェクト指向プログラミング、オブジェクト指向パラダイム)について プログラミング勉強中の大学生さんに説明する機会が何度かあったので、 自分の中で整理するために書きました。 中には適切でない説明もあります。ばっさり省いているところもあります。 詳細より イメージを掴んでもらうことを優先しているためです。 「それにしてもあんまりだなー」という表現がありましたらご連絡いただけると嬉しいです。 大学生さん 大学生さんたちはいろんな背景を持っています。 プログラミングを始めたばかりの人 独学で Objective-C や JavaScript を書いた経験がある人 Web やコンピュータの仕組みについてもこれから勉強する予定の人 使用言語 大学生さんたちはプログラミングの第一歩として JavaScriptPHP を使っています。ここでは説明に PHP のコードを使

    プログラミング勉強中の人にオブジェクト指向とは何なのかを何となく伝えたい話 - かまずにまるのみ。
    taka_zyawa
    taka_zyawa 2014/04/07
    一番最初の「echo $user->name;」がオブジェクト指向的でないと思ってしまった。
  • 社内Java8勉強会 ラムダ式とストリームAPI

    先週Java8がリリースされましたが、さっそく社内での開発でも使うことになりそうです。 というわけで、Java8の目玉機能であるラムダ式とストリームAPIについて、社内勉強会を開催しました。 普段の社内勉強会よりも参加者数が多くて、みんなの関心の高さが伺えますね。

  • マイクロソフト、「MS-DOS」と「Word for Windows」のソースコード公開。コンピュータ歴史博物館への寄贈で

    マイクロソフト、「MS-DOS」と「Word for Windows」のソースコード公開。コンピュータ歴史博物館への寄贈で 米マイクロソフトは、同社が1982年にリリースしたIBM-PC向けオペレーティングシステムの「MS-DOS 1.1」および1983年の「MS-DOS 2.0」と、1990年にリリースしたWindows向けワードプロセッサの「Word for Windows 1.1a」のソースコードを、米カリフォルニア州マウンテンビューにあるコンピュータ歴史博物館に寄贈したことを明らかにしました。 同時に、この2つの製品のソースコードが同博物館のWebサイトで公開されました。 MS-DOSは、IBMが当時開発していたPCのためにマイクロソフトが開発したOSで、同社がPCのOS市場で圧倒的なシェアを築く礎となったソフトウェア。 Word for Windowsは、Windows用のワード

    マイクロソフト、「MS-DOS」と「Word for Windows」のソースコード公開。コンピュータ歴史博物館への寄贈で
  • テスト駆動開発/振る舞い駆動開発を始めるための基礎知識

    連載目次 2000年代初期に開発手法として確立された「テスト駆動開発」(Test Driven Development、以下「TDD」)は、その後10年もの間で普及が進み、今や珍しくない開発スタイルの1つとなっています。国内でも「アジャイルアカデミー」「TDD Boot Camp」などによる推進・普及活動が各地で活発化し、認知が広がってきました。 なおTDDは誕生からこれまでの間に、さまざまな工夫や実践上のノウハウが提唱されてきました。またTDDの普及に影響を受け、他のさまざまな「テストファースト」手法も台頭してきています。 稿では、そうしたTDDの発展や、振る舞い駆動開発(Behavior Driven Development、以下「BDD」)など他のテストファースト手法への展開についても解説します。 ※編集部注:ソフトウェアの「テスト」そのものの概要や種類について知りたい方は記事「J

    テスト駆動開発/振る舞い駆動開発を始めるための基礎知識
  • アクセルを踏むためのテストとブレーキを踏むためのテスト - yoshiori.github.io

    Rebuild.fm#29 聴いてて少し語りたくなってるので書いてみる。 テスト考2014 – Hidden in Plain Sight から発してると認識してるんだけど新年早々テストについて盛り上がってますね! で、個人的な意見を書くまえに、俺はテストどころかコンピュータサイエンスも学んだ事ない人間ですので色々見当違いな事言ってるかもしれないけど、エンジニアのスタートが組み込み系の QA エンジニアなので現場感覚はそれなりにあるつもりです。 で、早速なんだけど上記ブログから引用させてもらうと まぁ、なんにせよ、現在のウェブアプリ開発におけるテストなんて一歩間違えれば「ままごと」みたいなレベルだから、そんなに原理主義的になるのはダサいよねって話です。 id:kennejima に百パー同意で、ぶっちゃけちゃんと QA やった人間からすると境界値テストすらしてないしホワイトボックステストだ

    taka_zyawa
    taka_zyawa 2014/01/15
    あるある。TDDやってるとどうしても品質管理のコードになっちゃって、無駄だなぁとも思うのだけど、うまいバランスは未だにわからない。
  • ラムダ禁止について本気出して考えてみた - 9つのパターンで見るStream API - Taste of Tech Topics

    こんにちは @cero_t です。 今日のテーマは・・・ラピュタ禁止令! バルス! いや違う。ラムダ禁止令、です。 さて、なかなかの滑り出しですが、今日はただのラムダの紹介ではなく、禁止令に主眼を置いて語ります。 このエントリーは、Java Advent Calendar 2013の12/16分の投稿です。 http://www.adventar.org/calendars/145 前日は @sugarlife さんの JDK 8 新機能ダイジェスト (JDK 8 Features) です。 翌日は @setoazusa さんです。 ラムダ禁止令はあり得るのか? 勉強会やその懇親会などで、たびたび「ラムダ禁止令が出るのではないか」が話題に上ることがあります。 「そりゃ禁止する組織もあるでしょうね」というのがお決まりの答えなのですが、ただそれに従うだけでは面白くありませんし、要素技術の発展も

    ラムダ禁止について本気出して考えてみた - 9つのパターンで見るStream API - Taste of Tech Topics
    taka_zyawa
    taka_zyawa 2013/12/18
    優秀なプログラマと○○なプログラマが入り乱れる大規模開発だと、禁止してしまった方が安定したりするんだよなぁ・・。優秀な人は使いこなしてくれるんだけど、そうで無い人は黒魔術を使うから。
  • 半年間休職してプログラミングの勉強をした - ぼっち勉強会

    目次 概要 この記事の目的 なぜ勉強するのか なぜ休職したのか(働きながらではダメなのか) どのようにして休職したか 金銭面の問題 勉強を継続するために気をつけたこと どのくらい勉強したか 何を勉強したか 反省 まとめ 概要 5月に休職しました。 休職開始から今日まで主にプログラミングの勉強をしていました。 11月から仕事復帰します。 この記事の目的 私が休職して勉強することを決めるとき、経験談を参考にしようと思い似たような方がいないか調べました。 しかし、私のニーズに合う情報はほとんど見つかりませんでした。 私と同じように休職勉強を考えている方にとって、少しでも参考になればいいなと思い書きます。 なぜ勉強するのか 私は業務ならば並以上の働きをしていると思っています。 社交辞令もあるでしょうが、社内・顧客ともに良い評価を頂いています。 一方で、経歴を増すごとに自分の中で技術力に対する不安が

    半年間休職してプログラミングの勉強をした - ぼっち勉強会
    taka_zyawa
    taka_zyawa 2013/11/01
    "「仕事していると気持ちが常にそっちに向く」" これすげーわかる。業務に使わない知識を勉強してる人達、ほんと凄いと思うし尊敬してる。
  • 「MVCの勘違い」について、もう一度考えてみる - 圧倒亭グランパのブログ

    お久しぶりです。@at_grandpa です。 今回、Model View Controller について再考する機会があったので、自分なりに整理してみました。 勘違い MVCの勘違いに関しては、以下のSlideShareが有名かと思います。 やはりお前らのMVCは間違っている @mugeso これにはドキッとしたことを覚えています。 このスライドで「間違っている!」と指摘されている形式を、そういうものだと理解していたからです。 上記で指摘されている勘違い形式を、自分なりにわかりやすく噛み砕き、図にしてみました。 Userからの入力をControllerが受け取る Controllerはデータ置き場であるModelからデータを取得する 取得したデータをControllerが加工する 加工したデータをViewに転送する Viewは、受け取ったデータを視覚表現しディスプレイに表示する 自分の中

    「MVCの勘違い」について、もう一度考えてみる - 圧倒亭グランパのブログ
    taka_zyawa
    taka_zyawa 2013/11/01
    最近、「プレゼンテーション層」「ファンクション層」「データアクセス層(だったかな)」という3階層で書かれた資料をよく目にしてる。これを引きずってるんだろうなぁ
  • ユニットテストにまつわる10の勘違い | DevelopersIO

    渡辺です。さる方面からテスト系のエントリーがまだか…と催促されたので、ユニットテストについて少し考えてみたいと思います。 最近、TwitterのTLをチェックしていると、JUnitを利用しているにも関わらず違和感のあるTweetや、原因をJUnitにして来解決すべき問題から目をそらしているようなTweetを多く見かけます。そこで、JUnitをによるユニットテストに関するありがちな勘違いをまとめてみました。 なお、JUnitの部分は、RSpecでもNUnitでも適当に置き換えて読んでも構いません。 1.JUnitを使うことが目的という勘違い JUnitを利用すること自体を目的にしたところで何も得る事はありません。 ありがちな話ですが、「納品物としてJUnitのテストコード(または実行結果)を求められている」ことが理由でJUnitを利用しているならば、それは足かせでしかない可能性があります。

    ユニットテストにまつわる10の勘違い | DevelopersIO
    taka_zyawa
    taka_zyawa 2013/09/17
    プレゼンテーション層を無理やりテストしようとして、結局あきらめた事がある。テスト対象を適切に判断するのは本当に大切だわ。
  • 初心者レベルの言い訳をしない: 柴田 芳樹 (Yoshiki Shibata)

    出来上がったコードの可読性も含めた品質の悪さを、時間がなかったとかプロトタイプだからと言い訳する人がいます。スキルが高い人の場合は、同じ時間制約でも高い品質のコードを書きます。それは、ある程度無意識になるまで、訓練を重ねているからです。無意識になるまで意識して普段から活動するのです。 ソフトウェア開発ではないですが、熟練者と初心者の差を比較するために短時間でどれだけの成果が出るかを競うテレビ番組を時々見かけることがあります。必ず熟練者の方が量も質も圧倒的に初心者を凌駕しています。つまり、時間がなかったとかプロトタイプを言い訳にした時点で、経験年数に関係なく、初心者レベルだということです。 1988年に米国への赴任前の送別会で今は亡きS.Uさんに言われたのは、「与えられた仕事をこなして初めて次の難し仕事が与えられる」と言われたことがあります。逆に言えば、できないと判断されたら、仕事を与えない

    初心者レベルの言い訳をしない: 柴田 芳樹 (Yoshiki Shibata)
    taka_zyawa
    taka_zyawa 2013/09/12
    短納期だからと言い訳される程度の管理だった可能性が。プロトタイプの件は、事前に品質レベルを合意してないの? 捨てる前提ならコストかける必要ないし、何かに使うなら品質レベルの合意が必要
  • いまさら聞けない「オブジェクト指向設計の3つのコツ」~オブジェクト指向設計問題解説 #objectoriented - CodeIQ Blog

    CodeIQ中の人、millionsmileです。 いろいろ経歴を積むと、「いまさら聞けない」ことが増えてきます。「オブジェクト指向」というのもそんないまさら聞けないものの一つでしょうか。 そんなわけで、いまさら聞けないことをイマサラ問題として出題してみました。 問題は、日ITエンジニアの父と言いたくなるくらい温かみのあるフィードバックをしてくれることで好評な有限会社システム設計の増田亨さんからの出題です。オブジェクト指向設計について2問出題していただきました。総計65名もの方に挑戦いただきました! 問題の解説記事は、オブジェクト指向設計の3つのコツを中心に説明してくれていますので、読みやすいですし、頭にすっと入ってきます。 ではでは、増田亨さんによる解説記事をお楽しみください。 https://codeiq.jp/ace/toru_masuda/ ◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

    いまさら聞けない「オブジェクト指向設計の3つのコツ」~オブジェクト指向設計問題解説 #objectoriented - CodeIQ Blog
    taka_zyawa
    taka_zyawa 2013/08/27
    後で読むか
  • #俺が見たクソコード選手権 まとめ

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

    #俺が見たクソコード選手権 まとめ
    taka_zyawa
    taka_zyawa 2013/08/07
    本当の糞コードは普通のコードに擬態していて見分けがつかない。
  • 今すぐ辞めて欲しい、「Ruby on Rails勉強してます」「CakePHP勉強してます」 – sumyapp

    今すぐ辞めて欲しい、「Ruby on Rails勉強してます」「CakePHP勉強してます」 – sumyapp
    taka_zyawa
    taka_zyawa 2013/07/24
    言い過ぎだけど気持ちはわかるな。
  • プログラマが満たすべき最低基準って? - (define -ayalog ’())

    日記 プログラマとしての最低基準って何? 言語の仕様を知ってることが最低基準? 3つ以上の言語を手足のように扱えるのが最低基準? モノを作れることじゃなくて、色んなことをたくさん知ってることが最低基準? 「なんで、こんなことも知らないの?」って人のやる気削ってるだけじゃん。 2013-07-18 17:16:45 via web なんだろう。昨日くらいからJavaの参照の値渡しに関する話がバズってる。 あえてリンク貼らないけど、だいたいこれ読んでる人は知っているでしょう。 そんな中で、どうしても目に入ってくる雑音*1が気になる。 「10年間も知らなかったの?」とか「こんなの知ってて常識だよね」とか「言語仕様を読むよね、普通」とか「レベルの低い技術者は辞めたらいいのに」とかとかとかとか。 間違いを正してあげようとするのは良い事だと思う。だけど、それに余計な言葉をひとつもふたつもくっつける必要

    taka_zyawa
    taka_zyawa 2013/07/19
    きしださんのコメントわろた / この件については思う事があるなぁ。週末に吐き出してみようかな。
  • DDD(ドメイン駆動設計)に関する資料 - きしだのHatena

    ちょっとまとめ。 ドメイン駆動設計・開発の実践 Eric EvansがDDD(ドメイン駆動設計)を語る Domain-Driven Designのエッセンス -目次- ドメイン駆動設計 ( DDD ) をやってみよう DDD時代の設計 - DDD-memo エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践) 作者: エリック・エヴァンス,今関剛,和智右桂,牧野祐子出版社/メーカー: 翔泳社発売日: 2011/04/09メディア: 大型購入: 19人 クリック: 1,360回この商品を含むブログ (131件) を見る エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented SELECTION) 作者: マーチン・ファウラー,長瀬嘉秀,株式会社テクノロジックアート出版社/メーカー: 翔泳社発売日:

    DDD(ドメイン駆動設計)に関する資料 - きしだのHatena
  • from old Java to modern Java

    Let's reconsider about collecting logs. Plus, visiting elastic@Moutain View!心 谷

    from old Java to modern Java
    taka_zyawa
    taka_zyawa 2013/06/26
    Lambdaのドット連結はいつ見ても胸焼けするなぁ。。一回自分でも書いてみないと。
  • 情報工学でコンパイラを学ぶべきか | Scene Research Station

    高専の友達と呑んでいた。 なんでそういった話になったか覚えていないが、情報工学畑の僕が 「大学の実験ページを見たらコンパイラ演習が無くなっていて驚いた。情報工学でコンパイラも作ったことないってどうなのよ?アカンでしょ」 と言ったところ、電気電子畑の友が 「そんなもの『電気科で8石スーパーヘテロダインラジオも作らないで卒業するのは許せん!』と言っている老害と同じ。やるべきことは時代で変わる。会社でも特定の技術に長けて成功した人ほど、視野が狭くなって老害化してほんと困る云々」 というようなことを言った。 ちょっと話は逸れるけど、家電メーカーでもあるよね。一度テレビで成功しちゃったが故に、赤字になってもテレビをいつまでも家電の王様と信じて作り続けちゃう、みたいな。バカは死ななきゃ治らない、って言うけど赤字事業でもそれに従事するエンジニアは超一級で、そもそもかつてテレビは最先端の花形事業であって、

    taka_zyawa
    taka_zyawa 2013/06/24
    SIerでは不要かもしれないけど、大学出てからいろんな道があるからね。情報工学ではやっておくべきでしょう。
  • 存在しない記事 - 標高+1m

    ここにあった記事は消しました。 詳しくは以下: ympbyc.hatenablog.com

    存在しない記事 - 標高+1m
    taka_zyawa
    taka_zyawa 2013/06/13
    本文は「適材適所。いつでもどこでもOOPすんな」って内容で、タイトルと合ってない。まずはゆっくり休んでください。
  • プログラマに向いていない人の特徴

    http://anond.hatelabo.jp/20130611130854 プログラマに向いている人の特徴は、よくまとめサイトやはてなで見かけますが、プログラマに向いていない人の特徴はあまり見かけたことがないので、10個挙げてみました。 顧客がバカみたいに見える自分が書いたコードを人に知られるのが嫌い(バグを)放っておく他人のコードを読んだことは一度もない何事も協力してやるより、一人でやったほうが質も高いし早いと思っている前段とわかりあえたことなどない(テスト)計画を立てない(コードを)変えようとしない)コードを見ればわかる。ドキュメントは必要ない口には出さないが、自分にはバグを作らない才能があると信じているいくつか似たようなのが含まれてますけど。 過去に出会った人々(自分も含め)の中で、「プログラマに向いていない」と思った人々の特徴をあげていってみました。さすがにこの特徴を全て満たし

    プログラマに向いていない人の特徴
    taka_zyawa
    taka_zyawa 2013/06/12
    俺には向いてないことがわかる