タグ

miruzouqのブックマーク (8,840)

  • 超人の神話 | プログラマが知るべき97のこと

    超人の神話著者: Ryan Brush ソフトウェア業界で長く仕事をしている人なら、一度はこんな質問を受けたことがあるのではないで、しょうか。 XYZという例外が発生したんですが、何が問題なんでしょうか? こういう質問をする人が、スタックトレースやエラーログを提示してくれたり、問題の起きた状況について、詳しく説明してくれたりすることはまずありません。あなたを、自分とは別世界の人間だと考え、十分な情報を与えられなくても、少し話を聞いただけで問題を解決できると思っているのかもしれません。超人だから何でもすぐにわかる、と思っているのかもしれません。 ソフトウェアのことをよく知らない人が、こういう質問をするのは仕方のないことでしょう。彼らにとって、コンピュータを自在に操るのは魔法に近いことだからです。しかし、問題なのは、実はプログラマが同士の質問をすることも珍しくない、ということです。たとえば、設

    超人の神話 | プログラマが知るべき97のこと
    miruzouq
    miruzouq 2019/12/05
    要らないのでは?“)”
  • そのコードに触れてはならない! | プログラマが知るべき97のこと

    そのコードに触れてはならない!著者: Cal Evans ステージングサーバでのシステムテストに入ってから、自分の書いたコードに問題が見つかり、それを知らせるメールかテストマネージャから届く、そんな経験はプログラマなら誰もがしていると思います。そのメールを見た時にプログラマか最初に思うことは、「すぐにそっちへ行って直させてくれ。どこが悪いかはわかっているから」ではないでしょうか。 「プログラマがステージングサーパを触ってもいいじゃないか」そう考えるのは一見、間違ってはいないように思えます。しかし、大局的にとらえるとやはりそれは間違いなのです。なぜでしょうか。 Webシステム開発プロジェクトの環境は、次のようにアーキテクチャ分割されているのが普通です。 開発者のマシン上の、ローカル開発/ユニットテスト環境統合テストを手動、あるいは自動で行う開発サーバ品質保証(QA)チームや顧客が受け入れテス

    そのコードに触れてはならない! | プログラマが知るべき97のこと
    miruzouq
    miruzouq 2019/12/05
    んでは?“人”
  • コメントについてのコメント | プログラマが知るべき97のこと

    コメントについてのコメント著者: Cal Evans 私が大学に入ったばかりの頃の話です。プログラミングの授業の1時間目、先生からBASICのコーディングシートが2枚配られ、黒板には「ボウリングのスコアを10個入力し、平均を求めるプログラムを書け」という指示が書かれました。それだけ書くと先生は教室を出て行ってしまいました。そんなに難しい課題ではありません。最終的にどんなコードを書いたかは忘れましたが、FOR/NEXTループを使って書いて、全部で15行あるかないかだったと思います。若い人は「コーディングシート」と言われてもわからないかもしれません。昔は、まずコードを紙に手で書いてからコンピュータに入力していたのです。1回に入力できる量は70行くらいに制限されていました。その時は、どうしてシートを2枚渡されたのかわからずに戸惑ったのを覚えています。よくわからないので、1枚目に下書きをして、2枚

    コメントについてのコメント | プログラマが知るべき97のこと
    miruzouq
    miruzouq 2019/12/04
    コードを読まないためのコメントかぁ…“まずヘッダコメントには「プログラマがコード本体をまったく読まなくても利用することはできる」というくらいの情報を盛り込みます。”
  • コードは設計である | プログラマが知るべき97のこと

    コードは設計である著者: Ryan Brush 想像してみてください。ある朝目覚めた時、建設業の世界に世紀の大革命が起きていたとしたら。信じがたいほど仕事が速く、コストの安いロボットたちがすべての作業をしてくれるようになっていたとしたら。ロボットたちは素材をなにもないところから合成できる上、働くためのエネルギーコストもほぼゼロです。そしてなにか不具合があっても自分で自分を修理できます。更に素晴らしいのは、正確な図面をこちらで用意する必要がないということです。おおまかな青写真さえ渡しておけば、ロボットたちはそれを元に人間の介入なしに作業ができるのです。つまり建設コストを無視できるほど小さく出来るよいうことです。 もしそんなことが起きたら、建設業者にどれほどの影響が及ぼすかはすぐにわかるでしょう。影響は実際の建設を行う施工業者だけにとどまりません。さらに「上流」にも影響は及ぶでしょう。施工

    コードは設計である | プログラマが知るべき97のこと
    miruzouq
    miruzouq 2019/12/04
    減るでは?“ヘル”
  • ドメインの言葉を使ったコード | プログラマが知るべき97のこと

    ドメインの言葉を使ったコード著者: Dan North たとえば、コードベースの中に、次のようなコードが見つかったとします。 if (portfolioIdsByTraderId.get(trader.getId()) .containsKey(portfolio.getId())) {...} このコードを見ても、何をやりたいコードなのかをすぐには理解できずに思わず頭をかきむしる・・・。そういう人が多いのではないでしょうか。どうもtraderオブジェクトからIDを取得して、そのIDを使って「MapMap」からMapを取得しているようではあります。その「内側」のMapにportfolioオブジェクトのIDが存在しているかを確認しているようです。portfolioIdsByTraderIdの宣言部分が次のようになっているのを見れば、もっと頭をかきむしりたくなるでしょう。

    ドメインの言葉を使ったコード | プログラマが知るべき97のこと
    miruzouq
    miruzouq 2019/12/04
    真では?“心”
  • ツールの選択は慎重に | プログラマが知るべき97のこと

    ツールの選択は慎重に著者: Giovanni Asproni 昨今では、アプリケーションを全くのゼロ方開発することは稀です。通常は、既存のツール(コンポーネント、ライブラリ、フレームワークなど)を組み合わせて作ります。それは次のような理由からです。 アプリケションの規模は以前に比べて大きくなり、複雑で高度になってきている。対照的に、開発にかけられる時間は短くなる一方である。プログラマの時間と能力は、最大限有効に活かす必要がある。つまり、インフラのコードよりも、ビジネスドメインのコードに、時間と能力を出来る限り振り向けるべきである。広く使用されているコンポーネントやフレームワークのほうが、自前で開発しているものに比べ、バグが少ない傾向にある。多くの高品質のソフトウェアをWebから無料で入手できるようになった。これは、開発コスト削減につながるだけでなく、然るべき知識と技術を備えた技術者と出会う

    ツールの選択は慎重に | プログラマが知るべき97のこと
    miruzouq
    miruzouq 2019/12/03
    からじゃないの?“方”
  • 他人よりまず自分を疑う | プログラマが知るべき97のこと

    他人よりまず自分を疑う著者: Allan Kelly プログラマというものは(つまりわたしたちは)自分の書いたコードに何か誤りがあるとは、なかなか考えようとしない人種です。現に問題が起きていても、それが自分のせいだと思うことは滅多になく、「きっとコンパイラのせいだろう」などと思ったりします。 しかし実際には、コンパイラやインタプリタ、OS、アプリケーションサーバ、データベース、メモリマネージャなど、システムソフトウェアのバグで問題が発生するということは、極めて稀なのです(ほぼないと言っていいでしょう)。もちろんシステムソフトウェアにもバグはあるものですが、責任を押し付けたがる人が期待するよりは、はるかに少ないと言えます。 私が「当にコンパイラのバグが問題の原因だった」というけいけんをしたのはたった1度だけで、ループ変数の最適化に関わるバグでした。それよりも、コンパイラあるいはOSのバグの

    他人よりまず自分を疑う | プログラマが知るべき97のこと
    miruzouq
    miruzouq 2019/12/03
    なぜひらがな?“けいけん”
  • 美はシンプルさに宿る | プログラマが知るべき97のこと

    美はシンプルさに宿る著者: Jørn Ølmheim 1つのプラトンの言葉を引用します。ソフトウェア開発に携わる人ならばぜひ知っておくべき言葉、常に心に留めておくべき言葉だと思います。 「文章にしろ、和音にしろ、リズムにしろ、美しく、優雅なもの優れたものはすべて、シンプルである」 この言葉には、ソフトウェア開発において大事にすべきことが見事に要約されていると思います。 プログラマがコードを書くときに留意すべきことはいくつかありますが、まとめればだいたい次のようになるでしょう。 可読性保守性開発効率(言葉で表現するのが難しい)美しさプラトンの言葉が教えてくれるのは、シンプルであることを心がければ、上のすべてが達成されるということです。 4つ目の「美しさ」とは何でしょうか。コードが美しいとはどういう意味7日は、曖昧で、なかなか明確にはわかりません。美しいかどうかは、どうしても主観的な判断になり

    美はシンプルさに宿る | プログラマが知るべき97のこと
    miruzouq
    miruzouq 2019/12/02
    なのかの間違いでは?“7日”
  • Haskellのエンジニアは二流なのか?(答えはノーである) | POSTD

    挑発的なタイトルによって誰かが気分を害してしまう前に、私はこの問いに対する答えも書いてしまうことにしました。答えは“ノー”です。しかしこのテーマには、なかなか興味深い議論があるのです。HaskellやErlangや、特にClojureなどのあら探しをするつもりはないのでしょうが、Piaw NaはQ&AサイトQuoraの あるアンサー で以下のようにコメントしています。 プログラミング言語を固定するのは二流のエンジニア/コンピュータサイエンティストである証です。 [中略] 私がErlangのサーバに携わるポジションの採用をした時も、Erlangのスペシャリストだと言うエンジニアより、優秀なオールラウンダーのエンジニアを雇ってErlang(これに限らず何でも)を学ばせてそのポジションを埋める方が断然いいと感じました。 Na氏の意見は1990年代に設立されたGoogleAmazonなどの技術

    Haskellのエンジニアは二流なのか?(答えはノーである) | POSTD
    miruzouq
    miruzouq 2019/11/30
    javaaは長いなあぁ…“IDEに依存したビルド・・・こういうナンセンスなものは全て業火で焼き尽くされてしまえばいいと思っています。”
  • 【オススメ】明治大学日本文学メンヘラを彼女にしてみた結果。 | 明治大学情報局~明大生向けメディア~

    miruzouq
    miruzouq 2019/11/30
    プンプンおもろかったなぁ“ちなみにプンプンを筆者が読むとなった時、僕が闇落ちするのを危惧して彼女に止められた。”
  • 「性行為中に首を絞められた」 英女性3分の1は暴力を経験=BBC調査 - BBCニュース

    BBCラジオ5ライヴの調査によると、40歳以下のイギリス人女性の3人に1人は、合意の下のセックスの最中に、叩かれる、首を絞められる、猿ぐつわをされる、唾を吐かれるといった望まない暴力を受けたことがあるという。

    「性行為中に首を絞められた」 英女性3分の1は暴力を経験=BBC調査 - BBCニュース
  • Deploy or Die(デプロイせよ、さもなくば死を)

    Publish or Perish 研究の世界ではかつて、Publish or Perish という言葉がありました。 論文を出す(Publish)するか、さもなくば研究の世界を去れ(Perish)という実力主義マッチョな格言でありました。 Demo or Die MITメディアラボの初代所長のニコラス・ネグロポンテの時代では Demo or Dieという言葉が作られました。とにかく作って動かして見せてみろ、という発破をかけるフレーズですね。 それが今では、時代が変わった。とMIT Media Lab所長の伊藤穣一さんは言っています。彼いわく、いまはとにかく素早くプロトタイピングして、早く繰り返し出すことが大事だといいます。ハードウェアも3Dプリンタができて、ラピッドプロトタイピングの選択肢は増えました。 それよりも衝撃的なできごとは、深センの工場で起きていました。そこでは文字通り工場に人

    Deploy or Die(デプロイせよ、さもなくば死を)
    miruzouq
    miruzouq 2019/11/30
    perishされたくはないなぁ…“論文を出す(Publish)するか、さもなくば研究の世界を去れ(Perish)という実力主義マッチョな格言でありました。”
  • シリコンバレーから失意の帰国をした十年選手のITエンジニア、生き残るため大学院で情報科学を学ぶ - Findy Engineer Lab

    はじめまして、白山文彦(@fushiroyama)と申します。 インフラエンジニアとして5年、ソフトウェアエンジニアとして7年ほど働いて、現在は多国籍企業でクラウド関連の仕事に従事しています。 今年に入ってから、会社員としてフルタイムで勤務しながら、大学院の博士前期課程(修士課程)で情報科学を学んでいます。 この記事では、ITエンジニアとして10年以上もご飯をべていながら、どうして今になって大学院生という道を選んだのか。業務で身についたものと、大学でしか学べないものとの違いは何なのか。そして最後に、それをどのように今後のキャリアにつなげていこうと考えているのか。そのあたりの葛藤や心の動きをシェアできたらなと考えています。 社会人大学院について 理系技術者は米国で圧倒的に尊敬されている 米国のエンジニアと日エンジニアの違い 学位と職業に強い関連がある米国 年齢に関係なく学位を目指すのが

    シリコンバレーから失意の帰国をした十年選手のITエンジニア、生き残るため大学院で情報科学を学ぶ - Findy Engineer Lab
    miruzouq
    miruzouq 2019/11/29
    かっけぇ…“君のJob Titleは『Sr. Software Engineer』”
  • Sign In - AtCoder

    miruzouq
    miruzouq 2019/11/28
    Rubyで21byteまで減らして1位…
  • Submission #2592082 - AtCoder Beginner Contest 015

    miruzouq
    miruzouq 2019/11/28
    まだ謎なのが$>の後の<<…これって配列に追加してるのかしら…“a=getsb=gets$><<(a.size>b.size ? a : b)”
  • Submission #8688680 - AtCoder Beginner Contest 015

    miruzouq
    miruzouq 2019/11/28
    たぶんこれが最適最短だと思います…“コード長 21 Byte”
  • | 知識がなくても解決できていたのか?

    一昨日辺りからOAuth実装してる。 アクセストークンを取るところまでは躓きながらもなんとかなった。 今はそこら中に実装されてるコードがあるから、いざとなったらコピペなんてこともできる。 今後はこのアクセストークンを利用するわけだが、TwitterへのツイートやFlickrへのアップロードとなるとまた小さな壁が登場する。 アクセストークンを取得するには必要最低限のルールで済むけど、APIを利用する際にはさらにちょっとだけ必要な知識が増える。 知識はちょっとでいいんだけど、デバッグとなると知識は大切…と改めて思った。 普段は別にそんなことも気にしないんだけど、仕事で「こういう構成で進めましょう」って話をすることが多いから、なるべく誰でもなんとかなるように…と考えているせいか、「この知識がなかったら解決できたのか?」と自問することがある。 軽くはまったこと TwitterにツイートとFlick

    miruzouq
    miruzouq 2019/11/27
    これはTwitterAPI見ればいいのかなぁ…“{“errors”:[{“message”:“Could not authenticate you”,“code”:32}]} と返ってくるというもの。”
  • Node.jsとは何か、開発者ライアン・ダール氏が語る(前編)~ノンブロッキングとはどういうことか?

    いま注目されているサーバサイドJavaScriptの火付け役となったNode.js。その開発者であるライアン・ダール(Ryan Dahl)氏自身がNode.jsを紹介した講演「Introduction to Node.js with Ryan Dahl 」のビデオが公開されています。 この講演は、サンフランシスコのPHP開発者の集まりであるThe SF PHP Meetup Groupが2月にダール氏を招待して行われたもの。 そのため、Node.jsを知らないデベロッパーに向けて、Node.jsがどのような特徴を持つプログラミング言語なのか、分かりやすく解説しています。内容を紹介しましょう。 Node.jsとPHPとの質的な違いとは何か Node.jsを触ってみよう。今日は特にスライドは用意してなくて、タイプしてどんなものかを動かしながら紹介していくつもりだ(注:ダール氏はここで最初に「

    Node.jsとは何か、開発者ライアン・ダール氏が語る(前編)~ノンブロッキングとはどういうことか?
    miruzouq
    miruzouq 2019/11/27
    Nodeで標準入力したいなぁ…“Nodeはブラウザに結びついていないので(ブラウザ上の)ウィンドウオブジェクトはなくて、それがプロセスになっている。”
  • 第195回ICS研究発表会-情報処理学会

    研究会に登録されている方 研究報告は開催初日の1週間前(=公知日)に電子図書館で公開します。 研究会に登録されていない方 当日受付で資料閲覧用のアカウント情報(URL,ID,PW)をお渡しいたします。 尚、研究会にご登録いただくことで当研究会のバックナンバーも含めて全て電子図書館でご購読いただけます。登録に関しては  「研究会に登録する」のページをご参照ください。 ========================================================== 第195回 情報処理学会 知能システム研究会 (SIG-ICS) 発表会 http://www.ipsj.or.jp/kenkyukai/event/ics195.html ========================================================== 開催場所:静岡大学 浜

    第195回ICS研究発表会-情報処理学会
    miruzouq
    miruzouq 2019/11/27
    ICSは浜キャンで3月かぁ…“開催場所:静岡大学 浜松キャンパス 共通講義棟5階 共51教室 開催日時: 2019年3月18日(月) 9:10 〜 17:45”
  • サポートページ:WEB+DB PRESS Vol.113

    ■ご注意 ※ コーナーは,誌記事参考用資料としてのご提供を目的としております。 ※ 誌記載の内容およびサポートサイトで公開しているサンプルコードに基づく運用の結果について,記事の筆者,プログラムの作者/提供元,(株)技術評論社は一切の責任を負いかねます。ご自身の責任のもと,ご使用ください。 ※ 各サンプルファイル/ソースコードには,個別に,ライセンスやREADMEファイルなどで注意事項/制限事項が添付されている場合がございます。その場合,該当のライセンス,注意事項/制限事項を優先して適用とさせていただきますので,ダウンロード後,内容をご確認ください。 ダウンロード 特集2「Ruby書き方ドリル」 特集で使用されたソースコード 特集3「[体験]ドメイン駆動設計」 特集で使用されたソースコード(執筆者GitHubリポジトリ) 一般記事「[入門]SwooleによるPHP非同期処理」

    サポートページ:WEB+DB PRESS Vol.113
    miruzouq
    miruzouq 2019/11/26
    exercise_11.rbが本書では1から3までなのに1から5までを求めてたなぁ…“本特集で使用されたソースコード”