MySQL001 コマンド1
mysql コマンド
■事前に環境変数へ設定
cd /Users/userName
vi .bash_profile
i //insert
export PATH=$PATH:/Applications/MAMP/Library/bin
source .bash_profile
echo $path //追加を確認
■ユーザ作成
・ログイン
mysql -u root -p
mysql -u root -proot
mysql db1 -u root -p
・ユーザ作成
create user kaname identified by ‘madoka’;
※’の文字化けに注意
・権限付与
grant all on *.* to madoka;
全権限付与
・ユーザ削除
drop user madoka;
■chap4
・DB作成
create database db1;
・DB一覧表示
show databases;
・利用するDBの切り替え
use db1;
・現在使っているDBの確認
select database();
・テーブル作成
create table tb1 (num varchar(10), name varchar(10), age int);
create table tb1 (num varchar(10), name varchar(10), age int) charset=cp932;
・テーブル表示
show tables;
・文字コードのデフォルト設定確認
show variables like "chara%";
・他のDBへアクセス
select * from db2.table;
※useでDB未洗濯の状態でも実行可
・テーブルのカラム構造表示 Describe:述べる
desc tb1;
・データ挿入
insert into tb1 values('emp001','鹿目',14);
※指定の文字数を超えてもエラーが出ずに消えるため注意
insert into tb1 values('emp004','美樹',14),('emp005','佐倉',12);
・データ確認
select * from db1;
select num, name from tb1;
※カラム間にカンマが必要
・テーブルのコピー
create table tb1A select * from tb1;
※フィールドデータもコピーされる。
・xxx.sqlファイルの実行
source xxx.sql
・->
- >は「コマンドが完結していない」ことを意味する。
続けて入力するか、;で実行する。
■用語
・デリミタ(delimiter) 区切り文字の意味
・int フィールドのデータ型。整数を保管。
・varchar フィールドのデータ型。文字データを保管。
■注意
・今利用しているDBが何か?を常に意識すること。
・showは他のRDBMSのSQLにはなくMySQL特有のコマンド
■参考
本:基礎からのMySQL
Git001 git branch
主にbranchコマンドを記載
■git branch
・ローカルブランチの一覧表示
git branch
・リモートブランチの一覧表示
git branch -r
・ローカル/リモート全てのブランチを一覧表示
git branch -a
・新しいリモートブランチを自分のローカルに持ってくる
git branch new-branch origin/new-branch
・ローカルにリポジトリをpullして且つcheckoutする。
git checkout -b new-branch origin/new-branch
・現在いるブランチにマージされる ★注意
git pull origin new-branch:new-branch
※pull = fetch + merge
■参考記事
>さるぎっと
http://www.backlog.jp/git-guide/reference/
>リモートブランチをローカルへ持ってくる際の注意
http://blog.inouetakuya.info/entry/20120826/1345979787
>git branch
http://qiita.com/chihiro/items/e178e45a7fd5a2fb4599
SSH公開鍵認証の設定でやること
RSA
鍵の生成から配置、ログインまで
■だいたいのやること
・鍵の生成
・鍵がセットになってるか確認
・鍵を配置
・サーバ側でrsa公開鍵認証を有効にする(無効の場合)
・鍵のパーミッション設定
・config設定でsshログインの簡素化(必要に応じ)
■参考
http://qiita.com/HamaTech/items/21bb9761f326c4d4aa65
https://webkaru.net/linux/ssh-keygen-command/
http://blog.dacelo.info/linux/entry-948.html
FuelPHP002 Apacheモジュール「mod_rewrite」機能
Apacheモジュール「mod_rewrite」機能
■意図
検索エンジン対策などを考慮した場合、動的に生成されたページとわかるURLだと望ましくない場合があるため、対象機能でURL読み替えを行う。
※oil createでpjt作成した場合は、デフォルトで記載済み。
■ファイル格納場所
XAMPPの初期値の場合
htdocs/ pjtName/ public
.htaccess
■記述箇所
RewriteEngin on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
■結果
from(記述なし)
http://localhost/pjtName/public/index.php/welcome
web027 上付き/下付き文字で利用する要素(sup/sub) * ...
上付き/下付き文字で利用する要素(sup/sub) * ...
・supタグはsuperscriptの略で、上付き文字を表す際に使用します。
・下付き文字はsub(subscription)を利用する。
html
<p>必須項目の印<sup style="color: red;">*</sup></p>
■参考
<sup>-HTML5タグリファレンス
上付き文字を表すsup要素>テキストに意味を持たせる正しいXHTMLタグ(10/20) − @IT
FuelPHP001 FuelPHPの概要
FuelPHPの概要
■コントローラ-----------------------------
・コントローラは「class」として実装する。
・コントローラクラス内のメソッドを「アクション」と呼ぶ。
・コントローラの役割はおおきく3つある。
1.通常
Controllerクラスを拡張して作成する。
2.テンプレートコントローラ
Controller_Templateを拡張して作成する。
3.REST
WebAPIとしてRESTフルなリクエストに対して、XMLやJSON形式の
データを送受信するためのController_Restをを拡張するRESTコントローラ。
※REST
REST(REpresentational State Transfer)は、Webサービスの設計モデルです。
RESTなWebサービスは、そのサービスのURIに
HTTPメソッドでアクセスすることでデータの送受信を行います。
■URLセグメントとルーティング
FuelPHPでは、URLを元に、どのコントローラを呼び出すかを決めている。
例)
http://www.sample.com/index.php/sgm1/sgm2/sgm3/...
sgm1:という名前のコントローラを探す。
sgm2:アクション名と解釈される。
■View-----------------------------
・HTMLを記述したファイル。
・fuel/app/views/ここ に格納。
■Model-----------------------------
・コントローラおよびViewModelから呼び出すことも可能。
・実装はいずれかの種類がある。
1.Modelクラスを拡張
実際にはプロパティやメソッドが全く定義されていないクラス。
DB問合せはDBクラスを使うなどをして、クエリ生成するコードを、
モデル内に直接記述することになる。
2.Model_Crudクラスを拡張
あらかじめCRUD用のメソッドが用意されているクラス。
3.\Orm\Modelクラスを拡張
\Orm\Modelクラスは、ORMパッケージで提供されるクラス。
DBのテーブル間のリレーションをあらかじめクラス内に設定することで、
関連テーブルのデータを同時に取得/変更できる。
■参考
本:FuelPHP入門
REST:http://qiita.com/TakahiRoyte/items/949f4e88caecb02119aa
jQuery008 スクロールボタン
スクロールボタン
■考え方
とある酒屋さんのコンテンツを想定した場合
・画面をローディング時、「offsetメソッドで高さを取得」し変数へ入れる。
・クリックイベント時、animate({scrollTop: topOffset }で、取得した高さまで移動する。
※注意として、readyやloadで全て読み込み完了後でもうまく高さが取得できない(値の取得はできているが変数に異なる値がはいってしまう)ため、高さ指定(height)を明示的に指定する必要がある(ように見える)。
■コード
script.js
$(window).on('load',function(){ //menuの表示・非表示のタイミング $('.mobile-menu').on('click touchstart',function(){ if ( $('.mobile-menu-list').css('display')=='none'){ $('.mobile-menu-list:not(:animated)').fadeIn('slow'); } else { $('.mobile-menu-list:not(:animated)').fadeOut('slow'); } }); //初期準備 var mobileMenuBtn = $('#mobile-menu'); var mobileMenuListBtn = $('#mobile-menu-list'); var topBtn =$('#top-btn'); var sakeBtn =$('#sake-btn'); var kuramotoBtn =$('#kuramoto-btn'); var accessBtn =$('#access-btn'); var topOffset = $('#top').get( 0 ).offsetTop; var sakeOffset = $('#sake').get( 0 ).offsetTop; var kuramotoOffset = $('#kuramoto').get( 0 ).offsetTop; var accessOffset = $('#access').get( 0 ).offsetTop; console.log('#topの取得位置:'+topOffset); console.log('#sakeの取得位置:'+sakeOffset); console.log('#kuramotoの取得位置:'+kuramotoOffset); console.log('#accessの取得位置:'+accessOffset); //.get( 0 ).offsetTop; //.offset().top; //トップへ戻るボタンの表示・非表示タイミング //mobileMenuBtn.hide(); $(window).scroll(function () { if ($(this).scrollTop() > sakeOffset) { mobileMenuBtn.fadeIn(); } else { mobileMenuBtn.fadeOut(); mobileMenuListBtn.fadeOut(); } }); //スクロールしてトップへ移動。移動スピードと停止位置の調整。 topBtn.click(function () { $('body,html').animate({scrollTop: topOffset }, 500); $('.mobile-menu-list').css('display','none'); return false; }); //.sakeコンテンツへ移動 sakeBtn.click(function () { $('body,html').animate({scrollTop: sakeOffset}, 500); $('.mobile-menu-list').css('display','none'); return false; }); //.kuramotoコンテンツへ移動 kuramotoBtn.click(function () { $('body,html').animate({scrollTop: kuramotoOffset}, 500); $('.mobile-menu-list').css('display','none'); console.log('#kuramotoの移動位置:'+kuramotoOffset); return false; }); //.accessコンテンツへ移動 accessBtn.click(function () { $('body,html').animate({scrollTop: accessOffset}, 500); $('.mobile-menu-list').css('display','none'); return false; }); });/*onload*/