/// BANGBOO BLOG ///

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

March 11, 2010

MySQL DB Database

Ora Ora Ora Ora Oraの続きは、MySQLで。

■インデックス
カーディナリティ度が低いとは、カラムの値の種類がレコード数に比べて少ないことをあらわす。性別や血液型など
カーディナリティ度が高いとは、カラムの値の種類がレコード数に比べて多いことをあらわす。身長や体重など

インデックスの付け方 カーディナリティ(一意な値の個数)が高いものに付ける
create index index_name on table(column);
show index from テーブル名;
インデックスを使用して検索しているかの確認
explain select * from table where インデックスを持つカラム名="値";

■トランザクション
InnoDBのときトランザクション可能、Commitしない場合Rollbackされる
$query = 'START TRANSACTION';
$result = mysql_query ($query);

$query = 'INSERT INTO test_rollback (stock_no) VALUE ('あ')';
$result = mysql_query ($query);

$query = 'COMMIT';
//$result = mysql_query ($query);

■ユニオン
--Viewを作るか、Mergeテーブルを作るか
create view viewX(varx,vary,varz)
as
SELECT * FROM table1
union
select * FROM table2

CREATE TABLE total (
 a INT NOT NULL AUTO_INCREMENT,
 message CHAR(20), KEY(a)
)TYPE=MERGE UNION=(t1,t2) INSERT_METHOD=LAST;

■月間、日付について
月間のSQL betweenの方が処理は早い
reg_date >= '2010-02-01' AND reg_date < '2010-3-01'
reg_date between 2010-02-01 and 2010-02-28 23:59:59
→これだと59から00の1秒が抜ける?

reg_dateがdate型であれば
between reg_data '2010-02-01' and '2010-02-28'で十分

datetime型なら
between reg_data '2010-02-01 00:00:00' and '2010-02-28 23:59:59'で十分

MySQLの最適化
http://slashdot.jp/journal.pl?op=display&uid=4&id=26710
http://txqz.net/blog/2006/12/13/0943

Posted by funa : 12:25 AM | Web | Comment (0) | Trackback (0)


March 9, 2010

REGEXP

MySQLのLIKE文による抽出で期待通りの検索結果を出してくれなかった。
「絵コンテ」でヒットするのに「コンテ」ではヒットしなかった。

(原因)
MySQL4.0以下では日本語は単なるバイナリ列と同程度の扱いだった。MySQL4.1以上では正式に多言語に対応したようである。EUC-JPでも問題が出にくいみたいだ。

1)LIKEで検索したいフィールドに「BINARY」を付加する
 SELECT a FROM b LIKE BINARY 'ABC';
2)CREATE TABLE 時に varchar(255) BINARY と指定しておく

(簡単な回避方法)
3)バイナリが嫌ならLIKEの代わりにREGEXPを使う。これがオススメ
 SELECT a FROM b WHERE target LIKE '%~%'
 ではなくて、
 SELECT a FROM b WHERE target REGEXP '~'

他には文字コードを明記しておいた方がよいかも
CREATE TABLE `tablename` (
`id` int(11) NOT NULL auto_increment,
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Posted by funa : 05:02 AM | Web | Comment (0) | Trackback (0)


March 1, 2010

CSS Selectors

■* 全称セレクタ
すべての要素
h3 * em { color: red }

■ 子孫セレクタ
孫やそれ以下の要素に対しても有効
h1 em { color: blue }

<h1>携帯電話、<i>特に<em>i-mode</em></i>の爆発的な普及について</h1>
em要素 は青く表示、樹構造内で h1要素 に入れ子になっている em要素 はすべて対象

■> 子セレクタ
ある要素の直接の子供要素だけ
body > p { line-height: 1.3pt }
<body>
<ul>
  <li>
    <p>適用外</p>
  </li>
</ul>
<p>適用</p>
</body>

■+ 隣接セレクタ
兄弟関係の要素、ある要素より前に登場する要素を兄要素、後に登場する要素を弟要素
p + div { margin-top: 0.7em }

<p>段落です。</p>
<div>レイアウトコンテナです。</div>
<div>二つ目のレイアウトコンテナです。</div>
この宣言が適用されるのは、一つ目のdiv要素だけ

■[] 属性セレクタ
そこに書かれた属性を持つ要素にマッチします
p[class] { margin-top: 0.7em }
<p class="tomato>
class属性 がある p要素 にマッチします(この場合class属性値は何でも良い)。

img[align=left] { margin-left: 3em }
align属性 の値が left の img要素 にマッチ

table[class~=favorite] { margin: 0em 3em }
<table class="favorite second under">
class属性値の一覧にfavoriteという値を含むtable要素

span[lang|=en] { font-style: italic }
ハイフン(-)で区切られた属性値のリストに対応したセレクタです
<span lang="en-US">アメリカ英語</span>
<span lang="fr, en">フランス語のような英語のような。</span>

■, セレクタのグループ化
同じ宣言を持つ複数のセレクタをグループ化したもの
h1, h2, h3 { font-family: sans-serif }

■: フィルタ セレクタの状態を表す
:ルート要素とは最上位階層に位置する要素のことで、HTML文書では全体をマークアップしている がルート要素
:root p { color:#FF0000; }

:not(~)は、指定した条件と一致しない要素にスタイルシートを適用するためのセレクタだ
html:not(:target)
html:not(:only-child:only-child) p { color:#FF0000; }
html:not([lang*=""]) p { color:#FF0000; }

:first-child その要素内の初めの子のみ
:last-child その要素内の最後の子のみ
:nth-child() 任意の数字番目の子、oddなら奇数、evenなら偶数番目など
:nth-last-child()

:before その要素の前に何かを追加する
:after その要素の後ろに何かを追加する

.clearfix:after{
content:".";
display:block;
height:0;
clear:both;
visibility:hidden;
} /*IE7以外のモダンブラウザ向け*/

■. クラスセレクタ
class属性の値がwarningであるdiv要素にマッチ
DIV.warning { color:#FF0000; }

■# IDセレクタ
一意(ID型)属性の値がmyidであるp要素にマッチ
p#myid { color:#FF0000; }

Posted by funa : 01:29 AM | Web | Comment (0) | Trackback (0)


November 27, 2009

Fundamentals

-無理が通れば道理が引っ込む
-すべて国民は、法の下に平等であって、人種、信条、性別、社会的身分又は門地により、政治的、経済的又は社会的関係において、差別されない
-柔能く剛を制す
-ヒポクラテスの誓い

-推定有罪 うっとおしきは罰するプププ←今ココwww

-科学
-パレートの法則、しかし神は細部に宿る
-悪貨は良貨を駆逐する
-マズローの欲求段階説

-自由こそ正義
-アイデア
-Get things done with speed!!
-モダン⇔ポストモダン→ニヒリズム

Posted by funa : 10:38 PM | Column | Comment (0) | Trackback (0)


November 16, 2009

Ora Ora Ora Ora Ora

忘れ易いルール、お触り。無駄無駄無駄無駄無駄無駄ッ

■DML
null値はもっとも大きな値
集計関数はNULLを無視する
文字列は'で囲む
取得したいカラムは集計関数に使われるカラムを除いて全てGroupBy句に入れる(複数指定すると複数行の組合せになり思うように集計できない場合がある)
集計関数の条件はhaving句を使用する(where句は元のデータに対するもの)、having句には集計関数が入る
SQLワイルドカード:複数文字%,1文字_
WINワイルドカード:複数文字*,1文字?
エスケープ文字はescape句で設定。like句の後ろにつく。escape '\'
日付と文字列の変換が必要To_char関数とTo_date関数を使用する
to_char(column,'yyyy/mm/dd hh24:mi:ss')
to_date('2009/02/21','yyyy/mm/dd')
横幅を大きくするset line 150
縦を大きくするset pages 30
unionはdistinctが掛かる、全取得はunion all
inner join onは両方のテーブルにあるものだけ、どちらかだけにあるのは無くなるイメージ
left outer join onは左側のテーブルにしかないものも表示、左に右の該当部をくっつけるイメージ
right outer join onは右側のテーブルにしかないものも表示、右に左の該当部をくっつけるイメージ
full outer join onは全ての行を表示

trancateは高速だがロールバックできない,deleteはロールバックできる

■テーブル結合4種
1対1、1対多の結合を行う
1対多でも行数が増えるが、多対多は全組合せになり行数が比例関数的に増えてしまう
多対多になるのはテーブル設計が悪いのでは?
1)inner join - on () 両方あるものを表示、欠けがでる
2)left outer join - on () どちらかは欠けがなく表示
3)right outer join - on ()  どちらかは欠けがなく表示
4)full outer join - on ()  欠けがなく表示

select URIID,NAME,UKYAKUID from URIAGE left outer join TORIHIKI
 on (URIAGE.UKYAKUID = TORIHIKI.ID)
select URIID,NAME,UKYAKUID from TORIHIKI right outer join URIAGE
 on (URIAGE.UKYAKUID = TORIHIKI.ID)
select URIID,NAME,UKYAKUID from TORIHIKI full outer join URIAGE
 on (URIAGE.UKYAKUID = TORIHIKI.ID)
select 伝票番号,行番号,処理日,商品名,担当者名,顧客名,数量 from 売上データ
 left outer join 商品マスタ on 売上データ.商品ID = 商品マスタ.商品ID
 left outer join 担当者マスタ on 売上データ.担当者ID = 担当者マスタ.担当者ID
 left outer join 顧客マスタ on 売上データ.顧客ID = 顧客マスタ.顧客ID
 order by 伝票番号,行番号

■多対多、1対多の行数
社員と職域、社員と手当、それぞれ結合しても多の行数(1x多)になる
多x多の行数になる、多対多の結合は行わないこと
-- データ挿入:社員
INSERT INTO employee (no,name) VALUES (1, '田中');
INSERT INTO employee (no,name) VALUES (2, '鈴木');
INSERT INTO employee (no,name) VALUES (3, '佐藤');
-- データ挿入:職域
INSERT INTO joblevel (no,res) VALUES (1, '部長');
INSERT INTO joblevel (no,res) VALUES (1, '課長');
INSERT INTO joblevel (no,res) VALUES (2, '平');
-- データ挿入:手当
INSERT INTO compensation (no,allow) VALUES (1, '住宅');
INSERT INTO compensation (no,allow) VALUES (1, '交通');
INSERT INTO compensation (no,allow) VALUES (2, '住宅');
-- 1対多
select * from EMPLOYEE
 inner join JOBLEVEL on EMPLOYEE.ID = JOBLEVEL.ID
-- 多対多
select * from EMPLOYEE
 inner join JOBLEVEL on EMPLOYEE.ID = JOBLEVEL.ID
 inner join COMPENSATION on EMPLOYEE.ID = COMPENSATION.ID

■テーブル設計、制約
CONSTRAINT pk_uriage PRIMARY KEY (伝票番号, 行番号),
CONSTRAINT fk_shohin FOREIGN KEY (商品ID) REFERENCES 商品マスタ(商品ID)
CONSTRAINT ck_gender CHECK (性別=0 OR 性別=1)
制約は列に指定しても、うしろで指定してもどちらでもよい
CONSTRAINTのキー名を省略するとオラクルが勝手につける
主キーにはNULLは入らない
ユニークキーにはNULLを入れてもよい
NOT NULLの未入力はエラー

■シーケンス
シーケンスはオブジェクトとして表とは別に作成する
デクリメントはできないので修正はDROPして作成し直す
DUALはダミー表
nextvalはインクリした後の値
currvalは現在地
create sequence testseq
select testseq.nextval from dual
select testseq.currval from dual
insert into URIAGE (URIID,URIDATE,UKYAKUID) values (testseq.nextval,'09-11-16','101')
drop sequence testseq

■ビュー
頻繁に行われるような問い合わせをスキーマに格納しておく
集約等をしなければパフォーマンスには問題がない。次を使うとパフォーマンスが落ちる。OLAP 関数(RANK, DENSE_RANK, ROW_NUMBER 等)、集約関数(AVG, COUNT, SUM, MIN, MAX)、集合演算子( UNION, INTERSECT, EXCEPT 等 )
ビューは検索だけでなく、データの追加、更新、削除も行える※使用しない方が良い?
create view 売上ビュー as
 select 伝票番号,行番号,処理日,商品名,担当者名,顧客名,数量 from 売上データ
 left outer join 商品マスタ on 売上データ.商品ID = 商品マスタ.商品ID
 left outer join 担当者マスタ on 売上データ.担当者ID = 担当者マスタ.担当者ID
 left outer join 顧客マスタ on 売上データ.顧客ID = 顧客マスタ.顧客ID
 order by 伝票番号,行番号
select * from 売上ビュー

■要件定義/外部設計/内部設計
http://www3.alpha-net.ne.jp/users/design1/takeda/SystemDesign/SystemDesign.htm

■インデックス
1)インデックスが効かない
関数 where datediff(now(),mod_date)>180
式 where col1 / 2 = 0
否定構文 where col1 != 3
Like検索(前方一致除く) where col1 like '%string%'とかwhere col1 like '%string'とか
2)複合インデックスでは指定順が重要
index a
 create index idxA1 on tbl (col1);
 create index idxA2 on tbl (col2);
 -> where col1 = x > idxA1が使用される
 -> where col2 = x > idxA2が使用される
 -> where col1 = x AND col2 = x > idxA1か2のどちらかが使用される
index b
 create index idxB1 on tbl (col1, col2);
 -> where col1 = x > idxB1が使用される
 -> where col2 = x > インデックスは使用されない
 -> where col1 = x AND col2 = x > idxB1が使用される,indexA1,A2より高速
index c
 create index idxC1 on tbl (col2, col1);
 -> where col1 = x > インデックスは使用されない
 -> where col2 = x > idxC1が使用される
 -> where col1 = x AND col2 = x > idxC1が使用される,indexA1,A2より高速

Posted by funa : 06:54 PM | Web | Comment (0) | Trackback (0)


November 2, 2009

Expire State of Mind

--To be expired
車免許 H24.3.xまで 1ヶ月前
船舶 H22.6.xまで 1年前から更新可能(失効しても再発行可)

--To be canceled
青山 - H22.6末までに解約
JAF 2010.3末 2010.2末までに解約

--To be applied
東京マラソン 2月   8月申し込み
大阪マラソン 11月  4月申し込み
神戸マラソン 11月  4月申し込み
京都マラソン 2月  8月申し込み
ドコモマンスリープレゼントは毎月 http://www.dcmx.jp/st/
イオンhttp://www.aeoncredit.co.jp/

■車保険
クレジット一括でないと分割は年10%位掛かる、弁護士費用特約は付ける
気になる特約:等級プロテクト
等級の引継ぎは7日以内の再契約が必要、それ以上は条件が厳しいができれば中断証明を貰う
ファミリーバイク特約は5000円固定(対人対物は車と同じ額、自損は1500万)、単独でバイク保険を掛けた方が内容が充実?等級が上がれば安くなるし

■回線を変えることでキャンペーンが適用される、NTT/au/旧USEN
 縛りが12ヶ月くらいが多い
 旧USENの回線が通っていないことが多い
 集合住宅でも契約個数が少ないと逆に高くなるケースも(特にau)
 プロバイダはどこでも良いだろ
 メールoutboundポート25番ブロックでもサブミッションポート587番を使える所
 以上の条件をクリアできるなら乗り換えろ

更新管理アプリでも作ろうかな?

Posted by funa : 05:36 PM | Column | Comment (0) | Trackback (0)


October 29, 2009

Use + Able + T
俺のを見てスムーズクリミナルだとヤコブニールセンが言ったとか

- ユーザビリティ

Posted by funa : 09:04 PM | Web | Comment (0) | Trackback (0)


October 5, 2009

Engine OH

09kx250f ■方針
1)カムだけなら=水・オイル・フライホイールそのままでOK、カムチェーン吊っておく。フライホイール(オイル)を外してやると楽だが、、
2)ピストン=水抜く、オイル抜く、フライホイール外す

■シム調整
EX 0.17-022mm、 IN 0.10mm-0.15mm
1)各タペットのクリアランスをシックネスゲージで測る
2)調整量を0.05mm単位でメモる(シム0.05mm刻みなのでそれ以上の調整が要るもののみ)
3)カム外す
4)要調整のシムをマイクロゲージで測る
5)調整量を上乗せしたシムに変更する

■事前準備
上死点は上側の切れ込み
カムのハの字、カムのポッチとチェーン位置を写真で取る(若干どちらかにずれているのでマニュアル通りには行かない、事はない)
事前にカムチェーンの弛みチェックし覚えておく

■コツ
両方のカムいっぺんにチェーンガイドを広げるようにしてチェーンを引っ張りインストール
フライホイールを外すとチェーンとチェーンガイドが正しい位置にあるか分かり易い
排気側のカムチェーンは特に張るようにしてポッチを合わせる
カムは上死点で逆ハの字になる、シックネスゲージで測ればカムのポッチが合ってるか分かる
クランクを工具で回す場合はテンショナーをつけた状態で回す
カムチェーンは毎回交換した方がいいのでは?
リングは前日に組んでおく、ヘッドガスケット、ピストンピンもね(ガスケットは冷却確認)
ヘッドの前に排気側チェーンガイドを組むこと
フライホイールなしでも上死点が分かるように目印を付けると楽
カムの位置を合わせた後、吸気側のチェーンガイドを入れてフライホイールを入れると楽
キックを蹴って引っかかりを感じたらorバルブがピストンに当たる音が出たら、カムタイミングが間違っている、カムチェーンのやり直し。写真とおりにすること

■使用工具
プーリーホルダ、フライホイールプーラー、トルクレンチ、モリブデンオイル、シックネスゲージ、マイクロゲージ、ピストンリングコンプレッサー

(写真:09KX250F/クリックで拡大)

全合成レーシングオイル(1500-2500yen/L):カストロールPower1R4Racing、モトレックスCrossPower4T、ホンダG4(G3)、ヤマルーブ4RS、ワコーズTR/4CR、モチュール300V4T、ニューテックNC51、広島高潤KZ4stRacingSpecR

Posted by funa : 08:44 PM | Gadget | Comment (0) | Trackback (0)


September 10, 2009

Re Tweet
俺の迷つぶやきをまとめる予定

物事には常に裏側に本筋がある。このアイコンを見れば分かる。
理論でもなく、感性でもない。両方だ。このアイコンを見れば分かる。
The internet is better than me.

Stay tuned!!

Posted by funa : 11:29 PM | Column | Comment (0) | Trackback (0)


July 31, 2009

Don't race to lose

法的論点+αとして心証

だけれど心証では絶対負けられない。
TVに出て相手に嘘を言わせなくする、世間の後押しなど、そこまでやるくらい大事。
素人ほど法律だけで交渉しようとするのではないか?悪い奴は知っている

心証は嘘でもどちらが本当ぽいかが重要、判断が裁判官次第だから(偽証だけど)
その為に積み上げる事、相手が嘘をついても崩せるように想定されるストーリーを練っておく事
法的論点はとりあえずグレーに持って行け

#触りだけ、、完全なフローを理解したので解禁OKのタイミングで新サイトを作ってしまおうかと

Posted by funa : 12:24 AM | Column | Comment (0) | Trackback (0)


Navi: <  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20  >
PhotoGallery


TWITTER
Search

Mobile
QR for cellphone  QR for smart phone
For mobile click here
For smart phone click here
Popular Page
#1Gadget
#2Web
#3Column
#4Hiace 200
#5Being The Ideal Boss
#6RSS Radio
#7Flavor
#8Optimost
#9ahe-ahe is goooood for your brain
#10Cache
#11Branding Excellent
#12Emancipation Proclamation
#13Sharpen up
#14The team that always wins
#15Norton Internet Security
#16Reader
#17Yupiteru
#18Plasticity
#19A Rainbow Between Clouds‏
#20Make your front wheel right
#21Penatrate
#22Re-install my OSXP
#23Online softwares
#24ZETA Pivot
#25Affiliate
#26Net Corruption
#27Darwinian Theory Of Evolution
#28F☆ck CSS
#29Automobile Inspection
#30Rope
#31PC SPEC 2011.10
#32Assertive Behavior
#33Europe
#34CSS Selectors
#35Fork OH
#36Positive
#37Estimation
#38SN
#39Sony PCG-U1
#40ITIL
#41Watch Out
#42Ora Ora Ora Ora Ora
#43PC SPEC 2007.7
#44Information privacy & antispam law
#45Tools - free icon etc
#46Bank transfer fee
#47Wifi security camera with solar panel & small battery
#48Contaminated
#49DSLR
#50I'm air-cocking
#51Google API
#52Contaminated
#53動画をキャプチャーする
#54Are you spy on me?
#55Who's BAT? (Batch file)
#56PC SPEC 2012.8
#57Win7 Insco
#58Fucking tire
#59Big D
#60Itinerary with a eurail pass
#61ICOCA
#62System designing
#63Shoot
#64ApacheBench
#65Spirits
#66/// BANGBOO BLOG /// On 2017-02-06
#67SN
#68The black sheep to the black ship
#69Ressentiment
#70Revolt against MT
#71Doing?
#72角印
#73It tests you
#74Card
#75通話SIM
#76☆od damnit
#77How to make a bomb - 爆弾の作り方
#78表情学-表情の基本は「確かさ」にある
#79Interview
#8020分
#81Significant Rule
#82/// BANGBOO BLOG /// From 2017-01-01 To 2017-01-31
#8311 Tips of Excel
#84Fail Safe & Fault Tolerance
#85Blog Ping
#86My mic
#87No ID
#88南無三
#89United States of O, USO
#90I want to ride my bicycle
#91Bike comparison
#92Windows env tips
#93BGM
#94Where Hiphop lives!!
#95Classic Font
#96/// BANGBOO BLOG /// From 2016-04-01 To 2016-04-30
#97Detected as bad site by virus company
#98Emancipation Proclamation
#99ライブ
#100英語単語帳SNS
Category
Recent Entry
Trackback
Comment
  • test
    SSL [17/10/20 9:48PM]
Archive
<     October 2017     >
Sun Mon Tue Wed Thi Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Link