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

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

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

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からデータを取…