miyupaca log

2020-07-30 yps学習記録その3

2020/07/30

やったこと

  • SQLのテーブル作成&バッチの作成
  • php.iniの設定
  • GitHubにファイルアップロード

yps1 task3

今回のお品書き

バックアップファイルとの比較で使うcolordiffをインストールしておく。

sudu yum install colordiff -y
  • SQLのテーブル作成&バッチの作成

    cd /tmp
    sudo yum install wget
    wget http://tech.pjin.jp/wp-content/uploads/2016/04/worldcup2014.zip
    unzip http://worldcup2014.zip
    ls -la worldcup2014.sql
    mysql -u root -p

    mysqlに入れたらテーブル作成。

    create database worldcup2014db;
    use worldcup2014db;
    source ./worldcup2014.sql;
    show tables; // テーブル名確認
    exit // 一旦抜ける

    テーブル名が表示されたら作成できている。
    次にバッチ作成を行う。バッチ処理とはあらかじめ一連の処理を登録しておいて、それを自動的に実行する処理方式のことらしい!
    今回はデータベースから選手の名前を取り出す処理をあらかじめ登録してみる。

    cd /var/www/html/yps/
    vi .env

    「DB_DATABASE=worldcup2014db」に変更して保存。

    php artisan make:model Models/Player
    ls -la app/Models/Player.php // ファイルがあるか確認

    ここからVSCodeで作業する。 /var/www/html/yps/App/Console/Commands/TestCommand.php の中身をこちらの内容に更新する。
    ターミナルで以下のコマンドで選手の名前が表示されればok!

    php artisan config:clear
    php artisan test_command

utf8mb4だとmysql cli(mysqlクライアント)で日本語が入力できない問題がある。
MySQLクライアントに日本語が入力できない理由 - Suzna Developer Blog
例えば「select * from players where name = ‘酒井’;」
SQLのファイルを作ってそれを読み込ませることで解決する。

cd /var/tmp
vi get_players.sql // 新規ファイル作成

中身に以下のSQLコマンドを入力して保存する。
use worldcup2014db;
select * from players where name = ‘酒井’;
そしたら、以下のコマンドでこのファイルを読み込んで使ってみる。

mysql -u root -p  < ./get_players.sql
mysql -u root -p  < ./get_players.sql > ./out.txt // ファイル出力もできる

データベースから酒井さんを検索できたらok!

  • php.iniの設定

バックアップファイルを作ってから、php.iniをviで開く。

sudo cp /etc/php.ini /etc/php.ini.org
sudo vi /etc/php.ini

以下を参考に初期設定を行う。(先生の答えはこちら)
CentOSにPHP7をインストールしたらやっておくべき初期設定 | Affiwork
設定が終わったらphp-fpsとNginxを再起動して設定を有効化する。

sudo systemctl restart php-fpm
sudo systemctl restart nginx

上記の設定に加えphp.iniでエラーログの設定も行う。以下を加える。
errorlog= “/var/log/phperrors.log”
保存したらエラーログファイルを作る。

sudo touch /var/log/php_errors.log
sudo chown nginx:nginx /var/log/php_errors.log

また再起動して設定を有効化する。

  • GitHubにファイルアップロード

Gitのインストールとリポジトリの作成。

sudo yum install git -y
cd /var/www/html/yps
git init

GitHubでリポジトリを作成して、.gitignoreにLalabelを指定おく。
READMEも追加したら、Codeボタンから「git@github.com:〜〜」をコピーしておく。
ターミナルに戻ってコンフィグを開く。

cd /var/www/html/yps/
vi .git/config

中身を以下の感じで更新。

[user]
    name = 名前
    email = メアド
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
    url = git@github.com:GitHubのアカウント名/リポジトリ名.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master

保存したら、次に秘密鍵を作る。

ssh-keygen -t rsa -b 4096 -C "メアド"

コマンド入力→エンターキーを1回押下→パスワードを2回入力。
キーファイルが作られるので中身を確認。

cat ~/.ssh/id_rsa.pub

中身をコピーして、GitHubのSettingsで登録する。
登録が終わったらターミナルでソースコードを登録する。

cd /var/www/html/yps/
git add .
git commit -am "initial"
git push origin master

何か聞かれるのでyes入力→パスワード入力
これでソースコードpushできたー!、、、となるはずが私はつまづいた。
READMEと.gitignoreをGitHubから直接追加したことでローカルと差分が出てしまったのが多分原因。
pushの前にpullして最新の状態にしてからpushしなきゃだったぽい。
結局無理やりpushするという力技に出た。Gitは要復習。。。

develop、featureブランチも作っておく。
git develop, feature branch作成からmergeするまで (自分用メモ) - Qiita

今日は以下の手順でdevelopブランチの作成まで。

git branch //masterにいることを確認
git branch develop // develop作成
git checkout develop // developに移動
git branch // developに移動してればok
git push origin develop // リポートリポジトリに反映

ブランチ作成後にdevelopになっていればok。ここで開発したものをpushして本番化するものをmasterにmergeする感じです、、、よね?

本日はここまで。

気づきなど

  • 色々やったけど何はともあれGitを復習しようと強く感じた。
  • 7月終わった!ypsは今日で三周目!なんだか早い。

miyupaca

miyupacaの学習記録ブログです。