月曜からストレスフリーでTypeScriptのコーディングするためのメモ

月曜からストレスフリーでTSのコーディングするための設定 TypeScriptコンパイラー TSCのインストール プロジェクトディレクトリを作成 .tsのソースを用意して、コンパイル&実行(tscコマンド) Hover information Signature help Errors and warnings Format…

2023/2024

2023 開発したもの振り返るとずっとGoの1年だった。 go routine、goでの自動テストのパターンは結構勉強した 設計書(design doc) をmermaid使ってmarkdownで全部書き始めた 1-4月 常駐プロセス作成 Redisからデータ取得、整形、ファイルに書き出し go rout…

go pointerチートシート

Go

Topic goのpointerのチートシート。教える時に自分もよく頭がこんがらがるので 自分が覚えやすいようにまとめた(ちょっと強引に) 名前 作用素 作用 対象 作用素の例 address operator & 値 → ポインター 値の変数 pointerToX := &x indirection operator *…

compile: version "go1.19.5" does not match go tool version "go1.20.5”のメモ

久々に個人PCのGoのソースを実行しようと思ったら、タイトルのエラーが出た。1.20に上げてそのままんだったぽい 原因 パスが通っているgoのパスとGOROOTのパスが一致していなかった ❯ go env GOROOT /usr/local/go ❯ echo $GOROOT /usr/local/go #GOROOTは1.…

golang mapチートシート

パターン 定義 len Read Write nil map var nilMap map[string]int 0 できる panic empty map literal emptyMapLiteral := map[string]int{} 0 できる できる nonempty map literal teams := map[string][]string{"Orcas": {"Fred", "Ralph", "Bijou"},"Lion…

2022/2023

2022振返 英語は春~夏過ぎまで集中的に勉強できた R, Wスコアアップ 金融の業務知識がついたと思われる一年だった(これが一番伸びたかもしれない) Golangでの機能開発 React + Reduxでの画面開発 これが秋以降一番大変だった 秋後半からSQLの本を読み始め…

プライベートリポジトリをgo getして「terminal prompts disabled」とか「Confirm the import path was entered correctly.」とか言われたときのメモ

プライベートリポジトリのモジュールをgo getするための設定(https) 社内のプライベートリポジトリをgo getする際にしばしば混乱するのでメモ。httpsでのアクセスが必要な環境なので、https前提の話となっている。 何も設定していない場合に発生するエラー…

vim-goimportsが効かない時

vim-importsなんか効かないなぁ~とか思ってたら、そもそもgoimportsインストール前提のプラグインでしたよという話。 vimのgoの環境はググってでてきた記事の設定をほとんどそのままコピペしていたので…調べるまで全く気づかなったでござる。 goimports htt…

java + gradle コンパイルエラー”unmappable character (0x81) for encoding windows-1252”

起きたこと 以下のように日本語(ひらがな)のcharを表示してみようとしたら、タイトルにあるコンパイルエラーが発生した。 System.out.print('あ'); どうやら自分が使っているマシンが英語版のWindowsのため、文字コード(で言葉合ってるのかいつもわらかな…

nil interfaceメモ

nil interface typeとvalueがnilの場合のみ、interface型の変数はnilと判定される(nil interface) 実験 var s *string // #1 fmt.Printf("s -> Type:[%T] Value:[%v] ", s, s) fmt.Println(s == nil) var i interface{} // #2 fmt.Printf("i -> Type:[%T] …

Antで学ぶJavaビルド

自分の会社のJavaプロジェクトでAntが使用されていたので、プロジェクトをビルドするためにAntをざっと勉強した際のメモ。 Javaの3大ビルドツール Ant, Maven, Gradleのうちの1つだが、最近では理由がない限り使われないと思う。 ただ、ビルドツールを理解…

桁の扱いメモ

n桁目の取得などのメモ 数値 → 文字列に変換して扱う string s = to_string(num); 桁数の取得 string s = "1234"; int n = s.length(); cout<< n; // 4 n桁目を取得 charの演算を利用(asciiで0からの差分 + int変換に変換) string s = "1234"; int n = s[0…

C++単体テストGoogle Testのメモ

環境 やること Bazelのインストール Bazel workspaceの用意 テストコードを用意して、ビルド実行 Googletestの書き方 テストを書く前に 用語 Assertions シンプルなテストを書く 自分はこういう風にした テンプレート関数のテストを書く時に参考にした記事 …

ジョブ型雇用

4年程前に大手SIerを退職した時は理由を上手く言葉にできなかったが、昨今のジョブ型雇用の流れで、やっと自分が何を危惧して退職したのかを明確に気づけたので文章に残しておく。 ジョブ型雇用とは 職務明確化、専門性高める 当時自分が一番感じていたのは…

2021/2022

年越し1時間前に書いた 2021 総括 Golangをしっかり勉強できた気がする さらに実用的な知識、モダンな設計の知識が欲しいと思った 英語.. Golang Learning Goを少しづつ読み進めた。この本のおかげでだいぶGoの基礎力は固まったと思う Learning Goだけでい…

async/awaitメモ

参考 Promise chainで書く方法 developer.mozilla.org Fetch APIについて developer.mozilla.org async/awaitについて developer.mozilla.org サンプル github.com はじめに 明示的にPromise chainで書く方法よりasync/awaitで(見かけ上)同期的に書く方が…

sliceの定義パターンメモ

Sliceの定義パターンメモ 適切な定義 定義パターン 1. var declaration with no assigned value [zero length, nil] いつ使う? 2. slice literal [zero length, not nil] いつ使う? 3. make() 3-1. slice as buffer [non-zero length, not nil] いつ使う?…

Next.jsのpre-renderingメモ

Pre-rendering By default, Next.js pre-renders every page. This means that Next.js generates HTML for each page in advance, instead of having it all done by client-side JavaScript. Pre-rendering can result in better performance and SEO. Jav…

VSCode設定まとめ

設定同期 ショートカット 設定 デフォルト ユーザー定義 基本ムーブ Settings Theme Vim emulator Font UI Extensions JS Markdown Debug メインエディタをVimからVScodeにしようかなと思ったのでメモ書き VSCodeの設定同期がGithubアカウントでできるの楽す…

Types assertions

Types assertions interface typeの変数が実際に持っているtypeをチェックする 記法 // 戻り値2個パターン t, ok := i.(T) // 戻り値1個パターン t := i.(T) 戻り値(2個返す場合) t, ok := i.(T) 1個目: 成功:interface型の変数が実際にチェックした型を…

CLI作成で使うパッケージ② spf13/viper

Topic configuration周りは spf13/viper を利用する Summary viperは以下をサポートしている setting defaults reading from JSON, TOML, YAML, HCL, envfile and Java - properties config files live watching and re-reading of config files (optional) …

Graph representation 隣接リストでのグラフ表現

Topic グラフ表現の復習 ※自分用のまとめノートなので、誤った認識で書かれてる可能性あり Graph representation 今回は基本の隣接リストでのグラフ表現の実装の復習。 ちなみに、グラフ表現では大きく4種類の方法があるらしい。*1 やりたいこと こんなグラ…

raw string literals and interpreted string literals.

Topic string literalには raw string literal と interpreted string literal の二種類がある The Go Programming Language Specification Summary raw string litreral バッククォートで囲む 名前の通り、改行などがそのまま使える \ が特別な意味を持たな…

typed/untyped constant

Topic golangのconstantについて The Go Blog Summary constantにはtypedとuntypedの二種類がある Default type typed const typedHello string = "Hello, world" untyped "Hello, world" const hello = "Hello, world" この場合、 str のtypeは? //右オペ…

CLI作成で使うパッケージ① spf13/cobra

Topic 今回、CLI作成で使うパッケージ① → cobra spf13/cobra cobraが使われているプロジェクト spf13/cobra Summary 以下、cobraに依存する機能 CLI Framework / Main Entry point Command Routing Error Handling Help Text (Don't forget to customize!) F…

Package level scope

Topic Package level scopeの変数 Summary 変数を定義する時に var キーワードを使うが、定義する場所でスコープが変わる。(package levelとfunction level) package main import "fmt" var c, python, java bool ← at Package level func main() { var i …

CLIの設計

Topic golangでCLIを(しっかり設計して)作ってみる。設計で意識するところ Summary Sentence Readability Antipattern Avoid positional arguments where the order matters emote add repo funk https://x.com/funk.json emote add repo https://x.com/f…

golangでCLIをしっかり作ろう

Topic CLIを設計できるようになろうの一回目 Summary 以下のレポート記事を読んで、実際に同じものを作ってみる。 GopherCon 2019 - Design Command-Line Tools People Love YouTube Designing Command-Lile Tool People Love GopherCon 2019: Carolyn Van S…

LeetCode 101.Symmetric Tree

LeetCode 101.Symmetric Tree leetcode.com 自分のアプローチ 2つのサブノードを比較していく 以下の条件を満たす場合は、symmetric と判定 サブノードの root の値が等しい 左のサブノードの左の子ノードと右のサブノードの右の子ノード (外外) 右のサブノ…

Docker MySQLコンテナとWorkbenchでデータ設計環境を構築する

やりたいこと Github 作業 0 ローカルのMySQLを停止 0-1 systemctlコマンド 0-2 serviceコマンド 0-3 実際に停止 1 データの永続化 1-1 マウントするディレクトリ作成 1-2 共有ディレクトリを指定して起動 2 port forwarding 3 MySQLコンテナのログ設定 3-1 …