Goを使う」の巻システムのまついですGo言語はGoogleが開発したプログラミング言語です。この言語はコンパイル型処理系を持つ開発言語であり並列処理が簡単に記述できる特徴があります。システム開発経験のない方はイメージしにくいと思いますが、できるだけ簡単に説明をさせていただきます。コンパイルですが、これはプログラムソースをコンピュータのCPUで直接実行される機械語(命令)に変換することです。実装手順としてはコンパイラプログラムでプログラムソースをコンパイルして、その結果得られた実行形式のプログラムを実行する(あるいは配置)ことになります。コンパイル型処理系の開発言語はおもにアプリケーション開発で使われるC++、C#、Java、そしてGoがあります。コンパイル型処理系とは別にインタプリタ型というのがあります。このインタプリタ型はプログラムソースを1行ずつコンパイルして実行していくので処理は低速ですが実装手順は簡単になっています。この処理系を持つ言語はWEB系アプリケーション開発で使われるJavaScriptやPHPがあります。次に処理方法ですが、プログラムコード(機械語)を処理する方法には並列処理と逐次処理があり、下記の違いがあります。・並列処理は同時に複数の処理を実行する・逐次処理は1つずつ順番にひとつの処理を実行する例として、順番に処理を行う逐次処理は3分と2分かかる2つの処理がある場合すべて完了するには合計5分かかります。それに比べて並列処理は3分と2分の処理を並列で行いますので3分後にはすべて完了します。APIの開発に使われているという記事を読んだからです。APIとは、HTTPプロトコルを用いてネットワーク越しにあるサーバーの情報(機能)を得る(呼び出す)ためのプログラム(インターフェース)の事です。JavaScriptにはデータベースへ直接アクセスする機能はありませんが、JavaScriptがデータベースにアクセス可能なインターフェース(プログラム)を呼び出すことでデータを得る事ができます。APIで、ブラウザで直接叩いてみるとデータが表示されます。HTTPプロトコル(http://)でget.phpというPHPプログラムを呼び出してJSONというフォーマットで結果を表示しています。APIはだれでも、どこでもお手軽に利用できるしくみとなっています。API開発は、実装する内容によってはレスポンス(応答速度)の遅さが問題になったりします。アクセス負荷がレスポンスの悪いAPIに加わると、そのサーバーのすべてのWEBサービスが影響を受けてしまう事も考えられます。レスポンスを早くすることですべてが解決するわけではありませんが、コンパイル言語を使ってどのくらい改善できるかをPHPとGoを使って検証してみました。どちらも同じデータベースデータ(140件)を読み込んでそのままJSONで結果を返す、という処理にかかる時間を比べてみました。検証の結果、総合的にGoの方が2倍ほど早く、インタプリタ言語とコンパイル言語の処理速度の違いが顕著にでた結果となりました。PHPの場合Goの場合この記事は1年以上前の記事で内容が古くなっている場合があります。【CSS】今更ながら、フレックスボックスの使い方をまとめてみた。