LoginSignup
4
2

More than 3 years have passed since last update.

組み込み系からWeb系へのスキルチェンジ【随時更新】

Last updated at Posted at 2020-03-29

はじめに

組み込みの開発しかほぼしたことしかない中で、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学習

  1. paizaラーニング(PHP系)
  2. paizaラーニング(HTML/CSS入門編):Bootstrap勉強向け
  3. paizaラーニング(Git入門編):初歩だけ
  4. paizaラーニング(Java入門編):思い出す!
  5. Udemy JavaSE8 インタフェース ラムダ式 ストリーム 集中コース

環境構築

手持ちがWindows10 homeしかなくDockerを入れれないので、VirtualBox+Ubuntuベースで環境構築しました。

Windows10にVirtualBoxとUbuntuをインストール

Windows10にVirtualBoxとUbuntuをインストールを参考にしました。
Ubuntuのバージョンは2020/3/22時点で最新のLSTの「Ubuntu 18.04.4 LTS」を使用しましたが、手順はほぼ一緒です。

設定変更

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のインストール先に合わせて以下になります。

~/.config/Code/User/setting.json
{
  "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に以下を追加したら、エラーがでるようになった。(全文は書籍の内容なので割愛します。)

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。

4
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2