サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
kzky.hatenablog.com
基本 flaskのみだと if request.method == "GET": ... な感じで,HTTP Methodと振る舞いを対応付けるが,これをやってくれるのが,Flask-RESTful. Resourceクラスを拡張したクラスとURL Routingを書いてそれらを紐付ける. Basic Sample Code from flask import Flask, request from flask_restful import Resource, Api app = Flask(__name__) api = Api(app) # Hello World class HelloWorld(Resource): def get(self): return {'hello': 'world by get'} def post(self): return {'hello': 'wo
タイトルの内容を質問されて,Spring/log4jを使ってしかやったことがないことに気付き調査した. ClassLoader.getSystemResourceAsStreamを使う. src/main/resources/subres/resource_file.prop key0=val0 key1=val1 key2=val2 ReadResourceMain.java package edu.kzk.java_samle.basic.io.resource; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; public class ReadResourceMain { public sta
Installation pip install flask-socketio まずはこちらをやる 短いから WebSocket 基本 Communication protocol in HTML5 Permanent connection Bi-directional communication Either client or server can initiate communication Flask-Socketsとの違い Flask-Socketsは nativeの単なるラッパー 単にコミュニケーションチャンネルの実装をしている 何が送られるかはアプリケーション依存 Flask-SocketIOの方が簡単に使えると思われる. Basics app = Flask(__name__) socketio = SocketIO(app) socketio.run(app) event
Introduction まず,LSTM articleを読んだほうがいい.わかりやすいので読んだほうがいい. rnn_cell.pyを見ると, BasicRNNCell: 普通のRNN BasicLSTMCell: peep-holeがないLSTM LSTMCell: peep-holeがあるLSTM. さらに,cell clippingとprojection layerがoptionとして用意されている GRUCell: Gated Recurrent Unit, input gateとforget gateを一緒にして,さらに,cell stateとhidden stateを一緒にしたLSTM簡易版 が,現時点(20151228)LSTMのアーキテクチャとして用意されている. 他にもいろいろバリアンスは考えれるけれど,Greff, et al. (2015)によると,どれも大差なく,
基本 メッセージパッシングフレームワーク or メッセージキューフレームワークの一種. これらはOSSでいっぱいあり,メッセージブローカーがあるbrokerd, メッセージブローカーがいないbrokerlessに大まかに分類される.ZeroMQはbrokerlessに分類される.アーキテクチャとして,brokerdにすることも可能. Middlewareというよりは,単なるのsocket abstraction libraryとして捉えたほうがいい. Docは,ここ まず,どんなパターンがあるか,Messaging-Patternsを読んで,図を眺めるのがいいと思う. サンプルコードは 言語別にgithubにある. pythonはここ 何ができるか 分散P2P HA (耐障害性)に関しては,high-level featureとしてあるというよりは brokerdのBinary Star
Actorを動かしているのがMessageDispatcher. すべてのMessageDispatcherのインプリがExecutorContext. actor systemの作成時にExecutorContextを渡すとそれがシステム全体のDispatcher 指定がなければ,defaultはfork-join-executor. Dispatcherは,mailbox, threadpoolの紐付けとメッセージハンドリングのロジックを行うイメージでいいと思う. Dispatcherの指定方法 2通りある 共通部分 Confiugrationにてdispatcherを指定 my-dispatcher { # Dispatcher is the name of the event-based dispatcher type = Dispatcher # What kind of Exe
この記事はAkka2.3.9なので注意. Documentの通りにやる. A Simple Cluster Example Cluster extension を有効にするには次のapplication.confをclass path rootにおく. src/main/resources/においておけばいい applicatoin.conf akka { actor { provider = "akka.cluster.ClusterActorRefProvider" } remote { log-remote-lifecycle-events = off netty.tcp { hostname = "127.0.0.1" port = 0 } } cluster { seed-nodes = [ "akka.tcp://ClusterSystem@127.0.0.1:2551", "
Makfile基本的書き方まとめ 数年ぶりにMakefileを書くことになったので以前にあったメモのまとめ. 基本文法 ターゲット:依存するファイル コマンド (複数行可) %はワイルドカード 自動変数 変数名 役割 $@ ターゲット名 $% ターゲットメンバー名 $< 最初の必須項目 $? ターゲットよりも新しい必須項目全て $^ 全ての必須項目 項目は重複しない $+ 全ての必須項目 項目は重複する $* ターゲット名 ただし、suffixがない パターンルール make -p で一覧が見れる e.g., %.o: %.c $(COMPILE.c) $(OUTPUT_OPTION) $< 静的パターンルール $(TARGETS): target-pattern: dependency-pattern $(TARGETS)のターゲットリストに対して、%.o: %.cというパターンルールを
ScalaのWeb Application Fraworkに関して調べ,Scalatraは比較的簡単に書けそうだったので,Scalatraを使って書くWeb Applicationの例をまとめる. 環境 Eclipse Juno Scala IDE 4.0 Scala 2.11 Gradle Build インストール (giter8経由) Javaは入っている前提ですすめる. scalatraのプロジェクトを自動で作ってくれるgiter8を入れる手順. curl https://raw.githubusercontent.com/n8han/conscript/master/setup.sh | sh ./bin/csができるので cd ./bin/ cs n8han/giter8 ./bin/g8ができるので, g8 scalatra/scalatra-sbt csとg8はパスが通ってる
Akka Scala DocのActorsを大体読んで噛み砕いたのでそのメモ. Actors 怒涛のAkka: Actors - KZKY memo Typed Actors 怒涛のAkka: Typed Actors - KZKY memo Fault Tolerance 怒涛のAkka: Fault Tolerance - KZKY memo Dispatchers 怒涛のAkka: Dispatchers - KZKY memo Mailboxes 怒涛のAkka: Mailboxes - KZKY memo Routing 怒涛のAkka: Routing - KZKY memo FSM 怒涛のAkka: FSM - KZKY memo Persistence 2.3.9ではまだExperimentalのようなのでやらない. Testing Actor Systems 怒涛のAkk
Actor API extends Actorしたときに使える APIの説明 context.actorOfでchild actorつくる start/stopのhook etc. Actor Lifecycle 図を見る 登場人物 ActorPath ActorSelection pathの表現 actor refの名前解決 ActorRef incarnationの表現 pathを持つ uidを持つ Actor Incarnation pathに所属 uidを持つ mailboxを持つ 依存関係 Actorの構成要素の依存関係 Actor -> context=ActorContext -> self = ActorRef -> path=ActorPath Lifecycle Monitoring aka DeathWatch あるActorの子供をwatch対象にする import
基本 http://www.slideshare.net/sifue/akka-39611889 が超わかりやすい. 並列処理の基本とJavaのconcurrent packageとを引き合いにして, Akka Documentをかなり完結にまとめている. Akkaとは 状態とアドレス,MailBoxをもった1つのThreadであるActorを提供,管理してくれる並列分散処理のフレームワーク. シングルノードの環境だったらJavaのExecutorServiceのような感じだが, マルチノードでも行えるし,状態とアドレス,MailBoxを1つのThreadが持っているイメージ. 何ができる 同期/非同期,ブロッキング/ノンブロッキング,イベントドリブンで対障害性を持つ分散/並列プログラミングが可能 例 完全非同期メッセージパッシング 準非同期メッセージパッシング ~= GraphX ブロー
YARN SparkのYARN-modeを使うかもしれないので基本をメモ. 1つのJob, DAG of JobsなどのApplicationをクラスターで実行させることが可能 Applicationは,MapReduceに限らない JobTrackerの役割をリソースマネジメントとスケジューリング/モニタリングに分割 Architecture Hadoop上のサービスとしては2つあって,ResourceManager(Master)とNodeManager(Worker). アプリケーションの実行で登場するのがApplicationMaster. ResourceManager Schedular リソースの割り当て 複数アプリケーションのスケジュール プラッガブル Applications Manager ジョブの受け入れ アプリケーションの登録 アプリケーションマスタ実行のための一番
RDD (Resilient Distributed Dataset) SparkのコアであるRDDに関して調べてみた.結局,文字でちゃんと書いてあるのは論文だった. Matei Zaharia et al. "Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing" 2012. Matei Zaharia et al. "Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing" 2011. Matei Zaharia et al. "Spark: Cluster Computing with Working Sets" 2010.
象本参考 全体 方針 shuffleにたくさんメモリを使ってspill to diskがなるべく起こらないようにする mapreduceではなるべくメモリを使わないようにする. パラメータ mapred.child.java.opts: -Xmx200m : child JVMのメモリ mapred.tasktracker.map.tasks.maximum: 2: map task数/タスクトラッカー mapred.tasktracker.reduce.tasks.maximum: 2: reduce task数/タスクトラッカー map 方針 mapタスクのspillがなるべく少なくなるようにする. 単純には以下のパラメータの値変更 mapred.child.java.optsを増やす mapred.map.tasksを増やす mapred.reduce.tasksを増やす mapre
このページを最初にブックマークしてみませんか?
『kzky.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く