git初心者のためのチートシート
gitとは...
ディレクトリレベルでファイルを管理するツールです。 コーディングで変更して細かく保存していけば過去のデータに全て戻れる。 さらにブランチといって複数の形に分岐することも可能。 また、複数の人とディレクトリごと共有して開発できるため チーム開発の効率が非常に上がる優れもの またgithubからディレクトリごと環境をもらうこともできる。 最近では、特に無くてはならない存在。
最初は、わからなくてもコマンドを打って実際に使って見るとわかってくる。 gitを使うのであれば、シェルは、bashではなくzshなどをオススメする。 zshは、gitのブランチの位置や最新のファイルの状態かどうかを教えてくれる。
コマンド
インストール(debian系)
$ sudo apt install git
作業ディレクトリに移動して初期設定 {}の中身は、自分で決める
$ cd testwork $ git init $ git config --global user.name "{user name}" $ git config --global user.email "{user name@mail.addr.com}"
gitの基本
$ git add . $ git commit -m "〇〇"
or
$ git commit -am "xxxx"
'git commit -a'は'add .'と同じ意味
ステータス確認
$ git status
ブランチ確認
$ git branch
ログ確認
$ git log
差分を確認
$ git diff
remote登録
$ git remote add origin {http://xxxx}
push
$ git push origin master
clone作成 {repository url}は自分が欲しいクローンのurlを指定
$ git clone {repository url}
pull
$ git pull origin master
PHP初心者の学習のポイント
PHPの学習のポイントは、他の言語と異なる部分をしっかりと理解すること。 他の言語と異なる部分は、大きく分けて3つ
- 変数は'$'を使って表現
- 連想配列の概念
- foreach()の存在
変数は'$'を使って表現するところ
bashなどのシェルスクリプトの言語触った方なら抵抗は、ないかもだけど シェルスクリプトとは、若干違う。
ex)変数valueに'hello'を入れて出力
value = 'hello' echo $value
$value = 'hello'; echo $value;
一つ言えるのは、やっぱり型の宣言いらないインタプリンタのスクリプト言語は楽ちん。 でも他のスクリプト言語と違って語尾の';'いるから気をつけよう。
連想配列の概念
簡単に言えば、 配列のボックスに名前をつける
$user = [ 'name' => '田中太郎', 'age' => 24, 'gender' => 'male' ]; echo $user['$name']; //結果 田中太郎
他の言語に配列に名前をつけたりなんて珍しい でもなれるといい感じ。
foreach()の存在
foreach()とは
一般的な関数のfor()と
配列を進めるeach()という関数の合体版である。
foreach({配列名} as $key => $value)
$scores = ['数学' => 70, '英語' => 90, '国語' => 80]; foreach($scores as $key => $value){ echo $key.'は'.$value.'点。'; //結果 数学は70点。英語は90点。国語は80点。 }
まとめ
PHPの基本的な記述で他の言語と異なる部分は、このような感じ。 PHPだけできる人はバカにされる。と言われているほどプログラミング言語の中では 簡単な部類に入るらしい。 しかし、web系で非常に便利だしPDOを使えばどんなDBも同じ命令文の記述で扱える非常に有能な言語。この記事がPHPを学ぶモチベーションに繋がれば良いな。
mongodbのインストール
CentOS
CentOsならmongodbの公式サイトを見ながらリポジトリを獲得することをオススメする。 設定ファイルを/etc/yum.repos.d/mongodb-org-3.0.repoを作成して
[monogodb-org-3.0] name=MongoDB Repository baseurl=http://repo.mongodb.org/yum/redhat/$release/mongodb-org/3.0/x86_64/ gpgcheck=0 dnabled=1
インストールコマンドは
$ sudo yum install -y mongodb-org
Debian
Debianだと aptであったので最新版じゃないと思いますが リポジトリとか面倒なので
$ sudo apt install mongodb
これでインストール完了
コマンド
versionを調べる
~~~ $ mongo --version ~~~ mongodbへのアクセス
~~~ $ mongo ~~~
mongodbから去る時は、 Ctrl+dかexit
~~~
exit ~~~
dbの一覧を表示
~~~:mongodb
show dbs; ~~~ 最初は、localというdbが入っている。
※mongoでは、dbに何かのデータを入れた時点でdbになる データの入っていないからのdbは いちいちcreateしなくても useでいきなり入れる
> use testdb
コレクションを作成
> db.createCollection("users");
もう一度dbを見るとdbが作成されている
> show dbs;
mongodbの状態を見たい時
> db.stats();
vagrantの一発でsshの設定
{host_name}は、ホスト名かIPaddress
$ vagrant ssh-config --host {host_ipaddress} >> ~/.ssh/config
終わりです。
初心者ができるvagrantの設定
なぜ仮装環境が流行っているか
- 最近、仮装環境が流行っています。
なぜかというと、ある程度PCのスペックが上がってきて
処理負荷に耐え、速い処理で本物みたいに仮装環境を動かせるので
もはや、仮装環境は本物と同じと言っていいくらいです。
- 仮装環境のメリットとは、
同じ環境の複製を大量に作れる
別の環境で同じ動作ができる環境を瞬時に作ることができます。
環境構築に失敗してもすぐに捨てて一から作れる利便性
本題
vagrantの設定は、まずVagrantの構築ができている人前提で話を進めます。 Vagrantの設定は、全てVagrantfileで設定します。 デフォルトの内容は、コメントアウトだらけです。 有効な内容は、
Vagrant.configure("2") do |config| ~~ config.vm.box="~~" ~~ end
これだけですね。
ここに必要なものを足して(コメント外して)いきます。
HostPCとVagrant間の通信のみを考えている人
config.vm.network "private_network", ip: "192.168.33.10"
という行のはじめの#をとって有効にしてください。
他の端末でvagrantで作ったwebsiteを見たい人は
config.vm.network "public_network"
の行の#をとって有効にしてください。 また、途中で何か聞かれたらwi-fiの1でいいと思います。 なんなら、設定書いた方がいいです。
config.vm.network "public_network", ip "192.168.1.10", bridge "en0: Wi-Fi (AirPort)"
独自のドメインを楽しみたい人
まずプラグインのインストール
$ vagrant plugin install vagrant-hostsupdater
※vagrant-hostupdaterと間違えないでください(自分...)
その後Vagrantfile内(using a specific IP.の下)に
config.vm.hostname = "好きなドメイン"
を追加してください。(私の場合「myraspi.com」)
35 # Create a private network, which allows host-only access to the machine 34 # using a specific IP. 35 config.vm.hostname = "myraspi.com" 36 config.vm.network "private_network", ip: "192.168.33.10"
この後リロード(再起動)
$ vagrant reload
再起動中に何か聞かれる. 番号を聞かれたらpublicの時みたいにwi-fiの選択肢1を選ぶか,設定する
なお、publicかつオリジナルのドメインは、できない... できる方がいたら教えて欲しい...
privateとpublicは、同時に設定もできるが あくまで二つの機能を使えるだけで ホストPCでドメインを使えても 他の端末で使えないのであまり意味がないという結論に至った。
結果として、やりたかったpublic_networkができただけでもいいや。
Mysqlの命令文一覧
userの確認
mysql> select user, host from mysql.user;
※mysqlのDBにログインしている人は、mysql.user→userで
userの権限(grants)の表示(show)
mysql> show grants for 'vagrant'@'localhost'
※vagrantと書いてあるところが一般ユーザ名です。書き換えて使ってください。
userの権限の追加
その前になんの権限が実際必要なのかよくわからないし そのような記事もなかなか見つからない。 そこで基本的な機能を次のリストに挙げた。
権限 | 意味 |
---|---|
CREATE | 表を作成する |
ALTER | 表を更新する |
DROP | 表を削除する |
INSERT | データを追加する |
UPDATE | データを更新する |
DELETE | データを削除する |
そして、次にdumpファイルを作成するときに 必要な権限を表にした。
権限 | 意味 |
---|---|
FILE | SELECT ... INTO OUTFILE と LOAD DATA INFILE の使用を可能にする |
SELECT | SELECT の使用を可能にする |
SHOW VIEW | SHOW CREATE VIEWの使用を可能にする |
LOCK TABLES | SELECT 権限を持つテーブル上の LOCK TABLES の使用を可能にする |
実際の命令文
mysql> grant create,alter,drop,insert,update,delete on *.* to 'vagrant'@'localhost'; mysql> grant file,select,show view, lock tables on *.* to 'vagrant'@'localhost';
userの権限の削除(revoke) example)createの権限の削除
mysql> revoke create on *.* from 'user'@'localhost';
Atomのショートカット
これだけ知っていたら非常に便利で すぐにでもAtomのユーザになりたくなります。 Macユーザ向けのショートカットですが Windowsの方も設定を開いてキーバインドというところを開けば 全て書いてあります。
ショートカット一覧
まずは、基本
ショートカット | 動作 |
---|---|
Cmd + c | コピー |
Cmd + v | 貼り付け |
Cmd + z | 戻る |
Cmd + y | 戻るの取り消し |
Cmd + f | 文字列検索 & 文字列変換 |
Atomの便利なショートカット
カーソルのある行をまとめてコピーペーストしたり削除できます。 以下ではカーソルのある行を行で書きます。
ショートカット | 動作 |
---|---|
Cmd + / | 選択した行全てをコメントアウト |
Shift + Cmd + d | 行のコピー+ペースト |
Shift + Ctrl + k | 行の削除 |
Cmd + Enter | 行から改行(カーソルはどこでもOK) |
Cmd + Shift + Enter | 行の一つ上の行を改行 |
Cmd + d | 選択した単語を一つずつ 検索して足して行く |
裏技っぽい業でマルチカーソルというものがあります!
ショートカット | 動作 |
---|---|
Cmd + 左クリック | マルチカーソル |
ESC or 左クリック | キャンセル |
これは、本当にオススメ
複数の場所を選択して同時に編集できる
Atom側の表示などのショートカット
ショートカット | 動作 |
---|---|
Cmd + alt + \ | ファイルツリーの表示,非表示 |
Cmd + , | 設定ファイルの表示,非表示 |
Cmd + Shift + p | コマンド検索の表示,非表示 |
Cmd + t | ファイル検索の表示,非表示 |
終わりに
これらは、全てデフォルトでできます。 基本的に標準で予測変換もついてるのでtabキーでコーディング保管してくれます。
これらを使用すれば、コーディングが非常に速くなります。 Atomは、プラグインが豊富なので、もっと便利なものも見つかると思います。
ショートカットなどは覚えるのが大変かもしれませんが 非常に便利で無駄がないです。 これがAtomが人気な証拠なんだと思います。