ads

วันศุกร์ที่ 6 พฤศจิกายน พ.ศ. 2558

วันจันทร์ที่ 19 ตุลาคม พ.ศ. 2558

แก้ Using a password on the command line interface can be insecure. ใน mysql 5.6


แก้ Using a password on the command line interface can be insecure. 

ใน mysql 5.6 ขึ้นไปจะเพิ่ม security ในการ login ทำให้การใส่ option -p ในสคริปต่างๆ ที่เราตั้ง auto ไว้มันไม่ยอมฟ้องข้อความดังกล่าว
จึงต้องใช้ mysql_config_editor ในการแก้ไขปัญหานี้

#mysql_config_editor set --login-path=local --host=localhost --user=[User ที่้ต้องการ] --password
# กรอก password ของ user นั้นๆ
# จะมี คำถามว่าต้องการยืนยันซ้ำการใส่ password ไหม กด Y ยืนยัน

เช็คค่าด้วยคำสั่ง
# mysql_config_editor print --all

[local]
user = root
password = *****
host = localhost


ชื่อโฮสถ้าเราใช้ชื่ออื่นก็จะโชว์ขื่อนั้นมา  และเวลเรียกใช้งานก็ต้องเรียกให้ถูกตามที่เรา set ไว้
การเรียกใช้งานเราก็จะเรียกคำสั่ง
# mysql --login-path=local  แทนการใช้งาน  mysql -u username -p pass  ได้เลยไม่ติดพาสเวิร์ดแล้ว

ตัวอย่าง
# mysqldump --login-path=local DatabaseName > /tmp/DatabaseName.sql
แทน
# mysqldump -u root -pPASSWORD DatabaseName > /tmp/DatabaseName.sql

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

วันศุกร์ที่ 11 กันยายน พ.ศ. 2558

freedigitalphotos.net เวป stock นอกสายตาที่ไม่ควรมองข้าม

freedigitalphotos.net  เวป stock นอกสายตาที่ไม่ควรมองข้าม

หลังจากที่สอบผ่านสต๊อกใหญ่ๆ 5-6 เจ้าหมดแล้ว  ก็อัพไปเรื่อยๆ ก็มีบางช่วงที่ไม่มีภาพใหม่ให้อัพก็เลยว่างๆ หาเวปอื่นๆ อัพงานเก่าๆ ระหว่างรอภาพใหม่ๆ
อ่านๆ ในเน็ทบางท่านพูดถึงเวปนี้  freedigitalphotos.net  ว่าราคาดีได้ถึง 75% ของแต่ละดาวโหลดเลยทีเดียว   และมีหลายคนทำหลายเวปแล้วได้ % จากเวปนี้ดีแซงขึ้นมาอันดับ 3-4 ในพอร์ทรวมทุกเวปเลย  แต่...ๆๆๆๆ
นั่นแหละครับอ่านชื่อเวป freedigitalphotos ชื่อก็บอกอยู่แล้วนะครับว่าฟรี   โดยทุกรูปทีอัพขายจะยอมรับให้มีการโหลดฟรีใน size เล็ก 400px  และคนโหลดเมื่อนำไปใช้ต้องลงเครติดที่มาไปยังเวป  freedigitalphotos และชื่อเจ้าของภาพเรานั้นๆ   เราต้องยอมรับจุดนี้ก่อน

ที่นี่ตอนเราอัพโหลดภาพจะมีให้เรากำหนดราคาขายภาพนั้นๆ ไว้เลยตั้งแต่ ( US$10 - US$50 ) แต่นั่นแหละครับ  ตั้งแพงก็อาจจะเสี่ยงว่าคนไม่ซื้อ   ก็เลือกเป็นภาพๆไปภาพไหนถ่ายยาก  และหายากในตลาดก็ลองอัพราคาดูกัน  แต่ผมเริ่มๆเอาเซฟๆ 10US ไปก่อน   ตรงนี้เรามาแก้ราคาตอนหลังได้ครับ

แต่ราคาก็จะลดหลั่นลงมาตามขนาดไฟล์ที่ลูกค้าซื้อไปนะครับ   ดังเช่นใบที่ไข่แตกผมได้ Large (1024px)  8US  ( ถ้า 10 US จะเป็นขนาดไฟล์เท่าต้นฉบับที่ผมอัพ)
และยังมีราคาแจ๊คพ็อตแตกคือลูกค้าซื้อแบบขยายพวกปริ้นติ้งต่างๆ  Extended licence ราคาจะเป็น 75$ เลยครับผม

แรกเริ่มผมอัพไป 2-3 ใบ รุ่งขึ้นนี่มาเลยมีโหลดแล้ว  !!! ( โหลดฟรีน่ะ)   แทบจะอยาก login เข้ามาลบ user ทิ้งเลยแต่เอาฟร๊ะ   ทนๆดูอัพไปเล่นๆ นิดๆหน่อยๆ ไม่เน้นสักเดือนสองเดือนถ้าไม่ดีลบทิ้งหมด
โดยผมอัพทิ้งไว้ 7 ใบที่ผ่าน

อัพทิ้งไว้อาทิตย์หนึ่ง
 Image approval rating: 78% (images approved = 7, images rejected = 2, total images reviewed = 9)

ปรากฏว่าลงไปอาทิตย์เดียวไข่แตกละ  วันนี้มีโหลดได้เงินมาแล้วแฮะ  อืมดูถูกไม่ได้แฮะ
โดยได้มา 5.6 US  จากราคาขาย 8 US ^____^  หูยยยตาลุกวาว

ปล.ที่นี่แรกเริ่มจะไม่มีระบบอัพผ่าน FTP นะครับ  เราต้องอัพผ่านหน้าเวปอย่างเดียว  หรือจนกว่าเมื่อเราอัพภาพไปแล้วเกินกว่า 500 ใบ  แล้วเราได้ rate approve ผ่านเกิน 80%  ถึงจะ request ขอ FTP ได้ครับ

ปล.2  ที่นี่ต้องส่งภาพสอบทั้งหมด 8 ใบ  พยายามเลือกภาพที่หลากหลายและแปลกตาไม่ค่อยพบเห็น  ที่นี่ถือว่าโหดสุดเท่าที่เคยส่งมาละครับ  เดาทางลำบากผมเองสอบถึง 4 รอบถึงจะผ่าน

วันพุธที่ 19 สิงหาคม พ.ศ. 2558

ปัญหา upgrade Gliffy 6.7 for confluence

ปัญหา upgrade Gliffy v.6.7 for confluence

- problem in upgrade Gliffy 
ต้องการอัพเกรด gliffy ไป version  6.7 ผ่านหน้า manage add-on แล้วเจอปัญหาดังกล่าว
ตรวจสอบใน log ของ confluence มี error ดังนี้


: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.

    
แต่สำหรับเครืองนี้เคยเจอปัญหาคล้ายกันๆ แล้วมีการเพิ่มค่า parameter ไปก่อนแล้ว  ซึ่ง version นี้ขนาดใหญ่กว่าเดิม   จึงต้องทำการเพิ่มมากกว่าใน doc ดังกล่าวเป็น

     - change max_allowed_packet = 1024M
     - change innodb_log_file_size = 1024M

# delete  ib_logfile* of mysql

# restart mysql

แล้วลองทำการ upgrade อีกที

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

Mysql ภาษาไทยเพี้ยน เป็นต่างดาว

กรณีฟ้อนท์ไทยเพี้ยน  ไม่ว่าจะ input ผ่าน phpmyadmin หรือจะ import ผ่าน mysql command ก็ตาม
ให้ลองเช็ค collation ของ  mysql ใน server เราก่อนดังนี้
> SHOW VARIABLES LIKE 'char%'; SHOW VARIABLES LIKE 'collation%';

mysql> SHOW VARIABLES LIKE 'char%'; SHOW VARIABLES LIKE 'collation%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | utf8_general_ci   |
| collation_database   | latin1_swedish_ci |
| collation_server     | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)

จะเห็นว่าบางส่วนไม่ถูกต้องตามที่เราใช้งาน  เช่น | character_set_server     | latin1  ,  หรือ | collation_database   | latin1_swedish_ci |

ดังนั้นเราต้องทำเพื่ม configure เหล่านี้ลงไปก่อนใน my.cnf
[mysqld]
character-set-server=utf8 
collation-server=utf8_unicode_ci 

restart service สักรอบเพื่อรันค่าใหม่

แล้วรันคำสั่งดูอีกที
mysql> SHOW VARIABLES LIKE 'char%'; SHOW VARIABLES LIKE 'collation%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

+----------------------+-----------------+
| Variable_name        | Value           |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database   | utf8_unicode_ci |
| collation_server     | utf8_unicode_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)

ค่าต่างๆ เป็นไปตามที่เรา set แล้ว  ให้ลองป้อนค่าต่างดูว่าอ่าน font ได้ปกติหรือยัง

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

วิธีเบิกเงิน fotolia

หลังจาก fotolia ปรับโฉมใหม่หาที่เบิกไม่เจอเลยมารวมไว้ให้ครับ
หลังจาก login เข้าระบบของเราก็ไปที่
Dashboard > ดูเมนูด้านซ้ายในหมวด Tools
                  - เลือก Convert Credits

- ต่อไประบบจะถามว่าเราเป็นคน us หรือเปล่าเลือก No  แล้วกด Next


- ต่อไประบบจะให้เลือกวิธีรับเงิน  ผมใช้ Paypal
   Conversion Email = อีเมล์ที่เราผูก paypal ไว้
   Confirm your payment email address  = กรอก e-mail ยืนยันอีกที
   
How many credit would you like to convert =  ต้องการเบิกเท่าไหร่ก็ใส่ไป  

- เมื่อกด convert my credits จะเด้งกลับมาหน้าโชว์ stat ดังภาพจะเห็นจำนวนเงินที่เรากดเบิกไปและ status ด้านขวาเป็นรูปนาฬิกา  คือรอระบบส่งเงินไปทาง paypal เรา  ( ตรงนี้ช้าเร็วแล้วแต่รอบการเบิก บางคน 3-4 วัน บางคน 2-3 สัปดาห์เลยทีเดียว)

เป็นอันเรียบร้อยนอนรอรับเงินได้เลย :)


วันศุกร์ที่ 10 กรกฎาคม พ.ศ. 2558

MailCatcher สำหรับทดสอบ internal SMTP

MailCatcher สำหรับทดสอบ SMTP internal 

ต้องลง lib สำหรับใช้คำสั่ง gem ให้ได้เสียก่อน
#yum install rubygems
#yum groupinstall -y development
# gem install mailcatcher
** จะฟ้อง error ต้องการ i18n ให้ทำตาม link นี้
https://cleanclouds.wordpress.com/2014/12/20/error-error-installing-rails-i18n-requires-ruby-version-1-9-3/
# yum groupinstall -y development
# curl -L get.rvm.io | bash -s stable
จะฟ้อง
GPG signature verification failed for '/usr/local/rvm/archives/rvm-1.26.5.tgz' - 'https://github.com/wayneeseguin/rvm/releases/download/1.26.5/1.26.5.tar.gz.asc'!
try downloading the signatures:
gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
or if it fails:
command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
สั่ง
# curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
# curl -L get.rvm.io | bash -s stable
# source /etc/profile.d/rvm.sh
รอจนเสร็จตามด้วย เพื่อลง ruby
# rvm install 1.9.3
เมื่อเสร็จจะมีข้อความบอก ทดสอบดูเวอร์ชั่น ruby ว่าถูกต้องไหม
# ruby --version
ruby 1.9.3p551 (2014-11-13 revision 48407) [x86_64-linux]
ระบบ mailcatcher จะทำงานเป็น deamon ตาม lib ของ ruby

เมื่อพร้อมกลับมา install mailcatcher ได้แล้ว
# gem install mailcatcher
แล้วก็รอไป (นานมากกก)
หากเราจะทำการทดสอบด้วยการส่งเมล์ผ่านะโค๊ด PHP ให้เราเข้าไปแก้ configure ของ php.ini ในส่วนของ mail option เสียก่อน ดังนี้
# vi /etc/php.ini

smtp_port = 1025
sendmail_from = me@example.com
sendmail_path = /usr/local/rvm/gems/ruby-1.9.3-p551/bin/catchmail --smtp-ip 0.0.0.0 --smtp-port 1025 -f me@example.com

แล้วทำากร restart httpd หนึ่งรอบ
# /etc/init.d/httpd restart
เมื่อเรียบร้อยแล้วทำการ start การทำงาน ของ MailCatcher
# mailcatcher --http-ip 0.0.0.0 --smtp-port 1025
จะมีข้อความบอกว่า mailcatcher สตาร์ทและทำงานแล้ว
webbrowser ของ server ip นั้นและตามด้วยพอร์? 1080
ส่วน smtp ตั้งเป็น port 1025
เมือเข้าไป http://ipaddress:1080/ จะพบ browser แสดงเมล์ที่ส่งผ่าน smtp ที่เราทดสอบ
ต่อไปสร้างโค๊ด php ทดสอบในการส่งว่าจะเข้าหรือไม่ดังนี้
# vi mail.php
<?php $headers = 'From: webmaster@example.com'; mail('nobody@example.com', 'Test email using PHP', 'This is a test email message', $headers, '-fwebmaster@example.com'); ?>

แล้วทำการสั่งเพื่อทดสอบดู
# php mail.php
และกด refresh ดูหน้า http://ipaddress:1080/ จะเห็นว่า MailCatcher เก็บเมล์นั้นได้แล้ว


วันศุกร์ที่ 3 กรกฎาคม พ.ศ. 2558

ติดตั้ง jira & confluence ให้รองรับ SSL ผ่าน port 433 ทั้งคู่

ติดตั้ง jira & confluence ให้รองรับ SSL ผ่าน  port 433 ทั้งคู่

- ติดตั้ง mod_ssl ให้ apache รองรับการทำงานของ ssl
#  yum install mod_ssl

สร้าง dir เพื่อเก็บ key ที่เราได้มาใช้งาน
# mkdir -p /etc/httpd/ssl/
นำ key และ cert มาเก็บไว้ทีนี่
-rw-r--r-- 1 root root 1674 Jun 23 13:55 DigiCertCA.crt
-rw-r--r-- 1 root root 1900 Jun 23 13:55 star_YourDomain_co_th.crt
-rw-r--r-- 1 root root 1704 Jun 23 13:55 star_YourDomain_co_th.key

stop service ทุกอย่างก่อน
# /etc/init.d/jira stop
# /etc/init.d/confluence stop
# /etc/init.d/httpd stop

แก้ไฟล์คอนฟิกของ jira  ที่ /usr/atlassian/jira/conf/server.xml   ดังนี้

<?xml version="1.0" encoding="utf-8"?>
<Server port="8005" shutdown="SHUTDOWN">
    <!--APR library loader. Documentation at /docs/apr.html -->
    <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on"/>
    <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
    <Listener className="org.apache.catalina.core.JasperListener"/>
    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
    <Service name="Catalina">
        <Connector port="8080"
                   maxThreads="150"
                   minSpareThreads="25"
                   connectionTimeout="20000"
                   enableLookups="false"
                   maxHttpHeaderSize="8192"
                   protocol="HTTP/1.1"
                   useBodyEncodingForURI="true"
                   redirectPort="8443"
                   acceptCount="100"
                        scheme="https"
                        proxyName="jira.YourDomain.co.th"
                        proxyPort="443"

                   disableUploadTimeout="true"/>
        <Engine name="Catalina" defaultHost="localhost">
            <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
                <Context path="" docBase="${catalina.home}/atlassian-jira" reloadable="false" useHttpOnly="true">


แก้ไขไฟล์คอนฟิก ของ confluence  ที่  /usr/atlassian/confluence/conf/server.xml  ดังนี้

<Server port="8000" shutdown="SHUTDOWN" debug="0">    <Service name="Tomcat-Standalone">        <Connector port="8090" connectionTimeout="20000" redirectPort="8443"                maxThreads="200" minSpareThreads="10"                enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8" proxyName="wiki.YourDomain.co.th" proxyPort="443" scheme="https" />
            <Engine name="Standalone" defaultHost="localhost" debug="0">            <Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="false">                <Context path="" docBase="../confluence" debug="0" reloadable="false" useHttpOnly="true">                    <!-- Logger is deprecated in Tomcat 5.5. Logging configuration for Confluence is specified in confluence/WEB-INF/classes/log4j.properties -->                    <Manager pathname="" />                </Context>            </Host>
        </Engine>
    </Service></Server>


แก้ไขไฟล์ httpd.conf  ที่   /etc/httpd/conf/httpd.conf   ดังนี้

Listen 80 443
NameVirtualHost *:443
NameVirtualHost *:80
<VirtualHost *:80>
        ServerAdmin itinfrasystem@YourDomain.co.th
        ServerName jira.YourDomain.co.th
        RewriteEngine On
        RewriteRule ^/(.*)      https://%{HTTP_HOST}/$1 [R]
</VirtualHost>
<VirtualHost *:443>
        ServerAdmin itinfrasystem@YourDomain.co.th
        ServerName jira.YourDomain.co.th
        SSLEngine On
        SSLCertificateKeyFile /etc/httpd/ssl/star_YourDomain_co_th.key
        SSLCertificateFile /etc/httpd/ssl/star_YourDomain_co_th.crt
 ####### JIRA is running on port 8080/443 local on localhost
        ProxyRequests Off
        ProxyPreserveHost On
        SSLProxyEngine on
        ProxyPass / http://localhost:8080/ connectiontimeout=5 timeout=300
        ProxyPassReverse / http://localhost:8080/
</VirtualHost>
<VirtualHost *:80>
        ServerAdmin itinfrasystem@YourDomain.co.th
        ServerName wiki.YourDomain.co.th
        RewriteEngine On
        RewriteRule ^/(.*)      https://%{HTTP_HOST}/$1 [R]
</VirtualHost>
<VirtualHost *:443>
        ServerAdmin itinfrasystem@YourDomain.co.th
        ServerName wiki.YourDomain.co.th
        SSLEngine On
        SSLCertificateKeyFile /etc/httpd/ssl/star_YourDomain_co_th.key
        SSLCertificateFile /etc/httpd/ssl/star_YourDomain_co_th.crt
 ####### WIKI is running on port 8090/443 local on localhost
        ProxyRequests Off
        ProxyPreserveHost On
        SSLProxyEngine on
        ProxyPass / http://localhost:8090/ connectiontimeout=5 timeout=300
        ProxyPassReverse / http://localhost:8090/
</VirtualHost>

ทดสอบค่า configure ดู
# /etc/init.d/httpd configtest

ทำการ start service ทังหมดแล้วทดสอบใช้งานดู
# /etc/init.d/jira start
# /etc/init.d/confluence start
#  /etc/init.d/httpd start

เมือ service สตาร์ทผ่านหมด  รันผ่าน ssl port 443 ได้ครบ   เข้าไปเปลี่ยน system url ด้วย
jira = login > ฟันเฟือง system > Edit settings
ที่ Server Base URL http://jira.YourDomain.co.th  เป็น https://jira.YourDomain.co.th

confluence = login > ฟันเฟือง Gerneral configure > Edit
ที่ Server Base URL http://wiki.YourDomain.co.th   ไปเป็น  https://wiki.YourDomain.co.th


วันอังคารที่ 16 มิถุนายน พ.ศ. 2558

Adobe Stock

Adobe Stock

16/06/2015

The industry's first stock content service to be integrated directly into Photoshop CC, Illustrator CC, InDesign CC and other Adobe desktop apps creative professionals use every day. As a Fotolia contributor, your content is now being sold on Adobe Stock - something we hope you will be as excited about as we are.

The integration of Adobe Stock with Creative Cloud allows Creative Cloud customers – all 4 million of them - to launch Adobe Stock directly within CC desktop software, making your images far more accessible and easy to purchase than ever before. 

Additionally, we have good news about Adobe Stock payouts as well as changes to Fotolia payouts:

Adobe Stock payouts will be 33% on all products. We are maintaining guaranteed payout floors to protect your commissions on large subscriptions.
Fotolia subscription payouts have been raised, from 20-25% to 33% for all contributors!

วันนี้ Adobe ได้ปล่อยอัพเดท Adobe CC, Illustrator CC หลากหลายฟีเจอร์ให้อัพเดทกันทั่วไป
พร้อมกันนี้ทาง Adobe ได้เปิดตัว บริการใหม่นั่นคือ AdobeStock  เวปซื้อ ขายภาพที่ก่อนหน้านี้ Adobe ได้เข้าไปซื้อหุ้นส่วนบริการด้านนี้อยู่แล้วกับเวป fotolia.com  เพื่อให้ครอบคลุมตลาดมากขึ้น Adobe จึงเปิดบริการส่วนนี้เพิ่มขึ้นมา

โดย contribute ที่ส่งภาพขายที่ fotolia.com อยู่แล้วภาพก็จะโผล่ขายที่เวป AdobeStock.com ด้วยเช่นกัน   โดย % ค่าคอมมิสชั่น จะสูงถึง 33% ในการขายแต่ละภาพ   ส่วนดาวโหลดแบบ subscription ก็จะอยู่ในช่วง 20%-33% ( จริงๆ มันก็เรทอะนะ)
เพียงแต่เราได้ช่องทางการขายที่กว้างขึ้น   โอกาสดาวโหลดได้มากขึ้นเช่นกัน


วันศุกร์ที่ 29 พฤษภาคม พ.ศ. 2558

Jira Error - NullPointerException หลังจากลบ issue type ต่างๆ

Jira Error - NullPointerException หลังจากลบ issue type ต่างๆ

ส่งผลให้ create อะไรไม่ได้เลย  

วิธีแก้ 
เข้า mysql เพื่อหา id ที่มีปัญหา
> select cf.optionid from optionconfiguration cf where cf.optionid not in (select it.id from issuetype it);
จะได้ค่า id ที่มีปัญหาว่ามีกี่ตัว
 stop service jira
> delete from optionconfiguration where optionid not in (select it.id from issuetype it);
เพื่อลบ id ที่มีปัญหาเหล่านั้น
start service JIRA


Confluence : Error 500 - Java.lang.NullPointerException

ข้อมูลสรุปนี้ไม่พร้อมใช้งาน โปรด คลิกที่นี่เพื่อดูโพสต์

install cphalcon

install cphalcon

install library ที่ต้องใช้เสียก่อน
# yum install php-devel pcre-devel gcc make
# git clone --depth=1 git://github.com/phalcon/cphalcon.git
# cd cphalcon/build
# sudo ./install

*** โดยปกติสคริป phalcon จะ build เลือก architechter ให้โดยออโต้ แต่ถ้าเกิดมีปัญหาตัด เราสามารถเลือกแบบ manual ได้ดังนี้
# cd cphalcon/build/64bits
# export CFLAGS="-O2 --fvisibility=hidden"
# ./configure --enable-phalcon
# make 
# sudo make install

ในบางกรณี ถ้าเครืองนั้นมีการ upgrade / downgrade php หลายครั้งอาจจะเจอปัญหาระหว่างการคอมไพล์ เป็น error ประมาณ.....
....
...
‘zend_std_get_static_property’ discards qualifiers from pointer target type
/usr/include/php/Zend/zend_object_handlers.h:147: note: expected ‘char *’ but argument is of type ‘const char *’
/root/cphalcon/build/64bits/phalcon.zep.c: At top level:
/root/cphalcon/build/64bits/phalcon.zep.c:126687: error: ‘ZEND_FE_END’ undeclared here (not in a function) "
ตรวจสอบ php-config ว่า php ที่ลงกับตัวคอมไพล์ phpize และ php-config ต้อง version เดียวกันเท่านั้น
หรือใช้วิธีหลอกด้วยการ lymbolic link แทน
( ตัวอย่างหลอกว่าเป็น version 5.3.3 )
# ln -s /usr/bin/php-config /usr/bin/php-config533

แล้วคอมไพล์ใหม่อีกครั้ง แล้วตรวจสอบ phalcon.so ว่ามีแล้วหรือยังในพาร์ท ( ปกติสคริปจะก๊อปให้เอง) ที่ /usr/lib64/php/modules/
และที่ /etc/php.d/ จะมีไฟล์ phalcon.ini ที่ระบุเปิด extension ของ phalcon.so ให้อยู่แล้ว
restart service อีกที

# /etc/init.d/nginx 
# /etc/init.d/php-fpm
ตรวจสอบ module อีกที 
# php -m
*** จากเปิด issue ไปทางทีมพัฒนา phalcon แนะนำสำหรับ phalcon version 2.1 ควรใช้ php 5.3.21 อย่างต่ำ

- refer: 
https://github.com/phalcon/cphalcon/issues/10101
https://github.com/phalcon/cphalcon/issues/10387
http://docs.phalconphp.com/en/latest/reference/install.html 

Password less command line scripts ใน MySQL client v.5.6 ขึ้นไป

Password less command line scripts ใน MySQL client 5.6 ขึ้นไป 


เจอปัญหาเมื่อก่อนใช้จะฝัง  คำสั่ง command และพาสเวิร์ดในคำสั่ง script mysql ต่างๆ เลยแต่พออัพมาใช้ version 5.6 แล้วมันฟ้องว่าไม่ได้  ฟ้องว่าต้องการ password ซะงั้น
เนื่องจาก client version 5.6 มีการอัพเดทเรือง security ดังกล่าว  เราจึงต้องเปลี่ยนแปลงดังนี้
ใช้คำสั่ง  mysql_config_editor ใส่ค่าตามที่เราจะ set user นั้นๆ ไป

# mysql_config_editor set --login-path=client --host=localhost --user=root --password
ใส่ password

--login-path=ชื่อเรียกในการ login ตั้งชื่ออื่นก็ได้
--host= จะให้เซ็ตการ login นี้กับเครืองไหนก็ใส่ไป

ทดสอบ print ค่าที่เซ็ตไว้ออกมาดู  มันจะตั้งชื่อตาม --login-path=xxxxx เรานั่นเอง  ตั้งซ้ำก็ได้มันจะเด้งถามให้ทับไหม
# mysql_config_editor print --all

[client]
user = root
password = *****
host = localhost


# mysql --login-path=client  
เข้าเลย

หรือนำไปประยุกต์กับ backup ก็ได้ ตามนี้
# mysqldump --login-path=client --max_allowed_packet=512M Database_Name > /backup/Database_Name_`date "+%Y-%m-%d"`


* refer: http://dev.mysql.com/doc/refman/5.6/en/mysql-config-editor.html
* http://akrabat.com/password-less-command-line-scripts-with-mysql-5-6/

วันพุธที่ 8 เมษายน พ.ศ. 2558

การตั้งค่าบัญชีรับเงิน Amazon เข้าธนาคารกรุงเทพ แบบ Direct Deposit

ขออนุญาติมาแปะไว้กันลืมคร้บ
เริ่มต้นก่อนอื่นเลย ต้องไปเปิดบัญชีธนาคารกรุงเทพเป็นอันดับแรกครับ แบบออมทรัพย์ ไม่ต้องไปเปิดสาขา New York นะครับ เปลืองค่าเครื่องบินเปล่าๆ
ผมแนะนำให้มีบัญชีของธนาคารกรุงเทพกับธนาคารกสิกรไทย สำคัญมาก เดี๋ยวจะค่อยๆ มาบอกไปเรื่อยๆ นะครับครับ

1. สำหรับค่าธรรมเนียมการรับเงินแบบ Direct Deposit คิดเรท ดังนี้

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

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

สมมุติว่าเราได้เงินจาก Amazon $10 เราจะต้องเสียเงินค่าธรรมเนียมให้ธนาคารกรุงเทพ 200 บาท ซึ่งเท่ากับเราไม่ได้อะไรเลย เสียค่าธรรมเนียมเกือบจะเท่ากับรายรับที่ได้เสียอีก ดังนั้น แนะนำให้ตั้งแบบรับเงินเป็นเช็คไว้ก่อน ที่มูลค่าที่ $1000 พอได้ยอดใกล้ครบตามจำนวนแล้วค่อยไปตั้งค่่าการรับเงินใหม่มาเป็นแบบโอนเงินเข้าธนาคารกรุงเทพอีกที

เรทเงินที่เราจะเสียค่าธรรมเนียมต่ำสุด อยู่ที่จำนวนเงิน $2000 ครับ

สิ่งที่ต้องเตรียมไว้สำหรับการรับเงินแบบ Direct Deposit เข้าบัญชีธนาคารกรุงเทพของ Amazon

บัญชีเงินฝากออมทรัพย์ของธนาคารกรุงเทพ สาขาใดก็ได้

ขั้นตอนการตั้งค่า Direct Deposit ของ Amazon

1. Login เข้าไปยัง Amazon Associate ของเรา
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 -  (สำคัญมากห้ามผิด)

เสร็จแล้วให้ทำการกด Submit เพื่อยืนยันการเปลี่ยนแปลง เท่านี้ก็เสร็จเรียบร้อย รอรับเงินเข้าธนาคารได้เลย ไม่ต้องเอาเช็คไปขึ้นเงินให้เสียเวลาครับ

ที่มา : http://www.hot-th.com/thread-287-1-1.html

วันพฤหัสบดีที่ 5 กุมภาพันธ์ พ.ศ. 2558

แนะนำเวป Micro Stock ขายภาพออนไลน์


แนะนำเวป Micro Stock ขายภาพออนไลน์  

จริงๆ ทำอยู่หลายเวปกว่านี้แต่ขอแนะนำแค่เวปที่มีความต่อเนื่องคุ้มกับเวลาที่เสียไปละกัน  เยอะกว่านี้ไม่มีเวลาไล่อัพละ   จริงๆ สมัครไว้นานพอควรแต่ไม่ได้อัพจริงจังเท่าไหร่   เพิ่งมาอัพต่อเนื่องตอนไม่กี่เดือนนี้เอง   
ผมจะเรียงตามที่ขายดีของผมนะ   ( อันดับทำเงินคนอื่น อาจจะต่างกันไป)

1. Fotolia.com 

   ตอนนี้เวปนี้ผมดาวโหลดต่อเนื่องดีกว่าเวปอื่นเสียอีก   ไม่ต้องสอบ  รับภาพไม่ยากด้วยทำให้หลังๆ มีมาเรื่อยๆ ไม่วูบวาบแต่มาต่อเนื่องดี

2. shutterstock.com

ถือเป็นตลาดใหญ่เลยใครก็จะมาเวปนี้กัน   ต้องสอบให้ผ่าน 7 ใน 10 ภาพ    ( รับภาพปานกลาง แต่บางทียากมากกกกกตกแบบยังไม่ทันตรวจ  แล้วแต่ดวงว่าคุณเจอคนตรวจคนไหน)  บางทีก็ทำให้เบื่อให้เซ็งเหมือนกัน  หลังๆ ถ้าส่งทีเป็นเซ็ตทีละมากๆ มักจะโดนตกหมดทั้งเซ็ต   แต่ถ้าเอาภาพนั้นไปผสมๆ รวมๆ กับภาพชุดอื่นกลับผ่านได้ซึ่งตรงนี้ผมคิดว่าคนตรวจบางคนไม่มีมาตรฐานเหมือนกันนะ  ตรงนี้ต้องวางแผนการส่งภาพเหมือนกัน   แต่ถ้าใครติดลมบนเวปนี้แล้วสบายเลยครับโหลดกินยาวดังนั้นควรพยายามสอบให้ผ่านไว้

3. 123rf.com

ตามมาอันดับ 3 ไม่ต้องสอบ  และรับภาพง่ายแต่นานๆ ตรวจทีประมาณ 1-2 สัปดาห์ต่อครั้ง


4. istockphoto.com
 
   ต้องสอบก่อนค่อนข้างยากต้องเน้น  และรับภาพปานกลางไม่ยากมาก ตรวจสัปดาห์ละครั้ง

5  dreamtimes.com
 
   ไม่ต้องสอบ  รับภาพยากปานกลางสมเหตุผลดี  หลังจากสอบผ่านก็มีโหลดมา  แต่หลังๆ ไม่มีโหลดเลยแปลกเหมือนกันเป็นปีละ 

6. depositphotos.com

  ต้องสอบ 5 ภาพ  รับภาพค่อนข้างง่าย ( แต่เพิ่งสมัครไม่แน่ใจว่ารายได้ดีไหม )  ตรวจภาพแทบจะทุกวัน 


ใครสนใจก็ไปทำ passport เพื่อยืนยันตัวตน ( ใช้แทบจะทุกเวปครับ ) แล้วสมัครเพื่ออัพภาพกันเลยครับ  อันนี้คัดมา 6 ที่ที่ดูมีอนาคตหน่อยครับที่แต่ว่า  แต่ละคนภาพก็คนละแนวกันอาจจะถูกฉโลกไม่เหมือนกันครับอันดับ   แนะนำให้อัพไปทุกเวปเลบแล้วค่อยดูว่าตัวเราเหมาะกับแนวไหนเวปไหน  แล้วก็เน้นกันอีกทีครับ
   

Review โปรแกรม Foap

รีวิว โปรแกรม FOAP

 มาถึงโปรแกรมขายภาพอีกตัวที่น่าสนใจ  เป็นโปรแกรมแนว Mobile stock อีกตัวที่น่าสนใจจากทางสวีเดน   ที่ถือว่าออกแบบมาได้ดีเลยเป็นอย่างไรลองไปเล่นกันดูนะครับ
โดย Foap จะเป็นลักษณะถาพที่เราอัพขึ้นไป   จะต้องผ่านการให้คะแนนโดย user คนอื่นกดให้เราว่าจะให้เรากี่คะแนน 1-5 ดาว  ถ้า ภาพไหนเมื่อคนให้คะแนนครบ 5 คนไปแล้วคะแนนเกิน 2.5  ภาพนั้นก็จะผ่านเข้าไปในระบบของ Foap พร้อมขายได้ทันที   แต่ถ้าภาพไหนครบ 5 คนแล้ว   คะแนนยังไม่ถึง 2.5  รูปนั้นก็ถือว่าตกนะครับ    แต่ก็ลองส่งใหม่ได้เผื่อคนให้คะแนนคนอื่นๆ กดให้เราเกิน
จุดนี้มีข้อเสียตรงนี้เลยคือ  บางทีผมเจอพวก user เกรียนๆ นี่แหละกด คะแนนครับทำให้ภาพไม่ผ่าน  ต้องอัพใหม่อีกเสียเวลามากๆ ( ผมเทสด้วยรูปที่ขายในพอร์ทอื่นๆ มาอัพ)  เจอแบบนี้หลายครั้งเหมือนกัน
ลักษณะโปรแกรมจะประมาณนี้
เข้ามาที่เมนูหลักจะมีแบ่งดังนี้  

-Explore photos  คือ เมนูรวมภาพทั้งหมดในระบบโปรแกรมเปิดขึ้นมาหน้าแรกจะมี feed 2 ฟากคือ lastest sold  (คือภาพที่ขายได้ล่าสุด) กับ recently added (คือภาพที่ผ่านการตรวจรับเข้าระบบล่าสุด)  
- Rate photos  คือ การเข้าไปให้คะแนนภาพต่างๆ  1-5 ดาว  เราเป็นคนตรวจภาพของ user อื่นๆ ในระบบเลย
-Join missions  คือ โจทย์พิเศษที่ทางสปอนเซอร์จะจัดขึ้นมาว่าอยากได้ภาพอะไร  โดยราคาที่ซื้อส่วนมากจพสูงใช้ได้เลย  แต่ภาพไม่กี่ภาพที่จะซื้อ
- Your sales  คือ สรุปรวมจำนวนภาพ และเงินที่คุณขายได้
- Photo status  คือ ดูสถานะภาพของคุณที่ส่งไป
- Promote your photos  คือ กดโปรโมทภาพเราไปยังสื่อ social ต่างๆ
- how it works   คือ help ลองอ่านกันดู
- setting   คือการตั้งค่าต่างๆ พวก notification และ account เรานิดหน่อย

ขั้นตอนการอัพภาพถ้าเราเลือกเข้าร่วมกิจกรรม   join mission ( เพราะว่าถ้าขายได้จะได้ราคาสูงมาก 100$-500$  ประมาณนี้)   แต่ถ้าภาพไหนขายไม่ได้ก็ยังคงอยู่ในพอร์ทเรา  มีสิทธิ์ขายได้ใน rate ปกติต่อไปคือ 5$ (ราคาขาย 10$)
> กดเข้า join mission
> เลือก mission ที่สนใจอ่านดูว่าเขาต้องการภาพแบบไหน  กด join นั้น

> เลือกภาพจาก gallery มือถือเรา


> ตั้งชื่อและใส่รายละเอียด > next


>ใส่ keyword ในภาพเรา > next


> โปรแรกมถามว่ามีคนในภาพไหม  ถ้ามีอาจจะต้องขอแนบ pr คนในภาพด้วย  ถ้าไม่มี next


> แล้วโปรแกรมก็จะถามว่าเราจะ  ให้คะแนนภาพเลยไหม ( เราต้องเลือก rate now ) คือการให้คะแนนภาพของคนอื่นๆ  อย่างน้อย 5 ภาพ  ระบบถึงจะยอมส่งภาพของเราเข้ากระบวนการรีวิว
คะแนนก็มีตั้งแต่ 1-5 ดาว  เมื่อครบก็จะมีข้อความบอก

แค่นี้ก็เสร็จขึ้นตอนอัพภาพขายที่ FOAP แล้วครับ

เท่าที่ลองเล่นดูปัญหาของตัวนี้ก็จะอยู่ที่การตรวจภาพ  เพราะระบบตั้งให้ user แต่ละคนเป็นคนให้คะแนนภาพในการ approve ขึ้นขาย  ถ้ารูปที่เราอัพเจอ user คนอื่นดี  ก็ดีไปแป๊บเดียวผ่าน  แต่ถ้าเจอพวกเกรียนๆ กดคะแนน  ภาพเราก็อาจจะตกได้  ต้องเสียเวลาอัพใหม่

ยังไงลองอัพกันดูนะครับขอให้ขายได้ :)

วันพฤหัสบดีที่ 29 มกราคม พ.ศ. 2558

Install Oracle Client

Install Oracle Client
# yum install php-pear php-devel zlib zlib-devel bc libaio glibc

$ rpm -ivh oracle-instantclient-basic-10.2.0.3-1.x86_64.rpm
$ rpm -ivh oracle-instantclient-devel-10.2.0.3-1.x86_64.rpm

create symbolic link
# ln -s /usr/include/oracle/10.2.0.3/client64 /usr/include/oracle/10.2.0.3/client
# ln -s /usr/lib/oracle/10.2.0.3/client64 /usr/lib/oracle/10.2.0.3/client

Create a file oracle.sh  inside /etc/profile.d  
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib

and run it
#  source /etc/profile.d/oracle.sh

install PDO_OCI
# pecl download PDO_OCI
# tar -xvf PDO_OCI-1.0.tgz
# cd PDO_OCI-1.0

edit file confie.m4  in line 10  insert this for version 10.2.xxx
# vi config.m4

elif test -f $PDO_OCI_DIR/lib/libclntsh.$SHLIB_SUFFIX_NAME.10.2; then
  PDO_OCI_VERSION=10.2

และรันคำสั่ง

# phpize
# ./configure --with-php-config=php-config --with-pdo-oci=instantclient,/usr,10.2.0.3
# make
# make install

enable extension โดยสร้างไฟล์ /etc/php.d/pdo_oci.ini
# vi /etc/php.d/pdo_oci.ini
extension=pdo_oci.so
 
ทดสอบ
#  php -i | grep oci
จำได้ผลประมาณนี้
/etc/php.d/pdo_oci.ini,
PDO drivers => oci, odbc, sqlite

OCI8  install ด้วย pear
# pear download pecl/oci8
# tar -xvf  oci8-2.0.7.tgz
# cd  oci8-2.0.7
แล้วทำการ build install
#phpize
# ./configure --with-oci8=shared,instantclient,/usr/lib/oracle/10.2.0.3/client64/lib,10.2.0.3
# make
# make install

ทำการ extension สร้างไฟล์ /etc/php.d/oci8.ini
# vi /etc/php.d/oci8.ini   ใส่ไป

extension=oci8.so

# php -i | grep oci8  
เพื่อทดสอบ  จะได้ผลประมาณข้อความด้านล่าง
/etc/php.d/oci8.ini,
oci8
oci8.connection_class => no value => no value
oci8.default_prefetch => 100 => 100
oci8.events => Off => Off
oci8.max_persistent => -1 => -1
oci8.old_oci_close_semantics => Off => Off
oci8.persistent_timeout => -1 => -1
oci8.ping_interval => 60 => 60
oci8.privileged_connect => Off => Off
oci8.statement_cache_size => 20 => 20

ทำการ restart apache รอบหนึ่งก็เสร็จสิ้นการลง oracle client ครับ

ที่มา:
http://shiki.me/blog/installing-pdo_oci-and-oci8-php-extensions-on-centos-6-4-64bit/

install repcached ( replicated memcached )

ลง lib ที่จำเป็นต้องใช้ก่อน
#yum install libmemcached  perl-IO-Socket-INET6 libevent

เลือกเวอร์ชั่นท่ต้ืองการ   http://repcached.lab.klab.org/

ดาวโหลด rpm มาแล้วติดตั้งตามขั้นตอน
# rpm -ivh  memcached-1.2.8-repcached-2.2-1.el6_.x86_64.rpm


[root@Mem1 software]# telnet 10.5.5.10 10001
Trying 10.77.169.110...
Connected to 10.77.169.110.
Escape character is '^]'.
set test 0 0 4
ตั้งชื่อ test  <enter>
STORED  แสดงว่าเก็บค่าแล้ว


จากอีกเครืองทดสอบย้อน connect ยอ้นกลับไป  port 10001

[root@Mem2 init.d]# telnet 10.5.5.9 10001
Trying 10.77.169.109...
Connected to 10.77.169.109.
Escape character is '^]'.
get test
จะได้ค่าเดียวกัน
VALUE test 0 4
test
END

การ Merg Partition บน Windows

>diskpart
>list disk  เพื่อดู disk
>sel disk 0   ชื่อดิสที่โชว์ก่อนนี้
>list partition   เพื่อดู partition ของดิสที่เราเลือก

>sel par 2   ( เลือกพาธิชั่นที่รวม unlocated ไว้ที่นี้คือ drive: D+allocated)
>list vol   (เพื่อดูชื่อ volume ของแต่ละไดร์ฟ)

>sel vol 2 (ที่นี้คือ volume 2 drive E: ที่เราต้องการขยายแล้วมี unllocated ดิสรวมในพื้นทีนี้แล้ว
>extend    คำสั่งขยายเต็มพื้นที่ที่ unllocated ที่เหลือก

Convert Disk type from Thin to Thick

Convert Disk type from Thin to Thick
**สำหรับ VMware ESXi version 5.5 ลอง migrate แล้วไม่เวิร์คใช้วิธีนี้แทน
1. shutdown ตัว machine ที่ต้องการจะเปลียน Thin ==> Thick
2. คลิกแทบ Summary ที่ datastore คลิกขวา Browse เข้าไปยัง datastore ที่เครื่องนั้นใช้เข้าไปยังชื่อ sever ที่เราจะทำการเปลียนแปลง
3. หาไฟล์ .vmdk คลิกขวาเลือก Inflate แล้วรอจนกระทั้งเสร็จขั้นตอน



4. login เข้า iLO VMware เพื่อเปิด enable ssh
5. เมื่อทำการ enable แล้วเข้าไปยัง vmfs เครืองที่เราจะทำการแก้ไข
จะเป็น /vmfs/datastore/ชื่อเครืองxxx ประมาณนี้
6. เมื่อเข้าไปจะเห็นไฟล์ ที่เราทำการ Inflate ไปแล้ว จะมี -flate ต่อท้ายชื่อไฟล์เรานั้นเองใช้คำสั่ง
> mkfstools -i T-QB2-ZoneADB2_1.vmdk -d zeroedthick T-QB2-ZoneADB2_1-flate.vmdk
T-QB2-ZoneADB2_1.vmdk ==> ไฟล์เก่า
T-QB2-ZoneADB2_1-flate.vmdk ==> ไฟล์ใหม่ที่ทำให้เป็น thick
เสร็จดูผลที่ resource ได้เลย