JSゆるふわめも

がっこうでべんきょうしたことをめもがきしてます

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

ポインタレシーバーと値レシーバー

最近Goは全く触っていないです。 ただ、寝れなくなったのでGoを学習していた時によく分かっていなかったことを少し調べてみました。 それはコイツらです。 type Person struct { Name string } //値レシーバー func (p Person) hello() { fmt.Printf("Hi, my…

開発環境のバージョンって大事だね

Unityをいじってて最近ブチ当たったのがバージョンの問題 dllを追加しようとしたら.NET4.xだからダメで〜す的なメッセージが表示された訳です 全く意識してなかったのですが、UnityのバージョンによってサポートしているC#, .NETのバージョンは異なる訳で...…

C#はじめます

次の業務的でC#を読む可能性が微レ存(死後)なので、基礎を勉強しようと思う。 「Javaとほとんど同じですよ!」と言われたけど、何も知らないと細かいところは分からない。 しかし、usingはJavaのtry-with resource, Goのdefer的なやつかな?とか => ってラ…

Youtubeのエラーページ

数ヶ月前にYoutubeが10分ほどダウンした時にとったスクショ A team of highly trained monkeys has been dispatched to deal with this situation. エラーメッセージ・画面もシャレが効いてる

PS4とコントローラのペアリング不調

結論から言うと電源を一度抜いたら治りました。 完全にメモリクリアする必要があったようです。 一般的な治し方?であるセーフモードを色々いじくっても全く治らなかったので途方にくれていたのですが、治って良かったです。(Amazon Primeビデオ視聴マシン…

ファイナライザを避ける

ファイナライザ GCによって、インスタンスが回収されるタイミングで実行されるメソッド ファイナライザは(原則)使用するべきでは無い 理由 ファイナライザは即時実行されるわけでは無い(意図しないタイミングで実行される可能性がある) そもそも実行される…

text/scanner

Package scanner provides a scanner and tokenizer for UTF-8-encoded text. It takes an io.Reader providing the source, which then can be tokenized through repeated calls to the Scan function. For compatibility with existing tools, the NUL ch…

scanner package

Goには良く使用するであろうbufio Scannerとは別に、構文解析を行うためのscannerパッケージに属するScanner型が存在する Package scanner implements a scanner for Go source text. It takes a []byte as source which can then be tokenized through repe…

おそらくかなり賢い32 << (^unint(0) >> 63)

プログラミング言語Go練習問題6.5で、 プラットフォームに対して最も効率的な符号無し整数を使用するために、 かなり賢い式32 << (^uint(0) >> 63) を使える。 と説明されている。 uintはプラットフォームが32bit環境なら32bitの符号無し整数・64bit環境なら…

err != nilがめんどい。そんな人はPostfix Completionを使おう

元々VSCodeでgoを書いてたんだけど、最近はgoglandを使っててだいぶ満足している。 また、最近見つけた機能でPostfix Completionという機能がとても便利だった。 err.nilで保管をすると、下記のコードを自動で生成してくれる。 if err != nil {} 他にも気の…

Go言語学習メモ

bit演算 y 0001 ^単項で使用するとビット反転 ^y 1110 x 1011 符号ありの型をビット反転させると符号も反転する var ux uint = 0xff var uy uint = 0x1 x := 0xff y := 0x1 fmt.Printf("int x=%b int y=%b\n", x, y) fmt.Printf("^x=%b ^y=%b\n", ^x, ^y) fm…

constant xxx truncated to integerについて

Goにおける定数(constant)は定義がかなり緩い型になっており、 それを含んだ式や代入を行う場合明示的に型を指定する必要がある。 stackoverflow.com 上記質問で触れられているリンクを雑&かなり適当な意訳してみた Conversions are required when different…

メモ

文と式 文 値を持たない 式 値を持つ Goのgc 最後にGCされた時に確保されたメモリの使用量の倍になった時にGCが走る ex) gcした結果1Gの使用量 -> 2Gの使用量になったらgcが走る GCのチューニングは可能。停止することも可能 なぜMapが毎回ランダムな値を返…

queryの処理方法

func main() { http.HandleFunc("/", handler) log.Fatal(http.ListenAndServe("localhost:8000", nil)) } func handler(w http.ResponseWriter, r *http.Request) { query := r.URL.RawQuery v, _ := url.ParseQuery(query) s := v.Get("cycles") i, _ := s…

便利なExample

Goには標準出力をテストするための便利な仕組みがある テスト対象のコード package main import ( "fmt" "os" "strings" ) func main() { echo() } func echo() { fmt.Println(strings.Join(os.Args[0:], " ")) } テストコード package main import "os" fun…

【Go学習記録】Goルーチンさわり

javaで言う所のthreadがチャンネルというらしい 大雑把な使用方法 func main { stringChanel := make(chan string) //string型のデータを取り扱うチャンネルを生成する // intChanel := make(chan int) go useStringChanel(stringChanel) //スレッドの生成 f…

大由彰(Akira Daiyoshi)というベーシスト

大由彰という偉大なベーシストがいた 唸るベースという表現がこれ程の似合うベーシストはいないと思っている www.youtube.com ただ、近年演奏している形跡は無く、ネットにも全く情報が見当たらない 現在でも演奏をされているのか、はたまたご存命なのか全く…

Javaプログラマーなら習得しておきたい Java SE 8 実践プログラミング を読んでいて、BitSet.valueOfの使い方が良くわからなかったので調べた(正確には知ってる人に質問した) 上記書籍の良くわからなかった箇所は下記の部分 BitSet.valueOf(bytes).get(n) …

Base64メモ

A-Z(26) a-z(26) 0-9(10) +-,(2) 26 + 26 + 10 + 2 = 64文字 で表現されるエンコード方式 [変換前]Today is sunny [変換後]VG9kYXkgaXMgc3Vubnku で、何に使うの? 現在では、JSONなどで特殊文字を含まないように画像データをbase64でエンコードしたり、Web…

Arrays.asListが返すリストの挙動

List<String> words = new ArrayList(Arrays.asList(longWords,longWords2,"test","test1","test2")); words.removeIf(w -> w.length() <= 12); 上記のような処理を書くとUnsupportedExceptionで怒られしまう 原因はArrays.asListが返すリストのサイズは変更できない</string>…

CuncurrentHashMap.reduceEntriesメモ

reduceEntries public Map.Entry reduceEntries(long parallelismThreshold, BiFunction,Map.Entry,? extends Map.Entry> reducer) 指定されたリデューサを使用して値を結合することにより、すべてのエントリの累積結果を返します。結果がない場合はnullを返…

ZoneDateTImeで24時間以上plusHourした場合

private void test() { ZonedDateTime now = ZonedDateTime.now(); System.out.println(now); ZonedDateTime over24 = now.plusHours(30); System.out.println(over24); } 実行結果 2017-01-15T15:21:05.128+09:00[Asia/Tokyo] 2017-01-16T21:21:05.128+09:0…

タイムゾーンについて

タイムゾーンとは イギリスのグリニッジ(経度0°:本初子午線)から経度15°毎に区切り、それぞれの区間に対して時間を割り当てたものを指す。 日本は経度135°が国土に含まれ、その地点をタイムゾーンの計測地点としている(日本標準時子午線) それをUTC+9 (9 *…

Magsafe2(Mac Pro)の代替品

正月に実家に帰省した際、Macbook Proの充電器を自宅に忘れてきてしまい大変困った。 純正品の充電器を購入すると9,000円近い出費になってしまう。 結局下記の組み合わせで3000円ちょっとの出費に抑えることができた。 この組み合わせで2、3度充電したが特に…