焼売飯店

GoとかTS、JSとかRubyとか

Go Quiz Advent Calendar【17日目】 - メソッド値は難しかった編

こちらは Goクイズ Advent Calendar 2020 - Qiita の17日目の記事です。 問題 今回はMethod values (メソッド値) の問題です。(前回のGo Language Specification輪読会で見付けたものです) package main import "fmt" type I interface { M() int } type T s…

Go Quiz Advent Calendar【10日目】 - iotaのカラクリ編

こちらは Goクイズ Advent Calendar 2020 - Qiita の10日目の記事です。 問題 今回は、皆さん大好きなiotaの問題です。 package main import "fmt" const ( X = 0 A, B, C = iota, iota + 1, iota * 2 D, _, E _, F, _ G = iota + iota ) func main() { fmt.…

Go Quiz Advent Calendar【3日目】

こちらは Goクイズ Advent Calendar 2020 - Qiita の3日目の記事です。 問題 序盤と言うこともあるのでシンプルな一問です。 package main import "fmt" func main() { var x = nil fmt.Println(x) } 結果はどちらでしょう? compile error <nil></nil>

Protocol Buffersのpackageの名前解決ルールを調べた

Protocol Buffersのpackageの名前解決ルールを調べました。 このブログはproto3のドキュメントベースで書いています。 developers.google.com protobufのpackageについて protobufでは、messageなどの定義名が衝突することを防ぐことを目的として、名前空間…

tsconfig.jsonはJSONじゃないと言う話

気になったので調べてみました。 tsconfig.jsonと普通のJSONの大きな違い tsconfig.jsonには、コメントが書けます。 tsc --init した時に生成されるtsconfig.jsonに、大量にコメントが付けられているので、すぐに気付くことと思います。 例) { "compilerOpti…

Goの標準パッケージのwasmサイズを計測した

Go 1.11でgo buildのtargetに GOOS=js GOARCH=wasm を指定できるようになって久しいですが、皆さんこちらお使いでしょうか? Goが出力するWebAssemblyのファイルサイズが気になり、 これを計測するためのリポジトリ、go-wasm-sizesを作ったので、こちらと合…

Vue.js (+ Vuex)でTrelloもどきを作った話

久しぶりの更新です。 先週末と今週末の二日を使って、Vuexの勉強がてらTrelloもどきを作ってみました。 これまでちまちまVue.jsは使ってきましたが、SPAを作ったのは初めてです(小さいですが) プレビュー デモ: https://syumai.github.io/trollo リポジト…

Rubyでdotenv的なやつを小さなスクリプトで実装してみる

手元のプロジェクトで環境変数をファイルから読み込む必要が出てきて、dotenvが欲しくなったのですが、ただそれだけのために依存関係増やすのもなぁ…と思ったので、自分で書いてみることにしました。 コード envloader.rb class Envloader class << self def…

ドットでチェーンして値を追加していけるHashを実装してみた

手抜き実装なので、まだ色々足りて無さそうな感じがしますが、一旦の目的までは達成出来ています。 名前はChainableHashとしてみました。 コード class ChainableHash < Hash def method_missing(name, *args, &block) if name[-1] === '=' self[name[0..-2]…

Docker HubにPushしたイメージをAmazon ECSにデプロイしてみる

Docker HubにイメージをPushしてみる - 焼売飯店の続きです。 かなりアッサリ出来ました。 手順 1.AWSコンソールからECSを選択 これら2つをガイド付きで実行できるようになっています。 ただし、今回はこのどちらも使わない(ECR使わないし、サンプルアプリも…

Docker HubにイメージをPushしてみる

SinatraアプリのHello world on Docker with Alpineの続きです。 前書き 前回作ったSinatraアプリのコンテナを、Amazon EC2 Container Services (以下、ECS) にデプロイ出来るようにしたいと思います。 ECSから自分のイメージを使えるようにするためには、ど…

SinatraアプリのHello world on Docker with Alpine

RailsのデプロイをDockerで行いたかったのですが、 色々躓いてしまったので、一度シンプルにSinatraで動く物から作って、一歩ずつ確認していこうと思います。 今回は、完全にHello worldだけなので超お手軽構成です。 コードはこちら https://github.com/syu…