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

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

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

「増補改訂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…

Microsoft To-Do のタスクをGolangで取得してみる

前回の記事で、Microsoft To-Doのタスクをcurlで取得してみました。 Microsoft To-Do のタスクをAPIで取得してみる - ソースコードから理解する技術-UnderSourceCode今回はGolangでタスクを取得するコンソールアプリを作ってみました。 ビル…

Microsoft To-Do のタスクをAPIで取得してみる

MicrosoftのTo-Doというアプリを使って、普段は日々のタスクを管理しています。 このTo-DoのタスクはOutlookのAPIを使って操作できるなので、やってみました。まずはお試しなので、curlでタスクを取得するところまでです。 手順について 1. アプリの登録 API…

goqueryでスクレイピングする

Golangでスクレイピングしようと思い、いくつかのライブラリを検討しました。 それらの中でjQueryライクに扱うことができるgoqueryを使ってみたので、メモ代わりに書いておきます。GitHub - PuerkitoBio/goquery: A little like that j-thing, only in Go.と…

go-wkhtmltopdfでPDFを出力してみる

GolangでPDFを出力するためのライブラリとして GitHub - SebastiaanKlippert/go-wkhtmltopdf: Golang commandline wrapper for wkhtmltopdf があります。単純な使用例は上記のGithub内にもあるのですが 今回は実案件で使用することを想定し HTMLをPDFに変換…

gb環境下で定義ジャンプができない?

普段はVisualStudioCodeを使ってGolangの開発を行っているのですが 定義へジャンプができないことがありました。gbを使ってビルドしており、ライブラリなどはプロジェクト直下のvendor/に配置されます。 このvendor内のソースへジャンプできないようです。。…

EchoとVue.jsでCRUDを、、、、作りかけた

EchoとVue.jsを使いTodoをCRUDするサンプルを作り始めました。 「始めました」と書いているのは、サーバ側のCRUDは実装したのですが クライアント側は一覧の表示だけしか実装していないからです。まあ、EchoとVue.jsを組み合わせたサンプルの一つにはなるか…

Windows10 ドライブを削除できない?

Windows10 でCドライブを拡張するために、一旦隣のDドライブを削除しようとしました。「管理ツール」-「コンピュータの管理」- 「記憶域」配下の「ディスクの管理」からDドライブを選択し 右クリックから「ドライブの削除」を使用とすると選べません。結局、…

「現場で役立つシステム設計の原則」を読んで - その2

「現場で役立つシステム設計の原則」を読んで - ソースコードから理解する技術-UnderSourceCode 前回の記事の続きとなります。こちらの本を読み終えました。 最後まで読んだ感想としては、オブジェクト指向やドメイン駆動開発を如何に実践的…

libgdx をVisual Studio Codeで開発してみる

libgdxをVisual Studio Codeで開発できるかを試してみました。Visual Studio Codeには(プラグインを入れることで)Javaの入力補完やコンパイルエラーの表示があるので Javaの入力補完や定義元へのジャンプができる コンパイルエラーが表示される などコーディ…

「現場で役立つシステム設計の原則」を読んで

現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法:書籍案内|技術評論社こちらの本を読みつつ、写経をしてみました。 現時点で5章まで読んだのですが、今更ながらドメイン駆動について腑に落ちた気がします。以下、チラシ…

Kotlin/NativeをWindowsで始めてみる

Kotilin/Nativeを試してみることにしました。 手元にあるのはWindows10だったのですが、Windowsでの実行手順に言及している記事は少なかったので 私が行った手順について書いてみます。 前提条件 「the compiler itself does require Java 8」との記述が公式…

Spritebatch、Textureregions、Spritesについて

libgdxの2D Graphicsについて学ぶため、下記のWikiを読み、写経してみました。 Spritebatch, Textureregions, and Sprites · libgdx/libgdx Wiki · GitHubこのWikiの記事のタイトルにもなっていますが、libgdxで2D Graphicsを行うには Spritebatch Texturere…

libgdx 最初の取っ掛かりについて

libgdxというクロスプラットフォームのフレームワークを触り始めました。 https://libgdx.badlogicgames.com/同様のフレームワークだとUnityなどのもありますが、例えばIngressなどはlibgdxを使っているそうです。 今回はこのlibgdxを始めるにあたり、どの辺…

Effective Java 第2版 項目別一文まとめ

仕事でしばらくガッツリをJavaを触ることになりそうなので Effective Javaを再読してみました。Effective Java 第2版 - 丸善出版 理工・医学・人文社会科学の専門書出版社ちなみに最新の第3版ではなく、手元にあった第2版です。こちらのEffective Javaですが…

gRPCの入門とAPIバージョニングについて

はじめに gRPCでmicroserviceを作る以下のチュートリアルを写経してみました。 [Tutorial, Part 1] How to develop Go gRPC microservice with HTTP/REST endpoint, middleware…この中でAPIのバージョニングを行うために、バージョンv1のフォルダを作ってい…

Firestoreにコレクションをネストしたデータを登録する

はじめに 前回に引き続き、Firestoreについてです。 今回は公式ドキュメントの「サブコレクション」を参考に、コレクションをネストして登録し、参照してみました。https://firebase.google.com/docs/firestore/data-model?authuser=0登録するデータの構成は…

FirestoreにGolangでデータを登録してみる

はじめに GoogleのFirebaseを初めて触ってみました。 今回はFirestoreにGolangでデータを登録・参照してみました。 以下、その時のメモと、作ったソースです。 手順について まずはGoogleのアカウントが必要なので、あらかじめ作っておく必要があります。 基…

BoltでGoroutineを使って登録する場合のDB.Batch()について

はじめに 昨日に引き続きにBoltついてです。 GitHub - boltdb/bolt: An embedded key/value database for Go.今回はGoroutineの中でBoltに登録処理を行うケースを想定し、DB.Batch()を検証してみました。 DB.Batch() 公式のドキュメントは以下となります。 h…

Golangの組み込みDBとして使えるBoltについて

はじめに 前回にも書きましたが、Golangの組み込みDBとして使うことができるBoltを見つけたので、使ってみました。 GitHub - boltdb/bolt: An embedded key/value database for Go.以下、このDBについて紹介していきたいと思います。 Boltとは BoltはKeyValu…

GolangのローカルDBとしてBoltを使ってみた

前回の記事でBitcoinについて調べていましたが、その時参考にした記事ではローカルDBとしてBoltを使っていました。 Bolt GitHub - boltdb/bolt: An embedded key/value database for Go.Boltは上記になります。READMEが結構充実しているので、使うときには一…

Bitcoinの実装について調べてみた

タイトルにあるように、Bitcoinの実装について調べてみました。 色々なサイトがあったのですが、個人的には以下のサイトが分かりやすかったので紹介します。Building Blockchain in Go. Part 1: Basic Prototype · Going the distanceこちらのサイトはGolang…

JSON Web Tokenを返すGolang Serverを実装してみた

タイトルにあるように、JSON Web Tokenを返すGolang Serverを実装してみました。 認証が必要なAPIがあり、そのAPIのみTokenの検証を行なった後にアクセス可能にするケースを想定しています。とは言っても、基本的には Authentication in Golang with JWTs を…