A Tour of Go - 解答

Golangを勉強しています。

Excercies: rot13Reader

https://go-tour-jp.appspot.com/methods/23

io.Reader を実装し、 io.Reader でROT13 換字式暗号( substitution cipher )をすべてのアルファベットの文字に適用して読み出すように >rot13Reader を実装してみてください。

package main

import (
    "io"
    "os"
    "strings"
)

type rot13Reader struct {
    r io.Reader
}

func (r13 *rot13Reader) Read(buf []byte) (int, error) {
    n, e := r13.r.Read(buf)

    for i := 0; i < n; i++ {
        if buf[i] < 'A' || buf[i] > 'z' {
            continue
        }
        if buf[i] < 'Z' && buf[i] > 'a' {
            continue
        }

        if buf[i] < 'A'+13 || buf[i] < 'a'+13 {
            buf[i] += 13
        } else if buf[i] < 'O'+13 || buf[i] < 'o'+13 {
            buf[i] -= 13
        }
    }
    return n, e
}

func main() {
    s := strings.NewReader("Lbh penpxrq gur pbqr!")
    r := rot13Reader{s}
    io.Copy(os.Stdout, &r)
}

Exercise: Images

自分の Image 型を定義し、 インタフェースを満たすのに必要なメソッド を実装し、 pic.ShowImage を呼び出してみてください。

package main

import (
    "image"
    "image/color"

    "golang.org/x/tour/pic"
)

type Image struct {
    x int
    y int
}

func (img Image) Bounds() image.Rectangle {
    return image.Rect(0, 0, img.x, img.y)
}

func (img Image) ColorModel() color.Model {
    retuarn color.RGBAModel
}

func (img Image) At(x, y int) color.Color {
    v := uint8(x ^ y)
    return color.RGBA{v, v, 255, 255}
}

func main() {
    m := Image{256, 256}
    pic.ShowImage(m)
}

WebRTC meetup TOKYO#6

WebRTCMeetUp #6に行ってきた.

WebRTC Meetup Tokyo #6
https://atnd.org/events/60983

近頃はSkywayのTURNトライアル開始や,WebRTC Conference開催とビジネス成分が徐々に増してきた感があります.

1/27 Skyway TURNトライアル開始
ニュース 2015年1月27日:WebRTCプラットフォーム「SkyWay」にTURN機能を追加し国内初のトライアル提供を開始 | NTT Com 企業情報

2/5~2/6 WebRTC Conference Japan

WebRTC Conference Japan

続きを読む

WebRTC meetup TOKYO#5 勉強会メモ

昨日,WebRTC勉強会に行ってきた.
WebRTC Meetup Tokyo #5

ネットワーク周りの深い話が個人的にはとても楽しかった.
当たり前に繋がることを作る/維持するコストって大変ですよね.


何かネタを出して発表とかもしてみたいなあ.
昨日学んだことはXMS最強伝説.

続きを読む

EclipseでAndroid Tools->Add Native Supportを追加するとCのコードが動かない.

EclipseでJNIを追加すると,デフォルトでC++のコードが生成される.

CでJNIを書くと


Type 'jint' could not be resolved

 

と出てしまって,Android Applicationが実行できない.

java - Type 'jint' could not be resolved, and JNIEnv, jclass - Stack Overflow

Eclipse側でC++の設定になっているのを消せばOKでした.

 

良かった良かった.

EclipseのAndroid application projectでJNIを使う場合の設定

最近,AndroidでJNIを触っています.
Android apllication projectでprojectを作成した後に,EclipseAndroid NDKをインストールしたのですが,プロジェクト内でC++のコードで[F3]キーを押しても定義に飛べませんでした.

プロジェクトのプロパティにもC++が現れないので,おかしいなと思って探しまわったら以下のページが.

鯖缶戯言[google版]: Android JNI を Eclipse CDT でプロジェクト統合する<ubuntu 10.10編 その2>

プロジェクト統合を行って無事,C++でも定義に飛べました.

Sublime Text 2 の置換ダイアログを閉じないようにする

おぼえ書き.
SublimeText2の置換ダイアログを閉じないようにする設定.

消えてました.
http://1000g.5qk.jp/2013/01/15/sublime-text-2-%E3%81%AE%E7%BD%AE%E6%8F%9B%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E3%82%92%E9%96%89%E3%81%98%E3%81%AA%E3%81%84%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B/

こっちに移行してた様子.
Sublime Text 2 の置換ダイアログを閉じないようにする | 1000g