プログラミング基礎〜管理/公開/セキュリティ編〜

プログラミング
スポンサーリンク

バージョン管理ツール
リポジトリホスティングサービス
WEBセキュリティ

バージョン管理ツール

皆さん、こんな経験ありませか?

エクセルで何か資料を作って居たとします。
そのときに上司とか同僚と1つのファイルを修正して言って居ますと。
そのときのファイル名はどうなっていますか?

‘○○○_1015”…
なんちゃらなんちゃアンダーバー日付。
‘○○○_1015”…最終
‘○○○_1015”…最終2
とかとか。
どれが最終的なファイルなんだよとか。
わからないときありませんか?

プログラムなんてエクセル並みじゃないですよ。
1つのファイルを5人〜10人で触ったりするんですよ。
そのときに日付とか、最終盤とかつけて居たらどうなっちゃいますか?
デグレ(デグレード)ばっかりですよ。デグレっていうのは、昔のバージョンに戻っちゃうことですよ。

こんなことばっかり起きて居たら、開発なんてできませんよ。
そこで考えられたのが、バージョン管理ツールというものです。

これ、どこの開発の現場。
どこでも使われて居ますよ。皆さんは、これを使いこなせなければいけません。

一番使われているツールは、”GIT”と呼ばれるものです。
その中でも”GITHUB’ですね。これを使われているものが多いです。

必ず、1人でプログラム作る場合でも使った方がいいです。
なぜかというと、

例えば、ある機能を作りました。テストもやってうまくできた。
これを世の中に公開した。そのあとに、お客さんに要望があって。
機能Aを機能A’に変えた。
それで、世の中に出しました。それで、バグがあったと。
バグがあったから直さないといけないけど、とりあえずいまAの機能にもう一回戻して世の中に出さないといけないとなった時に。
皆さんが、必ずAの機能のバックアップを取り続けられますか?ということなんですよ。
これね、絶対にミスをしてしまいますので。
ここで一個ですね、細かいチップスなんですけど。

人間ていうのはミスをする生き物なんですよ。
なので、どうやったらミスを気なくするかを考えることが、ソフトウェア開発においては1つとても重要なポイントになります。
なので、1人の開発だから、ローカルで管理しとけば良いやではなく。
あなたもも私もミスをするんです!ということで、1人開発でも必ずバージョン管理ツールを使ってください。
そうすればですね、ミスをしたとしても自分がどう言ったミスをしたのか?ということを全部履歴やログが見れます。

あとは、仕事でもGITちゃんと使えますよってなれば、ちゃんとした開発者なんだねということで見てもらえます。

具体的な使用方法は、ググる!

これもドットインストールを見たら、良い講座があったのでこれを見ていただけるとGITの使い方わかるんじゃないかな?と思います。

<リポジトリホスティングサービス>

例えば、図書館です!
図書館っていうのは、どっかの土地に立っているんですよね。
この土地に図書館を建てることをホスティングっていうんですよね。
例えば、KAZUHIROMOURIBLOGっていうのは、herokuってサービスに作ったプログラムがホスティングされているんですね。
この行為のことをホスティングと言います。
皆さんも、一生懸命作ったプログラムもホスティングをしないと世の中に公開することはできません。
ということで、ホスティングっていうのは、重要な1つの知識になっていきます。

で先程herokuって言いましたが、herokuっていうのは無料でも使える便利なホスティングのサービスなんですね。
なので、まずはherokuを使って見るというのも便利は手段の1つです。

herokuの使い方は、例のごとくググればすぐに出てきますよ!

先程、バージョン管理ツールでGITHUBというものを紹介したと思います。
皆さんが作ったHTML/CSS/Java Scriptのプログラムに関しては。GITHUBが便利なツールを提供してくれて居ます。
これが、GITHUB PAGESという機能になります。
これがすごく便利な機能でして。皆さんが、プログラムをGITHUBに登録したら自動的にそのプログラムを読んで公開してくれる便利なサービスになります。
なので、GITHUBPAGESというものを使って皆さんのページを公開することができます。

<Firebase Hosting>

これもよく使われて居ます。
これ何かというと、グーグルが提供しているクラウドサービスGCP(Google Cloud Platform)というものです。
これを使うと、性能とかherokuってあんまり早くなかったりするような場合があるんですね。
無料版だと特に。
Firebase Hostingに関しては、スピードが早い!
取得したドメインとか簡単に紐付けられる。
自動的に、HTTPSというセキュリティが担保された状態で世の中に公開できるということで、Firebase Hostingというのもオススメのサービスになります。

<体験談>

ホスティングっていうのがわからなくて。世の中にサービスをどうやって公開していいのかわからなかった。
このホスティングって言葉が用語がわからなかったから、どうやってもGoogleで調べられなかったんですよ。
皆さんは、ホスティングって言葉を覚えたわけですよ!
なので、プログラムを公開できるような知識がついたわけですよ!

<Webセキュリティ>

最低限知っておくべき用語を知って皆さんがGoogleで調べていきましょう。

HTTPS SはSECURE(安全、危険のない)ってことですよ
CORS
Content Security Policy
Owasp Security Risks

<Owasp Security Risks>

セキュリティっていうのは、一個一個調べていくとものすごく時間がかかります。
Owaspという会社ですかね?セキュリティのツールを提供してくれているんですね。
なので、このツールを使って問題がないかをチェックするということも良くやっている手法です。

実際にセキュリティっていうのは、専門家がいるくらい難しいことなんで。
もし皆さんのサービスが個人情報を扱うようなサービスとか外に漏れてはいけないようなサービス情報を扱うのであれば。
是非外部のセキュリティチェックの会社にお願いしてもらうことをお勧めします。
これは、甘く見ちゃいけない!一回情報漏洩したらあなたの人生一巻の終わりと言っていいものです。
なので、これをやってあなたのサービスで個人情報を扱うのであれば、WEBセキュリティ専門で扱う会社にお願いする方が良いです。

とはいえ自分でも、セキュリティのことは勉強したいし。
なるべく、セキュリティのリスクが少ないサービスを最初っから作りたいと思います。
そのため、めちゃくちゃためになる本っていうのが、あるので紹介します。


安全なWEBアプリケーションの作り方 第2版
これね、正直難しい。
なんですけど、わかりやすく説明はしてくれて居ます。
これを知ることで、皆さんがWebサービス作る際に気にしないといけないことを理解できる。

コメント