53ningen.com

@gomi_ningen's Website

Mosquitto の導入

参考: http://tomowatanabe.hatenablog.com/entry/2014/04/21/095650

Mosquitto はデフォルトで 1883 ポートを使用するので,必要に応じてポートを開放する.

on CentOS6

Mosquitto のインストール

cd /etc/yum.repos.d/
sudo wget http://download.opensuse.org/repositories/home:/oojah:/mqtt/CentOS_CentOS-6/home:oojah:mqtt.repo
yum install mosquitto

Mosquitto の起動

sudo /etc/rc.d/init.d/mosquitto start

Paho クライアントの導入

# python, pipが入ってなければ入れる
sudo yum install python
wget https://raw.githubusercontent.com/pypa/pip/m...
Read More

Bridge Pattern

参考リンク

機能と実装の違い

ある数列[1,3,2,5,4]をソートしたいとします.このときソートの方法は何通りかあります.このとき「ソートをする」ということが機能にあたります.そして「ソートをする方法」,たとえばクイックソートやマージソートなどが実装にあたります.クラスを拡張しようとするときには,具...

Read More

Strategy Pattern

状況・文脈(context)によって動的に振る舞いを変えたいときの定石がStrategy Patternです. たとえば各OS向けに文字列を出力するTextPrinterクラスがあるとします. ところが各OS標準で用いられる改行コードはことなるのでその部分についての振る舞いをOSによって変えなければなりません. 以下はこういう状況のときにありがちなコード例です.

public class TextPrinter {
    private OSType os;
    private String printNewLineChar() {
        if(os == OSType.WINDOWS)
            return //CR+LF
        if(os == OSType.MAC)
            return //CR
        if(os == OSType.UNIX)
            return //LF
        return null;
    }
}

往々にしてif文の嵐になり...

Read More

Copyright © 53ningen.com