2018-01-01から1年間の記事一覧

NanoPi NEO2でFreeBSDを動かすメモ(NEO2用のu-bootを使う)

これまでの経緯とか 以前はu-bootを同じCPU(Allwinner H5)のボードのものをつかっていた。 rixwwd.hatenablog.jp u-bootにはNanoPi NEO2用の設定があるため、今回はそれを使うようにした。 github.com まずはportsの準備 portsnap fetch portsnap extract Na…

Raspberry PiをRead onlyなSDカードで運用するためNanoBSDのめも

NanoBSDの仕組み /etc/disklessが存在すると、/etc/rc.initdisklessが動く。 /conf/base, /conf/defaultは設定ファイルのデフォルトを置いておく。 rc.initdisklessは、/conf/base, /conf/defaultの順で上書きしていく。 特殊なファイル md_size そのディレ…

Mattermostの統合機能、APIメモ

やったこと mattermostで何ができるのか調べてみた。 できること 内向きのウェブフック POSTすると指定したチャンネルに投稿できる。 外向きのウェブフック 特定の単語にマッチするときに、指定したURLにHTTP POSTする。 スラッシュコマンド スラッシュコマ…

JenkinsのビルドをDockerコンテナで実行する

やること Spring Bootで作ったアプリケーションのビルド&テストを、Jenkinsを使ってDockerコンテナ内で実行する。 方法 コンテナのイメージはopenjdk:8-jdk-alpineを使った。 Jenkinsfileの書き方は、agentにanyを指定するか、dockerを指定するかでコンテナ…

FreeBSDのRaspbery PI用イメージを1GBのSDカード用に変換する

やること FreeBSDのRaspbery PI用イメージを1GBのSDカード用に変換する。 配布されているイメージは1GBなのだが、手元にあったSDカードは953MBとちょっと足りない。 そのため、実際のSDカードのサイズに合わせる。 方法 SDカードと同じサイズのファイルを作…

NanoPi NEO2でFreeBSDを動かすメモ

やること NanoPi NEO2でFreeBSDを無理やり動かしてみた。 ソースのチェックアウト SubversionでFreeBSDのソースコードをチェックアウトする。 cd /usr svnlite co svn://svn.freebsd.org/base/head src NTPD用ユーザー作成 20180719にntpdは専用のユーザーで…

Rubyのハッシュ

昨日、json_schemerがうまく動かないと言っていたけれど、ハッシュのキーがシンボルだからだった。 {'a':1} => {:a=>1} {"a"=>1} => {"a"=>1} ":"の場合はキーがシンボル、"=>"の場合はキーが文字列。 json_schemerがシンボルのハッシュが使えないのが原因だ…

JSON Schemaを使ってみる

やること JSON Schemaで項目間のチェックをする。 例えば、field1が1の場合に、field2はAであることをチェックする。 JSON Schemaで表現すると以下のようになる。 { "type": "object", "properties": { "field1": { "type": "string" }, "field2": { "type…

Kubernetesをちょっとやってみる。

やること Kubernetesが気になったため、ちょっと動かしてみる。 minikubeを使うと1ノードのKubernetesが使えるらしい。 とりあえずコマンドはコピペ。 curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 &&…

Raspberry PIでJail+vnet

やること Raspberry Piで、Jailとnet(VIMAGE)を使ってみる。 カーネルのカーネルのビルドはこちら。 rixwwd.hatenablog.jp epairの作成 LANケーブル的な役割をするインターフェースを作成する。 ifconfig epair0 create ifconfig epair1 create ルーターとホ…

Raspberry PIでVIMAGE用カーネルのビルド

やること Raspberry PIにFreeBSDをインストールして、VIMAGEを使う。 VIMAGEを使うには、カーネルのビルドが必要。 カーネルのビルドをRaspberry PIで行うと遅いため、amd64な環境でクロスコンパイルする。 パッケージのインストール ccacheを使ってビルド時…

Mattermostのバージョンアップ

やること mattermostのバージョンアップ。 https://docs.mattermost.com/administration/upgrade.html バックアップ mattermostとデータベース(PostgreSQL)をバックアップする。 systemctl stop mattermost mv /opt/mattermost /opt/mattermost.old pg_dum…

mattermostで日本語検索

やること mattermostで日本語検索をできるようにする。 環境 CentOS 7.2 PostgreSQL 9.2 手順 基本的な手順はここにかいてある通り。 https://docs.mattermost.com/install/i18n.html#japanese この手順をコピペしてもパスがちょっと違ったりしてうまくでき…

iptablesの設定

VPN

やること strongSwanの設定をしただけでは、通信できない。 iptables を設定して、10.1.2.0/24をNATする設定と、IPSecでトンネルしたことでMTUが減るため、 TCPMSSの設定をする。 カーネルの設定 パケットを他のホストに転送するようにする。 $ echo 'net.ip…

strongSwanの設定

VPN

strongSwanのインストール 普通にaptなどでインストールする。 $ apt install strongswan 証明書の配置 作成しておいた証明書を配置する。 rixwwd.hatenablog.jp $ cd vpnca $ sudo cp ca.crt /etc/ipsec.d/cacerts $ sudo cp server.key /etc/ipsec.d/priva…

VPN用ダイナミックDNSの登録

VPN

やること VPNの証明書を作るにあたって、ドメイン名をSANに埋め込みたいけどドメイン持ってないのでダイナミックDNSのサービスを使う。 ダイナミックDNSにはno-ipを使った。 定期的にIPドレスを登録し直すことで、IPアドレスが変わった場合に備える。 ダイナ…

VPN用証明書の作成

VPN

やること iPhoneからVPN接続できるよう、IKEv2なVPN構築する。VPN構築にあたって必要な証明書を作成する。 IKEv2はstrongSwanを使う予定。 CA作成 まずはディレクトリを作る。 $ touch index.txt $ echo 00 > serial $ mkdir private newcerts $ chmod 700 p…

tf-idf

Wikipediaの解説によると以下で求められるらしい。 tf-idf = tf * idf tf = ドキュメントのある単語の出現回数 / ドキュメント中の全ての単語の出現回数 idf = log(すべてのドキュメント数 / 単語を含むドキュメント数) tf-idf コードを書いて動かして見たら…

とりあえずブログを始めたもののどうしましょう

毎日ブログを書いてアウトプットを増やすことで、強制的に何かインプットするようにと企んでいたど、3日目にしてブログのネタがない。 ブログの記事としては、主に以下の書き方がありそう。 何か作りながら、その開発日記的に書いていく。 日常生活の中で考…

Rubyで形態素解析

まずは、MeCabのインストールから。 $ brew install mecab mecab-ipadic 次にgemのインストール。 $ gem install mecab で、使う。 require 'mecab' sentence = "急速に発達する低気圧や暖かく湿った空気の影響で、西日本や東日本を中心に大気の状態が非常に…

2018年の抱負

今週のお題「2018年の抱負」 ブログを書いて、自分を通過する情報量を増やす。 なんとなく、惰性で過ごしてきた感じもあるが、これからも惰性で過ごすことはやめない。 それでも、たまには加速しないと惰性は続いていかない。