寝ても覚めてもこんぴうた

プログラム書いたり、ネットワーク設計したり、サーバ構築したり、車いじったり、ゲームしたり。そんなひとにわたしはなりたい。 投げ銭は kyash_id : chidakiyo マデ

anyenv のインストールから nodenv のインストールまで

anyenv のインストールから nodenv のインストールまで Mac が新しくなったので node をインストールしようと思い、以前 nodebrew を使っていたので GitHub を見に行ったら開発はいまいち活発じゃなさそう。 なので、ちょっと調べてみたら nodenv の方が活発…

IntelliJでコードフォーマットするショートカット

Option + Cmd + L 以上!w

Cloud Run で VPC 経由で Memorystore(Redis) に接続確認してみる

待望の機能がBetaですが発表されましたね! 注意 : Cloud Run の VPC 接続は現在(2020/05/15)Betaです。 注意 : 以下、Cloud Runと読んでいるものはすべてフルマネージド版になります。 Cloud Run のようなサービスは Memorystore(Redis) に接続する際、 S…

Macでトラックパッドをダブルタップした際に選択状態にする

マックで文章を選択したい場合、トラックパッドをダブルタップ(ダブルクリック)で単語を選択状態にしたり、 トリプルタップ(トリプルクリック)をして1行まるっと選択状態にしたりという使い方ができますが、 新しくMacを買ったら設定がされていなかった…

STUN / TURN / ICE とかってなんの略?(WebRTCに関する用語)

略がわからないと単語わからなくなるのでメモ 略 STUN (Session Traversal Utilities for NAT) TURN (Traversal Using Relay around NAT) ICE (Interactive Connectivity Establishment) SDP(Session Description Protocol) MCU(Multipoint Control…

ブラウザでCSVファイルをダウンロードしようとするとブラウザで開いてしまう (GCS編)

GCS

ファイルのダウンロード機能など作成することがよくあると思いますが、 Chromeだとファイルとしてダウンロードができるのに、Safarだと何故かブラウザ上でダウンロードしたいファイルを展開してしまう。 そんな事ありますよね。 何が必要か 答えをいきなり書…

Mac OS 10.15 (Catalina) にOracle JDKを複数インストールして管理する方法

MacにJDKをインストールすることって開発者の人であればまぁまぁあることだと思いますが 確定申告などでJDK 8(JREでよいが)など古いバージョンが必要、などと言われることがありますよね。 そんな場合にCatalinaに複数のOracle Javaをインストールして管理す…

GitHub Actions で job や step 単位で条件での実行を行う

こんにちは、GitHub Actionsつかってますか? GitHub Actions は workflow(yamlファイル) 単位で柔軟に条件の指定ができます。 たとえば on: push: branches: - 'master' paths: - 'go/*' こんな感じであれば、goディレクトリ配下のファイルに変更があるmast…

メールを送る(mailto)のリンクから起動したメーラーにSubjectやBodyを入れた状態にする

Webコンテンツのリンクから、メーラーを起動したいケースもあると思いますが、 メーラーで起動した際に、 件名(Subject), 本文(Body)、CCとかも入っていると最高ですよね。 それ、できます!! この記事は @yukinagae からの提供情報記事です。 HTML(mailto)の…

ElasticsearchをDocker(compose)で気軽に起動してみる

Elasticsearchの振る舞いを気軽に確認したい場合、Docker(compose)で環境を作成すると非常に便利そうだったので、Macのローカルでdocker-composeで動くElasticsearchを構築してみた。 Dockerfile を作成する ElasticsearchサーバのDockerのイメージを作成す…

flutter-webやってみる

ここ をベースに試してみます。 セットアップ $ flutter channel beta $ flutter upgrade $ flutter config --enable-web ここまで実行したらエディタを再起動しましょう webが有効になると flutter devices コマンドの結果にChromeが出力されます(betaにし…

Goの標準機能で過去のバージョンをインストールする

自分個人の環境はいつも最新のGoを利用しているので特にgoenvなどのようなバージョンを切り替えるツールを使っていないのですが、Goのバージョンを切り替えて使いたい人もいるみたい。 体感的にgoenvを利用している人が多そうではありますが、Go標準に複数の…

GAE/goの東京リージョンからServerless VPC Access経由でMemorystoreへのアクセスをベンチマークしてみる

つい先日、東京リージョンにも Serverless VPC Access がやってきたので、GAE/SEから Memorystore が利用できるようになりました。 Memorystoreは内部的にはRedisで、今までのGAE/SE 1st-genと呼ばれる環境ではmemcacheが提供されていましたが、2nd-genから…

Kindle fire 10 (19年モデル) を買ったのでGoogle Playをインストールする

サイバーマンデーで10月頃に発売されたKIndle Fire HD 10が1万以下で出ていました。 子供がAmazon PrimeVideoを見ているとテレビを専有されるので子供のプライムビデオ用に買ってみました。 Kindle Fireを購入したのはこれで3台目で 7,8,10 インチとすべて揃…

Goで特定の関数を持つか/実装されているかチェックする方法

いまさらながら、なるほどーと思ったのでメモ。 go1.13のerrorsのUnwrap関数が以下のように実装されている // Unwrap returns the result of calling the Unwrap method on err, if err's // type contains an Unwrap method returning error. // Otherwise,…

GoのGraphQLライブラリのgqlgenのGetting startedをやってみた

この記事は こちら をなぞってみた記事になります。 GraphQLをこれから始めたいという方におすすめ gqlgenを利用してGraphQLサーバを実装する方法です。 todoのリストを返却する 新しいtodoを作成する 完了したtodoをマークする ちなみにココからの手順はgo …

Goでmain関数経由でもベンチマークする

Goはテストの機能としてベンチマークを測定する機能が標準で提供されています。 ただ、そのままだとテストコードを実行できる環境でしか実行ができなかったりするため、 main関数から実行したい場合もあるかと思います。 今回はmainからベンチマークを実行で…

goのプロファイラpprofを利用してパフォーマンスを計測する (GAE + ginもあり)

pprof とは Go言語のプロファイリングツール。 Web UIでフレームグラフや、関数の実行時間のグラフを見ることができる 通常のpprof利用方法 pprofの使い方として2つのパターンがあります。 runtime/pprof : ファイルにプロファイル情報を出力する net/http/…

Bazelでbuild試してみる(Javaでgetting started)

基本的な内容は Getting Started with Bazel をなぞってます。 Bazelとはなにか Googleが開発したBuildツール。 もともとはGoogleが社内で使っているツール(の思想?)をベースに開発されているようですね。 makeを置き換えれるもの的な説明を見かけたが、もっ…

OAuth/OpenID Connectを理解したければここを読め(メモ

タイトルの通り。 OAuth、OpenID Connectを理解するための記事まとめ。 その他、良さそうな記事があればコメントで教えて下さい。 記事 一番分かりやすい OAuth の説明 - Qiita 一番分かりやすい OpenID Connect の説明 - Qiita OpenID Connect 全フロー解説…

今日 (2019/09/10) 現在のGAE/goをUPDATEする際の注意点、俺まとめ

Appengine/goが過渡期とでもいいましょうか、 日々変化も目まぐるしく、いろいろ気をつけるべき点もありそうなので雑にまとめました。 ご参考まで。(2019/09/10現在) GAE/go 1.9 は終わり 画像のとおりです。 警告: Go 1.9 ランタイム バージョンは非推奨…

goのベンチマークメモ

goのベンチマーク周りのメモです 2つのベンチマークの比較 godoc.org pprof のツール github.com goのパフォーマンス周りの資料(observability) bit.ly GoのSSA最適化 qiita.com おまけ 厳密なgofmt github.com go!

GAE/go1.11 で Stackdriver Profiler を使ってみる

appengine go1.11以降でgoでもプロファイラが使えるようなので初期設定だけやってみます。 内容的にはほぼ こちら の内容です。 Stackdriver Profiler は何ができるの? Goの場合には、CPU、ヒープ、競合、スレッドに関するプロファイリングが可能です。 そ…

Go で StartsWith/EndWith、前方一致/後方一致はないの?

Javaで育った私としては、前方一致/後方一致は StartsWith/EndWith というイメージが勝手にありますが、 goを書いているとたまにど忘れするので備忘録。 go での前方一致/後方一致 goでももちろん前方一致/後方一致のための関数は用意されています。 strings…

gcloud コマンドで TaskQueue(TQ)/Cloud Tasksを操作する

皆さんTQつかってますか。 ちゃんと使うとめちゃくちゃ便利なTQ(Cloud Tasks)ですが、コマンドでサクッと作ったり消したりしたい(特に消したい)というのがあったので記事にしました。 TQを作成する 以下のようなコマンドでTQを作成します。 gcloud --pro…

Fault tolerantに関する読み物

たびたび人と話していて、この資料のことを思い出すんだけど、 そのたびに検索するのがしんどいのでメモとして残す。 Building Fault Tolerant Microservices というプレゼン プレゼンの資料はこれ https://www.jfokus.se/jfokus16/preso/Building-Fault-Tol…

ab(ApacheBench) 的な負荷ツール hey を試す

ちょっとした負荷試験をしたい場合に、abが入っていればいいのですが、そうも行かない場合も多いので、go製で簡単にインストールできる hey を試します。 負荷ツールのタイプは2種類ある HTTPの負荷ツールには2タイプあります。 レスポンスが返される限り全…

#Flutter やってみる : (2) Flutterでサンプルアプリケーションを動かしてみる

こちらは、ほぼ この 記事の通りの内容です。 以前の Flutter開発環境の構築 の続きになります。 コマンドラインからFlutter appを新規作成します flutter create my_app シミュレータで実行します cd my_app flutter run とおもったら以下のようなメッセー…

#Flutter やってみる : (1) Flutter開発環境の構築

Flutterのインストール https://flutter.dev/docs/get-started/install/macos zipをダウンロードして解凍してPATH通すだけ。 flutter doctor コマンドでチェックする >> flutter doctor Doctor summary (to see all details, run flutter doctor -v): [✓] Fl…

モノレポ(mono repository)内でmodで管理しているアプリケーションをGAEにデプロイするために必要な2つのポイント

前回は モノレポ(mono repository)内でgoのmoduleを相対パスで利用する方法 という記事を書きましたが、今回はさらにモノレポで管理しているAppengineの複数のサービスをデプロイする方法になります。 なぜGAEのデプロイの記事が必要? 前回の記事を試した…