บทความ

Source tree fix for git authentication source-tree case personal access token (Github).

รูปภาพ
สร้าง personal access token ตาม :  dev settings Settings -> Remotes -> edit repository path https://{personal-access-token}@github.com/{<your-repo>}.git

ปัญหา mounts denied สำหรับ docker v.3.0.0

รูปภาพ
      สวัสดีครับ วันนี้ ผมได้ทำการ อัพเดท docker เป็น version 3.0.0  ตามปกติเมื่อมีการอัพเดทผมจะเป็นคนที่ไม่ชอบให้มีอะไรแจ้งเตือน หรือเป็น version ล่าหลัง กดอัพเดทอย่างเช่นเคย ทุกอย่างปกติสุขดี        จนกระทั่ง   ผมจะเขียน Go ต่อจากที่ค้างคาไว้ ปัญหาที่เกิดขึ้นคือ mounts denied ไม่สามารถ start project ได้ ดังนี้      วิธีแก้ปัญหา ดังนี้ Docker >  Preferences >  Experimental Features > D isable to  Use gRPC FUSE for file sharing            cr.  https://stackoverflow.com/questions/65241105/docker-compose-mac-error-cannot-start-service-zoo1-mounts-denied

Synchronous แตกต่างกับ Asynchronous

การทำงานแบบ Synchronous คือเมื่อมีการทำงานจะเริ่มทำงานนั้นจนกระทั่งงานนั่นเสร็จสิ้นถึงจะทำงานอื่นต่อได้เพราะมีการใช้สัญญาณนาฬิการ่วมกัน อีกทั้งงานที่เริ่มทำไปแล้วก็ไม่สามารถที่จะสลับไปทำงานอื่นได้ หากมีการส่งค่าให้หน่วยประมวลผลอื่นต้องรอจนกว่าผลจะกลับมาแล้วจึงทำงานต่อ ไม่สามารถสลับงานได้จึงทำให้การทำงานเกิดความล่าช้า การทำงานแบบ Asynchronous คือการทำงานที่เราสามารถจะสลับไปทำงานอื่นได้ ในขณะที่รอให้งานหนึ่งเสร็จเพราะไม่จำเป็นต้องพึ่งสัญญาณนาฬิกาในการทำงาน เมื่องานนั้นประมวลผลเสร็จแล้วเราก็จะรับผลของงานนั้น แล้วทำต่อได้โดยปกติ งานที่เราทำค้างไว้จะถูกเก็บสถานะและกลับมาทำต่อภายหลังได้   เปรียบเทียบการทำงานแบบ Synchronous และ Asynchronous จะเห็นว่าการทำงานแบบ Synchronous จะมีบางช่วงเวลาที่เราสลับการทำงานไปที่ Processor อื่น ซึ่ง Processor หลักของเราไม่สามารถสลับไปทำงานอื่นได้ ทำให้ช่วงเวลาที่ส่งค่าไปประมวลผลไม่เกิดประโยชน์ จะต่างจากแบบ Asynchronous ช่วงเวลาที่ส่งค่าไปให้ Processor อื่นประมวลผล จะสามารถสลับไปทำงานอื่นได้ ทำให้เราใช้งาน Processor ได้อย่างเต็มประสิทธิภาพมากกว่า แต่ทั้งนี้

เรียนรู้เกี่ยวกับ Nextjs

  เข้าใจ Life cycle ของ React    เข้าใจเกี่ยวกับ Web Pack                           

NextJs Problem operation not permitted !!

รูปภาพ
  วันนี้ผมได้เจอปัญหาเกี่ยวกับ reactjs นั้นก็คือ แก้ไฟล์ แล้วระบบไม่สามารถ build project ขึ้นมาใหม่ได้ โดยปัญหาเกิดขึ้นดังนี้ ปัญหา : Error: EPERM: operation not permitted,... บลาๆ   วิธีแก้ปัญหา : Press the start button. In the search box type "cmd", then press  Ctrl + Shift + Ente r

Cookie & Session

Cookie   การเก็บข้อมูลในฝั่งของ Client  Session การเก็บข้อมูลในฝั่งของ Server โดยการใช้ uid (unique) 

Repository pattern

รูปภาพ
Repository   คือ การวางโครงสร้างของโค้ดรูปแบบหนึ่งเพื่อใช้แยก logic สำหรับการเข้าถึง  ฐานข้อมูล (Data source) ออกจาก Business Logic โดยมี Repository Interface  ทำหน้าที่เป็นตัวกลางในการติดต่อระหว่างสองอย่างนี้ ดังนี้ แล้วใช้ Repository มันดียังไง ?? หลังจากที่เราได้รู้จักความหมายและขั้นตอนการสร้าง Repository pattern กันไปแล้ว เรามาดูกันว่า Repository pattern เข้ามาช่วยแก้ปัญหาที่บอกไว้ข้างต้นได้อย่างไร Reduce Duplicate Code     เมื่อมีโค้ดที่คอยจัดการการเข้าถึงแหล่งข้อมูลเพียงที่เดียว จึงช่วยลดการเกิด Duplicate code ลงได้    Easy to maintain การที่มี Repository เป็นตัวกลาง ทำให้เราสามารถจัดการกับโค้ดที่เข้าถึงแหล่งข้อมูลได้ในที่เดียว ซึ่งหากวันใดวันนึงที่เราต้องการเปลี่ยน Tools หรือ Library ที่ใช้ในการเข้าถึงแหล่งข้อมูล ไม่ว่าจะเป็นการเชื่อมต่ออินเทอร์เน็ต การติดต่อกับฐานข้อมูล หรือแม้กระทั้งเปลี่ยนประเภทของแหล่งข้อมูลไปเป็นชนิดอื่น ก็สามารถทำได้ง่ายโดยไม่กระทบกับฝั่ง Business layer อีกทั้งยังช่วยลดการเกิด Dependency โดยการแยก Logic ที่ซับซ้อนในการเข้าถึงแหล่งข้อมูลออกจาก Business logi