タグ

ブックマーク / nishiohirokazu.hatenadiary.org (11)

  • 例えば「写経」という言葉を避けてみる。 - 西尾泰和のはてなダイアリー

    サイボウズ式「続・エンジニアの学び方」の第5回が公開されました。この回では、小崎さんが「どうしてコードを読もうと思ったのか」と、コードを読むために新しい言語を学ばなければいけない場合に「どうやって学ぶか」を聞きました。 ところで、小崎さんは自分の学び方を「写経」と読んでいて、僕もこの用語は自然に理解できるのですが、公開後のTwitterの反応を見ていると「写経と呼ぶことが嫌」もしくは「仏教での写経の印象で、内容を勘違いしている」という事例がいくつも見つかりました。 プログラミングの学習法としての「写経」という言葉は色々な書籍で使用されています。例えば「100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊」の70ページでは「まず写経することから始めた」というエピソードが紹介されています。また「改訂新版 コンピュータの名著・古典100冊」の99ページでは「技術書の内容にそって深い

    例えば「写経」という言葉を避けてみる。 - 西尾泰和のはてなダイアリー
    barlog
    barlog 2014/09/06
    小崎さんインタビューからの補足
  • 妻に公開鍵暗号を教えてみた - 西尾泰和のはてなダイアリー

    何気なく放送大学をつけていたら公開鍵暗号の話をしていた。 「この話、何度聞いてもわかんないのよね」 僕「え、どこがわからない?どこまではわかってる?」 「平文はわかるけど、鍵を共有するとか秘密にするとか、署名するとかがよくわからない」 僕「あー、鍵に例えているのが逆効果なのか」 「鍵」をNGワードに指定 僕「じゃあ『鍵』という言葉を使わずに説明してみよう。暗号って『平文を暗号文に変換する方法』で伝えたい文章を暗号文に変えて送り、受け取った人はそれに『暗号文を平文に戻す方法』を使って元の文章を得るわけだ。その目的は、途中の通信文が敵に取られたりしても通信の内容がバレないようにするため。」 「うん」 僕「昔の暗号化の方法は、片方の方法がわかるともう片方の方法も分かった。例えば『アルファベットを後ろに1個ずつずらすと平文に戻せます』って教えてもらったら、『なるほど、前に1個ずつずらせば暗号

    妻に公開鍵暗号を教えてみた - 西尾泰和のはてなダイアリー
    barlog
    barlog 2014/08/09
    例えが絶妙すぎるありがたい知見共有
  • 「エンジニアの学び方」を執筆しました。 - 西尾泰和のはてなダイアリー

    4月24日発売のWEB+DB PRESS Vol.80に、特別企画として「エンジニアの学び方」という記事を書きました。 Vol.80自体は4月発売ということもあって「新人さん大歓迎!」と銘打っています。「エンジニアの学び方」もこの4月に就職・進学をした人を想定読者にしています。ですが、きっとその他の人にも役に立つ内容だと思います。 この記事を書くきっかけとなったのは、ベストセラーにもなった拙著「コーディングを支える技術」のコラムです。余白があるからコラムを書けと言われて、学び方についてのいくつかのコラムを書きました。 p.23「理解を確認するためにはまずアウトプット」 p.26「何を学べばよいかがわからない理由」 p.79「具体的な知識と抽象的な知識」 p.80「噛み砕く」 p.82「必要なところからかじる」 p.134「おおまかにつかんで徐々に詳細化する」 p.235「端から順番に写経す

    「エンジニアの学び方」を執筆しました。 - 西尾泰和のはてなダイアリー
    barlog
    barlog 2014/04/27
    リフローだと意図せぬ余白が多数生成されるけどこれはアンタッチャブルな副産物だ。技術書にとってのコラムはときに主役を喰らうくらいの存在であって欲しい。コラムの存在意義を考えさせられました。
  • U理論が面白い - 西尾泰和のはてなダイアリー

    U理論のを流し読みしてたけど、これは結構面白い。 PDCAサイクル(計画→実行→評価→改善)は、既にサイクルが回っている人にとっては納得感があるのだろうけども、回ってない人にやらせようとすると「で、計画はどうやって立てるの?」で悩んで止まってしまったり、逆に問題に対する知識が不足してる可能性に無自覚なまま、詳細すぎる計画を立ててしまって、後からわかった情報で瓦解したりする。 科学的思考法の「仮説→実験→検証→修正」のサイクルでも、流行りのリーンスタートアップの「仮説検証のサイクルを高速に回せ」でも、やっぱり実際にやろうとすると「で、仮説はどうやって見つけるの」というところでつまずく人がいる。 この手の「サイクル」に入る手前でつまずいている問題について、僕はいままで「まず観察を」と言ってきたのだけど、U理論はこの部分を7段階に分けて考えている。 一つ目は、物事を既成概念に当てはめて見ている

    U理論が面白い - 西尾泰和のはてなダイアリー
    barlog
    barlog 2014/04/10
  • 「原稿を書いては消ししている」という状況を解決するには - 西尾泰和のはてなダイアリー

    「原稿を書いては消し書いては消ししていて全然進まない」という話をよく聞きます。 これって「よくない精神状態」にハマり込んでいると思います。 考えてみましょう。人間が脳内で保持できる情報はどれくらいでしょう?原稿に文章Aを書いて、しっくりこないので消して、文章Bを書いた後で、文章Aのことをどれくらい覚えていますか?文章Aを書いている時に何を伝えることが重要だと考えていたか覚えていますか? 「書いて消して」を繰り返している間、時間は消費されていますが、何も蓄積されていません。何も蓄積されないのであれば、問題はやさしくなったりはしません。ずっと同じ難易度のまま、あなたの前に立ちふさがり続けます。 原稿と戦っているうちに視野が狭くなって、自分が「よくない精神状態」にハマり込んでしまっていることを自覚できなくなるのは怖いことです。さらにはTwitterで愚痴ったり、ネットサーフィンをしてこんなサイト

    「原稿を書いては消ししている」という状況を解決するには - 西尾泰和のはてなダイアリー
    barlog
    barlog 2014/01/21
  • 「キャリア戦略論 - 人・生き方・働き方の多様性」講義資料を公開しました - 西尾泰和のはてなダイアリー

    10月19日に灘校土曜講義にて、キャリア戦略に関して多様性にフォーカスして1時間半の講義をしました。講義資料を一部公開します。 参加者のみなさんがアンケートに書いてくれた感想は、全部目を通しました。一点、僕がうまく伝えられてなかったらしきところがあるのでここで補足します。 「マジック・ザ・ギャザリング」と「プログラミング」のどちらがよいか 「マジック・ザ・ギャザリングに時間をさくよりプログラミングを学ぶべきという趣旨か?」という質問がありました。いいえ、違います。 中学高校時代の時間を投資する対象として「マジック・ザ・ギャザリング」(MtG)が「プログラミング」よりも劣ると主張したようなとらえられ方をしてしまったようですが、そう主張したいわけではありません。僕がプログラミングに時間を投資したのは「将来役に立つ」とおもったからではなく、単にそれが楽しかったからです。MtG投資している人も、

    「キャリア戦略論 - 人・生き方・働き方の多様性」講義資料を公開しました - 西尾泰和のはてなダイアリー
    barlog
    barlog 2013/10/21
  • manに「cp -rは使うな」と書いてあった話 - 西尾泰和のはてなダイアリー

    cp -rでシンボリックリンクまで実体としてコピーされて困ったのでMacのmanを読んでいたのだが、そもそもcp -rってオプション一覧に載ってない。あれれ?と思って続きを読んでいたら互換性の章でstrongly discouragedと書かれていた。 COMPATIBILITY Historic versions of the cp utility had a -r option. This implementation supports that option; however, its use is strongly discouraged, as it does not correctly copy special files, symbolic links, or fifo's. 代わりに-Rを使うべきだそうだ。その場合のシンボリックリンクの扱いをどうするかはオプションで指定でき

    manに「cp -rは使うな」と書いてあった話 - 西尾泰和のはてなダイアリー
    barlog
    barlog 2012/07/18
  • gitチートシートv0.3 - 西尾泰和のはてなダイアリー

    http://www.nishiohirokazu.org/tmp/git03.pdf 今日はツッコミ役の人はお休み。

    gitチートシートv0.3 - 西尾泰和のはてなダイアリー
  • HTMLで雑誌の原稿を書くためのツール - 西尾泰和のはてなダイアリー

    こんなの作った モチベーション テキスト形式での納品を求められるけども、もうちょっとメタデータの乗せやすいフォーマットで書きたいなぁ、ついでに言えば自分が今どれくらい書けているかのイメージを掴む上でも、人に渡してレビューしてもらうにしても、編集しているものが手軽に見やすい形にできるといいなぁ。プログラムで扱うのが楽なフォーマットがいいなぁ。ってそれHTMLでいいんじゃない? 過去の実装 Jythonを執筆するときは「求められているテキストフォーマットに最低限のメタデータを載せられるようにした独自フォーマット」からHTMLと納品用テキストに変換していたが、メタデータの載せにくさと自分の書いている原稿のプレビューのたびに変換スクリプトを走らせるののめんどくさにこのアプローチはダメだと思った。 現在の仕様 1行23文字、1ページ42行、1ページ2カラム構成の紙面を想定。 JSとCSSで真面目に

    HTMLで雑誌の原稿を書くためのツール - 西尾泰和のはてなダイアリー
    barlog
    barlog 2010/09/12
    "求められているテキストフォーマットに最低限のメタデータを載せられるようにした独自フォーマット"を HTML で。 @nishio ++
  • Ruby 1.9.2リリースとWEBrick脆弱性問題の顛末 - 西尾泰和のはてなダイアリー

    はい、Ruby 1.9.2がリリースされましたね。このバージョンではWEBrick にゼロデイ攻撃可能な脆弱性 - スラッシュドット・ジャパンで紹介されている脆弱性が僕が書いたパッチで修正されているわけなのですけど、そもそもなんで僕が修正しているのか、って顛末がわりと面白いので紹介します。 Apple、upstreamに報告してくれないまま脆弱性をCVEに届け出る upstreamに連絡が来ないまま脆弱性が公開される ruby-devにAppleが書いたと思われるパッチが貼られる(Appleでない人間によって) パッチのライセンスが不明なので取り込めない ライセンスを問い合わせるAppleの窓口が不明なので問い合わせもできない ruby-devを読んだ人はライセンス上安全なパッチを書けない 脆弱性だから話は非公開に進めたい yuguiさんがruby-devを読んでない僕に書かせることにする

    Ruby 1.9.2リリースとWEBrick脆弱性問題の顛末 - 西尾泰和のはてなダイアリー
    barlog
    barlog 2010/08/19
  • 「プログラミング言語を理解するにはどうしたらいい?」という話を聞いて思うこと - 西尾泰和のはてなダイアリー

    「プログラミングとか特定のプログラミング言語とかを習得したくて色々勉強したけど、いまいち理解できた感じがしない、何がいけないのだろう、何を学べばいいんだろう」という話を聞いて思ったこと。 それって、目的が曖昧だから達成感が得られないというだけじゃないのか? 僕の今までの人生の中には「プログラミングを習得した!」と思える瞬間も「Pythonを理解した!」と思える瞬間もなかった。具体的な「Pythonで継続のある言語を実装できた!」とかならある。でも「継続の概念を完全にマスターしましたか」と言われるとそんな気はまったくしない。まだまだ先は長い。しかし僕よりはるかに継続に詳しい人たちが集まって継続に関する議論をしてたりするのを見ると、この道に明確なゴールはないことがわかる。どこまで行っても「まだ先がある」という感じが残るに違いない。 手段が間違っているのではなく、目的が間違っているんだ。「○○を

    「プログラミング言語を理解するにはどうしたらいい?」という話を聞いて思うこと - 西尾泰和のはてなダイアリー
    barlog
    barlog 2009/04/14
    マスターでなく Twitter 的 follow で。踏み出そうよ。
  • 1