雑なメモ書き

気楽にいきます

2019-01-01から1ヶ月間の記事一覧

Goのsliceでappendした場合同じ添え字でのポインタでも違う値になる気がしたので確認する

Goのsliceは配列の要素の部分列へアクセスする為のデータ構造 この要素となる配列を基底配列という 構造として、ポインタ、長さ、容量を持っている この基底配列へアクセスする為にはrefrectionを使用する https://golang.org/pkg/reflect/#SliceHeader http…

nginxについてのメモ

久しぶりにnginxをbuildしようかと思ったら、nginx-buildというものを見つけた。 github.com あとで調べてみる。 普通にcompileしたいなら、downloadから落としてこないとだめか。 http://nginx.org/download/nginx-1.15.8.tar.gz

Goのpprofをつかってみる(1)

参照先 https://golang.org/pkg/runtime/pprof/ https://blog.golang.org/profiling-go-programs goにはprofiling toolがある pkg/runtime/pprof pkg/net/http/pprof 2種類存在していて、それぞれコマンドライン用ととサーバー用だと考えればいい 今回はコマ…

Goのruntime/traceをつかってみる

基本的な情報は以下 https://golang.org/pkg/runtime/trace/ https://yuroyoro.hatenablog.com/entry/2017/12/11/192341 実際に動作させる ちょうどgoroutineを使う処理を直近のblogで試してた これへ解析を追加する package main import ( "fmt" "log" _ "n…

プログラミングRust メモ (2) cargo

パッケージ作成 cargo new パッケージを作成する Create a new cargo package at <path> USAGE: cargo new [OPTIONS] <path> OPTIONS: --registry <REGISTRY> Registry to use --vcs <VCS> Initialize a new repository for the given version control system (git, hg, pijul, or fossi</vcs></registry></path></path>…

Goの並行処理を実際に試す(3)

引き続きパターンを試す。 https://github.com/kevchn/go-concurrency-patterns 1-9-timeout-direct-select.go // Global timer returns after 5 seconds, stopping execution in select control block global timerを使用して5秒後にblockをtime outさせる …

プログラミングRust メモ (1)

プログラミングRust作者: Jim Blandy,Jason Orendorff,中田秀基出版社/メーカー: オライリージャパン発売日: 2018/08/10メディア: 単行本(ソフトカバー)この商品を含むブログを見る こちらをぱっと流し見して気になったところをメモ。 調べたらまた書く。 …

Goの並行処理を実際に試す(2)

1-4-lockstep.go 前回のgeneratorの続き generatorが増やせる話 隔離空間を簡単に作れる訳か // Kevin Chen (2017) // Patterns from Pike's Google I/O talk, "Go Concurrency Patterns" // Golang channels as handles on a service (working in lockstep)…

Goの並行処理を実際に試す(1)

試して慣れないと不味いと思ってgo-concurrency-patternsを動作させてみた。 https://mattn.kaoriya.net/software/lang/go/20131112132831.htm https://mattn.kaoriya.net/software/lang/go/20180531104907.htm https://github.com/kevchn/go-concurrency-pa…

goのgometalinterを試す

https://github.com/alecthomas/gometalinter Golandを使用するとfile watchersにgometalinterが使える package main import "fmt" func main() { list := []string{"aaaa", "bbbb"} message := make(chan string) for _, v := range list { go func() { mes…

ここ最近で面白かった漫画

とりあえず、メモ代わり。最近小説の比率増えたからな。 あとで感想とか書くつもり。 アルテ アルテ 1巻作者: 大久保圭出版社/メーカー: ノース・スターズ・ピクチャーズ発売日: 2015/06/08メディア: Kindle版この商品を含むブログを見る マイホームヒーロ…

Goのhttptraceを試して見た

https://golang.org/pkg/net/http/httptrace/ https://blog.golang.org/http-tracing goでは1.7からhttptraceというものが入っている。 http eventsを観測することが出来る。 Connection creation Connection reuse DNS lookups Writing the request to the …

AppEngineをみてみる (2)

前回: https://hiroyukim.hatenablog.com/entry/2019/01/08/232702 とりあえず、今回も気になったところをメモ。 Capabilities Go API の概要 https://cloud.google.com/appengine/docs/standard/go/capabilities/?hl=ja Capabilities API を使用すると、特…

Goでslackbotを作るための下調べ

久しぶりにslackbotを作りたい欲求が来たので調査する。 Goだとこの辺が見つかった https://github.com/sacloud/slack-bot-template https://github.com/nlopes/slack https://github.com/eko/slackbot 基本的な情報はslackのドキュメントにある https://api…

AppEngineをみてみる (1)

以前触ってから大分変容しているので改めてGAEを眺めてみる standardとflexibleが存在するようだが とりあえずはstandardを触る https://cloud.google.com/appengine/docs/standard/go/?hl=ja 開始の手順としてプロジェクトの作成があるが割愛する 依存ライ…

GCPの全体像とかみてみた

概要 Googleが提供するCloud環境。 某AWSと似たような構成になっているようだが細かいところが違う。 とりあえず、何があるかを把握してみる。 GCP リソースの上で動いてる プロジェクトという概念がありそこに紐付いて利用する サービス 大まかに5種類のタ…

nuxtjsのbuildをいじってみた

設定ファイル nuxt.config.jsのbuild項目を変更すると調整出来る https://ja.nuxtjs.org/guide/configuration analyze Nuxt.js では webpack-bundle-analyzer を使ってバンドルファイルと最適化の仕方を視覚化できます。 analyze: true これを入れて、 nuxt …

nuxtjsの入門メモ

nuxtjsが気になったので適当にいじったメモ。本当に入門してるだけ。 後で buld編は書く予定。 インストール https://ja.nuxtjs.org/guide/installation npx create-nuxt-app sample 全部defaultで解答していった ? Project name sample ? Project descripti…

binary editorの調査

自作OS入門でBinaryEditorが出てきたのですが、日常的に使うために何が良いのだろうか適当に調べてみました。 vim この辺に色々書いてありました。 https://vim-jp.org/vimdoc-ja/usr_23.html#23.4 http://d.hatena.ne.jp/rdera/20081022/1224682665 基本的…

GolangにおけるバッファリングI/Oの確認

GolangにおけるバッファリングI/O C言語でstdioライブラリを使用した場合、バッファリングされた入出力を行うのだが、goの場合は通常fmtで標準出力に出力するケースが多い。この場合バッファリングが行われるのかこの辺の理解が曖昧で、気になったので調べて…