最近気になってること(2016年5月アップデート版)

自分のアンテナをどっちへむけてはるか確認するという意味で、わりと役にたっている気がするので、定期的に更新しています。

  • web関係
    • CentOS 7 (systemctlとかNetworkManagerとか。『CentOS7で作るネットワーク構築ガイド』)
    • サクラのVPS借りたい
    • webサーバ(nginx 『nginx実践入門』)
    • Gunicorn
    • webフレームワーク (Django/flask jsp/サーブレット)
    • HTML5 & CSS3(『HTML5/CSS3モダンコーディング』)
    • JavaScript(『JavaScript本格入門』『パーフェクトJavaScriptjQuery Ajax React.js D3.js C3.js
  • 統計
    • 岩波データサイエンス vol.1
    • 岩波データサイエンス vol.2
  • その他
    • PyConJPの過去動画を見る

vim pluginまわり作業内容。

Vimのpluginまわりの整理整頓をしたいと思います。

というか、VPSには、なにもしてないVimしかないので、
いちから環境を作ります。

入っていたVimのVersionは、7.4.629でした。
わらわらと(以前使っていたものとか、新たに使ってみたいなーと思っていた)pluginを入れたいと思います。

続きを読む

最近気になってること(2016年3月アップデート版)

(3月10日追加修正)
(3月21日追加修正)

  • web関係
    • CentOS 7 (systemctlとかNetworkManagerとか。『CentOS7で作るネットワーク構築ガイド』)
    • サクラのVPS借りたい
    • webサーバ(nginx 『nginx実践入門』)
    • Gunicorn
    • webフレームワーク (Django/flask)
    • HTML5 & CSS3(『HTML5/CSS3モダンコーディング』)
    • JavaScript(『JavaScript本格入門』『パーフェクトJavaScriptjQuery Ajax React.js D3.js)
  • 急がないけどやっておきたい
    • OpenCV
    • SQL
    • 関数型言語なにかひとつ(「プログラミングの基礎 (Computer Science Library)」とか?)
  • 統計
    • 岩波データサイエンス vol.1
    • 岩波データサイエンス vol.2

VPS作業記録9

前々回の課題であったGunicornやらuWSGIってなんぞやというところは、未だによくわかってないのですが、
このスライドを読んだところ、
speakerdeck.com
「Gunicornはシンプル、uWSGIは多機能」とのこと。

僕は、おそらく複雑な設定は必要ないので、シンプルなGunicornを使用する方向に、とりあえずは決めました。

http://gunicorn.org/:embed:ctite
もとはRubyな動物だった。

続きを読む

VPS作業記録8

今回は、nginxの設定します!

設定の目標は、
・静的なファイルをちゃっちゃと返す
・/jupyterにアクセスしたら、jupyterにアクセスできる
・/djangoにアクセスしたら、gunicornで動いているdjangoにアクセスできる(保留)
・/jupyterと/djangoのところに、Basic認証をつけたい
あたりかなと思います。

お供には、nginx実践入門です。
amzn.to

続きを読む

VPS作業記録7

今日(1/24)はnginxの設定をやります。

英語のチュートリアルを読んで挫折して以来の再挑戦です。

基本的な設定ファイルの書き方を知って、
最低限、静的なファイルを返せるサーバーにすることです。

先日発売されたばかりの「nginx実践入門」を片手に作業します。
amzn.to

続きを読む

VPS作業記録6

VPSとは、直接は関係ないほうのメモ。

gitで、つまずいたところやTips

tagをつけたけど、pushできない・・・

Push a tag to a remote repository using Git? - Stack Overflow
が参考になった。
あとは、ここですねGit - タグ

「Git のタグには、軽量 (lightweight) 版と注釈付き (annotated) 版の二通りがあります。」というところだったり、
上記を読みつつ、なぜtagが2種類あって、どう使い分けるかのみたいなところを理解しておくと、よさげ。

よーするに

git push origin tagname

が答え。

リモートにpushしたけど、そのコミットいらなかった・・・

そこで使うのは、revert。僕はてっきりcommitを「消す」作業だと思って、よくわからないcommitが増えて、悩みました。

「git revert」は正確には、commit を無かったことにするのではなく、対象の commit の変更を相殺するような差分commitを自動で生成するというものです。

Git で コミットを無かったことにする方法 (git revert の使い方) - akiyoko blog

ということだそうです。変な歴史を残してしまいましたが、revertを使えば、「元に戻す」作業はできます。
revert作業コミットもリモートにpushしてしまえば、リモートも元に戻った状態になる。
本当にcommitをなかったことにする方法もありますが、意味合いが違うことがわかりました。

cloneしたら、masterしかなかった・・・

単純に知らなかっただけなんですが、もしなにかのブランチの途中からcloneして作業しようと思った場合は、
ちゃんとリモートブランチを、ローカルにもってきておく必要があるんですね。
参考:Git - リモートのブランチをcloneする - Qiita

git checkout -b development origin/development

ローカルでは好きな名前のブランチ名をつけることができます。

プロンプトにブランチを表示させる(Linux Bash

gitでmasterだけ使ってcommitしてるだけみたいな状況から、branchを使うようになったら、今自分がどのbranchにいるのかをぱっと知れたほうが便利だよなーと思うようになりはじめました。で、やっぱり世の中にはハックがあるわけで、参考になりました。
Linux - プロンプトをカスタマイズしてgitブランチを表示する - Qiita
プロンプトにでてくれれば、便利。

leaflet.jsというものを存在を知る

もとのきっかけは、Python pandas + folium で Leaflet をもっと使いたい - StatsFragmentsで紹介されてるfiliumというPythonのライブラリだったんですが、leaflet.js自体もとても面白そうでした。
なので、ちょっといじって遊んでみることにしました。
どんなものなのかすらわかってなかったのですが、「Googleマップで使われているような、地図の拡大縮小とかドラッグでの移動とかピンを置いたりするのを実装してくれているやつ」という感じだと思います。
で、ポイントは、地図は任意のものが使える(逆にいうと、leaflet.jsに含まれていない)ようです。
leafletjs.com
地図の画像以外も表示できます。参考:leafletで地図以外の画像を扱う場合 - Qiita
結構よさげ!

WSGIとはなんなのか・・・

Djangoに必要な環境で、apacheだとmod_wsgiというモジュールがーとか、wsgiに対応しているサーバーならとか、いろいろでてきて、WSGIってなんだろという疑問をもっていました。
参考:WSGI / Rack / PSGI てなんぞ
RubyのRackとあわせて、なるほどーと思いました。