Open Finance: Reality หรือ Hype? PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

การเงินแบบเปิด: Reality หรือ Hype?

มักจะมีข้อกังวลบางประการเมื่อใช้เทคโนโลยีใหม่ เช่น จะเกิดอะไรขึ้นหากเราติดขัดอยู่ที่ไหนสักแห่งและจบลงด้วยการเสียเวลาและความพยายามไปเปล่าๆ เป็นไปได้ว่าเราจะต้องกลับไปที่วิธีแก้ปัญหาเดิม เราประสบปัญหาที่คล้ายกันเมื่อปีที่แล้ว แต่หลังจากการวิจัยเชิงลึกและยาวนาน เราพบวิธีแก้ปัญหาที่ปลอดภัยยิ่งขึ้น-Golang และกรอบการทำงาน วิธีการจัดทำเอกสารมีประโยชน์มาก อย่างไรก็ตาม เราค่อนข้างมั่นใจว่าจะไม่พบคำตอบทั้งหมดทางออนไลน์ซึ่งเป็นความท้าทายที่เรายอมรับใน จิตวิญญาณของ ไลลาห์ กิฟตี้ อาคิตะ สุภาษิตที่มีชื่อเสียง, “มีทางออกสำหรับทุกสถานการณ์ที่ท้าทายอยู่เสมอ”

บล็อกนี้พูดถึงเฟรมเวิร์ก Golang-Beego และการใช้งานเป็นหลัก เราจะคุยกันถึงวิธีการใช้ Golang ในการพัฒนาเว็บ และทำไมนักพัฒนาส่วนใหญ่จึงเปลี่ยนจาก Python, Node หรือภาษาอื่นๆ มาเป็น Go

มาทำความเข้าใจกับกรอบงาน Golang เพื่อจะได้รู้ว่ามันทำงานอย่างไร

Golang คืออะไร?

ปรากฏตัวครั้งแรกในปี 2009 Golang (รู้จักกันดีในนาม Go) ได้รับความนิยมอย่างรวดเร็วในหมู่นักพัฒนา กลายเป็นภาษาที่ต้องการสำหรับผู้ใช้มากกว่า 90% ภาษาบรรพบุรุษคือภาษาโปรแกรม C และ C++ ซึ่งค่อนข้างชัดเจนเมื่อพิจารณาจากไวยากรณ์และคุณสมบัติการคอมไพล์ 

ส่วนใหญ่ใช้สำหรับการพัฒนาแบ็กเอนด์ Go มี 4 กรณีการใช้งานอื่นๆ- 

  1. บริการคลาวด์และเครือข่าย
  2. อินเทอร์เฟซบรรทัดคำสั่ง (CLIs) 
  3. การพัฒนาเว็บ
  4. ปฏิบัติการพัฒนาและวิศวกรรมความน่าเชื่อถือของไซต์ 

นี่คือคุณสมบัติหลักบางประการของ Golang ที่ทำให้เฟรมเวิร์กนี้เป็นตัวเลือกที่ต้องการสำหรับนักพัฒนา:

1. ความง่าย 

ไวยากรณ์ไปตรงไปตรงมาดังที่แสดงไว้ที่นี่และ ผู้รวบรวม ได้กลิ่นปัญหาและทำให้เกิดข้อผิดพลาดระหว่างกระบวนการสร้าง — นั่นคือก่อนที่โปรแกรมจะทำงาน

ความยืดหยุ่น การใช้งาน และแนวคิดที่ยอดเยี่ยมอย่างเหลือเชื่อเบื้องหลัง Go (วิธีจัดการกับการทำงานพร้อมกันแบบเนทีฟ การรวบรวมขยะ และความปลอดภัย+ความเร็ว) เป็นคุณสมบัติบางอย่างที่ค่อนข้างมีประโยชน์สำหรับนักพัฒนา

2. ความเร็ว

การทำงานพร้อมกันในตัว ( Goroutines และ Channels ) เป็นหนึ่งในสาเหตุหลักที่ทำให้ประสิทธิภาพสูง กำลังวิเคราะห์สิ่งนี้ ล้น จะทำให้เราสามารถประมาณความเร็วของมันได้

“ฉันอาจใช้สิ่งนี้อย่างไม่ถูกต้องเพราะผลลัพธ์ไม่สมเหตุสมผล ฉันมีโปรแกรม Go ที่นับถึง 1000000000; มันเสร็จสิ้นในเวลาน้อยกว่าหนึ่งวินาที ในทางกลับกัน ฉันมีสคริปต์ Python มันเสร็จสิ้นในไม่กี่นาที ทำไมเวอร์ชัน Go ถึงเร็วกว่ามาก? พวกเขาทั้งคู่นับถึง 1000000000 หรือฉันพลาดอะไรไปหรือเปล่า” 

หากคุณยังไม่แน่ใจเกี่ยวกับความเร็ว นี่คือการเปรียบเทียบระหว่าง Go โหนด JS, Java และ Python ที่จะช่วยในการเพิ่มความชัดเจนในการใช้งาน:

ข้อกำหนดอุปกรณ์ของฉัน:

ชื่ออุปกรณ์- แล็ปท็อป-Q8U9LM8P

Processor- Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz 2.10 GHz

ติดตั้ง RAM- 16.0 GB (ใช้งานได้ 15.6 GB)

ประเภทระบบ- ระบบปฏิบัติการ 64 บิต, โปรเซสเซอร์ที่ใช้ x64

พิมพ์ N-body:

แหล่งที่มาของเวลาที่จะนับ 

ไป: 6.34 วินาที

Python3: 545.25 วินาที

GO

Output:

แฟกทอเรียล   เวลาในการคำนวณแฟคทอเรียล

10000 0.008 วินาที

50000 0.506 วินาที

100000 3.154 วินาที

500000 82.394 วินาที

1000000 284.445 วินาที

NodeJS (จาวาสคริปต์)

Output:

เวลาแฟกทอเรียล ในการคำนวณแฟกทอเรียล

10000 0.113 วินาที

50000 1.974 วินาที

100000 22.730 วินาที

500000 477.534 วินาที 

1000000 1175.795 วินาที 

หลาม

Output:

เวลาแฟกทอเรียล ในการคำนวณแฟกทอเรียล

10000 0.046 วินาที

50000 1.187 วินาที

100000 6.051 วินาที

500000 388.607 วินาที 

1000000 813.725 วินาที 

JAVA

Output:

เวลาแฟกทอเรียล ในการคำนวณแฟกทอเรียล

10000 0.064 วินาที

50000 1.607 วินาที

100000 5.363 วินาที

500000 141.076 วินาที

1000000 585.868 วินาที

3. ความปลอดภัย:

นักสะสมขยะ:

ไปชอบที่จะ จัดสรร หน่วยความจำบนสแต็ก ดังนั้นการจัดสรรหน่วยความจำส่วนใหญ่จะจบลงที่นั่น ซึ่งหมายความว่ามีสแต็กต่อ goroutine และเมื่อเป็นไปได้จะกำหนดตัวแปรให้กับสแต็กนี้

Golang ทำเครื่องหมายและตัวเก็บขยะกวาดมีสองขั้นตอน: ทำเครื่องหมายและกวาด ขั้นแรก จะทำเครื่องหมายตัวแปรที่ไม่ได้ใช้และใช้แล้วทั้งหมด จากนั้นจึงกวาดตัวแปรที่ไม่ได้ใช้

สถิติและคำอธิบายด้านบนแนะนำว่าเหตุใดจึงควรใช้งาน Go กรอบงาน Golang ที่ดีที่สุดสำหรับการสร้าง API ยังช่วยเร่งและอำนวยความสะดวกในการพัฒนา

เหตุใดเราจึงใช้ Beego Framework

ไม่ว่าจะเป็น Go หรือ Beego ทั้งคู่ต่างก็ยอดเยี่ยมสำหรับการพัฒนา REST API ที่มีประสิทธิภาพสูง 

Beego เป็นเฟรมเวิร์กที่ "รวมแบตเตอรี่" โดยมีเครื่องมือในตัว (เครื่องมือผึ้ง) ORM และไลบรารีเทียบกับเฟรมเวิร์กอื่นๆ เช่น Gin-gonic ซึ่งไม่ใช่ประเภท "รวมแบตเตอรี่" และมีไลบรารีและฟีเจอร์ที่จำเป็นที่สุดซึ่งไม่ดีสำหรับ คุณสมบัติฝั่งเซิร์ฟเวอร์

Beego ใช้เฟรมเวิร์ก Model-View-Controller (MVC) ทั่วไป ซึ่งกลายเป็นว่าดีสำหรับคน (เช่นเรา) ที่เคยทำงานกับ Python-Django มาก่อน และ Beego ค่อนข้างคล้ายกัน

เหตุใดเราจึงใช้ Beego Framework

สรุป: 

นั่นเป็นวิธีที่เราเริ่มต้นแอปพลิเคชันของเรากับ Golang และ Beego เราทำงานเกี่ยวกับ PDF, การจัดการรูปภาพด้วย ImageMagick, AWS-SNS, AWS-SES SMTP, การโทร IVR, แฟกซ์, ลายเซ็นดิจิทัล, การสร้างรายงานด้วย ORM และอีกมากมาย และเราไม่พบการอุดตันใดๆ ขณะทำงานกับฟีเจอร์ของบุคคลที่สาม เช่น Twilio หรือ AWS การเขียนโค้ดบน Golang นั้นง่ายมากตามที่ผู้สร้างกล่าวไว้ มีความท้าทายบางประการในการใช้เฟรมเวิร์กนี้ แต่ก็มีวิธีแก้ไขด้วยเช่นกัน เราสนุกกับการทำงานกับเฟรมเวิร์กนี้มาก โชคดีที่สุดสำหรับแอปพลิเคชัน Golang ที่จะเกิดขึ้น

เกี่ยวกับผู้เขียน

Piyush Raj จบการศึกษาจาก IIT Kharagpur ในแผนกเคมี เขาเริ่มต้นอาชีพกับ ML และ AI และตอนนี้ทำงานที่ Mantra Labs ในฐานะนักพัฒนาซอฟต์แวร์ ในเวลาว่าง เขาชอบสำรวจเส้นทางใหม่ๆ ในโลกแห่งความเป็นจริงหรือบนกระดาษผ่านการเดินทางและการวาดภาพ

ประทับเวลา:

เพิ่มเติมจาก มันตราแล็บ