Un nouveau monde parfumé

香り立つ備忘録

ビッグデータを舐めるな

この記事は klis Advent Calendar の4日目の記事です。

www.adventar.org

昨日はkngさんの音声アシスタントアプリ更新でした。僕も早速インストールしてみましたが、可愛らしく賢くて素晴らしいアプリだと思います。個人レベルに到底見えねえ。

こんにちは、かみかみです。klis14です。よろしくお願いします。

宣言通りcoinsLTで話した内容を書こうと思うんですが、そもそも当初の予定では f:id:pikatenor:20151204105209p:plain というネタスライドをやる予定だったんですが実装が間に合わなかったので代わりに某授業で発表したスライドを焼き直して発表することにしました。
したがってこの記事も間に合わなかった仕様の記事になります。
まあ受講者各位はお分かりでしょうが授業での発表の時に人が少なくて少し寂しかったのでその供養の意味もあります。
Rubyに関しては時間があれば終わらせてCalendarのどこか空いてる枠で出来たら良いですね。ただ僕は誰かにケツを叩かれないと行動しないタイプの人間なので、各位は僕のケツを叩いて下さい。お願いします。

続きを読む

WordPressを捨てた

VPSに置いたWordPressを捨ててはてなブログに移行しました。

理由としては特に凝ったこともしていないためWordPressである理由が薄く、管理がなんとなく面倒と感じたためです。

いずれ何がしかの静的サイトジェネレーターを使ってみたい気持ちはあるので、気持ちになったらまた移行するかもしれません。

それではこれから klis Advent Calendar の記事を書こうと思います。(まだ書いてないんです)(遅れてすみません)(許して)

niiceにRMeCabをインストールしたかった

知的なMT#2に遡ること30分前のことです。 風邪気味の状態で起床した僕は "RMeCabの導入まで" ってことはサーバーも含むんだろうなぁ…という謎解釈のもとniice.slis.tsukuba.ac.jp上でのRMeCabの環境を整えることにしました。 結果として失敗し、妙な状態に陥ったことは皆さんご存知の通りです。

今回は忘れないうちに.bash_historyを見ながら顛末をメモっておこうと思います。

続きを読む

日本でhyde単位系を使って商売すると犯罪になる

日本国内でhyde単位系を使って商売をするともしかすると犯罪になる恐れがあるという話です。

きっかけ

中国語のWebページを読んでいた際、「斤」という単位*1が使われていたのでググってグラム換算し、Wikipediaを眺め、ヤード・ポンド法のページに飛んだところ面白い記述を見つけました。

日本では少数の例外(後述)を除き、計量法により使用が禁止されている。

(´-`).。oO(ほう。法律で禁止とは面妖な。でもアレだろ?どうせ罰則とかない感じのゆるい法律だろ?)

というわけで調べました。

罰則あった

問題となる箇所は計量法の次の箇所です。

計量法(平成四年五月二十日法律第五十一号)
第八条(非法定計量単位の使用の禁止)
第三条から第五条までに規定する計量単位(以下「法定計量単位」という。)以外の計量単位(以下「非法定計量単位」という。)は、第二条第一項第一号に掲げる物象の状態の量について、取引又は証明に用いてはならない。
 第五条第二項の政令で定める計量単位は、同項の政令で定める特殊の計量に係る取引又は証明に用いる場合でなければ、取引又は証明に用いてはならない。

「法定計量単位」とはざっくり言うとSI単位系のことで詳細は計量単位令に定められています。 当然hyde単位系は法定計量単位ではないし身近なところで言うと尺貫法などもそうです。

ちなみに「物象の状態の量」とは

計量法
第二条(定義等)
 長さ、質量、時間、電流、温度、物質量、光度、角度、立体角、面積、体積、角速度、角加速度、速さ、加速度、周波数、回転速度、波数、密度、力、力の モーメント、圧力、応力、粘度、動粘度、仕事、工率、質量流量、流量、熱量、熱伝導率、比熱容量、エントロピー、電気量、電界の強さ、電圧、起電力、静電 容量、磁界の強さ、起磁力、磁束密度、磁束、インダクタンス、電気抵抗、電気のコンダクタンス、インピーダンス、電力、無効電力、皮相電力、電力量、無効 電力量、皮相電力量、電磁波の減衰量、電磁波の電力密度、放射強度、光束、輝度、照度、音響パワー、音圧レベル、振動加速度レベル、濃度、中性子放出率、 放射能、吸収線量、吸収線量率、カーマ、カーマ率、照射線量、照射線量率、線量当量又は線量当量率

多すぎワロタ。

さて、罰則規定です。

計量法 第百七十三条  次の各号のいずれかに該当する者は、五十万円以下の罰金に処する。
 第八条第一項若しくは第二項第九条第一項、第十八条、第十九条第一項若しくは第二項、第四十九条第二項、第六十三条第二項、第八十五条又は第百二十四条の規定に違反した者

エ…?マジ…?

さらに、

計量法
第十二条(特定商品の計量)
 政令で定める特定商品の販売の事業を行う者は、容器に入れたその特定商品を販売するときは、その容器にその特定物象量を法定計量単位により、経済産業省令で定めるところにより、表記しなければならない。

第十五条(勧告等) 都道府県知事又は特定市町村の長は、第十二条第一項若しくは第二項に規定する者がこれらの規定を遵守せず、第十三条第一項若しくは第二項に規定する者が 同条各項の規定を遵守せず、又は前条第一項若しくは第二項に規定する者が同条各項の規定を遵守していないため、当該特定商品を購入する者の利益が害される おそれがあると認めるときは、これらの者に対し、必要な措置をとるべきことを勧告することができる。
 都道府県知事又は特定市町村の長は、第十二条第一項若しくは第二項又は第十三条第一項若しくは第二項の規定を遵守していないため第一項の規定による勧告 を受けた者が、正当な理由がなくてその勧告に係る措置をとらなかったときは、その者に対し、その勧告に係る措置をとるべきことを命ずることができる。

第百七十三条
第一項 第十五条第三項、第五十六条、第六十四条、第八十六条、第九十八条、第百十一条、第百二十三条又は第百三十一条の規定による命令に違反した者

ともあるので、法定単位を示さずhyde単位系だけを表記して特定商品*2を販売するとマジでアウト臭いです。

まとめ

日本でhyde単位系だけを使って販売契約を結んだりすると罰金50万円になるのかも知れない。ヘビ皮1立方hydeとか気軽に売らないよう気をつけよう。

巷にあふれる尺貫法などを使った商品は法定単位との併記をして販売しているようです。日本酒は大体が「1800ml(1合)」として販売されているようですし食パンは「1斤は340g以上です。」と明記して*3販売しているようです。 ただ、経産省の「計量器に関する規制」によると計量器に関しては単位は法定でも目盛りが非法定なものはアウトらしいので、お米の計量カップ(目盛りが180cc)とか華氏温度を併記した温度計とかってどうなんだろうって少し思いました。教えて詳しい人。

ちなみに

さっき計量器の話に触れましたが、

計量法
第九条
(非法定計量単位による目盛等を付した計量器)  第二条第一項第一号に掲げる物象の状態の量の計量に使用する計量器であって非法定計量単位による目盛又は表記を付したものは、販売し、又は販売の目的で 陳列してはならない。第五条第二項の政令で定める計量単位による目盛又は表記を付した計量器であって、専ら同項の政令で定める特殊の計量に使用するものと して経済産業省令で定めるもの以外のものについても、同様とする。

とあるので、hyde定規の販売・陳列もアウトです。こちらも50万円以下の罰金です。法定単位との併記でもアウトです。気をつけましょう。

*1:日本(但し食パンを除く)・台湾では600g 中国では500g 香港では604.78982 gだそうです

*2:経済産業省計量法における商品量目制度の概要」の特定商品一覧を参照のこと。

*3:http://www.pan-koutorikyo.jp/display.html 食パンの「斤」に限ってのみ歴史的に340gらしい。

VPSにAipo7を導入した

この記事はklis Advent Calendarの4日目(12/18で2本目)の記事です。

はじめまして。かみかみです。

まったくもってお前誰だという感じだと思いますので自己紹介します。 かみかみです。普通のklis14です。以上です。

さて、故あって先日Aipoというグループウェアのインストールをすることになり、それが意外と手間だったのでブログ記事にしようと思い立ち、下書き状態で放置していた記事をついでにklis Advent Calendarの一つにしてしまえと思った次第です。

Aipoとは

共有Todoやスケジュール管理といった機能を持つグループウェアです。www.aipo.comで利用できるクラウド版と、free.aipo.comで配布されているオープンソース版があります。後者はgithubでAGPLv3で公開されているので原理主義者の方でも安心して使えるのではないでしょうか。 別にクラウド版でもよかったのですが無料プランだとTodoが使えないみたいだったのでオープンソース版を導入しました。

基本的な手順

今回はCentOS6.5上にAipo7.0.2.0をインストールしました。基本的な手順はこのページにある通り、

yum install -y make gcc readline-devel zlib-devel nmap
wget https://code.google.com/p/aipo/downloads/detail?name=aipo7020ja_linux64.tar.gz
tar -xvzf aipo7020aja_linux32.tar.gz
tar -xvzf aipo7000/aipo7000.tar.gz
cp ~/aipo7020aja_linux/aipo /usr/local/
cd /usr/local/aipo/bin/
sh installer.sh
(インストール後)
./startup.sh で起動
./shutdown.sh で終了

で基本的にはOKですが、自分の環境ではすんなりとはいきませんでした。

インストール前にする設定

/usr/local/aipo/bin/ に install.confという意味深なファイルがありますね。installer.shを実行する前に編集しておきしましょう。

netitf=eth0
dest_str=linux
check_pass=false
enc_str=utf8
def_addr=127.0.0.1

自分の場合OpenVZのVPSだったためnetitfをeth0ではなくvenet0に変更しました。def_addrは変更なしでも問題なく動いていますが変更してもいいかも知れません。

インストール後にする設定

installer.shを実行するとゴリゴリmakeが走った後

...
==Aipo7.0.2.0インストール終了==
user:aipo_postgres1
pass:XXXX
directory:/usr/local/aipo/postgres
port:5432
Aipo URL: http://127.0.0.1:80/aipo/

のように出力されインストールが終了します。 が、サーバーに次のようなソフトが入っていた場合、競合を解決する必要がある場合があります。

Apacheとの連携

自分の環境では既に動いているApacheがあるにも拘らず正常に検知されず上記のようなインストール結果となったのでポート80が競合してしまいました。 解決法としては、

  • AipoとApacheのポートをずらす
  • mod_proxy_ajpを用いてTomcat連携を行う

があります。今回は後者の方法を用いました。 まず/usr/local/aipo/tomcat/conf/server.conf の92行目付近の、

<!-- Define an AJP 1.3 Connector on port 8009 -->
<!--
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
--

コメントアウトを外します。既に動いているTomcatがあれば適宜変更して下さい。 続いて /etc/httpd/conf/httpd.conf に以下の内容を追記します。

<Location /aipo/>
    ProxyPass ajp://localhost:8009/aipo/
</Location>

これで http://hostname/aipo/ からアクセスすることが可能となります。

PostgreSQLの競合解決

トップページにアクセスしようとして「セッションがタイムアウトしました。 」という画面が表示される場合、PostgreSQLへの接続に失敗している場合があります。 ポートが競合している場合

  • /usr/local/aipo/postgres/data/postgresql.conf の63行目
  • /usr/local/aipo/bin/startup.sh の5行目
  • /usr/local/aipo/tomcat/webapps/ROOT/WEB-INF/datasource/dbcp-org001. properties の21行目
  • /usr/local/aipo/tomcat/webapps/aipo/datasource/dbcp-org001. properties の21行目

を変更することでAipoの持つPostgreSQLのポートを変更できます。

Tomcatとの競合解決

システムでTomcatが既に実行されている状態でAipoを起動すると、それまで起動していたTomcatに接続できなくなります。逆もまた然り。 /usr/local/aipo/bin/startup.sh の6行目以降に

export CATALINA_BASE=$AIPO_HOME/tomcat
export CATALINA_HOME=$AIPO_HOME/tomcat
export CATALINA_TMPDIR=$AIPO_HOME/tomcat/temp
export CLASSPATH=$AIPO_HOME/tomcat/bin/bootstrap.jar
export JRE_HOME=$AIPO_HOME/jre

を書き足せばOKです。

自動起動の設定

init.dスクリプトやcronを使って自動起動する際は、/etc/sudoers の

Defaults requiretty

コメントアウトする必要があります。

自分が行った手順は以上で終わりとなります。

本当はVimSublime使いを粉砕する記事とか書きたかったですがいろいろ余裕がありませんでした。お疲れ様でした。