VirtualBoxメモ

CentOS6を入れる。
昔メモをしていた気がするけどなかったのでメモ。

やること

VirtualBoxで、
新規->... で作成
作成したものを選択し、
設定->ネットワーク->アダプター2
ホストオンリーアダプター有効化

## インストール時
Minimalを選択(自分でいろいろ好きなバージョン入れたいから)

## US配列対応
# 反映
$ loadkeys us
# 永久
$ cp /etc/sysconfig/keyboard /etc/sysconfig/keyboard_old
$ vi /etc/sysconfig/keyboard
KEYTABLE="us"
MODEL="pc105+inet"
LAYOUT="us"
KEYBOARDTYPE="pc"

## ユーザー追加
$ useradd mfham
$ passwd mfham
$ visudo # 権限あれこれ

## SELinux無効化
$ vi /etc/sysconfig/selinux
SELINUX=disabled

英語メモ

単語

  • shareable

共有可能な

  • 〜 as follows

次のように

  • Polymorphic

多様な

  • cyclomatic complexity

循環的複雑度

  • criteria

基準

  • tabular format

表形式

  • complexity

複雑さ

  • caveat

注意

  • applicable

適用できる。
(アクセントは先頭)



メモ

共有可能なリンクを生成するためのパッケージの紹介。
リファクタすべきものを見つけてくれるパッケージの紹介。
Lumen5.5リリースの紹介。
Clean Code PHPの紹介。

LOAD DATA INFILE構文メモ

warningsがでない文を作成するのに時間かかってしまったのでメモしておく。
MySQL5.6を利用。

スキーマ、テーブル

CREATE DATABASE IF NOT EXISTS test;

CREATE TABLE IF NOT EXISTS test.performance_check (
    id BIGINT NOT NULL AUTO_INCREMENT,
    name VARCHAR(1024),
    create_date DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
    p_id1 BIGINT,
    p_id2 BIGINT,
    area INT(1) NOT NULL,
    status INT(1) NOT NULL,
    PRIMARY KEY(id)
)

インポートするデータ

# /home/mfham/work/data.csv
"id","name","create_date","p_id1","p_id2","area","status"
1,"mfham1",2017-09-01 10:10:10,1000,,1,1
2,"mfham2",2017-09-02 10:10:10,1000,1000,1,1

LOAD DATA INFILE構文

  • オートインクリメントのidは処理しない
  • NULLIFを利用する

create_date = @v3 でも問題なかった。
%H:%i:%s は %Tでも良さそう。

LOAD DATA LOCAL INFILE '/home/mfham/work/data.csv'
    INTO TABLE test.performance_check
    FIELDS
        TERMINATED BY ','
        OPTIONALLY ENCLOSED BY '"'
    IGNORE 1 LINES
    (@v1, @v2, @v3, @v4, @v5, @v6, @v7)
    SET
        name = NULLIF(@v2, ''),
        create_date = STR_TO_DATE(@v3, '%Y-%m-%d %H:%i:%s'),
        p_id1 = NULLIF(@v4, ''),
        p_id2 = NULLIF(@v5, ''),
        area = @v6,
        status = @v7;

実行結果

mysql> CREATE TABLE IF NOT EXISTS test.performance_check (
    ->     id BIGINT NOT NULL AUTO_INCREMENT,
    ->     name VARCHAR(1024),
    ->     create_date DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
    ->     p_id1 BIGINT,
    ->     p_id2 BIGINT,
    ->     area INT(1) NOT NULL,
    ->     status INT(1) NOT NULL,
    ->     PRIMARY KEY(id)
    -> );
Query OK, 0 rows affected (0.01 sec)

mysql> LOAD DATA LOCAL INFILE '/home/mfham/work/data.csv'
    ->     INTO TABLE test.performance_check
    ->     FIELDS
    ->         TERMINATED BY ','
    ->         OPTIONALLY ENCLOSED BY '"'
    ->     IGNORE 1 LINES
    ->     (@v1, @v2, @v3, @v4, @v5, @v6, @v7)
    ->     SET
    ->         name = @v2,
    ->         create_date = STR_TO_DATE(@v3, '%Y-%m-%d %H:%i:%s'),
    ->         p_id1 = NULLIF(@v4, ''),
    ->         p_id2 = NULLIF(@v5, ''),
    ->         area = @v6,
    ->         status = @v7;
Query OK, 2 rows affected (0.15 sec)
Records: 2  Deleted: 0  Skipped: 0  Warnings: 0

mysql> SELECT * FROM test.performance_check;
+----+--------+---------------------+-------+-------+------+--------+
| id | name   | create_date         | p_id1 | p_id2 | area | status |
+----+--------+---------------------+-------+-------+------+--------+
|  1 | mfham1 | 2017-09-01 10:10:10 |  1000 |  NULL |    1 |      1 |
|  2 | mfham2 | 2017-09-02 10:10:10 |  1000 |  1000 |    1 |      1 |
+----+--------+---------------------+-------+-------+------+--------+
2 rows in set (0.00 sec)

MySQL5.6インストールメモ

パフォーマンス調査のために、CentOS6にMySQL5.6をインストールする。

参考

MySQL :: A Quick Guide to Using the MySQL Yum Repository

このマニュアルに全部書いてある。
英語読めて幸せやーってこういうときに感じる。
もちろん日本語訳もありますけども。

MySQL :: MySQL 5.6 リファレンスマニュアル :: 2.5.1 MySQL Yum リポジトリを使用して MySQL を Linux にインストールする

メモ

$ wget https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm
$ sudo rpm -Uvh mysql57-community-release-el6-11.noarch.rpm

# 今回インストールするのは5.6
$ sudo yum-config-manager --disable mysql57-community
$ sudo yum-config-manager --enable mysql56-community 
$ yum repolist enabled | grep mysql                                                                                                                                         
mysql-connectors-community MySQL Connectors Community                         42
mysql-tools-community      MySQL Tools Community                              51
mysql56-community          MySQL 5.6 Community Server                        377

$ sudo yum install mysql-community-server
$ sudo service mysqld start

# rootのパスワード設定したり、テストDB削除選択など
$ mysql_secure_installation

$ mysql -uroot -p

mysql> CREATE USER 'mfham'@'localhost' IDENTIFIED BY '****'; 
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'mfham'@'localhost' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

その他

MySQLのインストール記事載せたような気がして見返してみたけど、だいぶめんどくさいことやってた。
便利な世の中になりました。

英語メモ

単語

  • involve

〜に関係する

  • agnostic

不可知論者
不可知論 - Wikipedia

  • perspective

見方、考え方

  • slick

なめらかな、巧妙な

メモ

certificationのやつはトレーニングではなく試験。いつか受けてみたい。
Botman、どのくらい使われているんやろ。

英語メモ

単語

  • jam-packed

ぎゅうぎゅう詰めの

  • conditionally

条件的に

  • hands-down

楽な

  • dedicate

捧げる

  • scaffolding

足場

メモ

LTSは2年間のバグフィックスと3年間のセキュリティフィックス。
通常のマイナーリリースは6ヶ月のバグフィックスと1年間のセキュリティフィックス。
Requestオブジェクトでvalidateが呼べるようになった。
withoutExceptionHandling() メソッドすごいな。

英語メモ

単語

  • provision

[動詞]供給する

メモ

Homesteadが用意してくれているaliasの紹介。

その他(Laravelマニュアルを見ていて)

  • Occasionally

時々

  • associative array

連想配列

  • Alternatively

あるいは(文頭で)

  • Otherwise

さもなければ(接続詞的な)

  • accidentally

偶然に、ふと