tocsatoの備忘録

ほぼほぼ 50 代のプログラマの備忘録。swift golang javascript css html5 nginx mysql などを最近使ってます。

Android Studio 2.2のBasic Activityがビルドできない

srcCompat 属性なんて知りません Android Studio 2.2 で Basic Activity のスケルトンコードを吐き出させて、そのままビルドすると Error:(26) No resource identifier found for attribute 'srcCompat' in package 'xxx' と出てビルドに失敗しました。 「sr…

swift3 で sizeof

'sizeof' is unavailable: use MemoryLayout<T>.size instead. 仕様変更はこんなところまで...。ということで、 MemoryLayout<Int16>.size // 2 を使用します。</int16></t>

swift3 で UnsafePointer

swift 3.0 で UnsafePointer を使うサンプルの備忘録です。 そもそも swift 自体かなりの初心者なので、大いに間違いがあるかもしれません。 ツッコミ歓迎です。というか、教えてください。 swift 3.0 のポインタは何が変わった? swift 3.0 ではポインタ周…

[]byte と string のキャスト

[]byte と string の相互キャストは比較的頻繁に行う作業です。 しかし google:golang cast string to byte slice で分かるように、これらの操作はメモリコピーが走ります。この記事は、unsafe パッケージを使用して 一時的にキャストしたデータを扱う キャ…

スライス操作のおさらい - 2

スライス操作のおさらい - 1の続きで、様々なスライス操作のサンプルコードを挙げます。 スライスの引数に配列は渡せない package main import ( "fmt" ) func foo(b []byte) { fmt.Printf("[% 02x]\n", b) } func main() { x := [4]byte{100, 101, 102, 103…

スライス操作のおさらい - 1

スライスとは golang は配列とは別にスライスという型があります。 配列は物理的にメモリに配置される実体ですが、スライスは配列の参照に近いものです。 スライスは、長さとは別に容量を持っていることで、柔軟にかつ、効率よくメモリ操作ができます。 スラ…

golang 暗号化モード

crypto/cipher パッケージには複数の暗号利用モードが実装されている crypto/cipher パッケージにはいくつかの NewXXX() が定義されています。 これら NewXXX() は使用する暗号利用モードを指しています。 なんとなく暗号化したいだけなら、暗号利用モード?…

mysqlでタイムゾーンをキチンと扱ってみる

データベースのタイムゾーンを確認する SHOW VARIABLES LIKE '%time_zone%'; ウチのmacではこんな設定になってました。 変数名 値 意味 system_time_zone JST データベースシステムのタイムゾーンJST = 日本時間 time_zone SYSTEM セッションのデフォルトの…

go vet で panic

Panic これまで普通に使えてた go vet コマンドが突然 panic を起こしてしまいました。 panic: inconsistent import: var database/sql.ErrTxDone error golangのバージョンアップが原因 最近 Go1.7 にバージョンアップをしたことが原因だった模様です。 試…