アプリケーション

Golangのポインタの基本

アプリケーション

概要Golangのポインタ基礎についてまとめる。 前提 変数とメモリの関係についてイメージできる程度の知識 ポインタとは何かポインタは変数のアドレスを指す。変数のアドレスを通じて呼び出し元の変数の値を変更することができる。 GolangではC言語ライクなポインタは用意されている。Golangでのポインタでは、変数Tのポインタは*T型で、ゼロ値はnilとなる。 package main impor...

Golang ポインタ 値渡し 参照

GraphQLとは

アプリケーション

GraphQLとは Facebookが開発 APIのためのクエリ言語 APIのリクエストのデータ形式とレスポンスのデータ形式が似ているため、ユーザーフレンドリー RESTはアーキテクチャ(設計)であり、GraphQLは言語(DSL)である REST APIとGraphQLの比較REST APIのAPI形式エンドポイントに対して、HTTP動詞でリクエストを投げる curl https://ap...

API HTTP REST GraphQL

Atom×TidalCycles×SuperColliderでライブコーディングをはじめる

アプリケーション

概要プログラミングで音楽をつくってみたいと思い、音響プログラミングに手を出してみた。 準備 Mac Atom Git Homebrew Haskell Tidalcycles SuperCollider Mac、Git、Atom、Homebrewは既に用意されている前提で話を進める。 HomebrewでHaskellとTidalCyclesをインストールするbrew install ghc br...

Atom Git Haskell homebrew tidalcycles

SPAを構築したときにハマったこと

アプリケーション

概要以前、LaravelにSPAを組み込む時に考えたディレクトリ構成とnginxのconfファイルというタイトルの記事を書いたが、そこで記載したnginxのconfが不十分だったため、改めて問題点を整理、解決した。 前提 History API nginx SPAを構築したときにハマったことnginxの設定リロードしても常にindex.htmlを返すように設定する必要がある。こんな感じでtry...

Nginx SPA

DIとサービスロケーター

アプリケーション

概要DIとService Locatorの違いについてまとめる DIとは デザインパターンの一種 依存性注入 オブジェクト間の依存性を分離 オブジェクトの実行時に必要なオブジェクトが注入されるようにする テストしやすくなる DIパターンの実装DIパターン(コンストラクタインジェクション)を実装してみる。なお、DIパターンには、コンストラクタインジェクション、セッターインジェクション、メソッド...

DI サービスロケーター デザインパターン

ダック・タイピングとは

アプリケーション

概要ダック・タイピングについてまとめる ダック・タイピングとは 動的型付けオブジェクト指向プログラミング言語において、オブジェクトができることはオブジェクトそのものが決定する インターフェースの全てのメソッドを持つオブジェクトは、インターフェースを実装していなくともオブジェクトはインターフェースを実装しているとみなせる、ということ If it walks like a duck and quack...

ダック・タイピング

ソフトウェア開発の法則

アプリケーション

概要ポステルの法則 Jon Postel 送信するものに関しては厳密に、受信するものに関しては寛容に ポステルがTCPを規定したRFC793にて記載された1節が一般化されたもの インターネットの通信における原則 パーキンソンの法則 Cyril Northcote Parkinson 第1法則  仕事の量は、完成のために与えられた時間をすべて満たすまで膨張する 第2法則 支出の額は、収入の額に...

ソフトウェア開発

ポリモーフィズムとは

アプリケーション

概要ポリモーフィズムについてまとめる ポリモーフィズムとは Poly(複数の)Morphism(形状) 複数の異なる型に対し、共有のインターフェースを提供すること 引数を受け取ったインスタンスがクラスによって違う振る舞いをすること ポリモーフィズムの種類 アドホック多相 関数が異なる型の引数に対してそれぞれ異なる実装を持つ 多重定義、関数のオーバーロードによって実現 パラメータ多相 型指定の...

ポリモーフィズム

はじめて学ぶソフトウェアのテスト技法

アプリケーション

[はじめて学ぶソフトウェアのテスト技法](https://amzn.to/3UM7CJ9を読んだ。 テストの方法について書かれている本で、ソフトウェアテストの基本パターンを学ぶことができる。 テストコードを書いたことなければ最初に読みたい一冊。 ...

テスト