เรื่องมีอยู่ว่า ผมใช้คีย์บอร์ด Eng (us) และ Thai แต่หลังจากอัพเดทที่ผ่านมา จะมี Keyboard Layout ที่สามโผล่มา คือ Eng (Uk) ซึ่ง Layout มันใช่แบบที่ใช้ปกติ ทำงานยากมาก ลบออกก็ไม่ได้ ไม่มีใน Setting แล้ว แรก ๆ ทำการลบคือ ไปเพิ่มเข้ามา แล้วลบออก มันก็จะออกไป แต่ปิดเครื่องเปิดมา ก็กลับมาอีก ลองดูวิธีนี้นะ
ใช้ regedit มาเช็คที่ Computer\HKEY_USERS\.DEFAULT\Keyboard Layout\Preload
จะพบว่า มีข้อมูลอยู่สามแถว (ไม่นับ Default) โดยจะพบรหัสคีย์บอร์ดดังนี้
409 - us
809 - uk
41e - th
ก็ลบที่ไม่ต้องการออก ในที่นี้คือ uk อย่าลบผิดนะ การแก้ไข registry ควรทำอย่างรอบคอบมาก ๆ
ได้ข้อมูลมาจากกระทู้ถามตอบจาก Website นี้
https://answers.microsoft.com/en-us/windows/forum/windows_10-start-winpc/cant-remove-a-keyboard-layout-in-windows-10/058acf33-16d9-47f4-a24b-245b8823d90e
ซึ่งจะมีวิธีป้องกันการแก้ไขข้อมูล Layout Keyboard ด้วยครับ
หลังจาก Update มาเป็น Version Build 17134 ปัญหานี้ ก็กลับมาอีกครั้ง แถมรุนแรงกว่าเก่าตรงลบออกไม่ได้ด้วย ส่วนวิธีแก้ ผมเตรียมเอาไว้แล้วครับ ซึ่งเบื้องต้นคือ ต้องย้อนเวอร์ชั่นกลับไปก่อน เพื่อทำการ Remove ภาษาที่ไม่ใช่ออก ให้เหลือเพียงสองภาษาหลักที่ใช้ ก่อนทำการอัพเดทครับ ที่โพสต์นี้
วันพุธที่ 27 ธันวาคม พ.ศ. 2560
วันพุธที่ 25 ตุลาคม พ.ศ. 2560
การ Select แบบจับคู่ โดยยกเว้นตัวเอง
เช่น ข้อมูล มี A, B, C
ต้องการจับคู่โดยยกเว้นตัวเอง
select t1.txt, t2.txt
from test as t1
join test t2 on t2.txt > t1.txt
ต้องการจับคู่โดยยกเว้นตัวเอง
select t1.txt, t2.txt
from test as t1
join test t2 on t2.txt > t1.txt
วันพุธที่ 13 กันยายน พ.ศ. 2560
Oracle Manage DB
เครื่องหมาย ไม่เท่ากับ
<>
!=
^=
character set
memory
user admin
sys
system
dbsnmp
sysman
ตั้ง Memory และ Character set
Choose from the list of character sets :
TH8TISASCII - Thai Industrial Standard 620-2533-ASCII
Username : sys
password : xxx
Connection Type Basic Role SYSDBA
Hostname : localhost
Port : 1521
SID : xxxdb
ex.
login by sys in sqlDeveloper
grant read, write on directory data_pump_dir to [hr];
// set for use with DB
set ORACLE_SID=xxxx
// and use
expdp hr/hr directory=data_pump_dir
// In New DB by sys do this
grant connect, resource to [newuser] identified by [newuserpwd];
grant read,write on directory data_pump_dir2 to [newuser];
set ORACLE_SID=[newDB]
ใช้ DBA Tools สร้าง Tablespaces
Name:
FILE_SPECIFICATION1 NAME:"EXAMPLE01.DBF"
File Size: 100
checkAuto Extend On
impdp [newuser]/[newuserpwd] directory_pump_dir2 remap_schema=[olduser]:[newuser]
// give dba to user
grant dba to hr;
select * from v$session
--auto backup--
create bat file for windows
set oracle_sid=orcl
expdp hr/hr directory=data_pump_dir dumpfile=exp_file_%date:~10,4%_%date:~7,2%_%date:~4,2%.dmp logfile=exp_file_%date:~10,4%_%date:~7,2%_%date:~4,2%.log reuse_dumpfiles=y
-- for test import or check whatever in dmp file --
impdp hr/hr directory=data_pump_dir dumpfile=EXPDATE.DMP SQLFILE=sql.txt
<>
!=
^=
character set
memory
user admin
sys
system
dbsnmp
sysman
ตั้ง Memory และ Character set
Choose from the list of character sets :
TH8TISASCII - Thai Industrial Standard 620-2533-ASCII
Username : sys
password : xxx
Connection Type Basic Role SYSDBA
Hostname : localhost
Port : 1521
SID : xxxdb
ex.
login by sys in sqlDeveloper
grant read, write on directory data_pump_dir to [hr];
// set for use with DB
set ORACLE_SID=xxxx
// and use
expdp hr/hr directory=data_pump_dir
// In New DB by sys do this
grant connect, resource to [newuser] identified by [newuserpwd];
grant read,write on directory data_pump_dir2 to [newuser];
set ORACLE_SID=[newDB]
ใช้ DBA Tools สร้าง Tablespaces
Name:
FILE_SPECIFICATION1 NAME:"EXAMPLE01.DBF"
File Size: 100
checkAuto Extend On
impdp [newuser]/[newuserpwd] directory_pump_dir2 remap_schema=[olduser]:[newuser]
// give dba to user
grant dba to hr;
select * from v$session
--auto backup--
create bat file for windows
set oracle_sid=orcl
expdp hr/hr directory=data_pump_dir dumpfile=exp_file_%date:~10,4%_%date:~7,2%_%date:~4,2%.dmp logfile=exp_file_%date:~10,4%_%date:~7,2%_%date:~4,2%.log reuse_dumpfiles=y
-- for test import or check whatever in dmp file --
impdp hr/hr directory=data_pump_dir dumpfile=EXPDATE.DMP SQLFILE=sql.txt
วันอังคารที่ 5 กันยายน พ.ศ. 2560
การตั้ง SSL โดยใน Let's Encrypt ใน Windows 2012
Download ไฟล์ได้จาก
https://github.com/Lone-Coder/letsencrypt-win-simple/releases
วิธีการใช้งาน ดูได้ที่
https://weblog.west-wind.com/posts/2016/feb/22/using-lets-encrypt-with-iis-on-windows
ยังไม่อัพเดทเพิ่มเติม เพราะ domain จะต้องต่อออก Internet ได้ โดยสามารถเข้าจากภายนอกได้ ยังไม่สามารถทำการ Test ได้ครับ
https://github.com/Lone-Coder/letsencrypt-win-simple/releases
วิธีการใช้งาน ดูได้ที่
https://weblog.west-wind.com/posts/2016/feb/22/using-lets-encrypt-with-iis-on-windows
ยังไม่อัพเดทเพิ่มเติม เพราะ domain จะต้องต่อออก Internet ได้ โดยสามารถเข้าจากภายนอกได้ ยังไม่สามารถทำการ Test ได้ครับ
วันจันทร์ที่ 20 กุมภาพันธ์ พ.ศ. 2560
favicon
เว็บนี้เลย สำหรับทำ favicon ได้ทั้งเว็ปไซท์และแอพเลยทีเดียว
http://realfavicongenerator.net/
http://realfavicongenerator.net/
วันพุธที่ 7 ธันวาคม พ.ศ. 2559
การทำงานเกี่ยวกับ Font เมื่อเจอ สระกับวรรณยุกต์ทับกัน
เนื่องจากวันนี้ มีปัญหาจากการทำงานที่พบคือ ตัวอักษรกับวรรณยุกต์ ทับกันใน pdf
จากการตรวจสอบพบว่าเป็นเพราะ Font เพราะงั้น วันนี้ เลยมาแนะนำ Tool ที่เกี่ยวกับ ฟอนต์กัน
สาเหตุแรก ที่สระกับวรรณยุกต์ทับกัน เพราะว่าฟอนต์ ไม่ได้ออกแบบสำหรับภาษาไทยโดยเฉพาะ ซึ่งอันนี้ ต้องลองเอาเอง ยกตัวอย่างเช่น
คำว่า ยี ยี่ ยี้ ยี๊ ผลจากฟอนต์แต่ละตัว ที่นำมาลงในเอกสาร pdf จะได้ดังนี้
จะเห็นว่า แม้ฟอนต์ที่ใช้ ในระบบวินโดส์ปกติ จะรองรับภาษาไทย แต่เมื่อนำมาใช้กับเอกสาร pdf แล้ว จะได้สระและวรรณยุกต์ ทับกัน ต่างจากฟอนต์ที่ออกแบบโดยคนไทย จะไม่ค่อยมีปัญหานี้ครับ
ทีนี้ ก็เลยเกิดการเสาะหาฟอนต์ที่ใกล้เคียงของเดิม และที่สำคัญ ต้องฟรีด้วย เพราะงานส่วนใหญ่ ที่ทำเป็นงานบริการ ไม่มีกำไร จึงต้องเน้นฟรีเข้าไว้ ซึ่งเมื่อได้ฟอนต์มาจำนวนนึง ก็เกิดความลำบากอีกว่า แล้วแต่ละฟอนต์ มันแตกต่างกันอย่างไรอีก ก็ต้องหา Tool มาดูฟอนต์ตัวอย่าง เลยได้จากเจ้านึงมา ชื่อว่า NexusFont เหตุที่แนะนำตัวนี้ เพราะว่า มีทั้งเวอร์ชั่น Install และ Portable ซึ่งแค่ก็อปปี้ ไป ก็ใช้ได้เลย
ดาวน์โหลดได้จากที่นี่ http://www.xiles.net/
* font ตระกูล TF เป็นฟอนต์ฟรีจากสมาพันธ์อุตสาหกรรมการพิมพ์ นะครับ ดาวน์โหลดได้จากที่นี่
http://www.printfederation.or.th/index.php/downloads/viewcategory/1-thailand-fonts
หรือ Facebook
https://www.facebook.com/thaiprinting/posts/375170855887215
สาเหตุที่ใช้ฟอนต์ชุดนี้ นอกจากเหตุผลหลักคือฟรีแล้ว ฟอนต์ชุดนี้ ยังมีฟอนต์ที่ลักษณะ คล้าย Cordia อยู่มาก (ซึ่งฟอร์ม pdf ต้นฉบับดูเหมือนจะใช้ ตัวอักษร Cordia ในการออกแบบครับ)
ซึ่งต้องขอขอบคุณ สมาพันธ์อุตสาหกรรมการพิมพ์มา ณ ที่นี้ด้วยครับ
จากการตรวจสอบพบว่าเป็นเพราะ Font เพราะงั้น วันนี้ เลยมาแนะนำ Tool ที่เกี่ยวกับ ฟอนต์กัน
สาเหตุแรก ที่สระกับวรรณยุกต์ทับกัน เพราะว่าฟอนต์ ไม่ได้ออกแบบสำหรับภาษาไทยโดยเฉพาะ ซึ่งอันนี้ ต้องลองเอาเอง ยกตัวอย่างเช่น
คำว่า ยี ยี่ ยี้ ยี๊ ผลจากฟอนต์แต่ละตัว ที่นำมาลงในเอกสาร pdf จะได้ดังนี้
จะเห็นว่า แม้ฟอนต์ที่ใช้ ในระบบวินโดส์ปกติ จะรองรับภาษาไทย แต่เมื่อนำมาใช้กับเอกสาร pdf แล้ว จะได้สระและวรรณยุกต์ ทับกัน ต่างจากฟอนต์ที่ออกแบบโดยคนไทย จะไม่ค่อยมีปัญหานี้ครับ
ทีนี้ ก็เลยเกิดการเสาะหาฟอนต์ที่ใกล้เคียงของเดิม และที่สำคัญ ต้องฟรีด้วย เพราะงานส่วนใหญ่ ที่ทำเป็นงานบริการ ไม่มีกำไร จึงต้องเน้นฟรีเข้าไว้ ซึ่งเมื่อได้ฟอนต์มาจำนวนนึง ก็เกิดความลำบากอีกว่า แล้วแต่ละฟอนต์ มันแตกต่างกันอย่างไรอีก ก็ต้องหา Tool มาดูฟอนต์ตัวอย่าง เลยได้จากเจ้านึงมา ชื่อว่า NexusFont เหตุที่แนะนำตัวนี้ เพราะว่า มีทั้งเวอร์ชั่น Install และ Portable ซึ่งแค่ก็อปปี้ ไป ก็ใช้ได้เลย
ดาวน์โหลดได้จากที่นี่ http://www.xiles.net/
* font ตระกูล TF เป็นฟอนต์ฟรีจากสมาพันธ์อุตสาหกรรมการพิมพ์ นะครับ ดาวน์โหลดได้จากที่นี่
http://www.printfederation.or.th/index.php/downloads/viewcategory/1-thailand-fonts
หรือ Facebook
https://www.facebook.com/thaiprinting/posts/375170855887215
สาเหตุที่ใช้ฟอนต์ชุดนี้ นอกจากเหตุผลหลักคือฟรีแล้ว ฟอนต์ชุดนี้ ยังมีฟอนต์ที่ลักษณะ คล้าย Cordia อยู่มาก (ซึ่งฟอร์ม pdf ต้นฉบับดูเหมือนจะใช้ ตัวอักษร Cordia ในการออกแบบครับ)
ซึ่งต้องขอขอบคุณ สมาพันธ์อุตสาหกรรมการพิมพ์มา ณ ที่นี้ด้วยครับ
วันพฤหัสบดีที่ 4 สิงหาคม พ.ศ. 2559
การติดตั้ง PHP ใน Apache
ผมเริ่มต้นที่
http://windows.php.net/downloads/releases/archives/
เพื่อค้นหา php version เก่าๆ เพื่อใช้กับแอพที่ต้องการ ซึ่งรองรับได้เพียง Version 5.3
จึงได้เลือกโหลด
php-5.3.9-Win32-VC9-x86 มา
เพราะการติดตั้ง Apache ครั้งก่อน เลือก httpd-2.2.31-win32 เอาไว้ ซึ่งภายในจะมี dll
php5apache2_2.dll ให้ใช้กับ Apache รุ่น 2.2 ได้
เมื่อโหลดไฟล์เสร็จ ก็ทำการแตกไฟล์เอาไว้ใน Drive C: ชื่อว่า PHP
C:\PHP
จากนั้น กลับไปที่ Apache เพิ่มค่า Config เข้าไปในไฟล์ C:\Apache2\conf\httpd.conf ในบรรทัดท้ายสุด ดังนี้
LoadModule php5_module "C:/PHP/php5apache2_2.dll"
AddHandler application/x-httpd-php .php .html .htm
PHPIniDir C:PHP
จะสังเกตว่า การตั้งค่า Config path ใน ไฟล์พวก PHP หรือ Apache นั้น จะใช้ "/" แทน "\" ที่คุ้นเคยใน Windows
ตั้งค่าเสร็จแล้ว ก็ต้องไปตั้งค่า php.ini ต่อ ดังนี้
ไปที่โฟลเดอร์ C:\PHP แล้ว เปลี่ยนชื่อไฟล์ php.ini-development เป็น php.ini (coy มาเปลี่ยนชื่อก็ได้ ถ้าต้องการต้นฉบับเก็บไว้)
แล้วตั้งค่า php.ini ดังนี้
เลือกใช้ extension ที่ต้องการ
ตั้งค่า TimeZone ให้เป็นกรุงเทพ หรือ สถานที่ตามต้องการ มีลิงค์รายการอยู่ด้านบน หรือ
http://php.net/manual/en/timezones.asia.php
date.timezone = "Asia/Bangkok"
ตั้งค่า short_open_tag = On ในกรณีที่ต้องการใช้รูปแบบ <? ?>
ตั้ง Path ให้เรียก dll ได้ถูกต้อง
include_path = "c:php"
extension_dir = "c:php/ext"
จากนั้น กลับไปที่ Cmd ของ Apache เพื่อสั่ง Restart
หากไม่มีอะไรผิดพลาด สามารถทดสอบด้วย คำสั่ง php
<? echo phpinfo(); ?>
ได้
http://windows.php.net/downloads/releases/archives/
เพื่อค้นหา php version เก่าๆ เพื่อใช้กับแอพที่ต้องการ ซึ่งรองรับได้เพียง Version 5.3
จึงได้เลือกโหลด
php-5.3.9-Win32-VC9-x86 มา
เพราะการติดตั้ง Apache ครั้งก่อน เลือก httpd-2.2.31-win32 เอาไว้ ซึ่งภายในจะมี dll
php5apache2_2.dll ให้ใช้กับ Apache รุ่น 2.2 ได้
เมื่อโหลดไฟล์เสร็จ ก็ทำการแตกไฟล์เอาไว้ใน Drive C: ชื่อว่า PHP
C:\PHP
จากนั้น กลับไปที่ Apache เพิ่มค่า Config เข้าไปในไฟล์ C:\Apache2\conf\httpd.conf ในบรรทัดท้ายสุด ดังนี้
LoadModule php5_module "C:/PHP/php5apache2_2.dll"
AddHandler application/x-httpd-php .php .html .htm
PHPIniDir C:PHP
จะสังเกตว่า การตั้งค่า Config path ใน ไฟล์พวก PHP หรือ Apache นั้น จะใช้ "/" แทน "\" ที่คุ้นเคยใน Windows
ตั้งค่าเสร็จแล้ว ก็ต้องไปตั้งค่า php.ini ต่อ ดังนี้
ไปที่โฟลเดอร์ C:\PHP แล้ว เปลี่ยนชื่อไฟล์ php.ini-development เป็น php.ini (coy มาเปลี่ยนชื่อก็ได้ ถ้าต้องการต้นฉบับเก็บไว้)
แล้วตั้งค่า php.ini ดังนี้
เลือกใช้ extension ที่ต้องการ
ตั้งค่า TimeZone ให้เป็นกรุงเทพ หรือ สถานที่ตามต้องการ มีลิงค์รายการอยู่ด้านบน หรือ
http://php.net/manual/en/timezones.asia.php
date.timezone = "Asia/Bangkok"
ตั้งค่า short_open_tag = On ในกรณีที่ต้องการใช้รูปแบบ <? ?>
ตั้ง Path ให้เรียก dll ได้ถูกต้อง
include_path = "c:php"
extension_dir = "c:php/ext"
จากนั้น กลับไปที่ Cmd ของ Apache เพื่อสั่ง Restart
หากไม่มีอะไรผิดพลาด สามารถทดสอบด้วย คำสั่ง php
<? echo phpinfo(); ?>
ได้
สมัครสมาชิก:
บทความ (Atom)



