タグ

2018年5月8日のブックマーク (19件)

  • 無駄な設計書をなぜ書かされるのか・なくすにはどうしたらいいか、に関する乱文 - Murga

    コードを日語訳したような設計書CREATE TABLE 文を表形式に変換した定義書。これらは「Excel 方眼紙」と呼ばれる日の SE 業界を象徴する伝統的な手法で記述されており、ロクにメンテナンスされることなく引き継がれ、保守担当者を困惑させる。 今回はこうした設計書がなぜ存在し、どうしたらこんな醜いものをなくせるか、考えたい。 対象とするのは、ブラウザからアクセスできる、Web アプリケーションとして動作する社内のアレコレを管理するようなシステムを作る場合。組み込み系などは経験ないので、ソフトウェア開発における話、それもインターネットに繋がっていない環境で仕事をさせられているような時代遅れの SIer に限定させていただきたい。 漠然と思った順に書き殴っていくので、乱文です。 自分の基主張 コードファースト。ソフトウェアは実際に動いているコードが主たる成果物であり納品物。設計書

    無駄な設計書をなぜ書かされるのか・なくすにはどうしたらいいか、に関する乱文 - Murga
    fortrand
    fortrand 2018/05/08
    詳細すぎる仕様書が要らないのは「//fooにbarを足す」みたいなコメントの価値同様だと思う。ただ、それでも「質の良い仕様書」はあったら重宝されるし、そのためには悪い仕様書もたたき台として必要かも、と感想。
  • 美しくも残酷な森を描くポエティックなアドベンチャー『Forest of Liars』Kickstarter開始! | Game*Spark - 国内・海外ゲーム情報サイト

    美しくも残酷な森を描くポエティックなアドベンチャー『Forest of Liars』Kickstarter開始! | Game*Spark - 国内・海外ゲーム情報サイト
  • 組織というシステムと協力というシステム

     組織というシステムと協力というシステム (TED Talks) Clay Shirky / 青木靖 訳 2005年7月 グループが何かを実現するのはどうやってでしょうか? 人の集団が混沌に陥ることなく、持続する価値あるものを一貫して作り出せるようにするには、どうすればいいのでしょう?  この問題を経済学では協調コストと呼んでいます。協調コストにはグループの仕事の段取りに関わる金銭的、組織的な問題すべてが含まれます。協調コストに対する伝統的な解決法は、「人のグループの作業を協調させるには組織を作れ」というものです。リソースを集める。何かを設立する。私的なもの・公的なもの、営利・非営利、大きいもの・小さいもの、様々ですが、リソースを集約する点は共通しています。組織を作り、その組織を使ってグループの活動を協調させるのです。 最近になってグループの人々が互いにコミュニケーションを取るコストが劇

    fortrand
    fortrand 2018/05/08
    キューブラー=ロスはこの文で知った。
  • プログラマになる方法

    Leon Bambrick / 青木靖 訳 2006年9月15日 金曜 インテリセンス . || \/ コード >>> コンパイル >>>>> 実行 >>>> 成功 ;-) /\ || || ^^ \/ \/ ^^ エラー エラー . ^^ \\ // ^^ \\ // ^^ google ^^ || \\ \/ \<<<<<<<<< コピー&ペースト

    fortrand
    fortrand 2018/05/08
    初出から10年経っても変わってない…
  • ソフトウェア開発者のための推薦図書

    Code Complete 2 [ Code Complete第2版―完全なプログラミングを目指して (上・下) ] スティーブ・マコネルのCode Completeはソフトウェア開発者のための「楽しい料理だ。このを読むということは、自分の仕事を楽しんでいるということであり、自分のすることに真剣であるということであり、もっと向上したいと思っているということなのだ。Code Completeの中で、スティーブは平均的なプログラマが読む 技術書は年に1冊に満たないと指摘している。このを読んでいるという時点で、あなたはおそらく周りにいる開発者たちの90%と違う行動を取っていることになる。それもいい方向にだ。 私はこのがすごく好きで、ここから自分のWebサイトの名前(Coding Horror)を取ったくらいだ。このではやるべきでない悪い例には"coding horror"アイコンで印

    fortrand
    fortrand 2018/05/08
    最新本よりこれらを読みたい。
  • クラッキングママ

    Randall Munroe

    fortrand
    fortrand 2018/05/08
    英国に実在するらしい→ROBERT'); DROP TABLE STUDENTS; LIMITED https://find-and-update.company-information.service.gov.uk/company/SC656788
  • プログラミングの6大10項目リスト

    Jeff Atwood / 青木靖 訳 2007年3月22日 以下に私の選ぶプログラミングの6大10項目リストを挙げておく。取り上げた順序には特に意味はない。このエントリを簡潔なものにしておきたいので、それぞれの項目は短い要約を引用するに留める。興味を引くものがあれば、ぜひリンクをたどってオリジナルの作者の考えについてもっと詳しく読むことをお勧めする。 [ 訳注: 要約だけで意味が取りにくいものに簡単な説明をつけた。] ジェラルド・ワインバーグの「エゴレスプログラミングの十戒」 自分が誤りを犯すということを理解し、受け入れること 。 自分と自分のコードは別物である。 どんなに「空手」を学ぼうと、いつでもあなたよりもっと詳しい人間がいる。 相談せずにコードの書き直 しをしない。 自分より無知な人に対しても尊敬と敬意と忍耐を持って接すること。 世界で唯一変わらないのは変わるということだけ。 唯

    fortrand
    fortrand 2018/05/08
    「どんなクリエイティブな仕事でも95%はクソみたいな作業だ。」「ソフトウェア開発で難しい部分はコミュニケーションである。」そして最後のオチ。
  • どうしてプログラマに・・・プログラムが書けないのか?

    Jeff Atwood / 青木靖 訳 2007年2月26日 レジナルド・ブレイスウェイトが書いていることを読んだとき、私はそんなわけないだろうと思っていた。 私と同様、この著者は、プログラミングの仕事への応募者200人中199人はコードがまったく書けないということで苦労している。繰り返すが、彼らはどんなコードも書けないのだ。 彼が引用している著者というのはイムランのことで、彼は単純なプログラムも書けないプログラマをたくさん追い払っているということだ。 かなりの試行錯誤の末に、コードを書こうともがいている人たちというのは、単に大きな問題に対して苦労しているのではないことがわかった。やや小さな問題(連結リストを実装するというような)に対して苦労するということでさえない。彼らはまったくちっぽけな問題に苦労しているのだ。 それで、そういった類の開発者を見分けるための質問を作り始め、私が「Fizz

    fortrand
    fortrand 2018/05/08
    FizzBuzz問題、今のプログラミング教室でやってるだろうか。
  • あなたの知っていることはすべて5年以内に陳腐化する

    Jeff Atwood / 青木靖 訳 2006年3月20日 ソフトウェア開発で奇妙なことが何かというと、知識が陳腐化するのがいかに早いかということだ。ダニエル・アップルマンはこれをルイス・キャロルの「鏡の国のアリス」の一場面に喩えたが、この状況がすごくよく表されている。 「さあさあ」女王が叫んだ。「もっと速く、もっと速く!」 2人はあまりに速く走ったので、そのうち空中をかすめ飛んで足がほとんど地面に触れないくらいになった。アリスは不意にすっかり疲れ切って立ち止まると、息切れとめまいを起こして地面に座り込んでしまった。 女王はアリスを木にもたせかけて立たせると、優しく言った。「少し休むといい」 アリスは周りを見回して驚いた。「あら、ずっとこの木の下にいたみたい! みんな元のままだわ!」 「もちろん元のままだとも」と女王が言った。「どうなると思ったの?」 「だって、私たちの国では」アリスはま

    fortrand
    fortrand 2018/05/08
    「新しい技術に没頭するというのは、同じ場所に居続けるために全力で走っているにすぎない。」10年仕事をすれば最初の技術は古くなる。
  • コンサルタントの秘密 - 一見無害だが危険な言葉

    Gerald M. Weinberg / 青木靖 訳 2007年3月12日 月曜 コンサルタントとして成功するためには、一見無害な言葉に注意を払う必要がある。コンピュータソフトウェアの分野では、そういうブビートラップみたいな言葉が満ちあふれている。このことについて、 おそらく多くの人にもっと馴染み深いだろう犬のトレーニングの話を交えて紹介しよう。 私ののダニはプロの文化人類学者であり、当然のこととして 優れた聞き手だ。文化人類学の仕事はもう引退したが、文化人類学者およびマネジメントコンサルタントとして培ったスキルと経験を元に、今は犬を飼っている人や犬のトレーナーのための行動コンサルティングをしている。この組み合わせからはたくさんの興味深いアイデアが生まれている。彼女が話してくれた攻撃犬の訓練の話もそうだ。いつものごとく、攻撃犬における大きな問題は、犬によってではなく、人によって起きる。

    fortrand
    fortrand 2018/05/08
    「変更行数と誤りのある可能性」の表に注目。
  • 不完全にしておよそ正しくないプログラミング言語小史

    1801 – ジョセフ・マリー・ジャカールがパンチカードを使った織機によってタペストリーに"hello, world"と織り出す。しかしラッダイト (当時のRedditer) たちは、テールリカージョン、並行処理、大文字小文字の区別を欠いていたため、さほど感心しなかった。 1842 – エイダ・ラブレスが最初のプログラムを書く。彼女の努力は、プログラムを実行するコンピュータが実のところ存在しないというマイナーな問題のために頓挫した。後にエンタープライズアーキテクトたちはプログラムをUMLで書くために彼女のテクニックを再び学ぶことになる。 1936 – アラン・チューリングが存在しうるあらゆるプログラミング言語を発明するが、特許化する前に英国情報部員(後の007)によって抹殺される。 1936 – アロンゾ・チャーチも存在しうるあらゆる言語を発明しているが、より巧みに行った。チャーチのラムダ

    fortrand
    fortrand 2018/05/08
    ネタ。プログラミング系宗教論争のまとめでもある。
  • 駄目な面接の質問

    David A. Pickett / 青木靖 訳 2006年5月17日 水曜 ある人がブログで自分の受けたプログラマの面接の話をしていて、ファイルコピー関数を書くように言われたことに不満を述べていた。腹を立てるのもわかるが、私がその人の立場にいたら、それを素晴らしい娯楽の機会と捉えたと思う。 Q. 「コピー」というのはどういう意味ですか? A. それは…ファイルの中身を新しいファイルにコピーするということです。 Q. タイムスタンプはどうすればいいでしょう? A. それはコピーしなくともいいです。 Q. 新しいファイルは名前も同じにする必要がありますか? A. いいえ。 Q. 同じ名前でもかまいませんか? A. えーと…だめです。 Q. スプーフィングを気にかける必要はありますか? それにトルコ語のIは? A. それは考えなくていいです。 Q. 同じ場所に作る必要がありますか? 同じ場所な

    fortrand
    fortrand 2018/05/08
    あるいはコピー関数の作り方。
  • やる気に関する驚きの科学

    やる気に関する驚きの科学 (TED Talks) Daniel Pink / 青木靖 訳 2009年7月 最初に告白させてください。20年ほど前にしたあることを、私は後悔しています。あまり自慢できないようなことをしてしまいました。誰にも知られたくないと思うようなことです。それでも明かさなければならないと感じています。(ざわざわ) 1980年代の後半に、私は若気の至りから、ロースクールに行ったのです。(笑) アメリカでは法律は専門職学位です。まず大学を出て、それからロースクールへ行きます。ロースクールで私はあまり成績が芳しくありませんでした。控えめに言ってもあまり良くなく、上位90パーセント以内という成績で卒業しました。(笑) どうも。法律関係の仕事はしたことがありません。やらせてもらえなかったというべきかも。(笑) しかしながら今日は、良くないことだとは思いつつ、の忠告にも反しながら、こ

    fortrand
    fortrand 2018/05/08
    無料ゲームやパズルにのめりこむのってこういう心理だと思う。
  • 先延ばし魔の頭の中はどうなっているか

    Tim Urban / 青木靖 訳 2016年2月 (TED2016) 大学では政治専攻だったので、レポートを沢山書かなければなりませんでした。普通の学生がレポートを書く場合、作業量はこんな感じに分布していることでしょう。 これだと、はじめはゆっくりですが、最初の週、十分に進めておいて、後半多少負荷が高くはなっても、秩序ある状態が保たれています。私だってそんな風にやりたいと思います。予定としては、すぐ取りかかるつもりでいますが、実際にレポートをやる段になると、私の場合こんな風になってしまいます。 毎回こういうことになるんです。それから90ページの卒論を書くことになりました。1年かけて書くべきものです。いつものようなやり方が通用しないのは分かっていました。規模が大きすぎます。それで計画を立てて、こんな感じでやろうと決めました。 1年の計画です。はじめは軽く、中間で少し上がり、終盤でスパートを

    fortrand
    fortrand 2018/05/08
    反省だけなら「過去の記憶も未来についての知識もないサル」でも略。わかるなあ。
  • 口座番号知らなくても送金可能、セブン銀行など新サービス

    セブン銀行など3社は2018年5月7日、企業から個人宛の送金サービス「現金受取サービス」を開始した。銀行口座への振り込みと異なり、企業が送金先の個人の口座番号などを知らなくても送金できることが特徴。

    口座番号知らなくても送金可能、セブン銀行など新サービス
    fortrand
    fortrand 2018/05/08
    「企業から個人」ということで、誤送信やなりすまし送金の心配は少なそう……。セキュリティや社会面では、なりすまし受信、匿名ロンダリングの防止&摘発が今後の注目かな。クレカ枠現金化とか……
  • 通信の最適化の実施内容について | スタッフブログ | マイネ王

    最適化の基的な考え方について 最適化を実施するにあたり、基的な考え方は、「混雑時の通信速度を改善する」というものです。最適化を行うことで、昼休みにWeb閲覧する際、静止画のダウンロードがもたつきページ全体の表示に時間がかかる、とか、YouTubeを見る際、バッファリングに時間がかかり再生が始まらない、などで非常に使いにくいという状況を少しでも改善するために、必要最小限のトラフィック制御を行うことを目的としています。 最適化の実施内容について 最適化の実施内容は大きく分けて、「1. データ圧縮」「2. トラフィック制御」の2点です。 1. データ圧縮について 具体的には以下のデータ圧縮を実施しています。 ・テキスト圧縮 テキストデータをgzip圧縮形式により、無劣化で圧縮しています。 ・静止画圧縮 JPEG、PNG、GIFフォーマット画像に対して圧縮しています。 圧縮による劣化の程度(見

    通信の最適化の実施内容について | スタッフブログ | マイネ王
    fortrand
    fortrand 2018/05/08
    説明内容と文章自体は誠実だと思った。結果論だけれど、サービス品質保証問題だから、事前告知したほうが小さい不満で済んだかもなと。FTTH定額常時接続で回線の逼迫がーと言っていたのが無線に移って繰り返してる。
  • JavaScriptにフレームワークが必要な理由 - Qiita

    JavaScriptにはむしろもっと抽象化がもたらされるべき - Qiitaという記事で、もう少し踏み込んだ話を書いてみました。 某所でReact.js界隈の人に聞きたいというフレームが発生したのだが、はてなブックマークでコメントしたらIDコールされたので、反論をここに書くことにした。(最近は技術系記事はQiitaにしか書いてないので)。 あくまで僕が考えるなので、JavaScript界の人達が当はどう思っているかはわからない。そもそもJavaScript格的にさわり始めたのごく最近なので、JavaScript界では異端かもしれない。 元記事では論点(感情)が複数ごちゃまぜになっていたので僕は辛口のブコメを書いたのだが、論点をごちゃ混ぜにするのは意図的にやってるのならばただの詭弁だ。なので、まずは元の記事での論点を整理する。 jQuery (or フレームワーク?) 言語採用 Rea

    JavaScriptにフレームワークが必要な理由 - Qiita
    fortrand
    fortrand 2018/05/08
    経験的に「古くてもいいじゃん」は3年で辛くなり、5年で投げたくなる。発明は必要で生まれることを認識しておきたい。大規模開発ほど抽象化は要る。ただ、発明が盛んなほど派閥が出るので、えっと、みんななかよく。
  • JavaScriptがページの読み込み時間を遅くする理由トップ10 | ゆっくりと…

    CSS Sprites 化や画像サイズの最適化、Data URI 化、CSS/JavaScript ファイルの圧縮・結合・読み込み順番の整理やキャッシュ制御など、サイトでは主に HTTP リクエストの数、データ量およびそれらの順番に関して色々なテクニックを試してきましたが、さらに深く掘り下げるには JavaScript の実行がページの読み込み時間に与える影響を知っておく必要があると思います。 「ウェッブサイトの表示速度を測定するフリーツール集」 でも紹介しましたが、dynaTrace AJAX Edition という優れたツールをフリーで公開している dynaTrace software のブログでこの問題を扱った記事がありましたので共有します。JavaScript 高速化 Tips は (例えば 「JavaScriptを高速化する6つのテクニック」 など) 多々あるかと思いますが、ペ

    fortrand
    fortrand 2018/05/08
    保守のためには構造深くしがち&見栄えのために動的要素使い過ぎ=パフォーマンス悪化しがち。こういったのは初期から意識したいし、リファクタリング(の機会があれば)の目安にもしたい。
  • JavaScriptの読み込みにおける非同期スクリプト注入の悪影響 | POSTD

    Synchronous(同期)スクリプトは効率が悪い。というのも、ブラウザにDOM構築をさせ、スクリプトを読み込ませ、残りのページをリロードする前に実行してしまいます。今さらな話ですが、これがわれわれプログラマがasynchronous(非同期)スクリプトをよく使うようになった理由です。ここに分かりやすい例があります。 <!-- BAD: blocking external script --> <script src="http://somehost.com/awesome-widget.js"></script> <!-- GOOD: remote script is loaded asynchronously --> <script> var script = document.createElement('script'); script.src = "http://somehos

    JavaScriptの読み込みにおける非同期スクリプト注入の悪影響 | POSTD
    fortrand
    fortrand 2018/05/08
    大事そうな情報。HTMLもCSSやスクリプト、画像など要素数が増えて実行時間が問題になる。ブロッキング(逐次)実行にならないよう、最新のブラウザ実装を理解していないといけない。実装以前の勉強知識問題。