Posts

วิธีการติดตั้ง PHP + Xdebug เพื่อให้สามารถ debug บน VSCode ได้

Image
         การเขียนโปรแกรมภาษา PHP นั้น developer จำเป็นจะต้องติดตั้ง PHP พร้อมกับ extension สำหรับ debug เอง เพื่อให้สามารถ debug โปรแกรมได้ ต่างจากภาษาอื่นๆ ที่มักจะ bundle มากับ IDE เลย แต่กับ PHP ถึงแม้จะเป็น IDE เจ้าใหญ่ ๆ ก็ยังไม่เห็นเจ้าไหน integrate มาให้พร้อมใช้เลย ติดตั้ง PHP install ผ่าน homebrew % brew install [email protected] set PATH ให้รู้จัก php  % echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.zshrc % echo 'export PATH="/usr/local/opt/[email protected]/sbin:$PATH"' >> ~/.zshrc % source ~/.zshrc ติดตั้ง Xdebug   install xdebug ด้วย pecl % pecl install xdebug ซึ่งคำสั่งด้านบนจะลง xdebug และ config กับ php ของเราให้เลย โดยสามารถดูได้ที่ไฟล์ php.ini % nano /usr/local/etc/php/7.4/php.ini สังเกตว่าบรรทัดบนสุดจะมีการกำหนดให้ใช้ xdebug แล้ว zend_extension="xdebug.so" ให้เพิ่ม debug mode เข้าไป * Xdebug v3.x.x ** Xdebug โดยปกติจะใช้ port 9003 ถ้าไม่สามารถใช้ได้ต้องตั้งต่าเพิ่มเติม >>  xd

Cast คืออะไร ใช้ดูหนังบนทีวียังไง

Image
         การมาของ Disney+ ทำให้หลายคนสงสัยว่าทีวีที่มีอยู่ สามารถดูได้หรือไม่ ? "Cast" ก็กลายเป็นเทคโนโลยีที่ถูกกลับมาพูดถึงอีกครั้ง เพราะเป็นทางเลือกที่ทำให้ดูบนทีวีได้โดยประหยัดเงินมากที่สุด เพราะปัจจุบันหลายบ้านก็มีอุปกรณ์ที่รองรับอยู่แล้ว           Google Cast เป็นเทคโนโลยีจาก Google เพื่อแชร์ภาพและเสียงแบบไร้สาย เพื่อมอบประสบการณ์ smart tv โดยที่ไม่ต้องซื้อ tv รุ่นแพงๆ ก็ได้ การใช้งาน  ต้องมีอุปกรณ์ที่รองรับ Cast ก่อน เช่น Chromecast, Android Box หรือทีวีรุ่นใหม่ๆ ที่มักจะมี Chromecast built-in ติดมาในตัว ต้องเชื่อมต่อ wifi เดียวกัน ทั้งอุปกรณ์และ smartphone  มองหาสัญลักษณ์  cast  (ถ้าไม่ขึ้นแปลว่าไม่รองรับ หรือต่อ wifi คนละวงกัน) กดสัญลักษณ์  cast  ดูบนจอได้เลย https://www.google.com/chromecast/built-in/ ข้อดี ระหว่างดูไม่จำเป็นต้องเปิดมือถือไว้ รองรับหลายแอปฯ เช่น Youtube, Netflix, Facebook (vdo), Spotify, Disney+ หรือแม้กระทั่ง vdo player บน web หลาย ๆ ค่าย ตรวจสอบแอปฯ มือถือที่รองรับ   setup เพียงครั้งเดียว เพื่อนมาบ้านแค่ต่อ wifi บ้านเราก็ cast ได้แล้ว ( แย่งกันเปิด

CI/CD คืออะไร จะเอามาใช้กับงาน Developer ได้อย่างไร ?

Image
         CI/CD เป็นลำดับขั้นตอนที่ Developer ต้องทำเป็นประจำอยู่แล้ว แต่จะมีการออกแบบให้ใช้งานได้ง่ายขึ้น เป็นขั้นเป็นตอนมากขึ้น รวมถึงอาจให้ทำงานโดยอัตโนมัติ โดยอาศัย "ผู้ช่วย" ซึ่งส่วนใหญ่จะเป็นลักษณะ Pipeline-as-a-Code ตามสไตล์ยุคของ DevOps พูดถึง CI/CD กันก่อน CI = Continuous Integration เป็นขั้นตอนที่มักจะอยู่ใน phase Dev จะทำค่อนข้างถี่ เพื่อให้เห็น progress report ต่าง ๆ เช่น Unit Test, Coverage, UI Test รวมถึงการเก็บ version ต่าง ๆ ไว้อาจเป็นลักษณะ nightly build, weekly build ก็ได้ CD = Continuous Delivery เป็นขั้นตอนที่พร้อมให้ Tester ทดสอบระดับนึง ก็จะมีการส่ง version ที่เก็บไว้ไป deliver บน environment ใช้งาน เช่น  SIT, UAT หรือ PROD * SIT = System Integrate Test, UAT = User Acceptance Test, PROD = Production Pipeline           จริง ๆ แล้ว pipeline ก็คือขั้นตอนที่ developer ทำอยู่เสมอนั่นแหละ เมื่อเราจะทำเป็น CI/CD เราก็จะต้องออกแบบว่าจะทำอะไรบ้าง (Design Pipeline) โดยต้องค

รู้จักกับ Kubernetes (K8s) เครื่องมือที่ DevOps พลาดไม่ได้

Image
          Kubernetes (K8s) เป็นเครื่องมือที่จะมาช่วยให้การมองโลกของ infrastructure เปลี่ยนไป จริง ๆ บางคนมองว่า Kubenetes เป็นการต่อยอดจาก Docker ต้องเป็น Docker ก่อนถึงจะเข้าใจ Kubenetes ได้ สำหรับคำตอบของคำถามนี้คงจะตอบได้ทั้ง ใช่ และ ไม่ใช่ ครับ           หากใครคุ้นเคยกับการมีแผนก Infrastructure (Operation) เตรียมของเตรียม Tools ให้ เช่น การติดตั้ง application server, การตั้งค่า load balance, การเปิด-ปิด port หรืออื่น ๆ สิ่งเหล่านี้จะมีการขยับเข้ามาใกล้ฝั่ง Developer มากขึ้น เพื่อใช้งานในลักษณะ Infrastructure-as-a-Code (IaaS) ซึ่งเป็นการรวมกันของฝั่ง Developer และ Operation หรือที่เรียกกันว่า ​DevOps นั่นเอง          Virtualization คงจะเป็นคำที่เหมาะสมสำหรับโครงสร้างแบบนี้ ซึ่งเราไม่ได้รู้จักกับมันเป็นครั้งแรก ไม่ว่าจะ Cloud ที่สามารถสร้างเลือกสร้างเครื่องเสมือน หรือ Docker ที่เป็น containerize platform อย่างชัดเจน ก็ล้วนแต่ไม่ใช่ physical hardware ทั้งสิ้น มาลองใช้งานกันเลยดีกว่า 1. ติดตั้ง Kubenetes          สำหรับการทดสอบ ถ้าเราติดตั้ง Docker Desktop อยู่แล้ว เราสามารถเปิด Kube

วิธีการสมัคร Apple Developer Program และ Enterprise Program ฉบับลงมือเอง

Image
         เมื่อเราสนใจจะส่ง iOS / macOS app ให้ผู้ใช้งาน เราก็จะเริ่มสนใจเป็นสมาชิก Apple Developer Program ซึ่งพอหาข้อมูลก็จะพบว่ามีหลายรูปแบบ แต่แบบไหนล่ะที่เหมาะกับเราและลูกค้าของเรา ผมสรุปข้อแตกต่างแบบง่าย ๆ ประมาณนี้ครับ Free Dev Enterprise Run directly to device 5 devices 100 devices unlimited Build & distribute to App Store ● ● ● Build & distribute to own store ● ● ● Cost (per year) $0 $99 $299 https://developer.apple.com/support/compare-memberships/ ทำความเข้าใจ App Store ก่อน          การจะส่งแอปฯขึ้น App Store นั้น จะต้องผ่านการ review จากทาง Apple ก่อนทุกครั้ง ซึ่งเป็นการควบคุมมาตรฐานของแอปฯ บน App Store โดยปกติจะใช้เวลาประมาณ 1 วัน แต่ถ้าแอปฯ ของเรามีอะไรไม่ถูกต้องตาม  Review Guidelines  ก็จะต้องจัดการปัญหาและคุยกับทีมงาน ซึ่งก็จะใช้เวลามากขึ้น Store ของเราเอง          ด้วยขั้นตอนที่ยุ่งยากของการ Review ทำให้หลายคนสนใจ Enterprise Program แต่ก็อาจจะคาดหวังว่า จ่ายแพงกว่าต้องทำได้ครอบครุมแพคเกจที่ถูกกว่าสิ อันนี้ไม่ใช่ครับ เขาแยกกลุ่

การ Build Docker Image ขึ้นสู่ Registry - แนะนำ Docker Registry ฟรี

Image
         หลังจากที่เราเขียน Dockerfile กันเป็นแล้ว นั่นแปลว่าเราก็จะมี Image เป็นของตัวเองเรียบร้อยแล้ว และเพื่อให้สะดวกในอนาคต เราก็จะส่ง Image นี้ไปเก็บไว้ที่ registry กัน           Docker Registry  ก็คือที่เก็บ docker image ซึ่งทุกคนที่เคยใช้ docker ก็ต้องเคยดึง image จาก  Docker Hub กันอยู่แล้ว นอกจากเราจะสามารถสรรหา image และดึงลงมาใช้งานกันได้แล้ว เรายังสามารถส่ง image ของเราขึ้นไปที่ Docker Hub ได้ด้วยนะ มาเริ่มกันที่ เขียน Dockerfile กันก่อน ครั้งนี้เราสร้าง image ที่ run java application บน container กัน Dockerfile FROM openjdk:8-jdk-alpine ADD ./discovery-service-1.0-SNAPSHOT.jar /data/springboot-app.jar ENTRYPOINT ["java","-jar","/data/springboot-app.jar"] Step 1/3 : ตั้งต้น parent image ด้วย OpenJDK Step 2/3 : ก็อปไฟล์ *.jar จากเครื่อง host เข้าไปใน container Step 3/3 : run *.jar *.jar ไฟล์ที่ใช้เป็น spring boot application ซึ่งสามารถรันได้ทันที ซึ่งผมได้เตรียมไว้ให้แล้ว Download >>  discovery-service-1.0-SNAPSHOT.jar ล

[Go] Go Lang ฉบับมือใหม่หัดขับ

Image
Go  ถูกสร้างโดย Google เพื่อตอบโจทย์การเขียนโปรแกรมให้มีลักษณะดังนี้ Static typing and run-time efficiency (like C++) Readability and Usability (like Python or JavaScript) High-performance networking and multiprocessing ..... (wiki) .....          จะเห็นว่าไม่มีภาษาไหน สามารถตอบโจทย์นี้ได้ครบเลย Java ก็ performance ไม่ดี,  C ถึงแม้จะเร็วแต่ก็อ่านยากเกินไป หรือแม้แต่ภาษาใหม่ๆ ที่ลู่เข้าสู่ functional language ที่ว่าเข้าใจได้ง่าย แต่ Go ก็มองว่า OOP มันซับซ้อนและเงื่อนไขจุกจิกก็มีอยู่มาก          Cross compiling เป็นความสามารถนึงที่ Go มีเหนือภาษาอื่นๆ ซึ่ง Go สามารถ build executable binary สำหรับแต่ละ OS ได้เลย          Go มี concept ว่า ไฟล์ที่ได้มานั้นต้องสามารถเอาไปใช้งานเป็น Application ได้ทันที (ไม่ต้องการ core libraray เพิ่มเติม) ดังนั้นแล้ว ข้อเสียของ Go ก็คือ executable file จะมีขนาดใหญ่กว่าการ build จากภาษา C ที่คาดหวังว่า library พื้นฐานจะต้องมีอยู่แล้ว Gopher เข้าสู่การทดลอง การติดตั้ง ติดตั้ง Go ( Download ) *คนที่ไม่อยากติดตั้งบนเครื่องไปลองเขียน

Facebook Comment

Recent Posts

Popular

ลืมรหัสปลดล็อค Android เข้าเครื่องไม่ได้ มีทางออกครับ

ความเร็วเน็ตที่แท้จริง Mbps MBps ???

[Android] เปิดเครื่องไม่ได้ โลโก้ค้าง (Boot Loop)

Portal คืออะไรกันนะ???

พิมพ์ซองจากรายชื่อ excel ด้วยวิธี Mail Merge

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

[Java] Java Static Variable และ Static Method

Push Notification คืออะไร มีวิธีทำอย่างไร (No Code)

[Android] Download Mode & Recovery Mode

[Android] วิธีลง Custom Rom ให้กับ Android ตัวโปรด