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

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

「現場で役立つシステム設計の原則」を読んで - その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 を…

google-java-formatでJavaのコードをフォーマットしてみる

まあタイトル通りのことをしたので、そのメモです。https://github.com/google/google-java-formatを参考にhttps://github.com/google/google-java-format/releasesから「google-java-format-1.6-all-deps.jar」をダウンロードしました。使い方は $ java -ja…

urfave/cliを使ってみた

Building a Network Command Line Interface in Go | TutorialEdge.net という記事を見つけました。https://github.com/urfave/cli このライブラリを使い、いくつかのネットワークコマンドを実行するCLIアプリを作ってみる記事です。今回はこの記事を写経し…

Java 10 + Spring BootでTwitter Botを作成してみた

タイトルにあるように、Java 10でTwitter Botを作成してみました。 まあ今後、Java 8から10への移行案件とかもあるかもしれないし、 ということで予習を兼ねて。。。作ったものとしては、前回書いたGolangでのTwitter Botと同等機能を 持つものになります。 …

GolangでTwitter Botを作成してみた

タイトルにあるようにGolangでTwitter Botを作成してみました。 EC2などのマシン上でバイナリを常駐させて動かすことを想定しています。ソースは以下となります。 GitHub - SrcHndWng/go-learning-tweet-random-search at v1.0.0 READMEにも書きましたが、機…

Mackerel カスタムメトリックプラグインを開発してみた

先日に引き続き、Mackerelのカスタムメトリックプラグインを開発してみました。 今回は独自のロジックで開発してみました(既に同じようなものはあるかも知らないが・・・)。作成したのは、AWS S3にあるオブジェクトのサイズを取得し、メトリックに送信する…

「Mackerel サーバ監視[実践]入門」を買ってみた - カスタムメトリックプラグイン開発手順メモ

Mackerel サーバ監視[実践]入門:書籍案内|技術評論社を買い、読み始めました。 Mackerelの魅力の一つとして、プラグインを自作して独自の監視項目を追加することがあります。本書を参考に、カスタムメトリックプラグインを作り、Mackerelの画面に表示さ…

「Amazon Web Servicesを使ったサーバーレスアプリケーション開発ガイド」をGolangで写経してみた - その2

前回に引き続き、Amazon Web Servicesを使ったサーバーレスアプリケーション開発ガイド | マイナビブックスをGolangで写経しています。 今回はChapter4をやってみました。GitHub - SrcHndWng/go-learning-serverless-apps at chapter4 Twitterからデータを取…

「Amazon Web Servicesを使ったサーバーレスアプリケーション開発ガイド」をGolangで写経してみた

Amazon Web Servicesを使ったサーバーレスアプリケーション開発ガイド | マイナビブックスを読み始めました。 ただ読むだけではなく、Golangの勉強がてら、本で紹介されている処理を実装してみました。実装言語は先に書いたようにGolang、デプロイ周りはServ…

GolangとServerless FrameworkでGraphQLのAPIを作成 + 動作確認してみる

Building a Golang GraphQL API on AWS Lambda – A man with no server – Mediumという記事を見つけました。 こちらを参考に、Serverless Frameworkを用いてGraphQLのAPIを作成してみました。主なロジックは上記の記事とほぼ同様なのですが デプロイ周りにSe…

Golang + API GatewayでCRUDを実装してみた

AWS LambdaがGolangを正式サポートしてから暫く経ちました。 Serverless FrameworkもGolangでの実装をサポートしたようなので、タイトルにあるようにAPI Gatewayを使用したCRUDのAPIを作成してみました。Todoを登録・削除・参照するAPIのサンプルとなります…

Visual Studio CodeでSpring Bootのデバッグをやってみる

最近はSpring Bootを再び触り始めたこともあり、タイトルにあるようなことをやってみました。以下、手順とメモです。 Visual Studio Codeの設定 1. Java Extension Packのインストール Visual Studio Code のコマンドパレットを起動し、「Install Extention…

Golangでテンプレートファイルを使った出力を行うチュートリアルをやってみた

はじめに Golangでテンプレートファイルを使った出力を行うことについて扱われている Using Go Templates GopherAcademy をやってみました。テンプレートについては今までも使ってはいましたが、改めて復習ということで。。。 チュートリアル形式の記事なの…

GolangでWebAssembly(wasm)を実行するチュートリアルをやってみた

はじめに GolangでWebAssembly(wasm)を実行する手順を紹介した Go and wasm: generating and executing wasm with Go GopherAcademy をやってみました。元々は「wasmとは何ぞや?」と思ったことからやってみたのですが この記事の中でも説明されていました。…

GolangでWebアプリ作成〜Docker・Kubernetesで実行するチュートリアルをやってみた

はじめに GolangでWebアプリを作りDockerで動作を確認し、Kubernetesでデプロイする手順を紹介した Write a Kubernetes-ready service from zero step-by-step GopherAcademy をやってみました。とは言ってもKubernetesは当分使用する予定はないので、Kubern…

Serverless Framework + TypeScriptでAPI Gatewayを作成する

タイトルにあるように、Severless FrameworkとTypeScriptでAPI Gatewayを使ったAPIを作成する手順になります。 HTTPのリクエストはAPI Gatewayが受けて、裏の処理を行うLambdaをTypeScriptで書く形となります。以下、手順です。 なお、Serverless Framework…