Skip to content

Instantly share code, notes, and snippets.

@bz0
Last active November 7, 2019 14:54
Show Gist options
  • Save bz0/46672b392188571f512d1c7c8db4e886 to your computer and use it in GitHub Desktop.
Save bz0/46672b392188571f512d1c7c8db4e886 to your computer and use it in GitHub Desktop.

やりたいこと

まともなシステムを作れるようになる

まともとは何か?

まともとは?=品質が高いこと

概要

詳細

  • 開発を進めるうえでの不具合減少:バグを楽に潰せる仕組みがある→テストコード / CIによる自動テスト
  • スピード感ある開発ができる・バグが入り込みづらい:サービスに合ったフレームワークやライブラリ / アーキテクチャの選定
  • 開発の自動化:AWSやFirebase等による運用・開発削減(運用不要・実装しなくてよくなる)
  • 理解が容易になる:コード規約に則ったコーディング(自動チェック)
  • 移植しやすい:MySQL→PostgreSQLへの移行、PHPバージョンアップ等への影響を最小限に抑えられる
  • セキュリティの考慮:個人情報漏洩やサーバへの不正侵入の入口にならない
  • 大規模システム設計:スケーラブルなシステムのシステム設計ができるようになる

具体的に何を理解 / 実践すればいい?

興味あること

@bz0
Copy link
Author

bz0 commented Oct 16, 2019

コード規約に則ったコーディングが行えるように自動チェックを導入

環境

  • Windows10 Home
  • VisualStudioCode
  • vscode extension:php-cs-fixer

DockerでPHPを動作させるが、docker内でphp-cs-fixerでコードを自動変換したいわけではなく
vscodeで保存したときにphp-cs-fixerで自動変換したい。

.pharファイルとは?

  • 複数のファイルをまとめたもので、 外部からその中のファイルを透過的に実行することができる(Javaの.jarファイルのようなもの
  • Phar を使用するには PHP 5.2.1 以降が必要
  • https://www.weblio.jp/content/Phar

windows環境で使う為にやること

composer global require friendsofphp/php-cs-fixer

setting.json

{
    "explorer.confirmDelete": false,
    "php-cs-fixer.rules": "@PSR2",
    "php-cs-fixer.formatHtml": true,
    "php-cs-fixer.onsave": true,
    "php.validate.executablePath":"C:\\php\\php.exe",
    "php-cs-fixer.executablePathWindows": "C:\\Users\\kk\\AppData\\Roaming\\Composer\\vendor\\bin\\php-cs-fixer.bat"
}
  • vscodeで下記エラー発生
  • Cannot validate since no PHP executable is set. Use the setting 'php.validate.executablePath' to configure the PHP executable.
  • setting.jsonで 'php.validate.executablePath'にphp.exeのフルパスを指定
  • さらにエラー発生
  • PHP CS Fixer:php general error
  • Visual Studioコードを管理者として実行することで解決!
  • junstyle/vscode-php-cs-fixer#2

@bz0
Copy link
Author

bz0 commented Oct 19, 2019

セキュリティ検査:

セキュリティ診断ツール「OWASP ZAP」を利用してみる
https://www.shadan-kun.com/blog/vulnerability/2961/
https://kama3.jp/archives/214

情報セキュリティマネジメントとPDCAサイクル:
https://www.ipa.go.jp/security/manager/protect/pdca/admin.html

アクセス制御

  • メンバーごとにアクセスのレベルを設定し、アクセスできる情報の範囲や操作権限などを詳細に制御する
  • 個人情報や機密情報については、アクセスできる人数を最小限にして、厳密なアクセス制御を適用する

セキュリティ装置導入・設定

  • ウイルス対策ソフトやファイアウォールなどのセキュリティ装置を導入
  • 侵入検知システム、暗号化通信を導入する
  • OSや各アプリケーションのセキュリティ設定
  • セキュリティリスクを減らすために、必要なサービスだけを稼動させること

脆弱性対策

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment