c-bata web

@c_bata_ のメモ。python多め

PyCon APAC 2017 参加レポート

今年で3回目のPyCon APAC参加になりました。 前回まではgihyo.jpさんの方で連載していたのですが、今回はpyladiesの方々が書いてくれるみたいなので楽しみ。 台湾で開催された「PyCon APAC 2015」参加レポート:レポート|gihyo.jp … 技術評論社 「PyCon APA…

python-prompt-toolkitをgolangに移植。kubernetesクライアント作った

Github Trendingに載ってから、予想以上に伸びました。ありがとうございます。 Wow... #githubhttps://t.co/ENQjRyqZmN pic.twitter.com/iqFx59ydcq— c-bata (@c_bata_) 2017年8月17日 python-prompt-toolkitをgolangでも使いたいなと前から思い移植していた…

2週間半のReact Nativeアプリ開発を振り返る

ここ2週間ちょっとReact NativeでiOSアプリ書いてました。 サーバサイドをメインでやってきた自分にとって面白い技術で、今後も趣味で使ってみたいなと思えているのでTipsや所感を残しておきます。 目次 選定理由 Tips エラーハンドリング・状態管理 入力欄…

Protocol BuffersをJSONに変換する

React Native + GoのProobuf API Serverの構成でアプリケーションを作っているのですが、次の条件でdeserializeができないことがわかってしまった。 [javascript] Failed to deserialize protobuf message which has other message types. · Issue #3098 · g…

asyncioがPOSIXスレッドを使っている原因を調べる

tokibito先生 (id:nullpobug) がオフィスに遊びにおいでと声かけてくれたので、オープンコレクターさんに遊びに行ってました。 aodag先生 (id:aodag) と3人で雑談してたんですが、ふと以前気になっていたことを思い出したので聞いてみた。 気になっていたこ…

2017年抱負(エンジニアリング)

今週のお題「2017年にやりたいこと」 あけましておめでとうございます。 今年やりたいことを書き出してみる。 nwpct1.hatenablog.com 2016年はインプットのかなり多い年だったので、今年はアウトプットを増やしたい。 卒論の提出と卒業: まずはちゃんと卒業…

2016年のふりかえり

2016年も終わりですね。大学院には進まずに都内のWeb系企業に就職するので、学生生活もそろそろ終わりみたいです。 3月頃から渋谷新宿あたりにいると思うので、またご飯行きましょう OSS活動 Write Code Every Dayには程遠いですが、昨年に比べてコードを書…

docker-composeにnginxのコンテナ追加したらRedirectでハマったのでメモ

自作のWSGIフレームワークKobinのExampleにおいて、手元でも静的ファイルをNginxで返すように変更を加えた。 ただしRedirectがうまくいかないので調査 & 雑にメモ (ところどころ英語)。 Problem GitHub - kobinpy/kobin-example: Example application using …

Core APIの概要とDjango REST Frameworkでの使い方

Django Advent Calendar 2016 - Qiita 18日目の記事です。 Django REST Frameworkは、DjangoでRESTfulなAPIを提供するときに非常に人気のあるフレームワークです。 既に使ってるよという方も多くいらっしゃるのではないでしょうか。 日経電子版さんも業務で…

rexecute: ファイルの更新を検知して指定したコマンドを自動実行するCLIツールつくった

そんなことより卒論書きなよって話ですが、texファイルの更新を検知して自動でビルドする仕組みを整備しました。 2年前に論文を書いていたときは、RubyのGuardを使っていたのですが久しぶりに試すと動かなくて、それを直すのも面倒だったので、少し汎用的に…

Released Kobin v0.1.0: Web Framework for Python3.

少し開発が停滞気味だったのですが、最近多くのアップデートを加えたので、v0.1.0をリリースしました。それに伴い、WSGIミドルウェアやWSGICLIの開発、ドキュメントの整備を行ったので紹介。 github.com Kobin Kobinの説明や使い方は、ドキュメンテーション…

Webフロント周りのパフォーマンスを計測・チューニングする

Github Pagesで公開しているポートフォリオサイトがそんなに色んな情報載せてる訳でもないのですが、遅くてあまり気持ちのいいものではないので、最適化していきます。 結論から書くと、2.87sぐらいかかっていた読み込みが1.57sぐらいになりました。 まだま…

h2load, apache benchによる負荷テスト

前回の記事で触れたApache JMeterやGatlingとは違って、今回試したのはシナリオとかもなくHTTPのリクエストを大量に投げて、スループットやレイテンシを計測してみたい時に便利なツール。 実際に試したのは次の2つ。他にも、wrkやvmbench、siegeが気になった…

Apache JMeterメモ

Website: http://jmeter.apache.org/ Apache JMeterを教えてもらったので、後で見返せるようにメモ。 気が向いたら今度、グラフとかレポートがリッチらしいGatlingも使ってみたい。 基本的な流れ 起動 最新のzipバイナリをダウンロード・解凍。 $ cd apache-…

AWS Lambda + API Gateway + Chalice(Python2)でLINE BOT

最近、AWS LambdaとかAPI Gatewayを触っていたのですが、 id:iktakahiro さんに教えてもらった chalice がよさそうなので試してみた。 ただサンプルを動かすだけというのも面白くないので、先日公開されたLINE BOT SDK for Pythonで遊んでみる。 AWS Lambda …

Electronでニコ動のコメントみたいにTweetを表示するアプリつくった

知り合いのエンジニア(rayさん)がGTK3で作っていた nsd というのがあるんですが、結構いい感じなのでMacでも動くものが欲しかった。 Electronで似たようなことが出来ないか調べてみると、GTK3とかに比べて簡単にできそうだったので作ってみた。 ポイントは:…

PIPEによるプロセス間通信とselect, poll, epollの話

先日、 tokibito 先生(id:nullpobug)と勉強していたpipe, select, poll, epollあたりについてメモ。 os.fork os.fork : 子プロセス(child process)をつくれる。 import os a = 0 print(a) os.fork() a += 1 print(a) 子は親の複製。親のデータ、ヒープ、スタ…

AWS LambdaのFunctionを開発するときのMakefile

AWS

自分用のメモ lambda-uploaderみたいなものもありますが、LambdaだけならAWS CLIで十分簡単に操作出来るのでMakefileを用意してみました。 API Gatewayに関しては、AWS CLIでやろうとすると1つのリソースあたり3個ぐらいコマンドを叩く必要があったり、AWS C…

AWS LambdaとAPI Gatewayを触ってみたのでメモ

PyCon JP スプリントの時に id:iktakahiro さんがLambdaの話をしていたのですが、Lambda + API Gatewayは覚えとくと便利そうなので試してみた。 Lambdaを触ってみる まずAPI Gatewayは考えずに、Lambdaを触ってみる。 調べてみたら、公式のドキュメントにも…

#pyconjp でWeb(WSGI)フレームワークの作り方について話してきました

昨年のPyConJPでは pandas-validator について話していたのですが、今回はトークセッションをしてきました。 Twitter見てると早速スライドを見ながら実装してくださってる方もいらっしゃって嬉しいかぎりです。 日本語のWSGIフレームワークの作り方の資料と…

PyCon APAC 2016 in KoreaでLTしてきた

昨年の台湾の開催につづいて、今年もPyCon APAC 2016 in Koreaに参加してきました。 PyCon APACについて PyCon APACは名前の通りアジア太平洋地域の人たちが集まるPythonのカンファレンスです。 昨年は台湾で開催されて700人ぐらいが集まりましたが、今年は…

Angular2のComponentライブラリ ng2-card を公開しました

Angular2の練習を兼ねて、ポートフォリオを書き換えていたのですがせっかくなので、↓のページのCard ViewのComponentをnpmに登録しました。 まだ結構雑な部分は残ってるのですが、とりあえず動くところまでできたのでAngular2のライブラリデビューです。 c-b…

Flask 0.11で追加されたコマンドラインインタフェースを追ってみる

本日ついに、Flaskのnew versionがリリースされました。めでたいですね! 前回のリリースが2013/06/14だったので、ほぼ3年ぶりです。 バージョンを1.0に上げるという話がありマイルストーンも立っていましたが、0.11としてリリースされました。 1.0にしなか…

Feedy(Python)でRSSフィードをいい感じに処理する

最近、RSSフィードをfetchしてゴニョゴニョ処理したいと思うことが多かったのですが、特に気にいるライブラリが無かった *1 のでFeedyというライブラリを作ってみました。 個人的には結構気に入っていて、便利に使えているので紹介します。 もともと欲しかっ…

Pythonを使ったデータ分析に関する内容をJupyter Notebookにまとめ始めました

研究をかれこれ2年半ぐらい続けてきたので、研究をする中で必要になった機械学習の手法について調べたりコードを書いたりしてきたのですが、まだまだ触ったことのない機械学習の手法も多く、研究で必要になる手法以外の知識も付けたくなってきたので、勉強し…

Golangでつくる検索エンジン(Webクローラ、MongoDB、Kagome、gin)

最近、Golangを書き始めたので勉強として、1年半ほど前にPythonで作っていたWebクローラと検索エンジンをGolangで実装してみた。WebフレームワークはFlaskの代わりにgin、Mecabの代わりにKagomeを使用、Datastoreは前回と同じくMognoDBを使ってます。 GitHub…

Python製WebフレームワークのURL DispatcherとType Hintsの活用について

少し前から趣味で実装してるKobinというWebアプリケーションフレームワークのURL Dispatcherの実装をする時に、BottleやDjangoを参考にしながら考えてみました。 これらの比較とType Hintsを利用したKobinのURL Dispatcherの実装についてまとめます。 (追記)…

就活終わりました

最後どこに行くか結構悩んでしまいましたが、就職先を決め内定承諾書を返送しました。 相談に乗っていただいた方々、ありがとうございます。 感じたこと 就職先を人で選ぶのが、意外と難しい 就活中にいただいたアドバイスの中で一番多かったのは 「どんな人…

iOSアプリの開発を始めた。2週間でやったこととかメモ

iOS

はじめに 2週間前ぐらいからiOSの勉強を始めた。自分にしては珍しくいいペースで覚えていけたので、やったこととかメモ。 やったこと XCodeとSwiftについて本を読む 今まで本を読まずにネットで調べながらやることが多かったけど、今回は本を読みながら始め…

あけましておめでとうございます。振り返りと2016年の目標

あけましておめでとうございます。 2015年は東京に行く機会が増えて、知り合いも増えて楽しく過ごせたかな。お世話になりました。 2015年やってよかったこと 更新少し遅いけど、ブログを続けたこと 初めてお会いした方からブログ見てますって言われるのかな…