当社はIT技術のオンライン教育を得意としたセミナー専門会社です。 | 一戸英男

ITエンジニアの技術力UPをお約束します。

Go言語 フレームワークレス WEBアプリその1(Mongodbを使ってデータの表示・登録・更新)

Go言語はC言語を拡張しインスパイヤーしたような言語だ。私のような古い人はC言語に慣れ親しんでいるので非常に入り込みやすいプログラミング言語と言える。Go言語もフレームワークが色々存在する。ただ、他の言語と違うなーと思うのは、フレームワーク使わなくてもそこそこのWEBアプリが標準で気軽に作れる印象を持っています。最終的にフレームワーク使うとしても、最初は無しで学習したほうが後々の理解度や改造時に役立つと思います。今後はバイナリー系の速度が早く、安全なWEBサイト構築はJavaからGo言語に移り変わるのではないかと私は予測しています。JavaはIT関連の著名なアメリカのマンモス企業なんかも言ってたけどもう廃れた言語とか、JavaのテクノロージーUPに対して”Ora○○e”は怠けているという評論もあるほどだ。モバイルはkotolin,scalaがjavaの代わりになるだろうと思う。DBに関してはMySQL,PostgreSQLでスケーラビリティを十分とれるためいつかはOracleは不要になるかもね。また、NoSQLはどちらかと言えばMySQL,PostgreSQLの置き換えというよりは、補完する役割だと思うので得意、不得意を勘案して部分的な機能で何れかを選ぶことになるだろう。

今回は求人検索用のシステムを作る前提で仕事登録の初期のベーシックなところから作ってみたいと思います。機能は表示、登録と更新だけ。認証は無し。

MongoDBのインストールと起動

OS毎のインストール方法が異なるので下記のリンクを参照のこと。下記はDebian9のインストールケース

https://docs.mongodb.com/manual/administration/install-on-linux/

MongoDBの操作

MongoDBにアクセスするクライントソフトはmongoです。デフォルトのポートでアクセスする場合は単純にmongoで接続可能です。

NoSQLのMongoDBの操作はある程度はコマンドが似ている。用語が少しだけ違う。

初歩的なWEBアプリ

いつもならデータベースというと、MySQLを使うところだが今回はMongodbを使ったやり方でサイトのデータを表示するアプリを作ってみようと思う。感覚的にはpythonのボトルフレームワークの感覚で使えているので標準でこれならフレームワークレスでも全く問題ない。今回は教育用にとログイン機能、バリデーション機能を導入してないが、実装は簡単だと思うので各自改造しながら実装してみてほしい。また、CSSや画像、js関連も独自でトライしてみてください。きっとそう難しく無いと思います。

本体ルーチン(server.go)

コンテンツハンドリングルーチン

表示テンプレート

index.html>

add_job.html

reg_jobs.html

update_job.html

アプリの起動

登録データの確認

http://localhost:3001/

新規登録

http://localhost:3001/regist/jobs

登録情報の更新

http://localhost:3001/update/jobs