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

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

Three.jsをTypeScriptと組み合わせて学んでみた

ブラウザ側のJavaScriptでGPUに命令して3Dを表示できるThree.js というライブラリがあります。 Three.js – JavaScript 3D LibraryこのThree.jsをTypeScriptで動かしながら、いくつかのサイトを写経してみました。 今回はその時に参考にしたサイトと、JavaScr…

Shellで複数の結果をそのままforループさせる

普段はあまりシェルを書かないので手続き的に書こうとしてハマったのでメモ代わりに書いておきます。 タイトルにあるように、あるコマンドを実行して結果が複数返ってくるとします。 この結果をループして別処理を呼び出す引数にしようとしたら、思ったより…

はじめてのFlutter - Drawer、List、State を使ってみる

タイトルにもあるようにFlutterを触り始めました。Install - Flutter こちらに「Get Started」のインストールから始め、公式サイトのチュートリアルをいくつかやってみた後で、理解を深めるために以下のようなサンプルをつくってみました。右下の「+」を押す…

Golangのx.text.transformが便利だった

タイトルにある様にGolangのx.text.transformパッケージについてです。 このパッケージを使うと、readerやwriter内のデータを変換することができます。 良くある用途としては、readerで読み込んだ文字列の一部を変換して出力する、などがあると思います。こ…

localstackのローカル環境にAWS CDKでLambdaを配置してみた & Windows 10 でGolangのLambdaを作った

前回に続き、またlocalstackについてです。タイトルにある様にLambdaをデプロイしてみたのですが、Windows 10 で GolangのLambdaを作ったため、そこでも知らないことが出てきたのでメモ代わりに書いておきます。 localstackの起動 GitHub - localstack/local…

localstackのローカル環境にAWS CDKでS3バケットを作成してみる

GitHub - localstack/localstack: A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline! 「localstack」というAWSを仮想的にローカルマシン内のDockerで動かすものがあります。このlocalstack内に、AWS CDK…

JavaScriptにTypeScriptの型チェックを導入してみる

TypeScript: Handbook - Type Checking JavaScript Files このようなサイトを見つけたので試してみました。公式なので当然かもしれませんが、上記のサイトに書いてあるようなJavaScriptファイルにTypeScriptの型チェックをできました。以下、やったことのメ…

localstack と Visual Studio Code の Remote-Containers でAWSの開発環境を構築してみる

GitHub - localstack/localstack: A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline! 「localstack」というAWSを仮想的にローカルマシン内のDockerで動かすものがあります。この「localstack」で起動した…

Windows 10 で Visual Studio Code の Remote development in Containers を試してみた

タイトルにあるように、WindowsでVisual Studio Code Remote を試してみました。意図としては、開発環境ごとにコンテナを用意し、ローカルにいろいろ入れるのは止めたい、というのが希望です。以下、その時の作業の備忘録です。 事前準備 Developing inside …

aws-sdk-goのMockを使ったテスト

Mocking Techniques for Go. Go provides you all the tools you need… | by kyleyost | CBI Engineering | Jun, 2020 | Mediumこちらの記事を読んでいたところ、以下のような記述がありました。 When working with the aws-sdk, they provide interfaces fo…

NuxtJSのことはじめ

タイトルにあるようにNuxtJSを始めてみました。 Visual Studio Codeでいくつか入門ページをやってみましたが、以下を覚えておくと便利そうだと思ったのでメモ代わりに残しておきます。 NuxtJSのプロジェクト作成~起動 以下のコマンドで作成します。(NuxtJS…

Golangで2つのgzファイルを連結してみる

gzファイルはコマンドだと以下のように連結することができます。 cat sample1.gz sample2.gz > result.gzこれと同じようにgzファイルを連結する処理をGolangで書いてみました。 検索すれば似たようなことをやっている記事は沢山出てくるかと思いますが、備忘…

Golangで構造体を定義せずにjsonを読み込んでみる

ふとした時にGolangでjsonを読み込む話になり 事前に構造体を定義しないでreflectで読み込んで云々・・・みたいな話になりました。そう言えばGolangでreflectをまともに使ったことがないなあ、と思い 勉強がてらサンプルソースを作ってみました。以下、サン…

gorunでGolangのソースをシェルスクリプトのように実行してみる

https://github.com/erning/gorun gorunをちょっと試してみました。試した内容としては gorunをローカルにgo getで入れる Golangでソースを書くが、importで他のライブラリを使うものとする ソースをGOPATHの外の場所に置き、シェルスクリプトのようにソース…

「よくわかるHTTP/2の教科書」を読んだ

GWの最後の2日で「よくわかるHTTP/2の教科書」を読みました。 http://www.ric.co.jp/book/contents/book_1177.htmlHTTP/2に限らず、HTTP周りについて非常に分かりやすく書かれていると感じました。以下、ほぼ「分かりやすかった」の羅列になっていますが、備…

aws cdk でAthenaのNamed Queryを作成する

AWS Athenaにはよく使うクエリを保存する Named Queryという機能があります。マネージメントコンソール上では「Saved Queries」というタブに表示されます。今回はこのNamed Queryをaws cdkでデプロイしてみました。aws cdkを使ったのは、クエリは特に開発時…

gofakeitでサンプルデータを作ってみる

GolangでサンプルデータのCSVを作成したかったので、いくつかライブラリを検索したところ、「gofakeit」というライブラリを見つけました。 GitHub - brianvoe/gofakeit: Random fake data generator written in goREADMEを見れば使い方は分かりますが、備忘…

「Code Craft エクセレントなコードを書くための実践的技法」を読んだ

「Code Craft エクセレントなコードを書くための実践的技法」を読みました。 https://www.amazon.co.jp/dp/B00P7R545M/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1私が読んだのはKindle版ではなく、紙の本ですが。。。 2007年に初版発行された本ですが、…

nodeのプロジェクトにESLintを導入してみる

undersourcecode.hatenablog.com以前こんなのを書いていたが、さすがに2年以上前だと古くなっているので書き直してみます。 とはいっても、今回はLambdaは関係ないし、ESLint公式のGetting Startedそのままです。 まあ自分宛の備忘録ってことで。ESLint Gett…

Gorillaのcontextとmuxを触ってみる

Gorilla, the golang web toolkit GorillaというGolangのWeb向けツールキットについて調べ始めました。 Webアプリ用に色々なものが用意されているのですが、フレームワークではなく、あくまで必要なものを自分で取捨選択してつかう「ツールキット」です。今…

「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…