ねこきっくぱんちのメモ帳

ITに関することいろいろめも。たまにアニメ。

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は他のRDBMSSQLにはなく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

to(記述あり)
http://localhost/pjtName/public/welcome

web027 上付き/下付き文字で利用する要素(sup/sub) * ...

上付き/下付き文字で利用する要素(sup/sub) * ...

f:id:neko_kick_panch:20170705003729p:plain

・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フルなリクエストに対して、XMLJSON形式の
データを送受信するための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 スクロールボタン

スクロールボタン

f:id:neko_kick_panch:20170702205202p:plain

■考え方
とある酒屋さんのコンテンツを想定した場合
・画面をローディング時、「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*/

■参考
http://www.webopixel.net/javascript/538.html