#はじめに
組み込みの開発しかほぼしたことしかない中で、Web系のスキルを身に着けるためにやったことをメモっておきます。
現状のWeb系のスキル。
- Perl/PHP/javascript/HTML5:ちょっと使えるレベル
- github/Slack:プライベートで少し使ってるレベル
#書籍
##Web系
No | タイトル | メモや所感 |
---|---|---|
1 | TECHNICAL MASTER はじめてのPHPプロフェッショナル開発 PHP7対応 | チーム開発に即した形(もちろん会社やプロジェクトにもよるだろうけど)で書かれてたので、PLをやるのに役立ちそうだったので購入。推奨動作環境はMacOSで書かれています。 |
2 | PHPフレームワーク Laravel入門 第2版 | Laravel6ベースです |
3 | JavaScript本格入門 ~モダンスタイルによる基礎からAjax・jQueryまで | 昔買ったもの再勉強。現在は改訂版が出てます。 |
4 | これからはじめるVue.js実践入門 | 3.と同じ執筆者のもの |
5 | 速習 TypeScript 第2版 速習シリーズ Kindle版 | Kindle Unlimitedの対象。3.と同じ執筆者のもの |
6 | いまから始めるWebフロントエンド開発 Kindle版 | Kindle Unlimitedの対象。2016年初版で10年くらいのWeb開発の流れが書かれている。他の本によく出てくる言葉の説明とかもあるので、初めに読んどくといいかも。 |
7 | これ1冊でゼロから学べる Webプログラミング超入門 ーHTML,CSS,JavaScript,PHPをまるごとマスター Kindle版 | Kindle Unlimitedの対象。広く浅く書かれている。2.と同じ執筆者のもの。流し読み |
8 | 速習webpack 速習シリーズ Kindle版 | Kindle Unlimitedの対象。3.と同じ執筆者のもの。流し読み |
##ツール系
No | タイトル | メモや所感 |
---|---|---|
A | サルでもわかるGit入門 Kindle版 | Kindle Unlimitedの対象。 SourceTreeの操作主体で書かれている。付録でコマンドライン操作あり |
B | Web制作者のためのGitHubの教科書 チームの効率を最大化する共同開発ツール Web制作者のための教科書シリーズ Kindle版 | Kindle Unlimitedの対象。SourceTreeの操作主体で書かれている。流し読み |
##マネージメント系
No | タイトル | メモや所感 |
---|---|---|
あ | SCRUM BOOT CAMP THE BOOK【増補改訂版】 スクラムチームではじめるアジャイル開発 | 2020/5/20に改訂版が出ています |
##デザイン系
No | タイトル | メモや所感 |
---|---|---|
ア | UXと理論で作る Webデザイン: デザイナーでなくてもわかる Kindle版 | Kindle Unlimitedの対象。読みやすい構成だった。 |
#Web学習
- paizaラーニング(PHP系)
- paizaラーニング(HTML/CSS入門編):Bootstrap勉強向け
- paizaラーニング(Git入門編):初歩だけ
- paizaラーニング(Java入門編):思い出す!
- Udemy JavaSE8 インタフェース ラムダ式 ストリーム 集中コース
#環境構築
手持ちがWindows10 homeしかなくDockerを入れれないので、VirtualBox+Ubuntuベースで環境構築しました。
##Windows10にVirtualBoxとUbuntuをインストール
Windows10にVirtualBoxとUbuntuをインストールを参考にしました。
Ubuntuのバージョンは2020/3/22時点で最新のLSTの「Ubuntu 18.04.4 LTS」を使用しましたが、手順はほぼ一緒です。
###設定変更
- VirtualBoxの[設定]-[一般]-[高度]-[クリップボードの共有]と[ドラッグ&ドロップ]を「双方向」に
- VirtualBox上のUbuntu 18.04の画面サイズを自動で切り替えられるようにする
- ubuntsの右クリックで新規ファイルを作成できるようにする:
Ubuntu 18.04の右クリックメニューから「空のドキュメント」を作成する - ランチャのアイコンサイズの変更:[設定]-[Dock] - [アイコンサイズ]
###Ubuntuに割り当てたHDD容量を変更
##Docker
VirtualBox に Ubuntu 18.04 と Docker をインストールしたメモを参考にインストール。バージョンは19.03.8。
追加でdocker-composeをインストール
$ sudo apt install docker-compose
##PHP
一旦、書籍1.に合わせてPHP7.2を入れる。
Ubuntu 16.04 で PHP 7.2 を使う手順
##MySQL
UbuntuにMySQLをインストールを参考にインストール。
バージョンは14.14。
$ sudo apt install mysql-server mysql-client
//rootユーザ設定
$ sudo mysql_secure_installation
##SQLite
$ sudo apt-get install -y sqlite3
$ sqlite3 -version
3.22.0 2018-01-22 18:45:57 0c55d179733b46d8d0ba4d88e01a25e10677046ee3da1d5b1581e86726f2alt1
$ sudo apt-get install sqlitebrowser
$ sudo apt-get install php7.2-sqlite3
##Laravel
UbuntuにLaravelをインストールし起動 を参考にインストール。 PHP拡張パッケージは以下も追加でインストール
$ sudo apt-get install php7.2-json
Visual Studio Code
簡単にUbuntuにVSCode (Visual Studio Code) をインストールする方法を参考にインストール。
バージョンは1.43.2。
###日本語化
Visual Studio Code のユーザーインタフェイス(UI) 表示を日本語にする
###PHP IntelliSense
以下を参考に導入。
setting.jsonの設定は、LinuxのPHPのインストール先に合わせて以下になります。
{
"php.validate.enable": false,
"php.suggest.basic": false,
"php.executablePath": "/usr/bin/php"
}
###PHP Intelephense
PHP IntelliSenseより使い勝手がいいかも。HTML部分も補完してくれる。
###Git関連
###設定
- エクスプローラーのフォルダ階層のインデント幅変更:Workbench > Tree: Indent
- [定義へ移動]などで、常に別タブで開くようにする:Workbench > Editor:Enabel Preview:→OFF
#やったこと
PHP+Dockerの環境構築
書籍1.を見ながら、環境構築。
うまくいかなかったとこ
Dcokerでdocker-entrypoint-initdb.dをマウントするときにPermission deniedエラーがでる。
docker-compose.ymlに以下を追加したら、エラーがでるようになった。(全文は書籍の内容なので割愛します。)
volumes:
- ./Docker/mysql/sqls:/docker-entrypoint-initdb.d
$ docker-compose up
Creating network "phpbookapp_default" with the default driver
Creating php-book-app-db ...
Creating php-book-app-db ... done
Attaching to php-book-app-db
php-book-app-db | 2020-03-29 01:19:13+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.29-1debian10 started.
php-book-app-db | 2020-03-29 01:19:13+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
php-book-app-db | 2020-03-29 01:19:13+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.29-1debian10 started.
php-book-app-db | ls: cannot open directory '/docker-entrypoint-initdb.d/': Permission denied
php-book-app-db exited with code 2
#####解決策
ホスト側のディレクトリにgroupとotherの読み取り・実行権限がなかったのが原因でした。。。
LaravelでPHPとPythonの連携
別記事にしました。
ゼロから作るPHPとPythonの連携 on Laravel
VueとTypeScriptの導入
別記事にしました。
ゼロから作るPHPとPythonの連携 on Laravel + Vue + TypeScript
TypeScriptはC#やってた人間からすると、たいぶ扱いやすいですね。さずがMS。