タグ

programmingと考え方に関するedo_m18のブックマーク (12)

  • 1行直すだけってそんなに大変なの?

    どこの会社でも「1行直すだけでしょ? そんなに大変なの?」ということを何度も聞かれる (もしくは言外にそのニュアンスを含められる) ので毎度説明するのだけれど、「いや、そう思うだろうけれど大変なんですよ」以外に答えられていなくて、自分でもあまりうまい答えではないなと感じるのでまじめに考えてみた。 まず大前提として1行を修正するのに当に言われるがままにその1行を直すのであればそれは作業者で世の中にエンジニアなんて職業はいらないわけで、ぼくらの付加価値は1行を直すときに1行の外にあるものを想起できるから価値があるわけです。 じゃあ、どんなことを考えているかというと、まずたいていそんなすぐに安請け合いできないシステムというのは1行を直すときに影響を受ける行数というのは10行や20行ではないことが多い。そこで影響範囲を考えます。途端にこれが1万行になったりする。すると、1万行へ影響が出るのにこれ

    1行直すだけってそんなに大変なの?
    edo_m18
    edo_m18 2018/01/15
    ブコメ見ると色々な意見があるなぁ。経てきた環境、立場によってまったく違う意見で面白い。そして記事の内容はまったくもって同意w
  • オブジェクト指向と10年戦ってわかったこと - Qiita

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

    オブジェクト指向と10年戦ってわかったこと - Qiita
  • プログラマが「出来ません」と言う日 - megamouthの葬列

    長い間、フリーランスなどという「便利屋」をこなしていると、馴染みの顧客から、トラブったプロジェクトに急遽参画してほしいという、ヘルプ案件が入ってきたりする。 嫌かと言われるとそうでもなく、むしろ、恩を着せて(足元を見るとも言う)高単価を取るチャンスだし、案件が燃え上がっているのは他人のせいであり、途中から入る私は気楽なものなので、積極的に首をつっこむことにしている。 こう言うと颯爽と現れるスーパーマンのようでかっこいいのだが、そこはクソ雑魚フリーランスの私。トラブルの内容というのは、「安いWordpress業者に頼んだ案件で、途中で、(カスタマイズ要件)がやっぱり出来ないと言われた」とか「アプリが毎回メモリリークで5分で落ちるのだが、全く治る気配がない」とかそういう情けない話ばかりである。 共通して言えるのは、炎上させた業者が「(問題を解決することが)出来ません」とはっきり言ってしまってい

    プログラマが「出来ません」と言う日 - megamouthの葬列
    edo_m18
    edo_m18 2017/03/27
    "自分でもよくわからない物を納品してしまったので、非常に収まりが悪い。" すごい分かる。
  • 不寛容社会とエンジニアの「正しさハラスメント」 - エモくありたい

    先日、珍しく時間を持て余していたので、テレビを見る機会があった。 バラエティ番組を見るつもりもなく、また、10分ほどだったので、回したのはニュースチャンネル。そのときの題材に「不寛容社会」というものがあった。 何かと繊細な昨今、運動会での組体操でのピラミッド禁止や、除夜の金に苦情がきたために日中におこなうなど、ノイジーマイノリティによる過度な規制や自粛に疑問を示す内容であった。 「不寛容社会」というものは、インターネットにも溢れていると思う。いや、インターネットこそが不寛容社会を助長させていると言っても過言ではない状態だろう。どうあっても必ず誰かが批判をし、それが大きく取り上げられ、最終的には自由が制限される世界はまさに今のインターネットだ。 そうしたインターネットについて述べても良いのだが、今日は少し変わって、「不寛容」という言葉から連想された、エンジニアの「正しさハラスメント」について

    不寛容社会とエンジニアの「正しさハラスメント」 - エモくありたい
    edo_m18
    edo_m18 2016/12/29
    とても同意。人には理解できるタイミングがあって、適切なタイミング以外で知識を伝えてもほぼ響かない。
  • 技術トレンドを追わないという勇気

    技術トレンドを追わないという勇気 昨日、「第19回 HTML5+JS 勉強会 【オレオレフロントエンド開発環境 ~際限なき修正を攻略せよ!~/甦れFlasher「swf2js」でswfをリアルタイムでcanvasに出力】」というイベントに参加してきました。 そこで講師の沖さん(@448jp)が、�「技術は目的を達成する手段なので、あまり新しい技術に振り回されてはいけない。」的なことをおしゃっていて、それはそうだなと思いながら私が最近感じている事をすこし書き留めておこうと思います。 技術トレンド圧力 フロントエンド界隈ではJavaScript/node.jsの盛況もあって毎日のように新しいライブラリ/フレームワークやツールがリリースされています。そして、それらの技術に対してアーリーアダプター的なフロントエンダーが試してはブログやQiitaでレビュー内容を記事にしたり、TwitterやFace

    技術トレンドを追わないという勇気
    edo_m18
    edo_m18 2015/11/27
    トレンドを楽しむ中にコンセプトや設計を見るのもあると思う。どう使うかだけを追うと身にならないし疲れるんじゃないかな。
  • より良いプログラムを書くための究極の奇策 – 「Data first, not code first」 | POSTD

    (訳注:2015/10/31、いただいた翻訳フィードバックを元に記事を修正いたしました。) 開発者は嫌うでしょう。 ここでは、標準的なコツや策略について書きますが、当に興味があるのは、別のことです。究極の奇策を見つけたいと思います。策略をひとつずつ試して、プログラミングの聖域に少しでも近づければ良いのですが。 はじめに 私が初めて書いたビデオゲームは、 Ninja Wars (忍者戦争)でした。 そう、これは、画像で埋めたHTMLのtableです。 src 属性を変えることで、動きを実現しています。JavaScriptファイルの冒頭は下記のようになっています。 var x = 314; var y = 8; var prevy= 1; var prevx= 1; var prevsw= 0; var row= 304; var endrow= 142; var sword= 296; v

    より良いプログラムを書くための究極の奇策 – 「Data first, not code first」 | POSTD
  • プロジェクトを成功させるために最初におこなっていること - $shibayu36->blog;

    ディレクター時代に仕事プロジェクトを受け持つ時にどうやったら成功させることが出来るのかについていろいろ考えていた。僕は開発フローをいろいろ考えるのが好きなのだけど、実際に自分がリーダーシップを取ってプロジェクトを進めることを経験すると、そもそもその前に考える・決めるべきことがたくさんあるということが分かったので、ブログに書いておこうと思う。 ここで言うプロジェクトとはサービスを一から作ったり、サービスの一機能を作ったり、受託案件一つだったりを指す。特に開発プロジェクトに限定するものでもない。 プロジェクトを成功に近づけるためには、まずプロジェクトの開始時に、プロジェクトの5W1Hを明確にし、個々のメンバーの責任範囲を決め、それらを一つの場所にまとめておくということをしておくと良いと考えている。 5W1Hを決める すごい基的なことだけど、プロジェクトをやる上でやはり5W1Hは大事である。

    プロジェクトを成功させるために最初におこなっていること - $shibayu36->blog;
  • Web エンジニア 6 年 5 ヶ月やってたどり着いた価値観 | Born Too Late

    Web エンジニアとして経験を積むことでいくつかのプログラミング言語やツール・ミドルウェアの使い方を覚えたりもしたけど、それらのうちいくつかは 10 年後ぐらいには陳腐化してしまっているかもしれない。 だけどそれらを通じて身につけた価値観や哲学はもっと普遍性を持っているような気がする。 大学を卒業し、Web エンジニアとしての職を得て 6 年 5 ヶ月、日数にして 2344 日経ったので、現時点での頭の中にあるもののダンプを残しておく。 どこかで聞いたようなことばかりで新鮮味はないと思うけど、自分で実感を持ってたどり着けたことには意味があるはず。 プログラミングについて 言語はいろいろなものを試してみる 毎年新しい言語に挑戦せよ、というのは確か dankogai さんの講演をまとめた記事で読んだはずなんだけど、記事が見つからない。 キーワードをもとに検索してみたら達人プログラマーにもそうい

    edo_m18
    edo_m18 2015/09/02
    "こういうときは他人のためとかはとりあえず置いといて、ただ自分のために、将来の自分に向けてシェアすれば良い。" これはほんとそう。
  • コードレビューのベストプラクティス | POSTD

    Wiredrive では、私たちはかなりの数のコードレビューを行います。しかし、ここで働き始める前には私はコードレビューなどしたことがありませんでした。今回は、私がコードレビューをする時に何に注目するようにしているかや、私の考え出したベストなコードレビューのやり方をお話したいと思います。 コードレビューとは、簡単に言うと2人以上の開発者で問題を引き起こしそうなコードの修正について話し合うことです。コードレビューをすることのメリットについては多くの記事で語られており、知識を共有できること、コードのクオリティが上がること、開発者が成長できることなどが挙げられています。しかし、レビューを行う上で、どのように進めていくかという具体的なことについてはあまり多く語られてないように私は思いました。 レビューで何に注目するか アーキテクチャ/デザイン 単一責任原則 : 1つのクラスは変更する理由が2つ以上

    コードレビューのベストプラクティス | POSTD
  • プログラミング経験年数って全然意味ないよね

    採用関係の勉強がてら、Webサービス開発をしている企業の、採用案内を調べたり比べたりしていてふと思いました。たまに見かける「Java開発経験年数3年以上」などの表記。これは応募者のスキルチェックに使っているのかなぁと思うのですが、全然意味なさそうです。 経験年数 = 実力とはいえない 仕事内容やその人のモチベーションにもよりますが、経験年数が多いほど実力が高いわけではありません。たとえば、 なんとなくこの業界に入って、なんとなく過ごしている人の3年 プログラミングが大好きで、休日も自前のアプリ開発に熱中している意識高い系の3年 は、多分「厚み」が違うはず。かといって「経験年数ゼロでも歓迎!」なわけではありません。 こう考えてみると、経験年数がその人を評価するときの「ものさし」として、ふさわしくない気がするんです。 職務経歴書もあてにならない そもそも、経験年数のような自己申告型の情報だけで

    プログラミング経験年数って全然意味ないよね
    edo_m18
    edo_m18 2015/05/22
    経験年数ではなく、プログラミングに触れている時間、かなぁ。好きで趣味もプログラムです、って人なら当然触れている時間が長くなるし。
  • 何かのときにすっと出したい、プログラミングに関する法則・原則一覧 - Qiita

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

    何かのときにすっと出したい、プログラミングに関する法則・原則一覧 - Qiita
  • デザイン、コード、マルチスキルの世界と私たち

    比較は実はナンセンス デザイナーはコードが書けたほうが良いのか? ハイブリッドなのか専門家なのか・・・長く議論されてきているトピックのひとつです。Webデザインの分野でもデザイナーは HTML / CSS / JavaScript くらい出来た方が良いのでは?という意見がありますし、最近では UI デザイナーが Object-C や Java を学んだほうが良いのでは?という意見もあります。 デザイナーがコードの領域に踏み込めるようになることで、インタラクションや画面遷移など、見た目だけでなく細かい動きの制御の設計に直に触れることが可能になります。コードから物事が見れるようになることで、初めて視覚化・具体化できるアイデアもあるでしょう。では、コードも書けるハイブリッドデザイナーのほうが優れているのかといえば、答えは「YES」であり「NO」でもあります。多くの技能をもつということは、何でも屋

    デザイン、コード、マルチスキルの世界と私たち
  • 1