タグ

いつかに関するshirebitoのブックマーク (4)

  • DSAS開発者の部屋:Android アプリケーションが起動するまでの流れ

    プログラム開発のために Android 上でアプリが起動するまでの過程を調べてみました。備忘をかねて、ソースコードをひと通り追跡した記録をここに控えます。 まとめ ※クリックすると大きな図が開きます Zygote(ザイゴート)プロセスは、Android システムブート時に起動し DalvikVM 体と Android プログラムの実行に必要なダイナミックリンクライブラリと Java のクラスライブラリをロードした状態で待機する常駐プロセスである Zygote プロセスの目的は、同プロセスを fork することによりプログラム実行用のプロセス環境を素早く効率的にシステムへ提供することにある UNIX ドメインソケット /dev/socket/zygote が Zygote プロセスへのインターフェイスであり、同ソケットにプロセス生成要求を送出すると Zygote はプロセス fork を実

    DSAS開発者の部屋:Android アプリケーションが起動するまでの流れ
  • PySide チュートリアル - helloworld から ユニットテストまで

    ここ 2 ヶ月ほど PySide でお仕事してました。もともと PyQt で動いてたアプリケーションだったのですが、けっこう仕様変更が大きかったこともあり、どうせなので PySide で作り直してみることにしました。両フレームワークの差異はこのページにまとまっています (id:doloopwhile さんが翻訳されています)。大きくは、 モジュール名が PyQt から PySide に PyQt の API は QString や QVariants 等 Qt が提供する型と、unicode 等 Python のデータ型の両方をサポートしていましたが、PySide では Python のデータ型のみをサポート 画像等のリソースファイルをバイナリに変換したりするツール類の名称がそれぞれ変更 pyuic4 -> pyside-uic pyrcc4 -> pyside-rcc4 pylupdat

  • Schemeインタプリタ作ったので実装の方針とか苦労した点などまとめてみる(いろいろ追記 - IT系で覚醒めたい

    一昨日ブログに書いたPicricというScheme処理系について、プログラミングしたときの方針とか、そのへんをまとめてみます。 Scheme(Lisp)の処理系は実装が簡単簡単と言われる割にその実装方法についてまとめられたサイトがほとんどなくて、僕自身調べるのにかなり苦労しました。もうこれ以上僕みたいな犠牲者を出したくありません。 とはいえいろいろ間違ってる箇所もあるかと思いますので気づいた方はコメントをおねがいします。 まずPicricについて。 実は昔々(今年春)NLispというものを作った。 Pythonで実装されたSchemeのサブセット。 継続が実装されていなかった。 今度こそは継続を!pythonからも脱脚して一人前になりたい! そんな動機で開発を始める。 名前の由来はピクリン酸。 ピクリン酸はそのやたら可愛い名前にも関わらず実はものすごい爆薬。 そういう「意外とすごい」インタ

  • Applicativeのススメ - あどけない話

    この記事の目的は、Applicative 信者による Applicative スタイルの布教です。 簡潔に結論を述べると、 foo = do a <- m1 b <- m2 return (f a b) のようなコードを書きたくなったら foo = f <$> m1 <*> m2 と書きましょうということ。 合い言葉は、「do と return をなくせ!」です。 FunctorとMonadの間 Functor を特殊化した型クラスがMonadで、Monadの方が強力です。なぜなら、メソッドが増えるからです。 Functorのメソッドはfmapです。fmapの別名を (<$>) といいます。(この記事では、(<$>) と liftM を同一視します。) そして、Monadのメソッドは、ご存知の通り (>>=) と return です。 FunctorとMonadの間にApplicative

    Applicativeのススメ - あどけない話
  • 1