【まるるん備忘録】プログラムを組む時はコーディング規約にだけ気を付ければ良い?
プログラムを組む時、コーディング規約を守れば良いコードになると思っていましたが、
コーディング規約を守るのは最低条件だと気付きました。
じゃあ他にどういう事を気を付ければ良いのか、という事を3点に絞って書いていきます。
コーディング規約は必ず守る
当たり前ですがコーディング規約を守るのは最低条件です。
1人でもコーディング規約を守れていないとプログラムを最終的に評価・管理する人がとても辛いです。
必ず守りましょう。
何故その処理が必要なのか説明出来るようにしておく
結局の所、人に何をしているプログラムか説明出来ないとプログラムを使ってもらえません。
概要だけでなく、なるべく詳細についても処理を説明できるようにしましょう。
論理的に妥当だと言えるコードを書く
何故そのコードなのか?
他にもっと良い書き方があるのではないか?
これが説明出来なければプログラムのブラッシュアップが大変です。
きっちり説明できるようになりましょう。
まとめ
私的にプログラムを組む際に大事な事を3点書きました。
「コーディング規約を守っていればそれで良いんじゃないの?」と思っている方はぜひ参考にして良いプログラムを組んでいって下さい。
【まるるん備忘録】LambdaをGo言語で使ってみる
Lambdaとは
Lambdaとは、特定のイベント発生時に設定しておいたプログラムを自動的に実行してくれるコンピューティングです。
サーバー側の設定を一切する事なく、コードを書くだけでバッチ処理が行えるので、とてもオススメです。
この記事では、Lambdaの関数作成からHello [任意の文字列]を出力する所まで紹介します。
少し手順が多いですが、慣れれば楽なので頑張りましょう。
手順
- 関数を作成する
- トリガーを設定する
- プログラムを作成する
- SDKをダウンロードする
- プログラムをビルドする
- zipファイルにする
- zipファイルをアップロードする
- テストイベントを設定する
関数を作成する
一から作成を選択します。
画像外にあるパラメーターもありますが、1つ1つが重要なパラメーターなので説明していきます。
名前:この関数を管理しやすいよう、各自好きな名前を付けて下さい。
ランタイム:どの言語でプログラムを作成するかを決定します。今回はGo言語を使用したいのでGo 1.xを選択。
ロール:今回は「1つ以上のテンプレートから新しいロールを作成します」を選択。 プログラム的に言うと、この行為は変数の宣言
に当たります。
ロール名:ロールの名前です。管理しやすい名前を適宜付けて下さい。
ポリシーテンプレート :ロールに対して、どんな権限を付与するか選択できます。今回は特別な権限が必要にならないので何も選択しないで進めます。
以上の設定ができたら関数の作成
を実行します。
2. トリガーの設定をする
プログラムを「いつ」実行するか設定します。
今回は特定時間になるごとにプログラムを実行してみたいので、CloudWatch Events
を選択します。
その後新規ルールを作成し、ルール名、ルールの説明を記入していきます。
ルールタイプはスケジュール式、rate(1 hour)
と記入します(これで1時間に1度実行するという設定になります)
設定を行なったらトリガーを追加
し、ここまでの内容を保存します。
3. プログラムを作成する
こちらがとても参考になるので、こちらを元にプログラムを作成して下さい。
https://dev.classmethod.jp/cloud/aws/aws-lambda-supports-go/
4. SDKをダウンロードする
$ go get -u github.com/aws/aws-lambda-go/lambda
5. プログラムをビルドする
$ GOOS=linux GOARCH=amd64 go build -o hello
ファイル名はハンドラと同じにしておかなければならないので、ハンドラ名に応じて-o
の後に続くファイル名の設定を変更して下さい。
6. zipファイルにする
$ zip test.zip ./hello
7. zipファイルをアップロードする
関数パッケージからzipファイルをアップロードします。
この時ハンドラ名は作成したハンドラ名と同じにして下さい。
8. テストイベントを設定する
json形式でテストデータを用意します。どのようなデータを用意すれば良いか分からなければ3. プログラムを作成する
のURL先にテストデータがあるのでその通りに用意して下さい。
おわり
これでLambdaでプログラムが走ります。
とても楽しいのでぜひLambdaを使いこなしましょう。
【まるるん備忘録】Dockerfileをbuildしてイメージを作成する
Dockerfileのあるディレクトリ内で以下のコマンドを叩く。
$ sudo docker build -t repository/file_name:tag .
例
$ sudo docker build -t test/centos:centos7 .
これでイメージの作成が完了する。作成したイメージを確認する場合は以下のコマンドを叩く。
$ sudo docker images
【まるるん備忘録】macにvagrantを導入してCentOS7を起動するまでの流れ
開発環境
macにvagrantを導入してCentOS7を起動するまでの手順は以下の通りです。
1. virtualboxを公式サイトから用意する
2. vagrantをインストールする
3. CentOS7のboxを用意する
4. 作業用のディレクトリを用意する
5. 作業用のディレクトリ内で仮想マシンの初期化を行う
6. 仮想マシンを起動する
1. virtualboxを用意する
公式サイトからvirtualbox5.2.20をダウンロード。
https://www.virtualbox.org/wiki/Downloads
2. vagrantをインストールする
最新バージョンのvagrant2.2.0をインストール。
$ brew cask install vagrant
3. CentOS7のboxを用意する
こちらから追加したいboxを選び、URLをコピーする。
http://www.vagrantbox.es/
次にboxを追加するコマンドを叩く。この時boxに名前をつけておくと便利。
$ vagrant box add [box名] [boxのURL]
例
$ vagrant box add centOS7 https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box
4. 作業用のディレクトリを用意する
仮想マシンのデータを格納するディレクトリを用意する。
$ mkdir [作業用ディレクトリ名]
5. 作業用のディレクトリ内で仮想マシンの初期化を行う
$ cd [作業用のディレクトリ名]
6. 仮想マシンを起動する
$ vagrant up
最後に
後は$ vagrant ssh
なり仮想マシン内部に入って作業をするだけです。
【まるるん備忘録】エディターの拡張方法
エディターの拡張と言っても、最初は何から行えば良いか分からなかったのでメモ。
開発環境
まずはメニューバーにエディターのGUIを表示してみる
と言う事で早速本題に入ります。
まずはAssets
ディレクトリの中にEditor
ディレクトリを作成して下さい。
その後Editor
ディレクトリ内にEditorManager.cs
というC#のスクリプトを作成して下さい。
作成したEditorManager.cs
の中身を以下のように書き換えます。
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; public class EditorManager : EditorWindow { [MenuItem ("Window/自作エディター")] private static void ShowWindow() { EditorWindow.GetWindow(typeof(EditorManager)); } private void OnGUI(){ } }
すると以下のように自作エディターが表示されることが分かります。
ただしこのままでは「自作エディター」をクリックしても何もないボードが表示されるだけなので、このボードの上にテキストやらボタンを作るためにOnGUI
メソッドに処理を書く必要があります。
ソースコードの解説
using UnityEditor;
エディターを拡張させるために必須なのでusingしておかないといけないライブラリ。
EditorWindow
UnityEditorをusingすることで継承できるようになる。
継承しなければエディターを拡張させる事が出来ないので必ずEditorWindow
を継承させて下さい。
[MenuItem ("Window/自作エディター")]
メニューバーのWindow内に「自作エディター」という名前で自作したエディター機能が表示されるようになる。
最後に
エディターの拡張方法についてまとめた目次的な記事があるので、良ければそちらも参照して下さい。
【まるるん備忘録】Unityのエディター拡張方法まとめ
Unityで時間のかかる単純作業を繰り返している時「もっと作業効率を上げたいなぁ」と思った事からエディター機能を拡張し始めました。
この記事にはエディター拡張に使う各種メソッドや、機能の実装方法をまとめ次第URLを貼っていくので興味のある方はどんどん調べていって下さい。
開発環境
目次
【まるるん備忘録】Laravelのディレクトリ構造について
Laravelについて勉強し始めた時、どこから手を付け始めれば良いか分からなかったのでメモ。
以下の3点が理解出来れば、最低限のコンテンツは作成出来る。
resouces/views/
ディレクトリについて
作成したビューを置いておくディレクトリ。
ビューとは簡単に言うとユーザーが閲覧するWebページの事である。
routes/web.php
について
各ビューへのルーティングを行うファイル。
ルーティングとは、ビューからビューへの遷移を行う事。
例えば「課金ページの課金ボタンを押したら課金金額表示ページへ遷移する」という処理がある場合、
課金ページから課金金額表示ページにページを切り替える処理の事をルーティングという。
public/
ディレクトリについて
JavaScriptファイルやCSSファイルを置いておくディレクトリ。
基本的にpublic
ディレクトリ内は誰でも閲覧が可能なので、顧客情報などの重要なデータをpublic
ディレクトリ内に設置するのは厳禁。
public
ディレクトリの使い方はとてもシンプルで、各ビューからJavaScriptやCSSを呼び出すという具合である。