サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
猛暑に注意を
qiita.com/knoguchi
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
ident = alpha { alpha | number | '_' } . program = block "." . block = [ "const" ident "=" number {"," ident "=" number} ";"] [ "var" ident {"," ident} ";"] { "procedure" ident ";" block ";" } statement . statement = [ ident ":=" expression | "call" ident | "begin" statement {";" statement } "end" | "if" condition "then" statement | "while" condition "do" statement ]. condition = "odd" expression
目的 Pythonで24時間走らせ続けるデーモンを書いています。稼働状況の確認や設定を動的に変更をするためにREST APIを追加することにしました。メインルーチンに大きな変更を加えることなく、最小の手間で実装する方法を模索しました。 FlaskとFlask-API REST APIを提供するにはなんらかのウェブサーバが必要です。外部に公開するものではないのでFlaskが同梱している開発用のウェブサーバを使います。開発用ですがスレッドで同時アクセスにも対応していますので、十分実用に耐えます。 REST APIは手軽に実装できてテスト用のUIまで用意されているFlask-APIを使うことにしました。 以下の実験ではFlask-APIのサンプルを使います。コピペしてexample.pyというファイルで保存します。 http://www.flaskapi.org/#example マルチスレッド
Apache Kafka 0.9より同梱されているKafka Connectを紹介します。 Kafka-Connect Kafka ConnectはKafkaと周辺のシステム間でストリームデータをやりとりするための通信規格とライブラリとツールです。まずは下の図をご覧ください。 コネクタは周辺のシステムからKafkaへデータを取り込むためのソースと周辺システムへデータを送るシンクの二種類があります。データの流れは一方通行です。すでに何十ものコネクタが実装されており、サポートされている周辺システムは多種に渡ります。もちろん自分でコネクタを作ることもできます。 Kafkaの中を通過するデータの形式は基本的にAvroです。コネクタが周辺システム固有のデータ形式をAvroに変換統一しています。これによりどんなソースとシンクの組み合わせでも動くことになります。 AvroにはSchema Registr
SparkのMLlibはMLに移行しつつあります。Spark2.0からはRDDベースのMLlib APIは保守のみになり、今後はDataFrameベースのAPIが標準になるそうです。ここではPySparkでML APIを使い、主成分分析を行ってみます。 ※DataFrameはPandasのDataFrameとは異なります。 新聞10紙の紙面の傾向分析 下記のリンク先にある新聞10紙のニュース、ビジネス、スポーツの充実度の評価から紙面の傾向を分析する、という例題をSparkで実装してみます。 データ 新聞10紙について、記事の内容をニュース・ビジネス・スポーツについてその充実度を10点評価で調査した、とのこと。スケールは0から10で大変充実しているが10,充実していないが0。
今回の目標 前回はparse treeの作成に必要なpyparsingの機能を理解しました。今回は3番の抽象構文木(AST)生成を行います。 パーサーでトークンに分解する。 トークンから構文木をつくる方法、式の構文木の作成 setParseAction()を使って抽象構文木(AST)を生成 <- 今ココ ASTノードを辿ってコードを生成する。 ASTノード ノードを定義するにあたっては次の点に注意します。 ASTノードはpyparsingの実装から切り離す。 ツリーの探索が簡単にできるようする。具体的には共通のベースクラスを持たせる。 ノードがコード生成の最小単位であるから、一つのノードの役割を大きくしない。 では実装です。pl0_nodes.pyというファイルを新規に作成します。このファイルではpyparsingはインポートしません。ベースクラスはprintしたときに、クラス名とフィール
Elasticsearchを使う上で標準のDSLであるストラクチャードクエリーを書くことは避けて通れません。しかしこのJSON形式のDSLはもともと機械が理解するためのもの...人間が書くには辛すぎます。ネストが増えるたびに上に行ったり下に行ったり、目を凝らしてカッコの対応を確認したり...。使い慣れたSQLで問い合わせができたらどんなに楽だろうと思ったあなた!そんな便利なプラグインが存在します。 elasticsearch-sqlの導入 Elasticsearchのプラグインの導入はコマンド一発なので簡単です。ESのバージョンによってバイナリが違うので注意してください。導入後はESの再起動が必要です Elasticsearch 1.X ./bin/plugin -u https://github.com/NLPchina/elasticsearch-sql/releases/downlo
PythonでDBを操作するときに出てくるcursorについて、あまりにも実体不明なので調べた。SQL CURSORとPython cursorの違い、SQL CURSORをどれだけ忠実に実装しているか、という視点でPostgreSQL用のpsycopg2とMySQL用のMySQLdbについて調査した。 疑問 SQL標準のCURSORと名前が同じな割には、そのような使われ方をしているのを見たことがない。どういう関係なのか? 「fetchoneは全結果を一度に読み込まないのでfetchallよりメモリ効率が良い」という説明をたまに見るが本当なのか? 結論 本文は長いので結論から。 Python cursorはざっくり3種類の実装がある。 サーバーサイドカーソル: 正しく実装されていたのはpsycopg2だけ。SQLのCURSORと同等の操作と参照(FETCH, MOVE, CURRENT O
PyQuery PythonにはPyQueryというjQueryライクなAPIを提供する便利なモジュールがあります。巷ではBeautifulSoupなどが流行っているようですが、断然PyQueryの方が使い易いです。ベースはlxmlなので性能と信頼性も担保されていると思います。 コンストラクタにurlを引き渡すとフェッチまで勝手にやってくれます。HTMLの文字列を引き渡したり、ファイルオブジェクトを引き渡すこともできます。その後はjQueryのセレクター同様の文字列を指定すればマッチするエレメントをすべて取得することができます。 ラムダ式や関数を引き渡すことで、各々のエレメントを操作することも可能です。jQueryを知っている方なら何ができるか想像がつくでしょう。詳しくはマニュアルをご覧ください! DOMの操作例 セレクトしたエレメントに対して.each()メソッドで属性をあたえて見ます。
このページを最初にブックマークしてみませんか?
『knoguchi - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く