May 7, 2010
Even small things can't kill me
■フォームへHTML特殊文字を表示する
DBからのデータをtextareaに表示する時(inputへもそうだが)、「<」などエスケープされたHTML特殊文字があると「<」などテキストへ解釈されて表示されてしまう。
これはフォームの動作なので仕方がないが、フォームの送信は表示したものを送るようになっているので、DBにエスケープして入れていた文字が、いつのまにか文字化けを起こしたりすることになる。
つまり、DBから「<」などエスケープされたHTML文字をtextareaに表示するときは、事前に「&lt;」などに変換しておく必要がある。
一度「®」を「マルR」と表示したものを送信し直しても特に問題は起こらないとすると以下の4つの処理をしておけば良い事になる。
$ent = str_replace("&", "&amp;", $ent);
$ent = str_replace("<", "&lt;", $ent);
$ent = str_replace(">", "&gt;", $ent);
$ent = str_replace("</textarea>", "</textarea>", $ent);
内容に自信はないが俺のトラブルは解消した
Posted by funa : 01:08 AM
| Web
| Comment (0)
| Trackback (0)
May 5, 2010
RAMちゃ~ん
■デュアルチャネルメモリ
同じ型番のメモリーを同色のスロット(この機種ではA1とB1)に挿す
■RAMディスクソフト(32bitOSの3G以上メモリをドライブに)
下記は古く使用していない→インスコ記事の方が新しい
Gavotte Ramdisk
http://www.dosv.jp/other/0903/04.htm
http://d.hatena.ne.jp/sona-zip/20080512
■P5BマザボはBIOSアップデートが必要かも(USBメモリによるEZ Flash2で)
http://www10.atwiki.jp/gavotterd/pages/14.html
■テンポラリフォルダやワークフォルダに使う
http://blog.kumacchi.com/2008/05/ramgavotte_ramdisk.html
OSのテンポラリを置く
アドビ系のキャッシュを置く
動画ファイルを置く
ブラウザのキャッシュを置く
ページングファイルを置く
システムのプロパティー>詳細設定>パフォーマンスの設定>詳細設定>仮想メモリ
http://www10.atwiki.jp/gavotterd/pages/23.html
-------------------------------------------------
■具体的に
rramdiskを開きram4g.regを実行レジストリへ登録
ramdisk.exeを実行
Install Ramdiskをクリック
DiskSize 1G
DriveLetter R
MediaType Fixed Media
OKを押し待つ
Successと表示されます
OS再起動
rramdiskフォルダのrdutil.exeをパスが通っているところに移動。よくわからない人はC:\WINDOWSに移動しましょう
RamDiskにジャンクションを作成できるようにNTFSにフォーマットなどを行うためバッチ実行します。Administrator用はsetup_admin.bat、一般ユーザ用はsetup_user.bat
RamDiskを開いていたら必ず閉じて
ドライブレターを指定します。デフォルトならR
次にRamDiskと入力
yと入力
yと入力
「RAMDISKに好きなようにフォルダを作成して下さい。完了したらエンター」と表示されたら、RAMDISKのドライブを開きフォルダを作成
R:\TEMPを作成
フォルダの作成を終えたら開いているRAMDSIKフォルダを閉じてからエンターで完了
完了と表示されたら閉じる
OS再起動するとフォルダが復元されています
●OSのテンポラリを置く
環境変数の変更 マイコンピュータを右クリック>詳細設定タブ>環境変数
環境変数のTEMP,TMPをR:\TEMPに置き換える
ユーザ環境変数TEMP,TMP %USERPROFILE%\Local Settings\Temp (つまりC:\Documents and Settings\ユーザ名\Local Settings\Temp)
システム環境変数TEMP,TMP %SystemRoot%\TEMP (つまりC:\WINDOWS\TEMP)
→容量不定になり自由領域がなくなるかも
●ブラウザのキャッシュを置く
IEのツール>インターネットオプション>全般タブ>閲覧の履歴>設定>フォルダの移動>フォルダの参照
R:\TEMPフォルダに200MB
●ページングファイルを置く
システムのプロパティー>詳細設定>パフォーマンスの設定>詳細設定>仮想メモリ
R:\に250MB、他ドライブを使わない
●自由に使える容量が550MB
-------------------------------------------------
電力の関係か?結局メモリが4Gしか乗らなかったので、1GをRAMディスクとした
IEキャッシュ200MB, Pagefile 250MB,残り550MBを自由に使う
HDDを傷めないのがいいねぇ
Posted by funa : 08:43 PM
| Gadget
| Comment (0)
| Trackback (0)
April 30, 2010
PC SPEC 2007.7
買ったときにメモしとかな売るとき面倒だ。製品情報とかも。
Core 2 Duo プロセッサ E6420(2.13GHz)
メモリ 4GB(DDR2-800 DIMM 240pin の1G2枚、2G1枚)
マザボ ASUS P5B
グラボ Sapphire ATI Radeon HD4350(512MB DDR2,PCI Express x16, HDMI,D-sub,DVI,ロープロファイル,ファンレス)
電源 SKP-400MRSP1(400W)
ケース Antec P180
システムHDD HDT722525DLA380 (250G SATAII 7200rpm 8MB)/ST3160815AS (160G SATA300 7200rpm 8MB)
カートリッジE HDT722516DLAT80 (160G UltraATA133 7200rpm cache8M)
カートリッジG ST3250410AS (250G SATA300 7200rpm cache16MB)
モニタ Dell 2407WFP(VGA, DVI)
///詳細
M/B フォームファクタ:ATX CPUスロット:LGA775 チップセット:INTEL/P965+ICH8 メモリータイプ:DDR2
http://www.unitycorp.co.jp/backup_unity/products/775/detail/p5b/p5b.html
http://www.unitycorp.co.jp/backup_unity/products/775/detail/p5b/p5b_shousai.html
対応CPU http://support.asus.com/cpusupport/cpu_support_right_master.aspx?type=1&name=P5B&SLanguage=ja-jp
丸印電源 メインコネクタ 20+4ピン :1 ,ATX +12V 4ピン :1 ,Drive 4ピン :4 ,Driveミニ 4ピン :2,S-ATA コネクタ :2 ,PCI-Express 6ピン :0
http://www2.applied-net.co.jp/catalog/marubrand/images/skp400mrsp1.htm
モニタ http://support.ap.dell.com/support/edocs/monitors/2407wfp/ja/about.htm
グラボ http://www.sapphiretech.jp/products/hd-4300-pcie/sapphire-hd-4350-512mb-ddr2-pcie-hdmi-lp.html
Core2Duoなら64bitが走るみたい、32bitならメモリ4Gプラスして3GのRAMディスクというのもあり
----------------------------------------
Sony Vaio PCG-SRX7F
Pen3 850Mhz
MEMORY 384MB
HDD 30GB
PCGA-DVD1
10.4型 XGA(1024×768ドット)
幅259.0mm×高さ27.8~32.0mm×奥行194.0mm
質量約1.26kg
http://www.sony.jp/products/Consumer/PCOM/PCG-SRX7F/
SDリーダとメモリを外部メモリとして使おうとしてもUSB1.0なので遅い
SSDとメモリ2Gと外部SDカード(TEMPとデータセーブ)のノート買った方がいい
Posted by funa : 06:15 AM
| Gadget
| Comment (0)
| Trackback (0)
April 24, 2010
Adobe Premire6.0 (Guru R.I.P.)
- スローモーション 全日本選手権モトクロス第2戦関東
なんつーワックな環境だ。プレミア6、Sanyo Xacti HD-1010とフリーウェア。糞な映像を作ってしまった。ウンコ神が降りてきた。
■Avidemux2.5
mp4の不要部分をカット ビートに合わすために頭にアタック感ある映像、後ろ長めに
Video:MJpeg (は使えた)
Filters:Color>Contrast/contrast11-brightnessNN ホワイトが多いところで合わせる
拡張子.mpgで保存
■Premire6.0
ビデオ、オーディオのトラックを増やす
フェードが無いのでビデオ2にカラーマットを置きラバーバンド(赤点)で透明度を変える
ビデオ1にはラバーバンドがない
統合したPSDはアルファチャネルを扱える、たくさんのPSDを使う?
アルファチャネルのあるアニメは、GIF、PNG、TIFFのシーケンスを使う?
ワークエリアバーでプレビュー生成の範囲を指定できる
QuickTime Mpg4で保存。
YouTubeあぷ(タイムアウトするんでセキュリティソフト切る) 1920x1080or1280x720or640x480 H.264orMpeg2があれば
------
H.264 Apple iPodビデオ大
■撮影
撮影手法の研究 照明とかピントとか構図とかかな?
映像手法の研究 ノイズとか透かしとかトランジションとかかな?
尺 アタック感とかビート合わせとかかな?
人の頭が入らないよう一番前で撮る事wwww
プレミアなら32bitのCS4か64bitのCS5以上しかない
Posted by funa : 01:42 AM
| Web
| Comment (0)
| Trackback (0)
April 23, 2010
jQuery - write less, do more.
-
Jクエネー write less, homeless
jQueryについてのまとめサイト。プラグインのリファレンスやサンプルでなく、AJAXや
メソッドチェーンでJavaScriptを書いていくやり方を覚えられるようにしたつもり。速習、入門。
///////Javascript メモ///////
var a = document.getElementById('hoge').value;
<input type="text" name="hoge" id="hoge">
name="hoge" でIEは認識するが、Firefoxでは認識しない。Firefoxでは id="hoge"も入れる
Posted by funa : 06:09 AM
| Web
| Comment (0)
| Trackback (0)
March 23, 2010
Penatrate
Posted by funa : 11:38 PM
| Column
| Comment (0)
| Trackback (0)
March 15, 2010
Make your front wheel right
バイクTIPS
//フォークの油面調整
1)トップブリッジのアッパの上側ボルトを緩める
2)フォークをタイダウンで軽く保持する感じに
3)フォークのキャップを緩める
4)タイダウンでフォークを縮めてキャップを浮かせ隙間を作る
5)フォークオイルを入れる
//フロントホイールのセンター出し
1)トップブリッジのアッパとボトムのボルト、ステムナットを緩め、目方でセンターを出す
2)ボトムのボルトをほぼ緩める、アッパのボルトをボトミングでもフォークが動かない程度に緩める
3)ボトミングさせてセンターを出す
4)ボトムのボルトを締める
5)アッパのボルトを一応緩めてネジれを取ったあと締める
//タイヤのバランス
黄マーク:軽点バランスマーク
赤マーク:高剛性点。カーカスが重なっている、重い
1)リムロックと黄マークを合わせる
2)リムロックと赤マークを対極にする
Posted by funa : 01:18 PM
| Gadget
| Comment (0)
| Trackback (0)
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
MySQL chara issue
■結局どう設定する?
作成時:CREATE DATABASE aaa DEFAULT CHARACTER SET utf8mb4 COLLATE utf8_general_ci;
アプリ:SET NAMES utf8mb4; あるいは mysql_set_charset('utf8mb4');
↑
DB作成時とアプリ使用時でutf8かutf8mb4で最低限統一する
utf8mb4とは文字コードの一種で、UTF8で4バイト文字を扱う事が出来るもの
絵文字や中国漢字、日本語でも特殊漢字などは4バイトが含まれている
MySQLでは5.5からこのutf8mb4に対応している
照合順序 は utf8_general_ci
SET NAMES より mysql_set_charsetがverによってはいい、またPDOが推奨されているが
https://techracho.bpsinc.jp/baba/2010_02_17/1133
https://www.php.net/manual/ja/function.mysql-set-charset.php
絵文字で上手くいかないと行が途切れる等があるらしい、utf8が良い?
作成時:CREATE DATABASE aaa DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
アプリ:SET NAMES utf8; あるいは mysql_set_charset('utf8');
-----------------------------------------
■DBのバックアップ(MySQLのダンプ)
バージョンでコマンドが違う場合がある、古いやつの場合↓
DB設定の文字コード、DBの運用文字コード、サーバOSの文字コード、SQLクライアントの文字コードの間で自動変換が掛かり面倒
http://kgbu.hateblo.jp/entry/20081226/1230259302
バイナリでダンプし、バイナリでインポートすると問題はない
しかしバイナリのバイトシーケンスが付与されるので気持ち悪い
Blobのような特殊なカラムがなく文字コードが統一されていればそれでやりたい(utf8)
https://ngyuki.hatenablog.com/entry/2018/06/21/220624
cp932: MS win/IBM/NEC98のSJIS、各社独自に拡張している
mysqldump -Q --host=192.168.1.2 --user=oreore --password=**** --default-character-set=binary name_db >$DBDUMP_FILE
-Qはquickオプション、通常はダンプ時に一気にテーブルデータをメモリへバッファしますがq指定で1行ごとに処理し大きなテーブルに有用
オプションはハイフン2つはフル表記で=で値を付与、ハイフン一つで短縮形でスペースを付けた上で値を付与
--host=host_name -h host_name
???mysqldump-4.0が通らない、mysqldumpバイナリ/utf8オプションも使えない
Putty(SSH)等で入り sh db_backup.sh で実行しエラーを見る、無変換だと出せるが文字コードが混合している
ps -aux あるいは ps aux でプロセスを見て、駄目なら殺す kill [pid]
phpmyadminで手動でエクスポート(無変換)で全テーブルを出し新DBにのせかえるしか
→それまでは念のため通常Backupに加えて手動で時々保存すれ
→MySQLadmin>エクスポート>テーブル選択(同じ文字コードのもの)>実行
ps -aux
kill pid
#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
KEEPDAY=25
TODAY=`date +'%y%m%d'`
DBDUMP_FILE1=mysql.$TODAY
DBDUMP_FILE2=mysql_utf8.$TODAY
RMFILE1=mysql.`date -v -"$KEEPDAY"d +%y%m%d`.gz
RMFILE2=mysql_utf8.`date -v -"$KEEPDAY"d +%y%m%d`.gz
HOME_DIR=/hamehame/
BACKUP_DIR=$HOME_DIR/db_backup
cd $BACKUP_DIR
mysqldump -Q --host=192.168.1.2 \
--user=oreore --password=**** --default-character-set=binary name_db >\
$DBDUMP_FILE1
gzip $DBDUMP_FILE1 >/dev/null 2>&1
if [ $? != 0 -o ! -e $DBDUMP_FILE1 ]; then
echo "SUCCESS! MAYBE!"
rm -f $RMFILE1
exit 0
fi
Bシェルの記事も
https://www.bangboo.com/cms/blog/page_97.html
-----------------------------------------
■2010-03-09投稿
Like句ではバイナリか正規表現の検討
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;
-----------------------------------------
■2007-05-24投稿
HTML出力、PHP、MySQL、全部UTF-8
その時、??と文字化けが起こったぁぁ
//mySQLの文字コード
照合順序 : utf8_general_ci
//mysqlクライアント。コマンドラインからチェック
mysql> SHOW VARIABLES LIKE 'char%';
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_results | utf8 |
| character_set_server | utf8 |
//phpソースコード・文字コード設定
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
//phpソースコード・PHP内部文字コードとクエリ文字コード設定
<?php //charactor code for php internal
mb_language("uni");
mb_internal_encoding("utf-8");
mb_http_input("auto");
mb_http_output("utf-8");
// database connection
if (!mysql_connect("localhost", "id", "pswd"))
{
die("Couldn't connect to MySQL");
}
if (!mysql_select_db("dbname"))
{
die("Couldn't connect to the database");
}
//charactor code for query
$sql = mysql_query("SET NAMES utf8");
$result = mysql_query($sql);
?>
Set Names文のクエリ発行がミソ。PHPで発行してみる
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; }
======================
■疑似要素
セレクターに付与し要素の特定の部分にスタイル付けができる、CSS2文法では:だったがCSS3で::になったものも
疑似要素の例 (::first-letter, ::first-line, ::before, ::after etc.)
疑似クラスの例 (:link, :hover, :visited, ,:active, nth-child(n), nth-of-type(n), :not() etc.)
a::after {
content: "→";
}
Posted by funa : 01:29 AM
| Web
| Comment (0)
| Trackback (0)