タグ

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

  • 妻に公開鍵暗号を教えてみた - 西尾泰和のはてなダイアリー

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

    妻に公開鍵暗号を教えてみた - 西尾泰和のはてなダイアリー
    hokorobi
    hokorobi 2014/08/09
  • Qiitaの話を聞いている - 西尾泰和のはてなダイアリー

    Qiitaとブログの違いがわからないと思ってたがだいぶ違うってことがわかった ブログでは記事に間違いがあった時にコメントで指摘して著者が修正するしかないが、Qiitaではプルリクエストを投げられる(投げてくれるかどうかわからないけど) 間違いがあって修正した時に、その記事を「ストック」している人に変更通知を飛ばすことができる Kobitoってアプリがあってローカルでリアルタイムmarkdownプレビュー Kobitoなら画像のアップロードもドラッグドロップでよい、Gistでは面倒 Emacsで編集してKobitoでリアルタイムプレビューも可 投稿データをJSONでダウンロードできる、他人のも テンプレートを作れるので社内Wiki的に同じフォーマットで複数の人が書く場合に揃えるのが楽 コメントを書いたりするのにgithubやQiitaのアカウントが必要なので非エンジニア避けになる 外に見えて

    Qiitaの話を聞いている - 西尾泰和のはてなダイアリー
    hokorobi
    hokorobi 2014/02/23
    今度から Qiita に書いてみようかと思っているけど、まだ機会がない。
  • 言語女子会3: Pythonが恋愛に悩んでRubyに相談しましたの巻 - 西尾泰和のはてなダイアリー

    言語女子会: undefとnullは両方必要?、言語女子会2: varは必要?/privateがない?の続編です。 Ruby恋愛相談 Python: 最近悩んでるのよね… Ruby: んー、何に? Python: 自分はどんな人が好きなのかなぁ…とか… Ruby: あー、そんなの簡単よ!一緒にいて楽しいことよ! *1 Python: そんなの誰とだって仲良くなったら楽しいんだから差別化にならないじゃん Ruby: そうとは限らないわよ、たとえば、あっ… C: ごめーん、会議が長引いちゃって遅れちゃった!(髪の毛ファサーっ) Python: ああ…なるほど… C C: 何の話?え、恋愛に悩んでる?そんなの簡単よ。卓越性よ。 Python: 卓越性?? C: そうよ。なんらかの分野で「わたしが一番」という状況を作ることよ。そうすれば男の側からいくらでも寄ってくるわ。 Python: なるほど

    言語女子会3: Pythonが恋愛に悩んでRubyに相談しましたの巻 - 西尾泰和のはてなダイアリー
    hokorobi
    hokorobi 2012/03/24
    Lispなかった。
  • 他の言語に慣れた人がPythonを使ったときにつまずきがちな10のポイント - 西尾泰和のはてなダイアリー

    今日質問されて、以前Twitterで書いたのを思い出して、そして検索性が悪くて見つけ出すのに苦労した。こちらに転載しておく。詳細は気が向いたときに埋める。 オプション引数の評価タイミング Rubyではオプション引数は関数が呼ばれるたびに評価される。 def foo() print "foo!" end def bar(x=foo()) end bar #=> foo! と出力される bar #=> foo! bar #=> foo! Pythonでは関数の定義時に1回だけ評価される。 def foo(): print "foo!" def bar(x=foo()): pass #=> foo!と出力される bar() #=> 何も出力されない bar() 「引数が省略されたら今の日時」みたいな毎回評価したい場合はデフォルト値をNoneにしておいて「Noneだったら=省略されていたら」のif

    他の言語に慣れた人がPythonを使ったときにつまずきがちな10のポイント - 西尾泰和のはてなダイアリー
  • Pythonの例外を記録してみる - 西尾泰和のはてなダイアリー

    よくあるエラー が意外と参照されている。で、ふと「例外のフックを使って起こった例外を全部記録しておいて、たくさん溜まってから集計したら面白いんじゃないか」と思った。というわけでsite.pyに下のように書きたしてみた。 def setup_exc_hook(): "record exceptions" import sys, traceback def hook(type, value, tb): sys.__excepthook__(type, value, tb) lines = traceback.format_exception(type, value, tb) file("/Users/nishio/exclog.txt", "a").write( "".join(lines) + "\n" + "=" * 40 + "\n") sys.excepthook = hook set

    Pythonの例外を記録してみる - 西尾泰和のはてなダイアリー
  • よくあるエラー - 西尾泰和のはてなダイアリー

    初心者が出しがちなエラーメッセージに関して、エラーメッセージが英語だからと読まずに飛ばす人が多いかと思って和訳をJythonに書いていたんだけど、どうせならここで公開して他に陥りがちなエラーメッセージの情報を集めた方がいいんじゃないかと思った。 "__add__ nor __radd__ defined for these operands"「その計算の対象にしているオブジェクトには__add__も__radd__も定義されていないよ(足し算が定義されていないよ)」→数が入っているつもりの変数にNoneが入っていたりするとかありがち。数を返すはずの関数がreturnしわすれでNoneを返すとか。 "global name 'x' is not defined"「'x'という名前の変数が(グローバルまで探しに行ったけど)見つからなかったよ!つづり間違ってない?」 "NameError: n

    よくあるエラー - 西尾泰和のはてなダイアリー
  • gitをテキトーに使って生産性を向上したユースケース - 西尾泰和のはてなダイアリー

    バージョン管理とかgitとかが「おおげさでめんどくさいもの」だと思う人は多い。でも、それは生産性向上のチャンスを逃していると思う。特に業務として多人数で開発している人たちの「変更前にはまずトピックブランチ」というやり方が、それはそれでよい方法なんだけど、いかにもめんどくさそうで尻込みさせてしまうのではないか。 先日の日曜日に、テキトーなgitの使い方をして、とても役に立ったのでユースケースとして報告しておこう。ただし、若干特殊な環境なのでここでやった方法が直接そのまま皆さんの所で使えるとは限らないが。 まず環境の説明。プロジェクトは「次の日曜日、新感覚シューティングゲームを展示します」で紹介している、テーブル型ディスプレイで動くシューティングゲーム。メインは @tokoroten で、ソースコードをバリバリ変更している。土曜日にとりあえず動くところまでは行った。改善点は山積みだ。使える時間

    gitをテキトーに使って生産性を向上したユースケース - 西尾泰和のはてなダイアリー
    hokorobi
    hokorobi 2011/12/14
  • gitのHEADがブランチから外れてしまう現象とその直し方 - 西尾泰和のはてなダイアリー

    detached HEADって言う名前で入門Gitにも書いてあるんだけど、そういうことが起こりうるってメンタルモデルができてないと起きていることにすら気づかないので書いておく。 まず説明用のリポジトリを用意します。 t$ git init Initialized empty Git repository in /Users/nishio/gittest/pygit2/t/.git/ t$ touch a t$ git add a t$ git commit -m "add a" [master (root-commit) 6f6eb7c] add a 0 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 a t$ touch b t$ git add b t$ git commit -m "add b" [m

    gitのHEADがブランチから外れてしまう現象とその直し方 - 西尾泰和のはてなダイアリー
    hokorobi
    hokorobi 2011/05/14
    あ~、やったことあるある。
  • Pythonで5分で便利なことをするレシピ - 西尾泰和のはてなダイアリー

    5分でわかる Python を知らない人が Python の便利さを学べる記事をかいたよ | HIROKI.JPが、Pythonの説明なのにところどころ「Rubyでは」になっていたり、そもそも無理やりPHP的なことをしようとしていていまいちなのでTwitterでひどいなぁと言っていたら @bellonieta: ここは是非とも@nishioさんに正しい5分記事を書いてもらいたいところ… と言われてしまった。まー、ぼやくのは生産的じゃないからねぇ。Pythonを使ってて色々便利なことはあるけど、一番手軽そうなものを軽く説明してみよう。たとえばなんか書類をつくっているとするじゃない、こんな感じの。 社長: 山田太郎 支社長: 田中一郎 部長: 山川三郎面倒なので3人分しか書いてないけど当はもっとたくさん30行くらいあるとしよう。さー書けた、と思ったらそこに上司が来て「あーあー、そうじゃないよ

    Pythonで5分で便利なことをするレシピ - 西尾泰和のはてなダイアリー
  • 1