タグ

関連タグで絞り込む (255)

タグの絞り込みを解除

programmingとtutorialに関するjjzakのブックマーク (462)

  • Episode 1 - Futures & Promises

    Verify to continue To continue, please confirm that you're a human (and not a spambot).

    Episode 1 - Futures & Promises
  • 2010-02-27

    合っているのか自信がないのでblogに貼るだけにしておく 今のところ 文字のリスト(sequence)から文字列を作成する上手い方法が見つかっていない。 暫定的な対応策は以下 (defn cs-to-str [cs] (String. #^"[C" (into-array Character/TYPE cs))) 文字列を結合する (str "foo" "bar") ; => "foobar" 大文字・小文字に揃える (. "Hi, Clojurian" toUpperCase) ; => "HI, CLOJURIAN" (. "Hi, Clojurian" toLowerCase) ; => "hi, clojurian" 大文字と小文字を入れ替える (defn swap-case [str] (cs-to-str (map #(cond (Character/isUpperCase %

    2010-02-27
  • Compojureのチュートリアル見つけた | エースジュニア監督ブログ

    ので、超訳してみる。 原文は、http://groups.google.com/group/compojure/browse_thread/thread/3c507da23540da6e 4. HTML以降はまだない。 1. ハンドラ Compojureでは、HTTPリクエストとHTTPレスポンスはClojureのマップで表される。 ハンドラはリクエストのマップを引数に取り、レスポンスのマップを返す関数である。 { リクエスト } --> ハンドラ --> { レスポンス } レスポンスのマップは3つのキーで構成される。 :status (必須、整数) HTTPステータスコード :headers (必須、マップ) HTTPヘッダ名と値のマップ :body (オプショナル、{String, ISeq, File, InputStream}) HTTPレスポンスボディと

  • マンガで分かる JavaScriptプログラミング講座

    はじめに 「マンガでわかるJavaScript」は、難しそうに思えるプログラムを、簡単そうに見えるマンガで解説するという初心者向けの入門講座です。 架空の高校生たちに教える形式で、プログラムの基礎から応用を、解説していきます。一通りのマンガを読めば、かなり実践的なところまで、プログラムを書けるようにしていきます。 (マンガは、左上から右下へと読みます) プログラムというと、けっこう大変そうに思えますが、この講座のテーマは「面倒くさいことを楽にする」です。面倒臭がりで、手抜き大好きの女子高生を主人公にして、楽しくプログラムを学んでいくことにします。 主な対象読者は「これからプログラムを学んでみたい人」「Webの世界に関わっていてJavaScriptを学んでみたい人」「昔JavaScriptを触っていたけど最新のトレンドが分からないので改めて学んでみたい人」などです。初心者だけでなく、Webデ

    マンガで分かる JavaScriptプログラミング講座
  • RubyからScalaに乗り換えた15くらいの理由 - ヽ( ・∀・)ノくまくまー(2010-04-26)

    ● [Scala] RubyからScalaに乗り換えた15くらいの理由 [注意] この文章を読むと、既存のRubyコードをScalaでrewriteしたくなる、 Rubyコードで型チェックをやるのがになる、Ruby案件でやる気が出なくなる、 などの幻覚や異常行動が報告されています。 現在関わっているプロジェクトや家族のことを常に意識し、 気を強く持って冷静に読むとよいでしょう。 「Scalaプログラミング入門」を読みはじめて、いきなり大きく頷いてしまった。 "コーディング時間の半分をテスト作成に費やさなければならなかった"(p.3) "Railsによって得られた生産性の向上は、テスト作成の作業に失われてしまいました"(p.3) まさにここ数年私が抱いてた漠然としたストレスの正体が、的確に文章となっていたからだ。そしてほどなく、「あ、この機能がRubyに欲しかった!」という驚きと共に Sc

  • Web Application Exploits and Defenses

    A Codelab by Bruce Leban, Mugdha Bendre, and Parisa Tabriz Want to beat the hackers at their own game? Learn how hackers find security vulnerabilities! Learn how hackers exploit web applications! Learn how to stop them! This codelab shows how web application vulnerabilities can be exploited and how to defend against these attacks. The best way to learn things is by doing, so you'll get a chance to

    jjzak
    jjzak 2010/08/24
    Googleのハッキング学習用Webアプリ
  • WEBプログラマー必見!WEB脆弱性基礎知識最速マスター - 燈明日記

    以下は、WEBプログラマー用のWEB脆弱性の基礎知識の一覧です。 WEBプログラマーの人はこれを読めばWEB脆弱性の基礎をマスターしてWEBプログラムを書くことができるようになっているかもです。 また、WEB脆弱性の簡易リファレンスとしても少し利用できるかもしれません。 WEBアプリケーションを開発するには、開発要件書やプログラム仕様書通りに開発すれば良いというわけにはいきません。 そう、WEB脆弱性を狙う悪意のユーザにも対処しないといけないのです。 今回、WEBアプリケーションを開発にあたってのWEB脆弱性を、以下の一覧にまとめてみました。 このまとめがWEBアプリケーション開発の参考になれば幸いです。 インジェクション クロスサイト・スクリプティング セッション・ハイジャック アクセス制御や認可制御の欠落 ディレクトリ・トラバーサル(Directory Traversal) CSRF(

    WEBプログラマー必見!WEB脆弱性基礎知識最速マスター - 燈明日記
  • Using Cscope on large projects (example: the Linux kernel)

    Cscope can be a particularly useful tool if you need to wade into a large code base. You can save yourself a lot of time by being able to do fast, targeted searches rather than randomly grepping through the source files by hand (especially since grep starts to take a while with a truly large code base). In this tutorial you'll learn how to set up Cscope with a large project. We'll use as our examp

  • Forth関連の情報サイトのまとめ - ふじまことの館

    コンピュータがあると三つのことができる。 金儲けにトライしてみること。けれどそう上手くはいかない。 有名になろうとすることもできるが、まずそれも実現しないだろう。 最後に、ただ楽しむということができる。これはいつもうまくいく。 私の場合、往々にして楽しみというよりは仕事になってしまっているけれど。 Charles Moore: 帰ってきたよより ドキュメントCharles Moore: 帰ってきたよ[日語] - 好きだなーMops/Forthの宇宙 - Forthの抽象的なお話、この方のサイトはよく読みました。GForth 日語マニュアル - 役にたちます、ありがたいです。Thinking Forth - Forthのバイブル、モジュール化の解説がためになる。eForth and Zen - Forthと禅の関係2 part forth (2ch) - 少ない更新ながら、やくにたつ情報

    Forth関連の情報サイトのまとめ - ふじまことの館
  • Moving Forth: Part 1

    MOVING FORTH Part 1: Design Decisions in the Forth Kernel by Brad Rodriguez This article first appeared in The Computer Journal #59 (January/February 1993). INTRODUCTION Everyone in the Forth community talks about how easy it is to port Forth to a new CPU. But like many "easy" and "obvious" tasks, not much is written on how to do it! So, when Bill Kibler suggested this topic for an article, I deci

  • Let's Build a Compiler

    Let's Build a Compiler, by Jack Crenshaw This fifteen-part series, written from 1988 to 1995, is a non-technical introduction to compiler construction. You can read the parts on-line or download them in a ZIP file. Read the tutorial on-line Part 1: INTRODUCTION Part 2: EXPRESSION PARSING Part 3: MORE EXPRESSIONS Part 4 INTERPRETERS Part 5: CONTROL CONSTRUCTS Part 6: BOOLEAN EXPRESSIONS Part 7: LEX

    jjzak
    jjzak 2010/08/24
    Pascalの部分セットのコンパイラをForth上に実験的に構築
  • Closure (クロージャー) って何だろう?

    何年か前に Closure って何? って質問を受けた。当時、ぼくはその質問に答えることは出来なかった。今も出来る自信がない。だから少し勉強してみた。 初歩の初歩を噛じっただけだけど、考えをまとめるためにエントリーにしてみる。 参考文献 Closure と言えば Lisp ということで、Common Lisp のを参考にした。 「ANSI Common Lisp」(Paul Graham) pp.96-99 「実践 Common Lisp」(Peter Seibel) pp.66-67 クロージャは「関数と環境を一緒にしたもの」。これがクロージャーの説明として一番良く聞く文言。 クロージャを知っている人にはこれで十分なのでせう。でも、ぼくにはこの説明はまるで霞を掴むように思える。 更に、「ANSI Common Lisp」から引用する。 関数が外部で定義された変数を参照するとき、その変数

    Closure (クロージャー) って何だろう?
  • さあ、Yコンビネータ(不動点演算子)を使おう! - よくわかりません

    前回、おとうさんにもわかるYコンビネータ!(絵解き解説編) - よくわかりませんというエントリで、Yコンビネータ(不動点演算子)と再帰の絵解き解説をしました。 Yコンビネータ自身は、結局のところ再帰を産み出してくれるだけです。関数(正確にはλという単純な文字列変換ルール)だけで出来て、プログラミングに関するいろんな原理の研究を可能にするのが凄い訳です。その辺のさわりを、きしださんが解説されています。しかし、単なる再帰なら、実際のプログラミングではYコンビネータなんて使わなくても出来ます。 じゃあ、Yコンビネータとか不動点とかは、偉い学者さんとかが研究に使えばいいもので、普通のプログラマには何の意味もないモノなのでしょうか? というわけで、今回はポジティブに、Yコンビネータや不動点で出てくる考え方を、理論だけじゃなく、実際のプログラミングに応用する例を見てみましょう。 今回、プログラムの例を

  • おとうさんにもわかるYコンビネータ!(絵解き解説編) - よくわかりません

    先日YコンビネータのきしださんのYコンビネータのエントリが話題になっていました。 ずいぶん日にちが経ってしまいましたが、自分も、自分なりにYコンビネータのあたりを絵解きで整理してみたいと思います。きしださんのエントリタイトル*1に引っ掛けて、目標として、自分の父親(非プログラマ。その辺のおっさん)でも解る内容を目指します。 なぜ不動点演算子というのか、不動点だったらなぜ再帰なのか、この辺りも含めて、実感を持って納得できればいいなと思います。 きしださんのエントリのおさらい 題の前に、きしださんのエントリをおさらいしておきます。 Yコンビネータはただのオモチャじゃないんだよ 関数だけで色んな事が出来る 条件分岐をする関数ってのもある。 再帰(ループ)を作れる関数もある。←これがYコンビネータ。 数値も関数で表現できる。 つまり、関数だけで、条件分岐も、再帰(ループ)も、数値も作れちゃう!!

    おとうさんにもわかるYコンビネータ!(絵解き解説編) - よくわかりません
  • debugging with GDB

    gdbとは gdbは The GNU Project Debuggerのことです。 デバッグのためのツールです。 プログラムがエラー終了するが、どこが悪いのかわからない… というような時に便利です。 準備 デバッグ対象プログラムのコンパイル コンパイルしたプログラムにデバッグ情報を含めておくと、 デバッガでプログラムのソースを参照できるなど、 デバッグが非常に楽になります。 gccやUNIXのccでは、コンパイル時に「-g」オプションを付加すると デバッグ情報を生成します。 最適化オプション「-O」と デバッグオプション「-g」の両方は 同時に指定できないコンパイラもあるので注意してください。 gccは同時に指摘できます。 なお、FreeBSDやRedHat Linuxのccの正体はgccなので、 「-O」と「-g」を同時に指定できます。 makeでコンパイルしている場合には、 「-g」オ

  • ダンプされたcoreを元にエラー原因を解析する方法 - Hello, world! - s21g

    Railsアプリを書いてる場合はあまり関係ないですが、 セグメンテーションエラー(SEGV)などに遭遇した場合に、 原因を調査する方法を紹介します。 まずは、coreを吐かせるためにulimitの設定をします。

  • Learning 4tH

  • プログラミングWiki - CUnit

    Cのためのユニットテスティングフレームワーク SF.netの方じゃなくてこっち 特長は,以下の通り. テストは共有ライブラリにする テストを起動するプログラム(CUnitTester)がある CUnitTesterは指定したディレクトリの下にあるlibtest_*.soという共有ライブラリをロードしてテストを実行する ちなみに,環境変数TERMが?termでない時はエスケープシーケンスを使わないように改造していたりします.パッチはこちら.cunit-0.6.8-term.diff ついでに,UTEST_ASSERT_*(UTEST_ASSERT_EQUAL_INTとか)を追加するパッチはこちら. cunit-0.6.8-term-and-assersions.diff CUnitTesterのために,パスに~h12j37/local/binを加えます. 例えば,~/.cshrcを以下のよう

  • CCUnit クックブック

    これは CCUnit を使い始めるにあたって、 理解の助けとなるような短いクックブックです。 [see also English documents] シンプルなテストケース CCUnit を使ったテストは自動的に実行することができます。 CCUnit のテストは簡単にセットアップすることができ、 一度テストを書いてしまえば、 いつでもプログラムの品質を信頼できるものに保つことができるでしょう。 簡単なテストを作るには、次のようにします。 テスト関数を作ります。 値をチェックしたい場合は、 CCUNIT_ASSERT(bool) を呼び出して、 テストが成功するなら真を返すような真偽値を渡します。 ASSERT 関係のマクロは他にも ASSERT マクロにリストしてあります。 例えば、簡単な複素数のライブラリのテストを例にとってみましょう。 (ここで使用するサンプルプログラム は exam

  • Unix Magazine「インターフェイスの街角」

    Unix Magazine「インターフェイスの街角」関連資料 掲示板 2006年4月号 「写真の位置登録」 2006年3月号 「マイ認証」 2006年2月号 「索引ナビゲータ」 2006年1月号 「Greasemonkeyによるブラウザ機能の拡張」 2005年12月号 「棚演算」 2005年11月号 「Rindaで実世界指向プログラミング」 2005年10月号 「並べる! 技術」 2005年9月号 「TV番組の検索と録画予約システム」 2005年8月号 「位置情報からの検索」 2005年7月号 「逆リンクと兄弟リンク」 2005年6月号 「携帯から位置情報を活用」 2005年5月号 「Ajax」 2005年4月号 「Phidgetsシステム」 2005年3月号 「ファイルシステムによる階層型データの管理」 2005年2月号 「最近の画像認証」 2005年1月号 「位置コミュニケーション」