タグ

ブックマーク / tkuro.hatenadiary.org (8)

  • E言語 - 初学者の箸置

    lock(semaphore, mutex),からデッドロックフリーな方法として STM, message-passing(erlang)までは手を出したけど、promise(future)をいじってなかったので勉強。のついでにE言語を覚えてみようかと 特徴 分散アプリに特化しているらしい。今回の目的 promise-pipeliningがある secureな分散しシステムに向いているらしい。通信が暗号化されるっぽいのと、Capabilityベースのセキュリティのため、監査なんかでも切り分けしやすいとか あと、ウイルス防止にも有効でVBの代わりにEだったらLoveLetterとかありえへん、とか書いてあるけど、正直なんのこっちゃ 欠点 JVMベースなんで低レベルあつかえねー 同様の理由でおそい しかーし、JavaやCで拡張できるんでほとんど問題ないよーとか いれてみる こっからひろってくる

    E言語 - 初学者の箸置
  • undoとかredoとかtreeとか - 初学者の箸置

    計算機史上最大の発明 undo/redo。ことコンピュータの中のことであれば、これさえあれば、いつでも人生をやり直せます。あんな自分にもこんな自分にも。 もちろん計算機資源にも限りがあるので、あらゆる時点に戻れるわけでは無く、いくつかのセーブポイントに戻れるってだけですが、それでもあるのと無いのとでは、次の一歩を踏み出す勇気の質と量が全く違ったものになります。 #おおげさです。その通りです vimにだって UNDO/REDOがあります。完璧です。強力です。 事件が! とりあえず外形だけ書いてみたとします。 #(1) boundlist.each {|bound_field| } visualize frame ~ ~ ~ ここでさあ中はどうしようかなーとかあまり考えずに #(3) boundlist.each {|bound_field| dx += get_value_from(boun

    undoとかredoとかtreeとか - 初学者の箸置
    tyru
    tyru 2011/02/25
    おお、undo treeそういう順番で作られるのか―。なんとなくuじゃ無理だなって時は直観的にg-するのでよくわかってなかった / gundo.vimの簡単な紹介も
  • from optparse to argparse - 初学者の箸置

    なんであれ移行にはコストがかかります。 けれど、移行しないとみえてこないこともあります。 このargparse、Python2.7の時にチラ見して、「めんどくさー」とかになってしまい移行する意義をつかみ切れずにいたんだけど、 スイッチ系オプションで'+'を使いたい、 とか言うしょうもなくもびみやうな理由でちょっと使ってみたら、目からウロコが超音速射出されたんで、散らばったウロコをひろいつつも備忘録 何が違うの 型変換&ヘルプ生成&コールバックとか、基的にできることはoptparseとおんなじです。 メソッドがadd_option -> add_argument とか微妙に違う(これはどうでもいいw) '-'以外をプリフィックスに使えるようになった(今回の主目的) options, remaindersというくくりではなく、明示的に「ここpositional args」とか全部指定するよう

    from optparse to argparse - 初学者の箸置
  • parrot事始め - 初学者の箸置

    昨日は嘘ばっかり書いていた。pasmじゃなく pir形式だったりとか、 pbcは言語の実体じゃなくpirとかの形式をコンパイルした後のバイトコードだったり*1。とりあえずまとめ。 Parrotとは ParrotはレジスタベースのVM。まあこのアタリは言うまでもなく。2001年のエイプリルフールが誕生日。動的型付き言語をターゲットに設計されている。 ファイル形式 ファイル形式は4タイプある。 PIR (Parrot Intermediate Representation) PASM(Parrot Assembly) PAST(Parrot Abstract Syntax Tree) PBC(Parrot Bytecode) 下に行くほど抽象度が低い。 1.は昨日見ていたヤツ。抽象度がある程度あってサブルーチンコールみたいなのベースとかいろいろ糖衣構文があるやつ。手書きとコンパイラ出力両方を念

    parrot事始め - 初学者の箸置
  • vim-flymakeを試して見た - 初学者の箸置

    vimには標準でQuickFixと呼ばれる機能が付いている。コンパイラなどの文法チェッカのエラー出力を保存しておいて、エラー行にジャンプができるという機能で、開発以外のシーンでも:vimgrepやらなんやらでとても役に立つ。更に、単純にメッセージ中の行番号にジャンプするわけではなく、ソースに変更があって行が変わった場合もそれを考慮して正しい行にジャンプしてくれる。昨今のIDEほどじゃあないけれどedit -> Compile -> editのサイクルを短くして、生産性を高めることができる、、、というか、たっくさんエラーとか警告(品質向上、という意味では特にこっちが重要。エラーは出ている限りどっちにしても動かないので・・・)出るってのに、これが無いとふつうにムリ。 しかし、eclipseのようにインクリメンタルにチェックを行うIDEに比べて コンパイル、するという動作、しているという状態、が

    vim-flymakeを試して見た - 初学者の箸置
    tyru
    tyru 2010/09/13
  • puttyでtmuxを使ってみたらへんな文字が・・・ - 初学者の箸置

    windowsしか使えない状況で、回線が外なのでXで飛ばすのははばかられる、という状況なので puttyで飛ばして、なんとなくtmuxを使ってみたら、画面をpaneにsplitした途端、 なんじゃこりゃー。というq とか x とか w とかが現れてフいた。 なんじゃこらー。 なんこれー。 なにー。 なー。 : : いやそれで終わっては悲しいのでちゃんと調べる。 tmuxを追っかけてみる 誰が線引いてんの?と探してみると tmuxのscreen-redraw.cのscreen_redraw_screen()当たりがあやしい。ていうか、まんま。 /* Draw background and borders. */ strlcpy(border, " |-....--||+.", sizeof border); if (tty_term_has(tty->term, TTYC_ACSC)) {

    puttyでtmuxを使ってみたらへんな文字が・・・ - 初学者の箸置
  • RE2を試してみた。 - 初学者の箸置

    Google Code Searchで使われている正規表現ライブラリRE2が公開された。 http://code.google.com/p/re2/ PCRE系のバックトラック式(指数的時間、どこまでも伸びるスタック)に変わるものとして、Ken Thompsonのopen source grepで使われている fast DFA方式(多項式時間、固定スタック)で実装されているらしい。ちょと試してみようかと。 まずはPCREの速度測定 http://swtch.com/~rsc/regexp/regexp1.html とのことで、試してみる。 PCREで(a?)^n(a)nをつくって実験。 #include <iostream> #include <string> #include <sys/time.h> #include <pcrecpp.h> long long gettime() {

    RE2を試してみた。 - 初学者の箸置
  • ポインタと配列 - 初学者の箸置

    c - *sとs[]の違い - 404 Blog Not Found [c]「 *s 」と「 s[]」の違い - IT戦記 やっぱりここがCの第一関門なのかな。なんだかポインタ合戦に弾さんまで参戦してる(?)みたいだけど。。。 結局配列の後ろ以外の文字列って文字列「定数」なので ポインタはその定数をさしてるだけ。配列はその分を「確保」してしまう、ってのも違いだよね。だから char *p = "hogerimakuri"; は定数(read only セクション)のhogerimakuriを char s[] = "hogerimakuri"; は配列として .dataセクションにこさえる。という理解をしてます。 実際、gcc4.1.2 で試してみると、*pは .rodataセクションに .globl p .section .rodata.str1.1,"aMS",@progbits,1

    ポインタと配列 - 初学者の箸置
    tyru
    tyru 2008/07/22
    やっぱりそうなのかー
  • 1