petitviolet_blog

@petitviolet blog

備忘録

NginxとLet'sEncryptを使ってCentOS7でhttps&http2対応する

ずっとやりたかったやつをやったのでメモ 借りてるVPSにdocker入れようと思ったらのCentOS6だとダメだったから7入れようとして失敗してる— こむ (@petitviolet) 2016年4月17日 CentOS6から7にOSアップデートしたので、この機会を活かしてやりたかったhttp2対…

2014年に食べたシリアル

2014年、朝ごはんの主役はシリアルだった シリアルといっても、 シリアル食品 - Wikipedia のようにたくさんの種類があるが、主にグラノーラを食べた 記憶に残っているのを挙げる フルグラ カルビー フルグラ 800g出版社/メーカー: カルビーメディア: 食品&…

sqlalchemyでcreate tableする

以前の記事でdeclarative_baseを使ってテーブルの定義をしてマッピングするとき、 command.sqlでcreate tableをしたが、pythonからcreate tableも出来たのでメモ。 # 今回必要な分だけimport from sqlalchemy import Column, Integer, create_engine, MetaDa…

Nagiosでpnp4nagiosを使ってグラフを見れるようにした

Nagiosでグラフを見れるようにしたので、その作業ログを残す。 インストール等 pnp4nagiosのダウンロードリンクはこちらで確認して下さい # tmpディレクトリで作業 cd ~/tmp sudo yum -y install rrdtool rrdtool-perl perl-Time-HiRes php-gd wget http://d…

TextViewにurlを埋め込んで、タップでWebViewを開く

TextViewに対して動的にurlを埋め込み、それを開く。 ブラウザ アプリ内のWebView のそれぞれでの開きかた ブラウザを開く場合 TextViewにリンクを埋め込んだテキストを入れて、それをタップした時に、ブラウザを起動してそのリンク先を開くようにする // Sa…

geoalchemyで位置情報をpythonから扱う

sqlalchemyでMySQLを使うで説明したsqlalchemyでは、ここで説明したMySQLの位置情報を利用できない。 そこで、geoalchemyを使う。 インストール sudo pip install geoalchemy以上。 マッピング sqlalchemyではMySQLテーブルとマッピングするためのクラスを定…

sqlalchemyでMySQLを使う

前回はMySQLdbを使ってMySQLを利用しましたが、今回はsqlalchemyを使ってみます。 また、位置情報を利用するため、sqlalchemyだけでなく、geoalchemyを利用します。 geoalchemyについてはまた後日書きます。 準備 インストールはpipとかeasy_installとかで簡…

緯度経度の地図情報をMySQLとPythonのMySQLdbを使って扱う

地図情報(緯度経度)をMySQLで扱う。 MySQLはPythonからMySQLdbを使って扱う。 緯度はlatitude、経度はlongitude テーブル定義 これはpython関係ないsql文です。 create database geosample; use geosample; create table place ( id int auto_increment, n…

unique制約があるときのinsert

unique制約がついているテーブルに重複するデータをinsertしようとするとDuplicateエラーが発生します。 そこで以下の3通りのsqlが使える。 replaceを使う replace into ~ これはinsertをreplaceに置き換えるだけ。 重複するデータが無ければinsertを実行し…

watchコマンドでスクリプトの自動実行

一定時間ごとに特定のスクリプトを実行したい、けど権限がなくてcronに登録できない><っていう時に watch -n 時間(s) (-d or -dc) "コマンド"ってすれば設定した時間ごとにコマンドを実行してくれます。 結果も標準出力できるので見やすくていいですね。 …

RailsアプリをさくらVPS上のpassengerを使って本番環境で動かす(2)

状況 さくらVPS上のapacheで独自ドメイン(http://example.com)のWebサイトを運営しており、その下にぶら下げる形で(http://example.com/hogerails)Railsアプリを動かしたい。 Railsアプリはローカルで作成し、rails serverでは起動する状態。 やったこと Rub…

RailsアプリをさくらVPS上のpassengerを使って本番環境で動かす(1)

状況 さくらVPS上のapacheで独自ドメイン(http://example.com)のWebサイトを運営しており、その下にぶら下げる形で(http://example.com/hogerails)Railsアプリを動かしたい。 Railsアプリはローカルで作成し、rails serverでは起動する状態。 やったこと Rub…

Edittextが消えることへの対処

AndroidのEditTextが消える テキストを編集するためのEditTextにある程度長い文章を入力してある状態で EditTextにフォーカスをあて、ソフトウェアキーボードが出てきた時に ソフトウェアキーボードに押されてEditTextが上に押されて画面外に消えてしまう、…

無限ループしたシンボリックリンクの削除

シンボリックリンクが自分自身を参照している時は # /home/hoge で ls -l すると hoge -> /home/hoge/fuga となっている # シェルスクリプトの記述ミスでこうなってしまった...。 touch temp #空ファイル作成 mv fuga piyo #piyo -> /home/hoge/fugaとなる #…

javascriptの再読込み

javascriptのリロード Ajaxで画面の一部を更新したとき、その部分に影響するjQueryプラグインがきちんと動作しなくなることがあったので、 それを改善するためにそのjQuery(js)ファイルを再読込みすることで対処しました。 具体的には videobox.jsを使ってい…

.htpasswdと.htaccessの設定

webページの認証について .htaccessと.htpasswdを編集する .htpasswd su - htpasswd -c /etc/httpd/conf/.htpasswd hogehoge # パスワードを2回求められるので入力 cat /etc/httpd/conf/.htpasswd hogehoge:xxxxxxxxxxxxxx # 暗号化されているこれで.htpassw…

さくらVPSの初期設定

さくらのVPS (1G)を借りたのでその設定メモ 初めてのサーバ設定ということでかなりつまづいて時間かかったのである程度ログを残しておく 初期設定いろいろ root以外のユーザー作成 rootログインの禁止&sudoの有効化 ssh設定(ポート番号、rootログインの禁止)…

MeCabのユーザー辞書編集

MeCabで使う辞書を編集したいけど権限が無くて編集できないときの対処法 mecabrc ~/.mecabrc を作成し,/usr/local/etc/mecabrc の内容をコピーして // ; userdic = /home/foo/bar/user.dic userdic = ~/user_dic/hoge.dicと書き換える.セミコロンも消す. …

日付表現の扱い

Pythonで日付表現を扱いたい時のメモ書き 日付の入った文字列を日付表現にすることが一番面倒臭い import datetime # 今日 datetime.date.today() # >>> datetime.date(y, m, d) # 今日の今 datetime.datetime.today() # >>> datetime.datetime(u, m, d, h, …

Scipyでの疎行列の扱い

行列の計算 import scipy.sparse as sp import numpy as np a = sp.lil_matrix((1, 10000)) # 1*10000の疎行列が作成される b = sp.lil_matrix((1, 10000)) # a.shape => (1, 10000) for i in xrange(a.shape[1]): r = np.random.rand() if r < 0.9: r = 0.0…

sqlite3でのエスケープ処理

データベースとしてsqlite3を使用していて,すごく今さらながら最近知ったことがあったのでメモ. エスケープ処理 pythonで文字列を扱うときに,例えば\(バックスラッシュ)を print '\'なんてすると怒られるのは,pythonにおいて \ がエスケープに用いられて…

正規表現・自然言語処理

研究室の勉強会で正規表現と自然言語処理について話したのでそれのまとめ. 正規表現 クロールしたWebページのテキストから時間に関する部分だけを抽出したい, といった時に機械的にパターンに当てはまる部分を抽出するための表現. メタ文字 .:任意の一文…

Tex,bibtexのメモ

TeXで論文を書く機会があったのでいろいろメモ. 用意するもの このページ(Mac - TeX Wiki)が非常に参考になるかと思います. まずMacでtexを使う際によくおすすめされていたのがMacTeXです. 上のページにミラーがありますが,ここ(MacTeX)からもダウンロー…

クローラに使うurllib, urllib2のメモ

pythonでクローラを作ってて,Googleの検索結果のページを使えるようにするためにちょっと工夫が必要だったのでメモ. urllib, urllib2 pythonでwebページの情報を利用とするとなると, urllib urllib2 のどちらかを使うことになるかと思います. 基本的には…

三項演算子 補足

この記事(2011-11-08 - I/O Error : My Knowledge)で 三項演算子について軽く書いて,自分で使ってみてると上手くいかないことが起きたのでメモ. コード例 from random import randint def r(): i, j = randint(-10, 10), randint(-10, 10) print 'i =', i, '…

ビット反転と三項演算子

FizzBuzz なんとなくFizzBuzzとかやったり解答例FizzBuzz - Pythonのお勉強を眺めてると for i in range(100):print i%3/2*"Fizz"+i%5/4*"Buzz"or-~iというワンライナーを見つけて, ~iって何だよ,ってなって調べてみた. ビット演算子 Pythonにはビット演算子…

Python Image Library(PIL)の使い方

またしてもpython chanllengeです. PILを用いることになったのでお勉強. 今回はコードとして全部書いてしまいました. PILを用意 easy_install PILもしくは pip install PILとかでいけるはずです. easy_installとかpipについてはググッてください. 用意した物…

zipfileの使い方

python challengeでzipfileを使うことがあったので. まずは import zipfileでインポートする. ZipFileオブジェクトの扱い 扱う対象をchannel.zipとする.(python challengeより) s_zip = zipfile.ZipFile("channel.zip", "r")でzipオブジェクトとして扱えるよ…

pickle使ってみた

最近PythonChallengeにほんの少し取り組んでいて,そこで 初めてPickleモジュールを使うことになったのでメモ. pickleとは python特有のデータ形式のことであり, ざっくり言えばバイナリで保存するのではなく, 全部文字列にして扱いましょう,っていう感じだと…

ファイル操作・ディクショナリ操作のメモ

ファイル読み込み コード内で既に存在しているファイル(例えばinput.txt)を開きたい時に, f = open("input.txt").readlines() とやっても, g = [line for line in file("input.txt")]とやっても結果は同じ. というかfileとopenの違いが分かりませんでしたw …