A Tour of Go終わった人がGo言語を学ぶために読むといいリポジトリ(暫定)
📅 2016/01/22
- golang/go:お、おう
- kubernetes/kubernetes : ざっとGoの書き方見るため
- youtube/vitess : ざっとGoの書き方見るため
- drone/drone : gin-gonic/ginを使っているのでrouter書くなら参考にしたい
📅 2016/01/22
router書くなら参考にしたい📅 2016/01/07
Let's EncryptのClientをcloneして証明書の発行を行います。今回はstandaloneかつport443でclientを起動して証明書を取得します。
yourdomainの部分は自分のドメインに置き換えてください。
$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt
$ ./letsencrypt-auto certonly --standalone --standalone-supported-challenges tls-sni-01 -d yourdomain
証明書の発行が完了すると/etc/letsencrypt/archive/yourdomain配下に*.pemファイルが生成されます。
Goのnet/httpを使って書くと以下のようになります。
package main
import (
        "fmt"
        "log"
        "net/http"
)
func main() {
        http.HandleFunc("/", func(w http.ResponseWriter, _ *http.Request) {
                w.Header().Add("Content-Type", "text/html; charset=UTF-8")
                fmt.Fprint(w, "
It works!")
        })
        err := http.ListenAndServeTLS(":80", "/etc/letsencrypt/archive/yourdomain/fullchain1.pem", "/etc/letsencrypt/archive/yourdomain/privkey1.pem", nil)
        if err != nil {
                log.Fatal(err)
        }
}
📅 2015/11/18
プライベートなリポジトリはdroneioでコンテナ作ってビルドから通知までやっていました。 GitHubのリポジトリは折角なのでCircleCIで回すことにしました。 その時に罠があったので紹介します。
dependencies:
  cache_directories:
    - $ANDROID_HOME/platforms/android-23
    - $ANDROID_HOME/build-tools/23.0.1
    - $ANDROID_HOME/extras/android
    - $ANDROID_HOME/extras/google
$ANDROID_HOMEが/usr/local/android-sdk-linuxと展開されると期待したら、以下のようなwaringが出ていました。
Warning: circle.yml specified cache directories: /home/ubuntu/android-ci/$ANDROID_HOME/build-tools/23.0.1, /home/ubuntu/android-ci/$ANDROID_HOME/extras/google, /home/ubuntu/android-ci/$ANDROID_HOME/platforms/android-23, /home/ubuntu/android-ci/$ANDROID_HOME/extras/android but they don't exist
/から始まるものでないと絶対パスとして扱われない…?罠過ぎる。
変数展開を期待してダブルクォーテーションで囲ってみたが相対パス扱いのままだったのでベタ書きすることにしました。
またandroid list sdk -u -a -eでupdate sdkに使うパッケージ名を出すことができます。
GitHub android-ci
📅 2015/10/05
sudo dd if=ubuntu-14.04.3-desktop-amd64.iso of=/dev/disk3 bs=1m
F2を押してgnome consoleと入力して端末を開きます。
あとは参考に記載したQiitaと同じようにコマンドを入れてインストールを完了させます。
wget https://raw.githubusercontent.com/coreos/init/master/bin/coreos-install
chmod 755 coreos-install
sudo ./coreos-install -d /dev/mmcblk0 -C stable
あとはsudo shutdown -h nowの後USBをを抜いて起動するとCoreOSが立ち上がってきます。
cloud-config.ymlを指定せずにインストールしたでsshも何もできません。
Deleteキーを押したまま起動するとGNU GRUBのメニューが出るので一番上のCoreOS defaultをEキーで編集します。
if内のコマンドの一番最後にcoreos.autologinを追記してF10キーを押せばCoreOS起動後にログイン状態になります。
sodo vim /usr/share/oem/cloud-config.ymlで以下のような設定を記載します。
#cloud-config
write_files:
  - path: /etc/systemd/network/static.network
    content: |
      [Match]
      Name=enp3s0
      [Network]
      Address=192.168.xxx.xxx/24
      Gateway=192.168.xxx.xxx
      DNS=192.168.xxx.xxx
ssh_authorized_keys:
  - ssh-rsa AAA
あとはrebootしてやればsshで繋げれるようになります。
📅 2015/09/09
前回の記事の続きになります。 エラストマー芯だとフィルムの指紋を拭き取るのが面倒ということもあったのでサークル:つくってあそぼさんのステンレス芯(青と緑)を購入しました。(購入はこちらから)
 
 右から標準芯、エラストマー芯、ステンレス芯(緑)、ステンレス芯(青)になります。 滑りの良さは標準芯、ステンレス芯(緑)、ステンレス芯(青)、エラストマー芯という順番になりました。 ステンレス芯は指紋の上でも滑りにあまり変化がないです。エラストマー芯よりも滑りが良くステンレス芯(青)だと紙に結構近い感じの描き心地になります。
📅 2015/09/09
Cinteq Companion2とミヤビックスの光沢フィルムとエラストマー芯でしばらくお絵かき練習したレビューになります。 求めていた紙と鉛筆の描き心地とは程遠いです。エラストマー芯は中心がゴムということで思ったよりひっかかります。 長いストロークの線を引くのには不向きです。細かい線を引くのにはグリップが効く分描きやすいです。 また、ミヤビックスの光沢フィルムは指紋が付着しやすいです。指紋の上をエラストマー芯で通過させると抵抗が若干弱いため、指紋が付いていない場所と比べるとヌルっとした感じになります。清書するときはクリーナーで指紋を拭きとる必要があります。
📅 2015/09/06
あたり入れて練習
 
 0906
        
📅 2015/09/03
以下のようなonNext()を呼ばないパターンのあるObservableでtoList operatorを使った時のメモです。
    Observable listObservable = Observable.create(new Observable.OnSubscribe<Object>() {
      @Override public void call(Subscriber<? super Object> subscriber) {
        // Point1 : create object list.
        // Point2 : call onNext() in a foreach block.
        subscriber.onCompleted();
      }
    }).toList()
    .subscribe(new Observer<List<Object>>() {
      @Override public void onCompleted() {
      }
      @Override public void onError(Throwable e) {
      }
      @Override public void onNext(List<Object> objects) {
        // Question : objects.size()は?
      }
    });
foreachが実行されてsubscriber.onNext()が呼ばれる場合はQuestionの部分のobjects.size()は0より大きな値が返ってきます。 subscriber.onNext()が呼ばれない場合でもQuestionの部分のobjects.size()=0で返ってきます。
📅 2015/08/26
模写はアタリ描かないものかと思ったら描くものという知見を得た。
ヤキイモかわいいよヤキイモ
 
 08-26