ads

วันจันทร์ที่ 30 กันยายน พ.ศ. 2556

ตั้งค่ารับเงิน Direct Deposit จาก Amazon.com

ตั้งค่ารับเงิน Direct Deposit  จาก Amazon.com

สำหรับท่านที่ทำ Affiliate กับ Amazon.com  เมื่อมียอดเข้าก็ถึงช่วงเวลารับเงินแล้วล่ะ (เวลาที่รอคอย)  ทีนี้การรับเงินด้วยการรับเป็นเช็คอาจจะไม่สะดวกด้วยเหตุผลหลายๆอย่าง   ไม่ว่าจะเป็น การล่าช้ากว่าจะได้เงิน  รอ Amazon ตัดรอบก็ 2 เดือนไปแล้ว  ส่งเช็คทางไปรษณีย์ก็กินเวลา 2-4 อาทิตย์แล้วแต่บ้านใครใกล้ไกลเมือง  หรือดวงไม่ดีเช็คหายระหว่างทางส่งไม่ถึงอีก   พอได้เช็คมาก็นำไปขึ้นเงินก็ต้องขึ้นแบบ hold ยอดเงินไว้ 45 วัน  ( ถ้าขึ้นแบบเรียกเก็บเลยก็ได้แต่จะต้องเสียค่าเรียกเก็บขาไปและกลับ $10 + $20 = $30 อีก ไม่คุ้มกับการขึ้นเงินเลยครับแบบนี้ ) และไม่ใช่ว่าธนาคารทุกสาขาจะรับขึ้นเงินต่างประเทศด้วยนะครับ  ต้องหาสาขาที่มีแผนกเงินตราต่างประเทศอีก  (เรื่องเยอะจริงๆ)
ส่วนมาก็เลยหันมาใช้วิธีการแบบ Direct Deposit  ซึ่ง ณ ปัจจุบัน  ธนาคารเดียวที่ใช้ได้คือ ธนาคารกรุงเทพ ครับ  เพราะมีสาขาที่อเมริกา   โดยค่าธรรมเนียมในการโอนจะมีดังนี้

ค่าธรรมเนียมโอนเงินจาก ธนาคารกรุงเทพ สาขานิวยอร์ก
- ยอดเงินโอน น้อยกว่า $50 ไม่คิดค่าธรรมเนียม
- ยอดเงินโอน $51-$100 คิดค่าธรรมเนียม $3
- ยอดเงินโอน $100.01-$2,000 คิดค่าธรรมเนียม $5
- ยอดเงินโอน $2,000.01-$50,000 คิดค่าธรรมเนียม $10
- ยอดเงินโอน $50,000.01 ขึ้นไป คิดค่าธรรมเนียม $20

และค่าธรรมเนียมการรับเงินโอนจากต่างประเทศ ของธนาคารกรุงเทพในประเทศไทย 200 บาท หรือ  0.25% ของมูลค่าเป็นเงินบาทแต่ไม่เกิน 500 บาท

เมื่อลองสังเกตดูจะเห็นว่าช่วง เรท $100.01 - $2,000 จะมีช่วงที่กว้างกว่า และค่าธรรมเนียมเป็น $5  จึงน่าจะช่วงที่คุ้มค่าที่สุด  หากจะมีการโอนในช่วงนี้

วิธีตั้งค่ารับเงิน Direct Deposit ของ Amazon
1. Login Amazon Associate (affiliate-program.amazon.com)
2. คลิก Account Settings เมนูมุมขวาบน
3. คลิก Change Payment Method
4. เลือก Direct Deposit แล้วใส่ค่าตามนี้
- Bank Name: BANGKOK BANK
- Bank Account Holder Name: ชื่อบัญชีเรา ภาษาอังกฤษ
- Bank Account Type: เลือก Savings
- Bank Account Number: ใส่หมายเลขบัญชีธนาคารกรุงเทพ 10 หลักของเรา
- Routing Number / ABA Number: 026008691 (ห้ามผิด เด็ดขาดไม่งั้นอดเงินครับ)**


ซึ่งการโอนแบบ Direct Deposit ของเมนู Amzon.com เราจะเปลียนค่า theshold น้อยสุดที่ $10  และเปลียนปรับค่าไม่ได้แบบรับด้วยเช็ค  ซึ่งหากยอดเงิน Amazon แต่ละเดือนมันไม่มากมายทะลุเป็น 4-500$ ทุกเดือน  มันก็ไม่คุ้ม  ลองคิดเช่น  เดือนนี้ยอดมา $12 เหรียญ   ระบบตัดยอดโอนที่ $12 - ค่าโอนเงินตราต่างประเทศ 200 บาท จะเหลือกี่บาทล่ะนั่น ไม่คุ้มๆ

** คนส่วนมากที่ยอดไม่เยอะนักจึงใช้วิธีตั้งค่ารับเงินจาก Amazon เป็นรับด้วยเช็คก่อน  แต่จะปรับค่า Minimum ในการออกเช็คไว้สูงๆ เช่น $500 , $1000 อะไรก็ว่าไป  แล้วเมื่อสะสมยอดได้เท่าที่เราต้องการแล้วที่ยังอยู่ในช่วง ( ยอดเงินโอน $100.01-$2,000 คิดค่าธรรมเนียม $5 )  ก็ค่อยปรับมาเป็นรับด้วยวิธี Direct Deposit (  ซึ่งต้องปรับก่อนรอบที่เราจะได้เงินน้อยสุดประมาณ 1 เดือนครับ  ระบบที่เราตั้งค่าจะมีผลต่อระบบตัดเงินในรอบเดือนถัดไป )

เท่านี้เราก็ได้รับเงินโดยเสียค่าธรรมเนียมคุ้มค่าที่สุดแล้ว  เมื่อรับเงินเรียบร้อยเราก็เปลียนกลับไปเป็นรับแบบเช็คต่อ  แล้วก็สะสมไปเรื่อยๆ ต่อไป

วันศุกร์ที่ 6 กันยายน พ.ศ. 2556

สคริปเช็คค่า parameter ของ mysql ว่า tuning พอดีแล้วหรือยัง


สคริปเช็คค่า parameter ของ mysql ว่า tuning พอดีแล้วหรือยัง

สคริปใช้เช็คค่าตัวแปรต่างๆ ในไฟล์คอนฟิก mysql  ว่าเรา tuning พอดีแล้วหรือยัง   โดยจะคำนวนจากทรัพยากรเครืองนั้นๆ ว่ามี cpu / ram เท่าไหร่
ทั้งนี้ทั้งนั้น  ภายใต้การใช้งานจริงแต่ละที่แตต่ละโปรเจคอาจมีความแตกต่างกันไป   แต่ก็เป็นค่ากลางที่ดีในการที่เราจะ tuning ขึ้นหรือลง ต่อไปตามต้องการ
โดยหลักๆ จะดูค่าคอนฟิก


Slow Query Log
Max Connections
Worker Threads
Key Buffer
Query Cache
Sort Buffer
Joins
Temp Tables
Table (Open & Definition) Cache
Table Locking
Table Scans (read_buffer)
Innodb Status

ประมาณนี้
สามารถดาวน์โหลดได้ที่  

MySQL Performance Tuning Primer Script


เมื่อได้ไฟล์มา chmod 755 และสั่ง run เลย
# chmod 755 tunning-primer.sh
# ./tunning-primer.sh

ระสักครู่สคริปจะโชว์ตัวเลขออกมาให้เราว่าควรจะลดหรือเพิ่มอะไรตรงไหน
เราก็วิเคราะห์ตามการใช้งานของเราไป

วันพฤหัสบดีที่ 5 กันยายน พ.ศ. 2556

ไฟล์ php ให้โชว์ list file ใน directory นั้น

ไฟล์ php ให้โชว์ list file ใน directory นั้น

ใช้สำหรับโชว์ list ว่าในโฟลเดอร์นั้นมีไฟล์อะไรผ่าน browser เลย
server บางเจ้าบิด allow list ไว้ใช้อันนี้ดูแทน  code ดังนี้

<?php
// open this directory 
$myDirectory = opendir(".");

// get each entry
while($entryName = readdir($myDirectory)) {
        $dirArray[] = $entryName;
}

// close directory
closedir($myDirectory);

//      count elements in array
$indexCount     = count($dirArray);
Print ("$indexCount files<br>\n");

// sort 'em
sort($dirArray);

// print 'em
print("<TABLE border=1 cellpadding=5 cellspacing=0 class=whitelinks>\n");
print("<TR><TH>Filename</TH><th>Filetype</th><th>Filesize</th></TR>\n");
// loop through the array of files and print them all
for($index=0; $index < $indexCount; $index++) {
        if (substr("$dirArray[$index]", 0, 1) != "."){ // don't list hidden files
                print("<TR><TD><a href=\"$dirArray[$index]\">$dirArray[$index]</a></td>");
                print("<td>");
                print(filetype($dirArray[$index]));
                print("</td>");
                print("<td>");
                print(filesize($dirArray[$index]));
                print("</td>");
                print("</TR>\n");
        }
}
print("</TABLE>\n");
?>

เอาไปประยุกต์ใช้อย่างอื่นกันต่อไปครับ

วันอังคารที่ 3 กันยายน พ.ศ. 2556

วันพฤหัสบดีที่ 29 สิงหาคม พ.ศ. 2556

วัดความเร็ว cvsup แต่ละไซต์ของ FreeBSD

วัดความเร็ว cvsup แต่ละไซต์ของ FreeBSD

เคยไหม  เวลาอัพเดท port หรือ อัพเวอร์ชั่น OS FreeBSD
โดยคำสั่งพวก cvsup ports-supfile  หรือ cvsup stable-supfile  แล้วรอไปเป็นชาิติวันนี้เลยหาคำสั่งมาให้
เพื่อวัดว่าเราจะเลือกไซต์ไหนดีโดย  ให้เร็วที่สุด
ทั้งนี้ทั้งนั้น  ขึ้นอยู่กับว่า server คุณนั้นตั้งอยู่ที่ไหน วิ่งเส้นไหน inter เท่าไหร่  เส้นไหนใกล้กว่าดังนั้นค่าที่วัดได้จึงอาจจะไม่เหมือนของผม
จึงต้องเลือกใช้เองครับ

install เลย
# /usr/ports/sysutils/fastest_cvsup

แล้ว make install เลยครับ
# make install
# rehash

รอจนเสร็จแล้วก็มาใช้งานกันดูครับ
# fastest_cvsup -c all

ระบบจะวัดผลการตอบจาก cvsup server FreeBSD ทั่วโลกที่มีแล้วจับเวลามาให้เรา  เร็วที่สุด 3 อันดับครับ
>  Querying servers in countries: ar at au br ca ch cn cr cz de dk ee es fi fr gr hu ie is jp kg kr kw lt lv nl no nz ph pl pt ro ru se sg si sk sm th tld tr tw ua uk us za
==> DNS lookup timed out for cvsup.ar.freebsd.org
--> Connecting to cvsup.at.freebsd.org [137.208.3.18]...
    - server replied: OK 17 0 SNAP_16_1h CVSup server ready
    - time taken: 248.14 ms
--> Connecting to cvsup.au.freebsd.org [202.125.41.163]...

....
..
..
รอครับ  รอๆๆๆ...  แล้วจะสรุปตอนท้ายได้ดังนี้

>>  Speed Daemons:
    - 1st: cvsup.sg.freebsd.org
    - 2nd: cvsup6.jp.freebsd.org
    - 3rd: cvsup3.jp.freebsd.org

แล้วทีนี้เวลา cvsup ports-supfile  หรือ cvsup stable-supfile เราก็เลือกไซต์นี้ลงไปในไฟล์คอนฟิกเรา
ก็จะเร็วปรี๊ดดปร๊าดดั่งใจครับ  แลบลิ้น

ทั้งนี้ทั้งนั้น แต่ละวัน  แต่ละเครื่องเมื่อลองเทสดูไซต์ที่เร็วที่สุดที่วัดได้ก็อาจจะไม่ได้ตัวเดิมครับ  ดังนั้นควรวัดกันเองนะครับ

วันอังคารที่ 27 สิงหาคม พ.ศ. 2556

โปรแกรมเปลียน changing-collation ( tis-620 -->utf8) ใน mysql

 โปรแกรมเปลียน changing-collation ( tis-620 -->utf8) ใน mysql

ท่านเคยสบปัญหานี้ไหม  เ็ซ็ตดาต้าเบสไว้เป็นอย่างหนึ่ง
แต่พอลงโปรแกรมต่าง ๆ ( ที่ไม่มีให้เลือก collation ) พอเปิดมาดูอีกทีิอ้าว ไม่ตรงหว่า
หรือ ท่านที่เช่าโฮส ต่างประเทศอยู่  collation มันเลยไม่เป็น utf-8 ดังใจ
ทำให้โปรแกรมเราทำงานเพี้ยนกับภาษาไทย  ต้องมาปวดหัวกับปัญหาภาษาต่างดาว   ปวดหัวตึ๊บ
ของไทยเองก็ใช่ว่าจะไม่เจอ  บางที่ดีฟอลเป็น TIS-620 เงียะ เราจะใช้ UTF-8 ก็เจอบ่อยไป

วันนี้ขอแนะนำ phoca-changing-collation
ไปอ่านรายละเอียด และดาวโหลดได้จาก http://www.phoca.cz/phoca-changing-collation
เมื่อได้ไฟล์แล้วก็ทำการแตกไฟล์  แล้วอัพขึ้นไปบนพื้นที่เราเลย  แล้วเปลียนชื่อโฟลเดอร์ให้เรียกง่ายๆ เลย เช่น callation
แล้วก็เรียก url ที่เรามีเช่น
www.mysite.com/main/collation

Database Host : ชื่อโฮส หรือไอพีเครื่องดาต้าเบส
Database User : user ของดาต้าเบส   
Database Password : password ของดาต้าเบส   
Database Name   : ชื่อดาต้าเบส
Database Collation : collation ที่ต้องการจะใช้ของไทยควรใช้เป็น utf8_general_ci


กด submit ก็เสร็จเลย
แล้วเราก็จะได้ระบบ UTF-8 ดั่งใจ

วันศุกร์ที่ 16 สิงหาคม พ.ศ. 2556

Rsync Backup ข้ามเครื่อง

Rsync Backup ข้ามเครื่อง

เซิร์ฟเวอร์เป็น FreeBSD  ลง rsync ก่อนกครับ ( 192.168.201.101 )
# cd  /usr/ports/net/rsync
# make install clean
# rehash
แอด user ที่จะใช้ในการซิงค์ที่นี้ใช้  apache
# add apache
# passwd apache

เปลี่ยน user มาเป็น  apache
# su - apache
แล้วทำการ  gent key
# ssh-keygen -t rsa
  Generating public/private rsa key pair.
Enter file in which to save the key (/home/apache/.ssh/id_rsa):    <enter ผ่าน >
Created directory '/home/apache/.ssh'.
Enter passphrase (empty for no passphrase): <enter ผ่าน >
Enter same passphrase again: <enter ผ่าน >

# cd .ssh
ก๊อป key มาใช้
# cp id_rsa.pup local.key

ทำการส่งค่าไฟล์ local.key ไปยังเครื่องแบคอัพ ด้วยการ sftp
# sftp apache@192.168.201.103

# The authenticity of host '192.168.201.103 (192.168.201.103)' can't be established.
DSA key fingerprint is 27:bd:d3:a3:e3:63:ba:01:43:ad:f1:03:2a:07:41:75.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.201.103' (DSA) to the list of known hosts.
apache@192.168.201.103's password:   <ใส่พาสเวิร์ดไป >
sftp> put local.key
Uploading local.key to /home/apache/local.key
local.key                                                                                  100%  412     0.4KB/s   00:00  
sftp> bye


####  ที่เครื่อง  backup ### ( 192.168.201.103 )
อันนี้เป็น CentOS ใช้ yum
# yum install rsync   แล้วก็รอไป
adduser ที่จะใช้ให้เหมือนกัน
# adduser apache
# passwd apache  เปลี่ยนพาสดังที่เราเซ็ต

แล้วเปลียน user
# su - apache

แล้วทำการ ssh ไปยังเครืองอื่นที่ไม่ใช่เครื่องต้นแบบ  เพอให้มันสร้าง ไดเรคโทรี่ .ssh อัตโนมัติ
$ ssh apache@192.168.201.105
apache@192.168.201.105's password:  < ใส่พาสเวิร์ด >
$ exit   เสร็จแล้วออกมา
แล้วทำาการ ก๊อปคีย์ที่ได้เก็บไว้เป็นตัวออเท็น
$ cat local.key >> .ssh/authorized_keys
$ chmod 755 .ssh/authorized_keys

### ตัว server ต้นแบบ ###
กลับมาที่ฝั่ง server ต้นแบบ  ลอง ssh ไปยังตัวแบคอัพ  มันจะไม่ถามพาสเวิร์ด
$ ssh apache@192.168.201.103
[apache@streaming01 ~]$     เรียบร้อยเข้าได้เลย

เมื่อเข้าได้แล้วต่อไปก็ใส่คำสั่ง rsync เทสได้เลยว่าได้หรือเปล่า
# rsync [ออฟชั่น] [ ต้นแบบ] [ตัวแบคอัพ]
ลองเทสเป็น
# rsync -avz ssh /DATA/ apache@192.168.201.103:/home/BACKUP/
= ทำการซิงค์ที่เครื่องต้นแบบภายใต้พาร์ท /DATA  ไปยังเครื่องแบคอัพ ip 192.168.201.103 ในพาร์ท /home/BACKUP/
ลองรันดู   ถ้าทำงานได้จริงก็ผ่านแล้วครับเอาไปใส่ใน crontab เลย  ทำวันละครั้งก็ได้ครับ
# crontab -e
โค๊ด:
0 0 * * * rsync -avz --delete ssh /DATA/ apache@192.168.201.103:/home/BACKUP/

ในการใช้งานจริงจะใส่ --delete เป็นออฟชั่นเพิ่มไปอีกเพื่อให้เวลาซิงค์หากตัวต้นแบบมีการลบไฟล์ไหนไปแล้ว  ปลายทางที่แบคอัพก็ลบตามไปด้วย

อีกอย่างที่ควรระวังคือการใส่พาร์ทระหว่าง /DATA  หรือ /DATA/  ได้ผลต่างกันนะครับระวังให้ดี
ถ้าใส่เป็น  rsync -avz --delete ssh /DATA apache@192.168.201.103:/home/BACKUP/
      = เวลามันซิ้งค์ไปที่ปลายทางมันจะสร้างไดเรคโทรี่ /DATA  ภายใต้ /home/BACKUP/
แต่ถ้าใส่เป็น  rsync -avz --delete ssh /DATA/ apache@192.168.201.103:/home/BACKUP/
   = เวลาซิงค์มันจะเอาโฟลเดอร์ย่อย  ไปไว้ใน /home/BACKUP/ เลย    
ซึ่งหากไม่มีการเปลี่ยนรูปแบบคำสั่งอาจจะไม่มีผลอะไรเท่าไหร่  แต่ถ้าวันไหนเปลียนรูปแบบคำสั่งจาก มี / ไปเป็น ไม่มี /  แล้วเราใส่ออฟชั่น  --delete แล้ว
มันจะมองว่าปลายทางไม่เหมือนเดิมมันก็ลบทิ้งเกลี้ยงเลยแล้วทับด้วย data ใหม่หรือซับย่อยของโฟลเดอร์ใหม่เลย  อันนี้ต้องระวัง