雑なメモ書き

気楽にいきます

golangのginでcontextをどう扱うべきだろうか

公式でのContextの扱いの解説 https://blog.golang.org/context https://tip.golang.org/pkg/context/ こちらの解説をもとに考えると Incoming requests to a server should create a Context, and outgoing calls to servers should accept a Context. The …

rustのcreateのメモ

cargo edit https://crates.io/crates/cargo-edit cargo install cargo-edit こちらが使えるようになる carog.tmolいじらなくて済む cargo add cargo rm cargo upgrade clippy 所謂linter https://github.com/rust-lang/rust-clippy rustup component add cl…

ストレスな状況下でも嫌な展開にならずに気楽に見ることが出来るおすすめ漫画

新型コロナ騒ぎで世の中が鬱々としているので、 自分が読んだ中で鬱な展開にならずにお気楽に読める漫画を並べておきます。 異世界おじさん 異世界おじさん 1 (MFC)作者:殆ど死んでいる発売日: 2018/11/21メディア: Kindle版 乙女ゲームの破滅フラグしかな…

緊急事態宣言が出た時にやったストレス対策(2020/04)

新型コロナウイルス感染症(COVID-19)の影響で緊急事態宣言が4/7にでました。 corona.go.jp それに伴いまして、3蜜を避ける為に企業が出勤禁止の対応を行いました。 その為、自宅で作業するテレワークへ業務が移行。 当初2週間ほどはそこまでストレスも感…

GDBFrontendというグラフィカルにgdbでdebugできるツールをrustで試してみた

GDBFrontendの場所 github.com 立ち上げ方 gdbfrontend こんな感じでWebServerとして立ち上がります 接続方法 画面下にコンソールが立ち上がっています ここへ以下で実行した結果を貼り付けます #!/bin/sh TARGET_PATH=$1 DEBUG_SRC=`strings $TARGET_PATH |…

作りたくない一時ファイルを作らずにvimの力を借りたい(1)

なにかvimの力を借りて整形したい 例えばRustのコードを別の箇所に貼るとき とんでもなくインデントが深いコードを整形したい あると思います struct User { username: String, email: String, sign_in_count: u64, active: bool, } これをこのまま貼りたく…

vimのhelpを日本語化するのはpluginで一発だった

vimdoc-jpというpluginがあります github.com こちらの記事に各種Pluginでのインストール方法が乗っています qiita.com 現場からは以上です。

Rustの構造体に対する疑問を検証してみた

doc.rust-lang.org こちらのドキュメントに対する疑問を解消しております。 構造体に初期値が勝手に入るか? ここの構造体の説明で初期値が無いとどうなるか特に言ってない おそらくはエラーになるはずだが どんなメッセージだかは気になる fn main() { #[der…

GDB Documentationを読んで見る

www.gnu.org GDBのドキュメントを頭からやっていこうかなという感じです TOP Pageには何が書いてあるか 概ね以下のような内容です。 印刷版の紹介 オンラインマニュアル 内部マニュアル その他参考資料 オンラインマニュアル 呼び出し方 ここに普段は使わな…

fuzzy finderであるfzfを導入して楽しく検索してみる

最近fuzzy finderというものがあります いや、前からあったかもしれない fzfというfuzzy finder github.com 使い方 Ctrl + r 基本これで立ち上がるはず 候補になるコマンドの履歴が表示される さらにそこから絞り込みが出来る

Rustのリテラル文字列はどういう扱いなのか?

参考 https://qiita.com/Mizunashi_Mana/items/db88cb0bff002abce1ae https://doc.rust-lang.org/std/str/ 変な現象に遭遇する まあ結果的に変じゃないんですけど リテラルの文字列を扱うとエラーにならない 所有権がmoveした物を使用したらこんぱいるできな…

objdumpのソースコードがUbuntuで欲しい

所属パッケージを探す dpkg -S objdump zsh-common: /usr/share/zsh/functions/Completion/Unix/_objdump binutils-common:amd64: /usr/share/man/man1/objdump.1.gz binutils-x86-64-linux-gnu: /usr/share/man/man1/x86_64-linux-gnu-objdump.1.gz binutil…

rustで所有権ぽいやつをコードで追ってみる

所有権の説明 doc.rust-lang.org 本家を読むと出てくる 以下の3つのルールが気になる訳です Each value in Rust has a variable that’s called its owner. There can only be one owner at a time. When the owner goes out of scope, the value will be dr…

Linuxでpasteコマンドとnlコマンドを使って行番号付きテーブルを作成する

こんにちは 複数のファイルを合成してテーブルにするのを簡単にしたいので そのときに使用したコマンドをまとめました 2つのファイルの合成 paste a b -d '|' > c 行番号の追加 nl c > d markdownに書き出す際へのエスケープ処理 他にもありますが stactrace…

ubuntu 18.04でfern.vimを動かしたい

いつものようにvim-jpでおききしました。 ubuntu 18.04に入っているvimのバージョンの場合 deletebuflineが入って無いのでfern.vimが動作しません 以下の様なエラーがでます。 対応策 vimを直接ビルドする vim-jp.org リポジトリからvimをcloneしてきて vers…

vim-lspでgoを使用してデータ構造等を表示したい

例によってvim jp slackで教えて貰ったので めもします。 vista.vimを使用するとかのうです github.com インストール ステータスラインに何か出すらしく READMEに書かれていたので同時にlightlineを入れています Plug 'liuchengxu/vista.vim' Plug 'itchyny/…

キーストロークを画面に表示したい:Mac,Linux,Windows

Mac KeyCastrというアプリを使用すると上手くいくようです www.softantenna.com vimで対応したい場合 こちらのkeycast.vimをしようすると可能です github.com Linux aiya000.github.io その他 rcmdnk.com

Macでterminalの動画を録画する

vim-jpのスラックで相談したら教えていただいたので メモ代わりに書いておきます ツール licecap gifで取りたい場合はこれ https://www.cockos.com/licecap/ インストール brewでいれようとするとエラーになるので [zsh master ] brew install licecap Updat…

vimとかで関数とかのブロック毎たたむ物をholdという

vim-jpのslackで GoLandの画面を例にとって こんな感じにあるブロックを 閉じる方法をvimでありませんかときいたところ holdといそうです vim-jp.org 基本的な使い方はこちらが分かりやすかったです maku77.github.io lspでも可能 mattnさんに教えて貰ったん…

2020年にvimで良い感じにコメントアウトするPlugin tyru/caw.vim

github.com slack vim jpで聞いたところこちらをおすすめされたのでインストールしてみました インストール Plugを使用していれば以下ですぐはいります Plug 'tyru/caw.vim' 使用方法 https://github.com/tyru/caw.vim#how-it-works ここに代替あるのですが …

fern.vimでファイルビューワーつけてvimをしたい

github.com fern.vimというものが先日リリースされまして これを使用すると良い感じのファイルビューワーつけられます インストール Plugを使用した場合はいかになります Plug 'lambdalisue/fern.vim' 使用方法 :Fern . -reveal=% 移動方法 左移動 Ctrl + w,…

vim-sqlfmtを使用すると楽にSQLをフォーマット出来る

github.com vim-sqlfmtというプラグインがある これを使用するとSQLFmtというコマンドが使用出来るようになる SQLFmt これによってログなどでたたまれて見づらいSQLが非常に見やすい形にフォーマットされる filetypeがsqlに指定されているので拡張子sqlのも…

gofとvim terminalで良い感じにファイル探しながら編集できる

mattnさん作のgofというインクリメンタルにファイルを探せるツール これはvim terminalと連携できます ':termでvim terminalを開いてgof -t`で実行出来ます github.com terminal操作については 以下のURLがまとまっています qiita.com

lldbでdebugをtuiで表示したい

guiって入力するだけで立派な画面が出てきた gui 参考 peeterjoot.com

vim-lsp-settingsを使用してrustをmacで動かす

設定 vim側 github.com vim-lsp-settingsの本家のサイトへ行ってみてください plugでのinstall方法が書かれているのでそれに従ってinstallします mapping コマンドの割り当てはplug mappingを使用したらいいとmattnさんに教えて貰いました。 nmap <buffer> gd <plug>(lsp-d</plug></buffer>…

macとlinux両方でlldbを動作させたい

active-toolcahinを直うちしてしまうと 環境を変更したときに動作しなくなる問題への対処 #!/bin/sh TARGET_PATH=$1 DEBUG_SRC=`strings $TARGET_PATH | grep -o '^/rustc/[^/]\+/' | uniq` ACTIVE_TOOL_CHAIN=`rustup show active-toolchain | grep -o '^[^…

rustでlldbを使用してdebug時にsourceを表示する

通常のケース sourceがstep inしても出ない (lldb) l 1 fn main() { 2 println!("Hello, world!"); 3 } (lldb) b 1 Breakpoint 1: where = hello`hello::main::h339d18d0cfd709be + 16 at main.rs:2, address = 0x0000000000004150 (lldb) run Process 30247…

rustのgdbでのdebugでsourceを出力したかった

プログラム言語処理系のslackの#rustでKeenさんという方に色々教わってうまいこと動いたので書き残しておきます。 cargo buildをすると謎のdebug情報が付加される /rustc/412f43ac5b4ae8c3599e71c6972112e9be4758faといったパスが情報に付加される cargo bui…

gormをしらべた(1)

https://gorm.io/docs/ gormを使っていたら中身が気になったので追ってみた 公式のサンプルからとりあえず追う dialectsMapはどこで初期化されているか gorm.initからRegisterDialectが呼ばれている ちなみに、このinitはpostgresなど各種にあり、それぞれ初…

GO111MODULEの影響を追ってみた

main.go func main() { _ = go11tag flag.Usage = base.Usage flag.Parse() log.SetFlags(0) args := flag.Args() if len(args) < 1 { base.Usage() } if args[0] == "get" || args[0] == "help" { if modload.Init(); !modload.Enabled() { // Replace modu…