タグ

2017年10月29日のブックマーク (3件)

  • Clojure + core.async による非同期&並列プロセスの世界 - 紙箱

    core.asyncによる非同期プログラミング core.async はClojure用の、事実上標準の非同期プログラミングのライブラリです。 core.asyncの一番わかりやすい説明は、「Go-langのchannelのClojure版」という言い方でしょう。goマクロによってgo-blockを作り、そのブロック内が非同期に動きます。このブロックが常駐すれば、軽量プロセスというやつになります。プロセス同士のやりとりをする口として、チャネル(channel)があります。core.asyncを使ったプログラムでは、チャネルへの入出力を介して非同期軽量プロセスにデータを処理させることで、全体のシステムを作り上げます。 goマクロはステートマシンを作り、チャネルへの入力があるたびにマシンが1回転します。この一回転時に、チャネルを待ち受けていたgoブロックにスレッドが割り当てられ、次のチャネル入

    Clojure + core.async による非同期&並列プロセスの世界 - 紙箱
  • Redmineプラグインのお試し環境を立てる (docker-compose & SQLite3) - Qiita

    はじめに Redmineに関する投稿や情報でも、Dockerを使って利用する例が増えて来ましたね。 私も実運用では使っていませんが、特にテスト方面で利用しています。 もちろん、RedmineRedmineのコミュニティでもDockerのイメージが提供されていますので、Redmine体の起動であればそうした環境が利用できます。 今回は、自分の作ったプラグインを「簡単に試してもらう」のを目的として、シンプルなDockerの環境を用意してみました。 Redmineのプラグイン開発環境については、すでにQiitaにもたくさん記事があるので、目新しいものではないですし、 MySQLを利用される場合は、以下をご覧いただいたほうが良いかと思います。 Redmine x Dockerの記事 Redmine x Docker x プラグインの記事 わたしの場合のお試し環境 基的には 上記の記事のとおり

    Redmineプラグインのお試し環境を立てる (docker-compose & SQLite3) - Qiita
    pochi-mk
    pochi-mk 2017/10/29
  • Happy Programming » Pythonのクラスを辞書のようにして使う

    データをひとまとめにして扱いたい時、配列やハッシュというデータ型を使う事が出来る。 配列は0から始まる数値で値を管理するため狙った値にアクセスするにはどんな順序で並んでいるかを把握していなければならない。 ハッシュはキーと呼ばれる(主に文字列)もので値を管理するため必ずしもその値の場所を覚えておく必要がない。というよりは逆に順番では覚えられない。 いわばデータにラベルが付いてるような物だ。 例えばaというハッシュがあれば a = {} a['name'] = "nioka" a['age'] = 32 a['position'] = "third" a['number'] = 23 こんな感じで値を追加していける。 そしてそれらを参照するのも print a['number'] とか b = a['position'] と、簡単に扱う事が出来る。 この場合はaという人物データがありそれぞれ