ブログタイトル募集中の新人SE記

ネットの片隅で非力を嘆く

DB周りのメモ(mysql)

DB設定

mysqlに接続

  • 接続
$ mysql -u <UserName> -p
  • 'Enter password:'と聞かれるのでパスワードを入力する
Enter password: <Password>
  • 切断
mysql> quit;

ユーザ

  • ユーザの確認
mysql> select User,Host from mysql.user;
+---------+-----------+
| User    | Host      |
+---------+-----------+
| root    | 127.0.0.1 |
| root    | ::1       |
| root    | localhost |
+---------+-----------+
3 rows in set (0.00 sec)
  • ユーザ作成 ホスト名を省略すると'<ユーザ名>'@''%(ワイルドカード)'と記述したものとして扱われる
mysql> create user '<UserName>'@'<HostName>' identified by '<Password>';
  • ユーザの削除 間違えたコマンドで不要なユーザが大量生産されたので削除しましたw
mysql> drop user '<UserName>'@'<HostName>';
  • 権限付与
GRANT <操作名> ON <データベース名>.<テーブル名>TO <ユーザ名>@<ホスト名> IDENTIFIED BY '<パスワード>';

データベース

  • データベースの確認
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
  • データベース作成
mysql> create database <DatabaseName>;
  • 操作するデータベースを選択
mysql> use <DatabaseName>;

テーブル

  • テーブルの確認
mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
=============================
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
28 rows in set (0.00 sec)

マイグレーション

$ php artisan make:migration <マイグレーションファイル名> --create=<作成したいテーブル名>
<?php
 
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
 
class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     * テーブル作成の手続きを記述
     * 
     * @return void
     */
    public function up()
    {
        Schema::create('<作成したいテーブル名>', function (Blueprint $table) {
            //下記に作成したいカラムを記述
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }
 
    /**
     * Reverse the migrations.
     * upメソッドの内容を元に戻す手続きを記述
     * 
     * @return void
     */
    public function down()
    {
        Schema::drop('<作成したいテーブル名>');
    }
}
$ php artisan migrate

シーダー

  • db:seedコマンドで実行されるdatabase/seeds/DatabaseSeeder.phpを編集
<?php
 
use Illuminate\Database\Seeder;
 
class DatabaseSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        //テーブルごとのSeederクラスをcallメソッドで呼ぶ
        $this->call(UsersTableSeeder::class);
    }
}
  • 各テーブルごとのシーダーファイル作成
$ php make:seeder <シーダーファイル名>
  • 作成されたシーダーファイル内のrunメソッドにデータ挿入処理を記述
<?php
 
use Illuminate\Database\Seeder;
 
class UsersTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        //データクリア
        DB::table('users')->delete();
        //データ挿入処理
        $users = [];
        for($i  = 1; $i <= 20; $i++){
            $users[] = [
                'name' => '名前'.$i,
                'email' => 'mail'.$i.'@email.com',
                'password' => 'pass'.$i
            ];
        }
        foreach($users as $user){
            DB::table('users')->insert($user);
        }
    }
}
  • シーダーの実行
$ php artisan db:seed
Seeded: UsersTableSeeder
  • なにしても動かなかったから下記コマンド実行したら動いためも
$ composer dump-autoload

vagrantを使った仮想環境で新規laravelプロジェクトを作成、Gitの設定までしてみた(Windows)

はじめに

やりたいこと

  • 仮想環境の構築
  • laravelを使った新規プロジェクト作成
  • GitHubでプロジェクトを管理

実行環境

事前準備

仮想環境の構築

vagrantの導入(ホスト側)

  • ディレクトリを作成、そのディレクトリに移動
> mkdir .\Users\<ユーザ名>\vagrant\Develop
> cd .\Users\<ユーザ名>\vagrant\Develop
  • vagrantBoxを追加
> vagrant box add <Box名> <Boxのurl>
  • Boxの確認
> vagrant box list
  • 追加したvagrantBoxを使ってVagrantfileを生成
> vagrant init develop
  • ホストを自動で追加削除してくれるプラグインをインストール
> vagrant plugin install vagrant-hostsupdater
# -*- mode: ruby -*-
# vi: set ft=ruby :
 
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
 
Vagrant.configure(2) do |config|
  config.vm.box = "develop" //ここは自動で書かれていたものを残す
  config.vm.hostname = "develop"
  config.vm.network "private_network", ip: "192.168.33.10"
  config.hostsupdater.aliases = ["develop","develop"]
  config.vm.synced_folder ".", "/vagrant", mount_options: ['dmode=777','fmode=777']
end
  • 起動
> vagrant up

マウントに失敗するときは下記のプラグインをインストール

> vagrant plugin install vagrant-vbguest

TeraTermssh接続

  • vagrant up ので表示されるホストとポート番号を使う
  • ユーザ名/パスワード

nginxの設定(ゲスト側)

  • ディレクトリ移動
$ cd /etc/nginx/conf.d/
  • confファイル作成
$ sudo vi <Vagrantfileに記載したバーチャルホスト名>.conf
  • 下記に書き換えて編集
server {
    # listenするポート番号を記述する
    listen       80;
    # バーチャルホスト名を記述する
    server_name  <Vagrantfileに記載したバーチャルホスト名>;
    # ドキュメントパスを記述する
    root /vagrant/<任意のディレクトリ名>/public;
    # デフォルト要求ファイル名を記述する
    index index.php;

    # 末尾が.phpの要求を対象とする設定
    location ~* \.php$ {
        # /usr/local/php7/etc/php-fpm.d/www.confに設定しているIPとポートを指定する
        # (例)listen = 127.0.0.1:9000
        fastcgi_pass 127.0.0.1:9000;

        # FastCGIサーバは自動index付与をサポートしていない
        # その為、Nginx側が末尾が"/"だった場合fastcgi_indexの値を末尾に付与する
        fastcgi_index  index.php;

        # PHP-FPMに渡されるドキュメントパス
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

        # その他のFastCGI関連の設定は以下に追加
        include         fastcgi_params;
    }

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
}

laravelで新規プロジェクト作成

composerのインストール

  • composerをインストール
$ curl -sS https://getcomposer.org/installer | php
  • composerを移動
$ sudo mv composer.phar /usr/local/bin/composer

laravelプロジェクトをインストール

composer create-project laravel/laravel --prefer-dist <任意のプロジェクト名>

GitHubでプロジェクト管理

gitの設定

github側でリポジトリ作成

  • ■のところに任意のリポジトリ名をいれて「Create repository」をクリック f:id:SH000N:20160320234336p:plain

ゲスト側でgitの設定

$ echo "# develop" >> README.md
  • .git作成
$ git init
  • gitの設定
$ git config --global user.name "<ユーザ名>"
$ git config --global user.email "<メールアドレス>"
  • gitコマンドの表示に色を付ける設定
$ git config --global color.ui auto
  • コミットファイルにreadme.mdを追加
$ git add readme.md
  • laravelもデフォルトファイルも全部コミットファイルに追加
$ git add <必死に全ファイル>

(ぜっったいにもっといい手法あります) - 変更内容をコミット

$ git commit -m "first commit"
$ git remote add origin https://github.com/<チーム名>/<リポジトリ名>.git
  • コミット履歴をリモートにプッシュ
$ git push -u origin master

最後に

  • できた
  • よろしくない手順とか設定不足とかあります(気づいてないが絶対・・・)

とりあえずコマンド一覧

構築

ディレクトリを作成する - ルートディレクトリに移動

> cd /
  • ディレクトリ作成
> mkdir User/<user name>/vagrant/<プロジェクト名>
  • 作成したディレクトリに移動
> cd User/<user name>/vagrant/<プロジェクト名>
  • vagrantBox追加
> vagrant add <Box名> <Boxまでのパス>
  • VagrantFileの作成
> vagrant init <Box名>
> vagrant up
$ sudo git clone <GitHubのプロジェクト(httpsかssh)>
  • composerをインストール
$ sudo curl -sS https://getcomposer.org/installer | php
  • composerを移動
$ sudo mv composer.phar /usr/local/bin/composer
  • composerコマンドでlaravelプロジェクト作成
composer create-project laravel/laravel --prefer-dist <プロジェクト名>

memo

vagrant -v
  • vagrantBoxの確認
vagrant box list

環境構築(の準備)

今回の目的

  • 環境構築する前に必要なものを列挙してみる
  • 自分が使っているもの(またはおすすめのみ)書いてませう

VirtualBox

Vagrant

VagrantBox

  • VagrantBox
    • 今回は大先輩から頂いた神Boxを使わせていただきますorz

Gitアカウント

IDE

ssh接続(windowsの場合)

足りないものは随時更新(予定)

SSHの公開鍵を作成してGitHubに登録してみる

はじめに

今回の目的

  • GitへのSSH接続を簡単に
    • PUSHするときにいちいちパスワード入力しなくて済む

実行環境

  • CentOS7

事前準備

  • Gitアカウント

SSH認証の公開鍵と秘密鍵を作成

すでに作成されていないか確認

  • SSH鍵が作成されるディレクトリ(~/.ssh)に移動
$ cd ~/.ssh
$ ls
  • 下記のファイルが存在していた場合はすでに作成済み
id_rsa      id_rsa.pub

ちなみに「.pub」のファイルが公開鍵

秘密鍵と公開鍵を作成する

  • 下記コマンドを実行
// "your_email@example.com"はご自身のメールアドレスに変更
$ ssh-keygen -t rsa -C "your_email@example.com"
  • 以下の3つの入力が求められるがすべてEnterでおk
// 鍵ファイルを保存する場所
Enter file in which to save the key (/home/vagrant/.ssh/id_rsa):
// パスフレーズ
Enter passphrase (empty for no passphrase):
// パスフレーズ(確認)
Enter same passphrase again:

作成できているか確認

  • 下記コマンドを実行
$ ls ~/.ssh
  • 以下のファイルが作成されていれば成功
id_rsa      id_rsa.pub

ちなみに「.pub」のファイルが公開鍵

公開鍵をGitに登録する

公開鍵の内容をコピー

$ clip < ~/.ssh/id_rsa.pub
$ pbcopy < ~/.ssh/id_rsa.pub
  • 何かしらのエディタで開いてコピー(例:vim)
$ vim id_rsa.pub

いざ登録

f:id:SH000N:20151219011252p:plain

  • Gitにアクセスし、画面右上の「上記画像①」をクリック
  • 開かれたメニューウインドウで「上記画像②」をクリック

f:id:SH000N:20151219011301p:plain

  • 「上記画像①」のSSH Keysをクリック
  • 「上記画像②」のAdd SSH keyをクリック
  • 「上記画像③」に自分でわかるようにタイトルを入力
  • 「上記画像④」に先ほどコピーした公開鍵を貼り付け
  • 「上記画像」に映ってないですが下にあるAdd keyをクリックして登録

試しに接続してみる

  • 下記コマンドを実行
$ ssh -T git@github.com
  • 以下の表示がされたら一旦深呼吸、からの yes
The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
  • 接続に成功すると以下の表示になります
Hi <username>! You've successfully authenticated, but GitHub does not
provide shell access.

さいごに

  • これでpushやらpullやらが楽ちんに!!
  • なにか訂正やもっと簡単な方法あればご指導願いますorz

では(・ω・)ノ

黒い画面でGitインストールからクローンまでやってみたの巻

はじめに

  • やること
    • Gitのインストール
    • Gitアカウントを設定
    • リモートリポジトリをローカルに複製

今回の目的

  • Gitの使い方に慣れるための準備
  • 黒い画面()に少しでも慣れる

実行環境

  • CentOS7

事前準備

インストール

Gitをインストール

  • 下記コマンドを実行
$ sudo yum install git
  • インストールが完了したら
$ git --version
  • Gitのバージョンが表示されれば成功
git version 1.8.3.1

Gitの設定

Gitアカウントを設定

  • 事前に登録してあるアカウント情報を登録する
    • ユーザ名
$ git config --global user.name "<ユーザ名>"
  • メールアドレス
$ git config --global user.email "<メールアドレス>"

既存リポジトリを自分の環境に複製

$ cd <リポジトリを複製したいディレクトリ>
$ git clone <複製したいリポジトリのURL>
  • 確認
$ ls 

複製したいリポジトリのファイルが表示されていれば成功

さいごに

  • Gitのインストール→アカウント設定→リモートリポジトリの複製 はこれで完了
  • 足りてないことがある気がするので追記します

アクセス解析をしてみたい!~Google Analytics 調べてみた~

今回の目標

Google Analyticsとは

  • 読み方
    • グーグルアナリティクス
  • 何者?

だそうです。

Google Analyticsで出来ること

  • 分析ツール
    • 様々なレポートを作成できる
  • コンテンツの分析
    • 人気のページなどが分析できる
  • ソーシャル解析
    • FaceBookのいいねなどの効果を解析できる
  • モバイルアクセス解析
    • モバイルからのアクセスを解析できる
  • コンバージョン解析
    • 関心の高いユーザの数や売り上げ、サイトでのユーザの行動などを解析できる
  • 広告の分析
    • 広告掲載の成果を総体的に把握することができる

と、いろいろできるみたいです(読んで察したと思いますがほとんど理解できていない)

まとめ(挫折)

そう。Googleアカウントあれば誰でも使えるんです! ということで

次回の目標

  • Google Analyticsを使えるように設定
    • あわゆくば少し動かしてみたい

導入の参考にこの記事いかが?といった神様的ささやきお待ちしております(・ω・)ノ