วันพุธที่ 24 กรกฎาคม พ.ศ. 2556

การเปิด NTP Server บนเครื่อง windows server 2003

Standard




          NTP Server คืออะไร NTP ย่อมาจาก Network Time Protocol หรือพูดง่ายๆ คือ Protocol ที่เกี่ยวกับเวลาที่ใช้สื่อสารกันใน Network เช่นในระบบมี Server หลายหลายตัว เป็น Web Server, Database Server หรือเครื่อง Client ถ้าหากต้องการที่จะให้เวลาทุกเครื่องเท่ากันหมด จะต้องมีเวลากลางที่ทุกๆ เครื่องใช้อ้างอิง เวลากลางนั้นก็มาจาก NTP Server โดยการอับเดตตามเวลาของเครื่อง NTP Server
ขั้นตอนการเปิด service ntp server บนเครื่อง server 2003 มีง่าย 2 ขั้นตอน

  1. ต้อง key ที่ชื่อ Enabled เป็น 1 ใน registry ที่ 
  2. HKLM > System > CurrentControlSet > Services > W32Time > TimeProviders > NtpServer
  3. ใช้คำสั่ง w32tm /config /update ใน CMD

หลังจากนั้นลองใช้ NTP Client ลองอับเดตเวลามาที่ Server

หมายเหตุถ้าพบ Error : The following error occurred: The service has not been started. (0x80070426)
ให้ใช้คำสั่ง net start w32time เพื่อ start service ก่อน

วันพฤหัสบดีที่ 18 กรกฎาคม พ.ศ. 2556

Qt 5.0 Programming IX : Anchor

Standard

          ปัญหาใหญ่ๆ ของการออกแบบ GUI บนหน้าจอที่มีความละเอียดต่างกันก็คือเรื่องการจัด layout ถ้าเราวางตำแหน่งของ element ด้วยตำแหน่ง x และ y ถ้านำ application ไปรันบนเครื่องที่มีความละเอียดของหน้าจอที่ต่างกัน การแสดงผลก็จะสวยงาม ก็ต้องมาตามแก้ใช้ application ของเรารองรับในทุกๆ ความละเอียดมาคิดดูแล้วก็ยุ่งยาก ใน QML มี properties นึงที่ช่วยกัดการเรื่อง layout ให้คือ

วันพุธที่ 17 กรกฎาคม พ.ศ. 2556

Qt 5.0 Programming VIII : Element FontLoader

Standard

          จากโปรเจคแสดงจำนวนไลค์ในแฟนเพจ ที่เห็นใน Raspberry Pi 66 Club ก็เลยมีความคิดที่จะทำบ้างโดยใช้ RaspberryPi + QML และอยากจะทำให้มันแสดงผลตัวเลขออกมาในรูปขอตัวเลขแบบ Character LCD หรือไม่ก็ 7-Segment ซึ่งตอนแรกตั้งใจว่าจะใช้ภาพในการแสดงผล แต่ดูแล้วต้องการจัดการอีกเยอะ ก็เลยลองหา font ที่แสดงผลเป็น Character LCD หรือ 7-Segment ดูก็เจอในเว็ปนี้ http://www.dafont.com จากนั้นก็ใช้ element FontLoader เพื่อโหลด Font เข้ามาใช้ใน QML ครับ

วันอังคารที่ 16 กรกฎาคม พ.ศ. 2556

install wget on OSX

Standard

           พอดีมีเหตุให้ต้องใช้งานตัว wget ซึ่งใน OSX นั้นไม่ได้ติดตั้งมาให้ด้วย ก็ต้อง download source แล้วมา compile เอง ยังไม่มาลองดูวิธีกันครับ

  1. download source file http://ftp.gnu.org/gnu/wget/  ซึ่งขณะที่ผมโหลดตอนนี้เป็น version 1.14 
  2. $tar -vxf wget-1.14.tar.gz 
  3. $cd wget-1.14 
  4. $./configure --prefix=/usr/local --with-ssl=openssl  เพื่อสร้าง make file  
  5. $make
  6. $sudo make install









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

เริ่มต้นกับ Secure Shell (ssh) บน Raspberry pi

Standard
          พอดีน้องที่มหา'ลัยกำลังเริ่มต้นกับ raspberry pi แล้วเค้าถามถึงการจะ remote ไปใช้งานผ่านทาง Secure Shell หรือที่คุ้นหูคือ ssh ว่าจะต้องทำอะไรยัง
           แล้ว Secure Shell คืออะไร ? ผมเขียนคร่าวๆ แล้วกันนะครับ ส่วนลึกๆ สามารหาอ่านได้จาก internet ครับ  Secure Shell ก็คือ protocol แบบนึงที่มีความปลอยภัยเพื่อนใช้ในการ remote ไปยังเครื่องคอมพิวเตอร์ปลายทาง ซึ่งโดยทั่วไปจะใช้ port 22 ในการสื่อสารครับ แต่นอกจากจะใช้ remote แล้ว ssh ยังสาามารถใช้ในการ upload/download file ที่เครื่องปลายทางได้อีกด้วย

วันพฤหัสบดีที่ 11 กรกฎาคม พ.ศ. 2556

Qt 5.0 Programming VII : Animation part II

Standard


          วันนี้มาบอกเรื่องการใช้งาน Animation หลักๆ ใน QML กันครับโดยแบ่งเป็น 2 ส่วนหลักๆ คือ

  1. การกำหนด Animation ให้กับ property ต่างๆ ของ element ซึ่งจะมีใช้งานหลักๆ มี 2 อย่างคือ 
    1. NumberAnimation ซึ่งส่วนนี้อยู่ในบทความในเรื่อง Animation part I แล้วขอไปกล่าวถึงครับ
    2. PropertyAnimation  จะเป็น animation ที่ ทำงานเกียวกับ property ของ element ได้ทั้งหมด ซึ่งการใช้งานจะคล้ายๆ กับ NumberAnimation การใช้งานจะต้องบอก target ว่าจะทำงานกับ element อะไร กำหนด properties ที่จะทำ animation เช่น width height หรือแม้กระทั่ง color  เช่น

วันพฤหัสบดีที่ 4 กรกฎาคม พ.ศ. 2556

warning C4996: 'sscanf': This function or variable may be unsafe

Standard
           พอดีมีงานที่ต้องเขียน c บน windows  แล้วใช้ sscanf พอ compile แล้วขึ้น warning
warning C4996: 'sscanf': This function or variable may be unsafe. Consider using sscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.
ปกติเวลาผมเขียนโปรแกรมจะพยายามไม่ให้มี warning ก็เลยหาวิธีไม่ให้เกิด warning วิธีการก็ง่ายๆ คือ  ใส่ _CRT_SECURE_NO_WARNINGS ลงใน Preprocessor Definitions โดยเลือกที่ เมนูบาร์
Project properties
             ->Configuration Properties
                         ->C/C++->Preprocessor


Qt 5.0 Programming VI : Element Image and Animation part I

Standard





          เรื่องการโหลดภาพและการทำ Animation 2D ด้วย QML นั้นง่ายมากๆ แค่ไม่กี่บรรทัดก็สามารถทำสร้าง Animation ที่สวยและน่าสนใจได้อย่างรวดเร็ว



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

Raspberry Pi i/o ภาษาซี ด้วย lib BCM2835

Standard
         การเขียน i/o ผ่าน pin ของ Raspberry Pi ผมใช้ library ภาษาซี จาก http://www.open.com.au/mikem/bcm2835/ โดย Core CPU ของ Raspberry Pi นั้นคือ chip Broadcom BCM2835 มาเริ่มกันเลยครับ


1.ขั้นแรกสร้าง folder เพื่อใช้เก็บ library และ source 
#mkdir /store
#mkdir /store/lib


วันจันทร์ที่ 1 กรกฎาคม พ.ศ. 2556

Qt 5.0 Programming V : Element ID and Navigating the Objects Tree

Standard


         QML นั้นสามารถกำหนดชื่อเรียกให้กับ element (element id, object id) ได้ ซึ่งช่วยให้เข้าถึง กำหนดค่าหรืออ้างอิงกับ element ต่างๆ ในไฟล์ QML นั้นได้ ซึ่งการกำหมด id นั้นมีรูปแบบคือ




Qt 5.0 Programming IV : QML + Javascript อะไรจะขนาดนั้น !!!

Standard

          วันนี้จะมาแนะนำการใช้งาน javascript ร่วมกับ QML นะครับ ซึ่งตัว QML นั้นสามารถแทรก source code ของ javascript ลงไปด้วยได้ (อะไรจะขนาดนั้น !!!) สำหรับคนที่เขียน javascript คล่องๆ คงสบายมากๆ ลองมาดูตัวอย่างง่ายๆ ดูซัก 1 ตัวอย่างนะครับ