rare-cheesecakeの日記

主に技術情報を不定期更新していきます。今注目しているのはPythonとDevOpsです。

あけましておめでとうございます!(遅い)

さてさて、2016年が始まりましたね! 昨年は9月頃から仕事+プライベートが忙しくなってしまったので、 全然更新ができず(年末年始もほぼ仕事で終わってしまいました悲) まずは昨年の振り返りから ・ブログをこまめに書く。 → 9月ぐらいまではまぁま…

PipelineDBを使ってみた(その2)

前回からかなり間が空いてしまいましたが、今回はPythonを使ってPipelineDBにアクセスしてみました。 コードは以下のサンプルを使っていますが、このままだとリアルタイムに取得できているのかがわからなかったので 各々の処理を分割して実行してみました。 …

Pythonの多重継承

この記事は下記の新しいブログへ移行しました。 Shisho Engineering Blog

ReconJETを持って外へ

あまりの夏の暑さと雨のせいで使用を控えてきましたが、 今日は少しだけ暑さがマシになってたので、ReconJETを装着して家の周りを歩いてきました。 実際に外で使ってみた感想としては、 ・ディスプレイがある分少しだけ右側の視界が悪くなってしまう ・歩き…

ReconJETが届いた!

2年ぐらい前から予約していたReconJETがようやく手元に届きました。 ReconJET【Recon:レコン】www.mikimoto-japan.com スポーツタイプのヘッドマウントディスプレイなので、見た目がカッコイイです! とりあえず、初期設定をして使ってみましたがいい感じ…

PipelineDBを使ってみた

しばらくブログをお休みしていましたが、ようやく仕事が一段落ついたので再開です! 最近、PipelineDBというオープンソースのストリーミングSQLリレーショナルデータベースプロジェクトがスタートしたみたいなので、ちょっと触ってみることにしました。 Pipe…

Flaskのjsonify

最近、仕事を並列で行っているのでちょっとサボリ気味 サーバー側のテスト用にFlaskを使っているのですが、 jsonify関数にこんな感じでリストを渡すとダメだったのでメモ @app.route("/items", methods=['GET']) def items(): list = [ {"id": "1","name": "…

IntelliJ IDEを使ってみた3

抽象メソッドなどのオーバーライドを自動で補完する場合の操作は、 「Alt+Insert」(windowsの場合) キーボードによっては「Alt+Function+Insert」でできます。 さて、Macだとどうすればいいのやら。。

Falconを使ってみた2

Falconをローカル環境で動かせたので、今度はクラウドにアップしてみます。 AWSやGAE、Heroku等色々選択肢がありますが、検証も兼ねてCloud9を使ってみました。 Cloud9 https://c9.io/ Cloud9は開発環境+外部レポジトリとの連携、他のクラウドへのデプロイ…

Falconを使ってみた

昨日はWindows版の環境構築が失敗したので、今日はOS Xにて環境構築を行いました。 $ pip install --upgrade cython falcon はい、特に問題もなくインストールが出来ましたw ついでにgunicornも入れておきます。 $ pip install gunicorn 以下のような内容の…

Falconを使ってみ(ようとし)た

今年に入ってから参加している勉強会で、WebAPIを作ろうということになったのでFalconを使ってみることにしました。 Falcon Falcon - The minimalist Python WSGI framework Falconは高速で動く小型のWSGIフレームワークで、BottleやFlaskよりも早いみたいで…

nginxとgunicornの設定

nginx+gunicorn環境において、 以下の様なエラーが発生した場合、設定ファイルの調整で解決できます。 ・リクエストのBodyサイズが大きい:「413 “Request Entity Too Large” error with uploading a file」 ・レスポンスが遅い:「upstream prematurely clo…

IntelliJ IDEを使ってみた2

3月~4月は忙しくて全然かけてない>< IntelliJでライブラリのデバッグをするためのソースの添付方法 ・「File」→「Project Structure」→「Librares」の右側のリストにソースのzipを追加してあげる。 コード補完のショートカットについて ・WindowsだとCt…

IntelliJ IDEを使ってみた

久々にJavaを扱うことになったので、eclipseではなくIntelliJ IDEを使ってみました。 キーマップがeclipseの物も使えるので移行もしやすいですね。 知っておくと便利そうなのが、 ・Command+O(KeyMapをEclipse Mac OS Xに設定した場合)でメソッド一覧のダイ…

ansibleを使ってみた2

今回はVagrantでAnsibleを実行してみました。 必要な手順は以下の通りです。 ・Vagrantでbox作成 ・Vagrantファイルと同じディレクトリにhostsファイルを作成 内容は以下のような感じにする(グループ名とホストは任意) [vagrant] 192.168.xxx.xxx ・taskを…

google apps scriptでライブラリ化したときの問題

google apps scriptで作成したスクリプトをライブラリ化すると、 htmlからライブラリのスクリプトを実行できない問題が発生しました。 色々調べてみると、以下の2つのissueにたどり着きました。 Issue 3778 - google-apps-script-issues - Bug between a sc…

nginxでハマったw

今nginx+bottle+mysqlでWebアプリケーションを作っていますが、 検索系の画面で、なぜか途中までしか表示されない現象が発生しました。 色々調べてみたところ、nginxのログに「open() "/var/lib/nginx/tmp/proxy/ほにゃらら" failed (13: Permission denied)…

PythonからSolrへアクセス

最近よくApache Solrを使うので、簡単なアクセス方法をメモメモ solrpyを使ってもいいのですが、今回は基本的なやり方だけで繋げています。 #!/usr/bin/env python # -*- coding:utf-8 -*- import json, urllib2 def search(keyword): query = 'http://solr…

mysqlでよく使うコマンド

いつも忘れるので、よく使う基本コマンドを書いておきます。 mysqlへ接続 mysql -u ユーザー名 -pパスワード --host=ホスト名 データベース一覧 show databases; テーブル一覧 show tables from データベース名 データベース選択 use データベース名; テーブ…

macでフォルダ同士の内容を比較するには

この記事は下記の新しいブログへ移行しました。 Shisho Engineering Blog

Atomエディタを使ってみた②

現在参加している勉強会で、Atomエディタのパッケージ開発の基礎について発表しました。 せっかくなので以下に発表資料を公開します。 ミニプログラミングコンテスト(第1回) - Google スライド

Atomエディタを使ってみた

昨年ぐらいから話題になっていたAtomエディタを使ってみました。 公式ページ https://atom.io/ 今回はMac版を使っています。 とりあえず最初に使うショートカット ツリービューを開く command+¥ Developper Toolsを開く option+command+i コマンドパレット s…

Swiftを勉強中4

Storyboardを使ってアプリを作っていると、ViewControllerとのひも付けがどこに定義されているかわからなかったので、調べてみました。 .storyboardファイルを右クリック→「Open As」→「Source Code」 を選択してXMLファイルを開くと、以下のように定義され…

Swiftを勉強中3

今日は画面遷移とデリゲートの使い方です。 まず、画面遷移ですが、別のViewControllerを作成しておいてから以下のように呼び出すと遷移できます。 let nextView = NextViewController() // 別のViewController nextView.modalTransitionStyle = UIModalTran…

Swiftを勉強中2

今日は試しに簡単なアプリを作ってみました。 基本的なアプリの作り方はObjective-Cと同じですが、 Swiftで書くと全体的にコードがすっきりしていて見やすくていいです。 例えば、以下はstoryboadを使わずに画面にボタンを表示するコードです。 import UIKit…

Swiftを勉強中

みなさんこんばんは。 早速今年の目標に掲げたSwiftの勉強を始めてみました。 発表当初にも少しコードを書いてみていたのですが、当時はXcode6もβ版だったので、 今正式版で動かすとエラーだらけでした笑 まず驚いたのはplaygroundの存在ですね! これは単純…

あけましておめでとうございます!

ついに2015年が始まりましたね。 なんとフリーランスになってはや1年が経ちました。あっという間でしたね。 昨年の年末は、残りの仕事をバタバタと片付けていたので振り返りも出来ませんでしたが、ここで改めて振り返りと今年の技術目標を考えたいと思…

ansibleを使ってみた

最近は、さくらVPS上でgithub-flowベースのCI環境を構築しているので、 自動デプロイを実現するために、pythonのansibleを使ってみることにしました。 ・インストール 関連するライブラリも入れるため、pipでインストールします。 pip install ansible ・動…

Ringで遊んでみた2

今日はRingに独自のアクションを追加してみました。 また、Ringのアクションをサーバー側で受信するところまで試しています。 【サーバー側の準備】 今回はPythonのBottleで受信用のサーバーを立てています。 ↓インストールや使い方は公式ページを見てくださ…

Ringで遊んでみた

しばらくプライベートが忙しかったので、投稿が出来ていませんでしたが再開です! 以前にKickstarterにて出資した「Ring」のプロジェクトが製品化され、 本日ついに手元に製品が届きましたので遊んでみました。 Ring Ring - Shortcut Everything 「Ring」は…