What will happen if try to put in excess data type on mysql

mysql> create table news(
    -> id int auto_increment PRIMARY KEY,
    -> content varchar(10)
    -> );
Query OK, 0 rows affected (0.25 sec)

mysql> insert into news(news) values('テスト');
ERROR 1054 (42S22): Unknown column 'news' in 'field list'
mysql> insert into news(content) values('テスト');
Query OK, 1 row affected (0.04 sec)

mysql> select * from news;
+----+-----------+
| id | content   |
+----+-----------+
|  1 | テスト    |
+----+-----------+
1 row in set (0.00 sec)

mysql> insert into news(content) values('10byte以上を入れてみたいと思う.さてどうなるでしょうか?');
Query OK, 1 row affected, 1 warning (0.10 sec)

mysql> select * from news;
+----+--------------------+
| id | content            |
+----+--------------------+
|  1 | テスト             |
|  2 | 10byte以上を入     |
+----+--------------------+
2 rows in set (0.00 sec)

If I enter an amount that exceeds data type, only the acceptable number of bytes will be in the record.

TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT

TINYTEXT
character type large object column, maximum length is 255(2^8 -1) characters.

TEXT
Character type large object column, maximum length is 65,535(2^16 – 1) characters.

MEDIUMTEXT
Character type large object column, maximum length is 16,777,215(2^24 – 1) characters.

LONGTEXT
Character large object column, maximum length is 4,294,967,295(2^32 – 1) characters.

Let’s get started.

mysql> create table news(
    -> id int,
    -> news mediumtext
    -> );
Query OK, 0 rows affected (0.54 sec)

mysql> describe news;
+-------+------------+------+-----+---------+-------+
| Field | Type       | Null | Key | Default | Extra |
+-------+------------+------+-----+---------+-------+
| id    | int(11)    | YES  |     | NULL    |       |
| news  | mediumtext | YES  |     | NULL    |       |
+-------+------------+------+-----+---------+-------+
2 rows in set (0.03 sec)

すげー、なるほど^^

Processing flow of Code Deploy

The CodeDeploy agent for each instance polls CodeDeploy to decide what to retrieve from when specified Amazon S3 bucket or GitHub repository.

The CodeDeploy agent for each instance gets the target revision from the Amazon S3 bucket or GitHub repository and uses the appspec file procedure to deploy the content to the instance.

書評: KAIZEN JOURNEY 市谷聡啓著

たった1人からはじめて、「越境」するチームをつくるまで

推薦されたので、読了した。
最初、「越境」という意味が、国境を超える、と思っていたのだが、そうではなくて、一歩踏み出す、という意味だ。
本書はソフトウェア開発における悩みやその解決のアプローチ方法を多数提示している。よって、環境や立場は異なるが、各登場人物の心境に共感できることが多く、読み物として楽しめる。俯瞰して読むことで、チーム開発においては、身勝手な行動は一切慎むべきだということが手に取るようにわかる。また、突き詰めると、エンジニアや当事者のスキルセット次第ということもよくわかる。スキルが足りないと、コミュニケーションミスが齟齬が起きやすいように感じた。

Laravel log

storate/logs/laravel.log

[2018-11-17 11:22:12] local.ERROR: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`)) {"exception":"[object] (Illuminate\\Database\\QueryException(code: 42000): SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`)) at /home/vagrant/local/zeus/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664, PDOException(code: 42000): SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes at /home/vagrant/local/zeus/vendor/laravel/framework/src/Illuminate/Database/Connection.php:458)
[stacktrace]

httpd.conf error log

path: /etc/httpd/conf

ErrorLog logs/error_log

Set the log output destination in error_log of php.ini.
When describing the file name, write it with absolute path.

php.ini path

just write php.ini

phpinfo();

which says “/etc/php.ini”

php command: php -i

[vagrant@localhost ~]$ php -i | grep php.ini
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini

php –ini

[vagrant@localhost ~]$ php --ini
Configuration File (php.ini) Path: /etc
Loaded Configuration File:         /etc/php.ini
Scan for additional .ini files in: /etc/php.d
Additional .ini files parsed:      /etc/php.d/20-bz2.ini,
/etc/php.d/20-calendar.ini,
/etc/php.d/20-ctype.ini,
/etc/php.d/20-curl.ini,
/etc/php.d/20-dom.ini,
/etc/php.d/20-exif.ini,
/etc/php.d/20-fileinfo.ini,
/etc/php.d/20-ftp.ini,
/etc/php.d/20-gd.ini,
/etc/php.d/20-gettext.ini,
/etc/php.d/20-iconv.ini,
/etc/php.d/20-intl.ini,
/etc/php.d/20-json.ini,
/etc/php.d/20-mbstring.ini,
/etc/php.d/20-mysqlnd.ini,
/etc/php.d/20-pdo.ini,
/etc/php.d/20-phar.ini,
/etc/php.d/20-simplexml.ini,
/etc/php.d/20-sockets.ini,
/etc/php.d/20-sqlite3.ini,
/etc/php.d/20-tokenizer.ini,
/etc/php.d/20-xml.ini,
/etc/php.d/20-xmlwriter.ini,
/etc/php.d/20-xsl.ini,
/etc/php.d/30-mysqli.ini,
/etc/php.d/30-pdo_mysql.ini,
/etc/php.d/30-pdo_sqlite.ini,
/etc/php.d/30-wddx.ini,
/etc/php.d/30-xmlreader.ini,
/etc/php.d/40-zip.ini

locate php.ini

[vagrant@localhost ~]$ locate php.ini
-bash: locate: コマンドが見つかりません

find

[vagrant@localhost ~]$ sudo find / -name php.ini
/home/vagrant/app/translation/php-docs-samples/appengine/php55/wordpress/files/p     hp.ini
/home/vagrant/app/translation/php-docs-samples/appengine/php55/http/php.ini
/home/vagrant/app/translation/php-docs-samples/appengine/php55/phpmyadmin/php.in     i
/home/vagrant/app/translation/php-docs-samples/appengine/php55/grpc/php.ini
/home/vagrant/app/translation/php-docs-samples/appengine/php72/wordpress/files/p     hp.ini
/home/vagrant/app/translation/php-docs-samples/appengine/php72/trace/php.ini
/home/vagrant/app/translation/php-docs-samples/appengine/php72/errorreporting/ph     p.ini
/home/vagrant/app/translation/php-docs-samples/appengine/php72/grpc/php.ini
/home/vagrant/app/translation/php-docs-samples/appengine/flexible/wordpress/file     s/php.ini
/home/vagrant/app/translation/php-docs-samples/appengine/flexible/memcache/php.i     ni
/etc/php.ini

すげーーーーーーー

Centralized log service configuration settingss

Log type
The logs are not all the same, but the purpose are different depending on the type.
– application log
– accessibility log
– security log
– other

Overall view of log processing
– collect: AmazonS3, Amazon Kinesis, Amazon DynamoDB, Amazon RDS(Aurora)
– process: AWS Lambda, KCL Apps
– analyze: Amazon EMR
– save: Amazon Redshift, Amazon Machine Learning

Logs output from AWS services
Log specific to each environment such as OS and application

VirtualBox(Oracle VM VirtualBox) VBoxManage

VBoxManage Introduction
https://www.virtualbox.org/manual/ch08.html#idm3663

As briefly mentioned in Section 1.17, “Alternative Front-Ends”, VBoxManage is the command-line interface to Oracle VM VirtualBox. With it, you can completely control Oracle VM VirtualBox from the command line of your host operating system. VBoxManage supports all the features that the graphical user interface gives you access to, but it supports a lot more than that. It exposes all the features of the virtualization engine, even those that cannot be accessed from the GUI.

Display a list of virtual machines created by VirutalBox.

VBoxManage list vms

create virtual machine name
specify the virtual machine name to create the VirualBox configuration file.

VBoxManage createvm --name CentOS-6.4-x86_64-minimal

Virtual Machine Settings
Registered the virtual machine, there is nothing set up for the virtual machine, so set up the virtual machine.
In addition to the specifications of the above virtual machines, the clipboard sharing is specified bidirectionally, and the boot order is changed from HDD to DVD to NET here.

VBoxManage modifyvm CentOS-6.4-x86_64-minimal --ostype RedHat_6

Create a virtual hard disk
Create a virtual hard disk with a fixed size. Although you can specify an arbitrary folder with the -filename option, it is created by specifying the folder to save the VirtualBox.

VBoxManage createhd --size 8192 --variant Fixed --filename F:/VirtualBox/CentOS-6.4-x86_64-minimal/CentOS-6.4-x86_64-minimal.vdi

Add storage controller
Add a SATA(Serial ATA) controller to assign virtual hard disk and virutal DVD drive. In addition to sata, ide / sscsi / floppy can be specified. Also, by specifying -bootable on, it is set as a Bootable controller.

$ VBoxManage storagectl CentOS-6.4-x86_64-minimal --name SATA --add sata --sataportcount 5 --bootable on

Assign virtual hard disk
After adding the storage controller, assign the virtual hard disk by specifying the name of the added storage controller.

VBoxManage storageattach CentOS-6.4-x86_64-minimal --storagectl SATA --port 1 --type hdd --medium F:/VirtualBox/CentOS-6.4-x86_64-minimal/CentOS-6.4-x86_64-minimal.vdi

Assign virtual DVD drive
Like the virtual hard disk, assign a virtual DVD drive. The installation media specifies CentOs – 6.4 x86 – 64 minimal .iso.

$ VBoxManage storageattach CentOS-6.4-x86_64-minimal --storagectl SATA --port 2 --type dvddrive --medium I:/ISO/CentOS/CentOS-6.4-x86_64-minimal.iso

Starting a virtual machine
Now that the setting of the virtual machine has been completed, start the virutal machine.

VBoxManage startvm CentOS-6.4-x86_64-minimal