タグ

programmingに関するmhrsのブックマーク (35)

  • Pythonの技法:リストの内包表記 - builder by ZDNet Japan

    リストの内包表記(list comprehensions)は、当初関数型言語Haskellで用いられていることで有名になった。Pythonでリストの内包表記を用いると、変換対象のデータに注目してコードを記述することが可能になる。それは、関数に注目してコードを記述していたかつての方法とはまったく異なる手法だ。 リストの内包表記を用いて行えることはすべて、組み込みのmap関数とfilter関数を用いて記述することも可能である。しかし、リストの内包表記を利用すると、より使用が簡単で可読性の高いコードを記述できる。稿では、単純な例をいくつか用いてリストの内包表記の強力さをお見せしよう。 Pythonでリストを記述する際は、以下のようにして各アイテムを並べてブラケットでくくる。 >>> wordlist = ['HELLO', 'World', 'how', 'aRe', 'YOU?'] リストの

  • HM python - pythonグループ

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    HM python - pythonグループ
    mhrs
    mhrs 2009/03/07
    タイトルを “獨習Python” から “HM python” に變更した。
  • 標準DOMスクリプティング JavaScript+DOMによるWebアプリデザインの基礎 - はてなキーワード

    無料のKindleアプリをダウンロードして、スマートフォン、タブレット、またはコンピューターで今すぐKindleを読むことができます。Kindleデバイスは必要ありません。 ウェブ版Kindleなら、お使いのブラウザですぐにお読みいただけます。

  • 拙者先祖代々LLっ子でございます

    mhrs
    mhrs 2009/01/31
    LL侍の歌。
  • 『DOM Scripting 標準ガイドブック』を読んだ - blog.8-p.info

    まえに人におすすめされて少しだけ借りて読んだ DOM Scripting: Web Design with JavaScript and the Document Object Model というがあって、それの日語訳の『DOM Scripting 標準ガイドブック』が売っていたので買って読んだ。初版が2007年6月なので、最近出たじゃないです。 文法まわりは微妙 2章の JavaScript の文法に対する記述はあんまりうなづけないところがある。変数名が snake_case なのは趣味の問題だけどたぶん lowerCamelCase のほうが多数派。 配列を var beatles = Array("ジョン", "ポール", "ジョージ", "リンゴ"); とするほうが [] より「良い」(p.33) とも思えないし、連想配列がほしいときに {} じゃなくて var lennon

    mhrs
    mhrs 2009/01/18
    「ちゃんとマークアップされた文章に対して段階的強化 (progressive enhancement) として振る舞いを追加する」なんてまともで「素敵」な事が書いてあるらしい本について。isbn:9784839922375
  • JavaScriptの巧い書き方 - Archiva

    Make a note of it: Web tech, montaineering, and so on. Note: この記事は、3年以上前に書かれています。Webの進化は速い!情報の正確性は自己責任で判断してください。 Webに言語は数あれど、特に玉石混淆の激しいJavascriptの書き方について纏めてみた。間違い指摘大歓迎! 発端はYahoo!の Eric Miraglia による、YUI 式モジュールの作り方をまとめた記事。ざっくりまとめると、以下の手順になる。 YAHOO.myProject.myModule = function () { //"private" variables: var myPrivateVar = "I can be accessed only from within YAHOO.myProject.myModule."; //"private" m

  • Karetta|[お題] サンタクロース問題

    オリジナルは A new exercise in concurrency 問題はこんな感じ. ねぼすけサンタがいる.休日が開けて,9頭いるトナカイ全員が戻ってくるか,10人いるこびとさんのうち3人がやってきて起こしてくれるまでずっと寝てるというわけだ. 9頭組のトナカイに起こされたら,ハーネスをつけてソリを引かせてオモチャを配りに行く.配りおわったらトナカイたちのハーネスを外す.そしたらトナカイたちは休日だということでどこかにでかけてしまう. 3人組のこびとさんたちに起こされたら,会議をひらいて次期のオモチャをどうするかをこびとさんたちに伝授する.すんだらこびとさんたちは自分の仕事にもどっていく. トナカイ9頭組とこびとさん3人組が同時にサンタが起きるのを待ってる場合 にはトナカイの方を優先する. トナカイもこびとさんもまたそのうちに三々五々やってくる. 一旦やってきたトナカイは9頭揃っ

  • バベル案内

    Steve Yegge / 青木靖 訳 2004年9月 これは駆け足の言語案内だ — Amazon Developers Journalのために今月書いていたのだが、どうもこれを見苦しくないようにする方法を見つけられなかった・・・。 ひとつには、私はどうも粗野で口汚くなりがちで、オフィシャルな趣のあるAmazonの出版物に載せるのは不適切に思えた。それでかわりに誰も読まない自分のブログに押し込めてしまうことにした。読んでるのはあなたくらいのものだよ。どうも! もうひとつ言うと、これは当に書きかけのものであり、そこかしこの断片を集めたものでしかない。全然磨き上げられていない。これもブログエントリにする理由になっている。ブログなら別に良質である必要も完全である必要もない。単に私が今日考えたことというだけのものだ。ではお楽しみを! この駆け足の案内では、C、C++、Lisp、JavaPerl

    mhrs
    mhrs 2007/05/30
    「駆け足の(プログラミング)言語案内」。途中、Emacsの多言語化(Mule)について輕く觸れてゐる。
  • Thinking in Erlang (Japanese version)

    What is Scribd?AcademicProfessionalCultureHobbies & CraftsPersonal GrowthAll Documents

    Thinking in Erlang (Japanese version)
  • Karetta|Gaucheプログラミング(立読み版)|すべて式である

    Scheme では計算というのは式の値を求めることです。 Scheme の式は以下のように表現されているものです。 ひとつ塊(シンボルおよびリテラル)として表現されるもの(この構文のこと をアトムということがあります) 複数の式を括弧((と))で囲って表現されるもの(この構文のこ とをリストということがあります) 1. により、map、string=?、*、-5、3.14、 "The Wizard Book"、#\a などはどれも式です。 2. により、(- 1 (* 2 3))、 (string->list (string-map char-upcase "wikiwiki")) なども式です。 式が表す値に名前をつけることを定義といいます。Schemeでは式が表す値に 名前を付けることによって、複雑な構成の式をひとつのものとして抽象化して 表現することができます。 計算機に計算をさせる

    mhrs
    mhrs 2007/05/16
    「すべて式とはどういうことか」「代入がなくても計算はできる」
  • Karetta|Gaucheプログラミング(立読み版)

    はじめに書の構成 (1)書の対象読者書の表記書の使い方執筆時点でのGaucheバージョン謝辞第1部: 思想LispとScheme (4)Gaucheの特徴 (1)すべて式であるすべてリストである (1)lambdaは空気のような存在である (2)プログラミングとは名前付け(bind)であるすべて再帰である (2) (2)Schemeのすごい点 (4)すべてオブジェクトである (もしそれがお望みなら)Gaucheの設計思想や誕生の背景Schemeの評価モデルとは? (3)「Lisp脳」の謎に迫る - Schemeプログラマの発想第2部: 実用Schemeスクリプトを書こうSchemeスクリプトを書く (1)コマンドライン引数の値を得るユニットテストを書く (1)CGIを書こうSchemeスクリプトをCGIとして実行するwww.cgiライブラリを利用する (1)手軽にHTMLを生成する

  • Karetta|Gaucheプログラミング|「Lisp脳」の謎に迫る - Schemeプログラマの発想

    この原稿の最新版について この原稿に加筆した最新版が書籍「プログラミングGauche」に収録されています。 引用や紹介をされる方はなるべく書籍収録版を参照してください。 他の言語のプログラマがSchemeプログラムを書くとき、 どうしても発想が手続き的(procedural)になりがちです。 LispプログラマやSchemeプログラマの発想は手続き的な発想とはどうも違うらしい、 ということは分かるのですが、具体的に何が違うのでしょうか? ここではこの謎に迫ってみましょう。 実例 例えばこんな例題があります。 1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。 どうしてプログラマに・・・プログラムが書けないのか? (原題: Why

    mhrs
    mhrs 2007/05/13
    Fizz-Buzz問題を例に“手続き的な発想”と“Schemeプログラマの発想”の違ひを見る。
  • FizzBuzz問題

    1から100までの整数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。 ただし、剰余(Rubyでいう % 演算子や modulo)を使うな。

    FizzBuzz問題
    mhrs
    mhrs 2007/05/11
    剩餘算禁止版。
  • 『どうしてプログラマに・・・プログラムが書けないのか?』へのコメント

    ブックマークしました ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください Twitterで共有

    『どうしてプログラマに・・・プログラムが書けないのか?』へのコメント
  • elisp でのネットワークプログラム

    elispはプログラミング言語として(勿論emacs環境上ではあるが)十分実用に耐え、 ちょっとしたアプリケーションなどはすぐ実現できる。筆者もこのページの日記書き用にelisp でアプリケーションを組んで定型文の入力などを行っていたが、どうせなら、ネットワークを介してサーバーにアップロード までできればより便利だと思った。elispならばelispのみの実装でこれは可能である。 例えば秀丸に付属のマクロ言語も相当な能力があるが、このような機能を実現するためには、外部にDLLを用意するなど マクロ外での補助的な機構が必要となる。この点、elispを用いるならば"emacs"さえあれば、当該elispプログラムを インストールするだけで、そのプログラムが動かすことができ非常に便利だ。 文章は、日記エディタにネットワーク更新機能を付加した際に調べた、elispにおけるネットワーク の取扱いに

  • mode-info --- 関数・変数の説明文を参照するコマンド

    [English / Japanese] mode-info --- 関数・変数の説明文を参照するコマンド Last Updated at $Date: 2007-11-03 03:53:24 $. mode-info は,メジャーモードに対応して適切な関数・変数の説明を表示するように describe-function / describe-variable を拡張するプログラムです. 概要 ダウンロード 対応している Info インストール 使い方 動作環境 概要 Emacs には,プログラムの作成を支援するためのコマンドが多数実装されています. 中でも,関数の説明文を参照するための describe-function と,変数の説明文を参照するための describe-variable は最も便利で,頻繁に利用します. 例えば,Emacs-Lisp のプログラムを編集中に C-h f

    mhrs
    mhrs 2007/02/22
    Emacs Lisp以外の言語でも「describe-function / describe-variable」出來るやうにする物。Infoを參照する。
  • H18年度ウェブアプリケーション開発者向けセキュリティ実装講座 | 水無月ばけらのえび日記

    【講演1】 脆弱性の届出情報の深刻度評価についてCVSS のお話。「IPA が受付けた脆弱性をCVSSを用いて分析した結果を紹介します」ということで、具体的にこんな事例がこうなった、という話を期待していたのですが……。残念ながら統計データだけで、具体的な事例は出ませんでした。 もっとも、それは私の期待が大きすぎただけで、話としては普通に面白かったと思います。 【講演2】 安全なWebアプリケーションの作り方(番外編)極楽せきゅあ日記 (d.hatena.ne.jp)などで有名な園田さんの講演。中心はフレームワークのお話で、あとは書籍の脆弱性のお話など。 書籍の話ですが、個人が批判する分には問題ないと思うものの、何をもって誤りとするのかが難しいですね。「のけぞる!」なんてコンテンツがありますが、これは HTML の仕様に照らして間違いだと言っているので、間違いだと断じるだけの論拠があります

    mhrs
    mhrs 2007/02/05
    「だいたい、XSS なんてのは「何が起きても常に valid な HTML を出力する」という誇りがありさえすれば、それだけで 9割方回避できるのです。」
  • 高木浩光@自宅の日記 - WASF Times版「サニタイズ言うな!」

    ■ WASF Times版「サニタイズ言うな!」 技術評論社の「Web Site Expert 」誌に、Webアプリケーション・セキュリティ・フォーラム関係者の持ち回り企画「WASF Times」が連載されている。私の番も回ってきたので昨年9月発売号に寄稿させていただいた。近頃はサニタイズ言うなキャンペーンもだいぶ浸透してきたようだし、もういまさら不要という気もするが、以下、その原稿を編集部の承諾のもと掲載しておく。 「サニタイズしろ」だあ? Webアプリを作ったらセキュリティ屋に脆弱性を指摘された――そんなとき、「入力をサニタイズしていない」なんて言われたことはありませんか? 「入力」というのは、ブラウザから送信された情報をCGIパラメータとして受信した値のこと。これを「サニタイズしろ」というのです。なんでそんなことしないといけないの?プログラムの内容からして必要のないことなのに? そう

    mhrs
    mhrs 2007/02/05
    「コードの汎用性を常に意識して、仕様に忠実な実装で、メンテナンス性の高いエレガントな記述を実施していれば、本来いくつかの脆弱性は生じないはずのもの」http://bakera.jp/hatomaru.aspx/ebi/topic/2738の最後にも同樣の話が。
  • function の役割り - Emacs Lisp あれこれ

    関数をクオートするのには quote (') より function (#') の方がよいとされている。 しかし、どういう利点があるのかあまり理解されていない。 C 言語のソースを見ると、quote と function はまったく同じ実装になっている。 つまり、実行時の役割は完全に一緒である。 以下の例では、auto-fill-function をいうシンボルをクオートしている。 このようにシンボルをクオートする場合は、 「以下のシンボルは関数ですよ」という「コメント」としての役割はあっても、 クオートという意味においてはまったく違いはない。 (setq auto-fill-function (function my-auto-fill-function)) では何が嬉しいのか? それは、byte compile のときに、 quote でクオートするときよりも適切に byte comp

    mhrs
    mhrs 2007/01/11
    “関数をクオートするのには quote (') より function (#') の方がよいとされている”のは何故か。
  • Programming in Emacs Lisp: Narrowing & Widening

    6. ナローイングとワイドニング ナローイングはバッファの特定部分にのみ注目し、その他の部分を間違って変更 したりすることなく作業するための Emacs の機能である。ナローイングは普通 は使えないようになっている。これは初心者を混乱させないためである。 ナローイングの利点 ナローイングを使うと、バッファのその他の部分はあたかも存在しないかのよう に見えなくなる。これは、例えばバッファのある部分でのみ単語を置き換えたい 場合なんかに有効である。つまり特定の部分にナローイングしてそこで置換を実 行すると、その部分のみ置換が実行されて残りの部分は無視される。検索につい ても同様で、ナローイングされた部分でのみ検索を行い、外の部分は探さない。 というわけで、文書のある部分のみ修正したい場合など、そのリージョンにナロー イングをかけることで、間違って修正不要な箇所まで見てしまうのを防ぐことが 出来