ソースコードから理解する技術-UnderSourceCode

手を動かす(プログラムを組む)ことで技術を理解するブログ

「TypeScriptネットワークプログラミング」を読んだ

TypeScriptに興味が出てきたのと、タイトルが気になったので 「HTML5/WebSocket/WebRTCによる TypeScriptネットワークプログラミング」を読んでみました。CUTT System:TypeScriptネットワークプログラミング物凄く短いですが、読書記録代わりの感想などを書…

aws cdk でGolangのLambdaをデプロイしてみる

前回に引き続き、aws cdkについてです。今回はGolangのLambda FunctionをAWS上にデプロイしてみました。 ソースは以下に上げてあります。 GitHub - SrcHndWng/cdk-lambdaプロジェクトはnpxを使って作成したので、プロジェクトの作成などは以前の下記記事を参…

aws cdk でVPCの中にEC2を立ててみた

aws cdkを使い、VPCの中にEC2を立ててみました。よくあるパターンなので既に色んな記事が書かれていますが、以下の点を工夫してみました。※少し改修して記事にも反映しました セキュリティグループを新規に作るが、Ingressはデフォルトでは何も許可しない(E…

Visual Studio CodeのExtensionを作り、ローカルのWSLで実行する

Visual Studio Codeの拡張機能(Extension)を作り、ローカルで実行してみました。 手順については公式や様々なサイトに書かれていますが、自分がやったことを纏めておきます。 やったこと Extensionをローカルで作成する ローカルで動かしてみる(Windows) pac…

aws-cdkを触ってみた

少し(かなり?)遅れた感はありますが、aws-cdkを触ってみました。https://docs.aws.amazon.com/ja_jp/cdk/latest/guide/getting_started.html#hello_world_tutorial こちらの公式の「Hello World Tutorial」をほぼなぞっただけですが、いくつか独自にアレ…

AnsibleでEC2にSSH接続してファイルをアップロードする

仕事でAnsibleを少し触る機会があったのですが、初見でさっぱり分からなかったので 復習を兼ねてインストールからやってみました。タイトルにも書きましたが、やったことは Ansibleにて既存のEC2にSSH接続する SSH経由でEC2内にフォルダを作る 同じくSSH経由…

「Go言語によるWebアプリケーション開発」の感想など

O'Reilly Japan - Go言語によるWebアプリケーション開発をのんびりと写経してきて、一通り終わりました。 全ての章のものではないですが、写経と読書中にメモした感想などを備忘録として残しておきたいと思います。 全体の感想 「Go言語によるWebアプリケー…

watermillを触ってみた

前回に引き続きメッセージを扱うライブラリを触ってみました。 github.com「watermill」というもので、メッセージストリームを効率的に扱うためことを目的としているようです。 手始めにREADMEにある「Getting Started Guide」(https://watermill.io/docs/ge…

RxGoを触ってみた

RxGoというReactiveをGolangで実現するためのライブラリを触ってみました。 READMEのサンプルが分かりやすく、それを見るのがいいとは思いますが、自分の理解のために多少改変してみたりもしたのでサンプルとして上げておきます。GitHub - SrcHndWng/go-rx-s…

GolangでWebAssemblyの復習をした

GolangでWebAssemblyの復習するため、いくつかサイトを見て写経してみました。 一年以上ぶり、かつ実行環境が異なったので、改めて気づいたことがあったので、メモとして残しておきます。 実行環境について Windows10上のWindows Subsystem for Linux(Ubuntu…

go-linqを触ってみた

GolangでC#のLINQのようなデータ操作をできるgo-linqを触ってみました。 GitHub - ahmetb/go-linq: .NET LINQ capabilities in Go使い方は公式のREADMEにそのまま書いてあるので改めてここには書きませんが 便利そうなので備忘録として残しておきます。GoのS…

ginとendressを使ってGraceful Restartを実装してみた

GolangのWeb Frameworkであるgin、"Zero downtime restarts"を行うためのendressを使って タイトルにあるようにGraceful RestartするWebのサンプルを作ってみました。https://github.com/gin-gonic/gin https://github.com/fvbock/endless サンプルソース ソ…

Microsoft TypeScript Vue Starter を vue-loader 15系でやってみた

github.com3カ月くらい前ですが、TypeScriptの雰囲気を知るため、こちらにあるMicrosoftのTypeScript Vue Starterを途中までやってみました。 チュートリアル形式でREADMEが書かれているので、そのまま進めたのですが、途中で躓いたところがあったのでメモ代…

Visual Studio CodeのRemote DevelopmentでWSL内のGolangを書いてみる

ちょっと前(だいぶか?)Visual Studio Codeでリモートで接続して編集できる「Remote Development」が登場して気になっていました。 Visual Studio Code Remote Development登場したときは正規のVisual Studio Codeではなく、プレビュー版?のVisual Studio…

Terraformを初めて触ってみた

タイトルにあるようにTerraformに初めて触ってみました。 やったこととしては、 インストール AWSにEC2インスタンスを立てる 立てたインスタンスを削除 です。もう何番煎じの記事になるのか分からないですが、自分への備忘録として残しておきます。 インスト…

survey を使ってインタラクティブなプロンプトを作ってみた

GitHub - AlecAivazis/survey: A golang library for building interactive prompts with full support for windows and posix terminals.タイトルにあるように、surveyを使ってインタラクティブなプロンプトを作ってみました。 どんなことが出来るかやイメ…

「Goならわかるシステムプログラミング」を読んだ

「Goならわかるシステムプログラミング」の一連の記事をゴールデンウィーク中に読んでました。 ASCII.jp:Goならわかるシステムプログラミング単純にコーディングしているだけでは意識することが少ない、低レイヤーの話が分かりやすく書かれており、必要にな…

「UNIXという考え方」を読んだ

平成最後の日、UNIXという考え方 を読みました。 shop.ohmsha.co.jp著者自身が書いているように分かりやすい口語体で書かれているので、内容が気になる方は本書を読むことをお勧めします。以下、本書を読んで感銘を受けたところについて備忘録として纏めてお…

Serverless Frameworkを使ってLambdaでPDFを出力するサンプルを作ってみた

久しぶりにAWS と Serverless Frameworkを使い、LambdaにてDynamoDBからデータを取得し、PDFをS3に出力するサンプルを作ってみました。CloudWatchなどで定期的にLambdaを起動することを考えると、割と実案件ではありがちな要件かと思われます。今回作ったサ…

Go Moduleでローカルパッケージを作成する

Using Go Modules - The Go BlogGo Moduleについての上記の公式サイトではhello.go、それのテストであるhello_test.goを GOPATHの外に実装する方法について書いてあります。ですが実際にプログラムを作るときには、ローカルに幾つかのパッケージを作ることが…

AWS SAMでLambdaのみのFunctionを作成してみた

前回に引き続き、AWS SAMネタです。 sam init コマンドで作成されてるのはAPI Gateway + Lambdaという構成のテンプレートなのですが Lambda単体で動かしたい or Lambdaと別のイベント(S3とかDynamoDBとか)を切っ掛けに動かしたいこともあるかと思います。な…

AWS SAMによるテンプレートプロジェクト作成~ローカルでの実行

aws

AWS SAMを使い、テンプレートのプロジェクトを作成してローカルで実行するまでの 流れについて纏めてみました。既に色々なサイトで書かれてはいますが、今後の自分のために書いておきます。 前提として AWS SAMの実行環境が用意されていること 動作確認は(Wi…

AWS CLI、GolangでS3のPre Signed URLを取得してみる

AWS CLIとGolangで、それぞれS3にあるオブジェクトのPre Signed URLを取得してみました。 やってみた背景としては、リクエストがあった時にS3に配置したオブジェクトを安全にリクエスト元へ渡したい、みたいな要件を耳に挟み Pre Singed URLを作ればいいんじ…

Windows Subsystem for Linux上にAWS SAMの実行環境を構築する + Golangの開発環境を用意する

タイトルにあるように、Windows Subsystem for Linux上でAWS SAMを実行する環境を構築してみました。 単純にLinux上にAWS SAMの実行環境を構築するだけと思いきや、細々と調べながら進めることになったので その結果をメモ代わりに書いておきます。 Windows …

gbのテストで特定のものを実行する、結果を色付けする

タイトルにあるように、gbのテストで 特定のパッケージ、メソッドを実行する テストの結果の詳細を表示する、結果を色付けして分かりやすくする 方法についてです。 ただgbだけでなく、普通の「go test」でも使えるかと思います。 (go testの場合は「gb」を…

ビルドツールのgbをVisual Studio Codeで使ってみる

Golangのビルドツールのgbを試してみました。 私は普段Visual Studio Codeを使っているので、こちらでエラーとならないよう設定もしました。gbを使うメリットとしては 自分が作成したpackageをimportする際にGopathからのフルパスを書かなくていい 使用する…

AWSのロードバランサーについて調べてチラシの裏書きw

aws

AWSのロードバランサーについて、今更ながら調べてみました。 とはいっても既に様々なサイトで情報が公開されているので、詳細についてはそれらを参考にした方がいいかと思います。 (公式のドキュメントもかなり充実しているし)なのでここではチラシの裏書…

「増補改訂Pythonによるスクレイピング&機械学習開発テクニック」を読んだ

増補改訂Pythonによるスクレイピング&機械学習開発テクニック(クジラ飛行机) | 書籍 本 | ソシム を読みました。以下、その短い感想になります。本のタイトル通り、Pythonによるスクレイピングや機械学習の本なのですが 開発環境の構築 機械学習とはなん…

DockerにてPythonの開発環境を作成するためのコマンド

タイトルにあるように、DockerにてPythonの開発環境を作成するためのコマンドのメモです。 ホストOSはWindows 10、Docker for Windowsはインストール済という状態からです。 ローカルイメージ確認~イメージダウンロード~起動 Python3.6のイメージをダウン…

cal-heatmapを使ってGithubの草を再現してみる

Githubの草、去年は結構話題だったかと思います(いや、Githubが出来てからずっとか?w) 遅ればせながら、あの「草」をどのようにすれば作れるのかを調べてみました。結論としてはcal-heatmapというライブラリを使えば出来ることが分かりました。 https://c…