สร้าง BRUSH ไว้ใช้เอง ใน SAI by

19
Oct
0

เริ่มจากสร้างแผ่นงานขนาดประมาณ 63 x 63 px

bl_00

จากนั้นดีไซน์ brush ของเรา (ใช้สีดำสนิทเท่านั้น)

bl_01

จากนั้น เซฟเป็นไฟล์ bmp แล้วเอาไปใส่ในกระเป๋าของ SAI

ให้เลือก folder ชื่อว่า elemap
(จำไว้ด้วยว่าเรา เซฟชื่อ BRUSH ไว้ว่าอะไร)

bl_03

จากนั้น RUN โปรแกรม sai โดยกดที่ start sai

bl_04

BRUSH ของเราจะเข้าไปอยู่ในโปรแกรม โดยกดเลือกที่ drop menu
bl_05

เลือกออกมาแล้วทดลองใช้ได้เลย สามารถปรับขนาด / ความเข้ม ปลาย brush

ได้เหมือน brush ที่มากับโปรแกรมเลยจ้า

bl_06

ลองเล่นกันดูน่อ

PHPUnit#1 แนะนำวิธีใช้งานคำสั่งพื้นฐานบน command line by

16
Oct
0

เริ่มเปิดหัวข้อของการทำ Unit Test บน PHP หรือ PHPUnit
โดยจะเริ่มแนะนำวิธีการใช้งานที่น่าจะช่วยให้ทำการทดสอบ code ได้สะดวกสบายขึ้นครับ

เริ่มจากการ update โปรแกรมกันก่อนเลยครับ มีอัพเดทบ่อยเหมือนกัน ผมเริ่มทำตอน version 4.2.* ตอนนี้ก็มา 4.3.1 แล้วครับ
phpunit --self-update

ตามด้วยคำสั่งสำหรับใช้งาน test ทั้ง folder เพื่อหาว่ามีจุดอ่อนเพิ่มขึ้นหรือน้อยลงกว่าเดิม
ใช้สัญลักษณ์ จุด หรือ dot เพืื่อใช้งานใน path ปัจจุบัน
phpunit .

เพื่อทดสอบเป็น folder
phpunit folder_name/

สั่งให้หยุดการทดสอบเมื่อพบข้อผิดพลาดโดยใช้คำสั่ง
phpunit --stop-on-failure file_name.php

สั่งให้วนการทดสอบตามจำนวนครั้งที่กำหนด เช่น
phpunit --repeat 10 file_name.php

สามารถอ่านคำสั่งเพิ่มเติมได้โดย
phpunit --help

วิธีใช้งาน Facebook SDK สำหรับ PHP รุ่น 4.0.0 by

1
Oct
2

Deadline ใกล้เข้ามาทุกทีสำหรับ developer ที่จะต้องย้ายมาใช้งาน Graph API รุ่นใหม่ของทาง Facebook
เดือนนี้จึงขอเสนอตัวอย่างการใช้งานบน PHP นะครับ

อันดับแรกคือการ require และ use class จากไฟล์
ทาง facebook เองได้แนะนำ composer เข้ามาจัดการ การ require ที่แบ่งออกมาเป็นหลายๆ
ไฟล์ที่ไม่เหมือนเดิมให้เหลือแค่ autoload.php ตัวเดียว แต่ก็ยังต้องไล่ use เองเหมือนเดิมครับ

require( 'autoload.php' );
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;

ต่อมาก็เริ่มจัดการกับ session โดย เริ่ม facebook session และใส่ appid, appsecret ลงไป
session_start();
FacebookSession::setDefaultApplication('appid', 'appsecret');

สร้าง helper สำหรับ redirect หลังจากการ login
$helper = new FacebookRedirectLoginHelper('redirect here');
ใส่คำสั่งรอรับ session จากการ redirect
เพื่อความกระชับของ blog ผมเลยไม่ได้ code ส่วน catch ไว้นะครับ
try {
$session = $helper->getSessionFromRedirect();
} catch (FacebookRequestException $ex) {
} catch (Exception $ex) {
}

ส่วนต่อจากนี้ในตัวอย่าง facebook ใช้ isset แต่ผมใช้ empty แทนนะครับ จะได้ไม่สับสนในขั้นตอน
if (empty($session)) { ?>
ใส่คำสั่งสำหรับขอ permission ให้ accesstoken
top.location.href = $helper->getLoginUrl(['scope' => 'user_friends'])
ต่อมาก็เป็นตัวอย่างการใช้งานครับ อันนี้ request เป็น /me/invitable_friends
$request = new FacebookRequest($session, 'GET', '/me/invitable_friends');
$response = $request->execute();
$graphObject = $response->getGraphObject();
$a_friend = $graphObject->getPropertyAsArray('data');
foreach ($a_friend as $friend) {
echo ($friend->getProperty('name'));
}