สิ่งตีพิมพ์ในหัวข้อ 'golang'
ภาพสะท้อนใน Golang
การสะท้อนกลับ : เป็นความสามารถของโปรแกรมในการทบทวนและวิเคราะห์โครงสร้างระหว่างรันไทม์ หรืออาจกล่าวได้ว่ามันคือชุดของฟังก์ชันที่ใช้ในการดึงข้อมูลเกี่ยวกับตัวแปรระหว่างรันไทม์ เราสามารถรับข้อมูลประเภทและค่าระหว่างรันไทม์ได้ มันใช้การสะท้อนกลับด้วยแพ็คเกจการสะท้อนซึ่งมีประเภทและวิธีการตรวจสอบส่วนของโครงสร้างอินเทอร์เฟซและแม้แต่การแก้ไขค่าที่รันไทม์
ก่อนอื่นเราต้องนำเข้าแพ็คเกจการสะท้อนกลับ
import "reflect"
ประเภท reflect.Type และ reflect.Value..
การใช้ประโยชน์จากการซิงค์เมื่ออยู่ใน Golang เพื่อการใช้ทรัพยากรอย่างมีประสิทธิภาพและความปลอดภัยของเธรด
ใน Golang แพ็คเกจ sync จัดเตรียมการซิงโครไนซ์เบื้องต้น เช่น sync.Once ซึ่งสามารถใช้เพื่อให้แน่ใจว่าโค้ดชิ้นใดชิ้นหนึ่งจะถูกดำเนินการเพียงครั้งเดียว โดยไม่คำนึงว่าจะมีการเรียกกี่ครั้งก็ตาม สิ่งนี้มีประโยชน์อย่างยิ่งในสถานการณ์ที่เราต้องการหลีกเลี่ยงการคำนวณที่ซ้ำซ้อน การกำหนดค่าเริ่มต้นที่มีราคาแพง หรือเพื่อความปลอดภัยของเธรด...
แปลง jpg เป็น pdf: GOLANG
โปรแกรมนี้ใช้ไลบรารี gofpdf เพื่อสร้างเอกสาร PDF ใหม่ เพิ่มหน้าเข้าไป และวาดภาพบนหน้านั้น จากนั้นจะบันทึกเอกสาร PDF ด้วยชื่อเดียวกับไฟล์รูปภาพ แต่มีนามสกุล .pdf
package main
import (
"fmt"
"image"
"os"
"github.com/jung-kurt/gofpdf"
)
func main() {
// Open the image file
file, _ := os.Open("image.jpg")
defer file.Close()
// Decode the image
img, _, _ := image.Decode(file)
// Create a new PDF document
pdf :=..
การสร้าง Redis Clone อย่างง่ายใน Golang: ตอนที่ 3
ส่วนที่ 3: การเพิ่มการรองรับ Pub/Sub ที่มา: https://github.com/kzeiter/build-redis-in-go
ในส่วนนี้ของซีรีส์โคลน Redis เราจะเพิ่มการรองรับฟังก์ชัน Pub/Sub (เผยแพร่/ติดตาม) Pub/Sub อนุญาตให้ลูกค้าสมัครรับข้อมูลช่องและรับข้อความที่เผยแพร่ไปยังช่องเหล่านั้น โดยทั่วไปฟีเจอร์นี้จะใช้ในแอปพลิเคชันแบบเรียลไทม์ เช่น แอปพลิเคชันแชทและการอัพเดตแบบเรียลไทม์
เราจะใช้คำสั่งใหม่สองคำสั่งสำหรับ Pub/Sub:
SUBSCRIBE channel
PUBLISH channel message
คำสั่ง SUBSCRIBE..
ใส่คำขอ HTTP ของคุณในการควบคุมอาหาร
คำแนะนำวิธีบีบอัดคำขอ HTTP ของไคลเอ็นต์เว็บ
หากคุณพบว่าตัวเองอยู่ในสถานการณ์ที่คุณส่งเพย์โหลดคำขอ HTTP ขนาดใหญ่จากเว็บเบราว์เซอร์ไปยัง API ของคุณ คุณอาจทำผิดพลาดทางสถาปัตยกรรมหรือการออกแบบ กล่าวคือ เมื่อเร็วๆ นี้ทีมของเราอยู่ในสถานการณ์ที่การส่งคำขอขนาด 200–300KB เป็นประจำทำให้เราได้รับการแลกเปลี่ยนน้อยที่สุด
ด้วยเหตุนี้ เราจึงพบว่าเวลาในการโอนคำขอยาวนาน ต่างจากวิธีที่เบราว์เซอร์ขยายขนาดเนื้อหาการตอบสนอง HTTP โดยอัตโนมัติผ่านกลไก การเจรจาต่อรองเนื้อหา HTTP (โดยใช้ส่วนหัว..
ทิ้ง REST ด้วย gRPC-web และ Envoy
นับตั้งแต่เปิดตัว gRPC มันก็ได้รับความนิยมอย่างมากในหมู่นักพัฒนา API เหตุผลที่ gRPC ได้รับความนิยมอย่างมากคือการสนับสนุนการใช้งานหลายภาษา (เซิร์ฟเวอร์และไคลเอนต์สามารถเขียนเป็นภาษาแยกกันได้) การมุ่งเน้นไปที่ประสิทธิภาพตั้งแต่เริ่มต้น (gRPC ขึ้นอยู่กับ HTTP/2) และชุดเครื่องมือที่ยอดเยี่ยม (การใช้ gRPC protobuf สำหรับคำอธิบายข้อความและบริการและไคลเอนต์สามารถสร้างได้โดยอัตโนมัติโดยไม่ต้องเขียนโค้ดแม้แต่บรรทัดเดียว)
ย้อนกลับไปเมื่อหลายปีก่อน..
พิมพ์นามแฝงเทียบกับคำจำกัดความประเภทใน Go
มาเริ่มเขียนโค้ดกันเถอะ !!
ดูโค้ดด้านล่างแล้วคิดว่ามันพิมพ์อะไร [%T ใช้เพื่อพิมพ์ข้อมูลประเภท]
package main
import "fmt"
type int1 = int // OPTION-1
type int2 int // OPTION-2
func main() {
var i1 int1
var i2 int2
fmt.Printf("%T, %T", i1, i2)
}
เอาต์พุต
int, main.int2
แหล่งที่มา
สิ่งที่น่าสนใจคือ i1 พิมพ์ int และ i2 พิมพ์ main.int2 เหตุใดเราจึงเห็นผลลัพธ์นี้ ?
i1 เป็นนามแฝง Alias เป็นชื่อที่สองของประเภทที่มีอยู่..