Kanthi nggunakake ing sistem kontainer, integrasi API lan layanan mikro, Go — kadhangkala dikenal minangka Golang — minangka basa pamrograman sing tambah populer kanggo DevOps lan proyek awan.
Go minangka sumber terbuka, basa sing diketik kanthi kuat sing bubar peringkat ing 10 basa pemrograman paling tren ing IEEE kanggo 2022. Amarga Docker lan Kubernetes ditulis ing Go – kaya alat DevOps sing akeh digunakake kaya Terraform lan Red Hat OpenShift – sinau Go mbukak lawang kanggo nulis implementasi lan plugin sing disesuaikan lan menehi kontribusi kanggo proyek sumber terbuka kasebut.
“Go dhewe dadi luwih akeh basa web — ing lingkungan awan lan awan,” ujare Teiva Harsanyi, insinyur perangkat lunak senior ing Docker lan penulis buku kasebut. 100 Go Kesalahan lan Cara Nyingkiri. “Umume sistem saiki ing konteks lingkungan awan dibangun ing Go.”
Harsanyi pisanan wiwit nggarap Go enem taun kepungkur, nalika tim ditugasake kanggo migrasi aplikasi monolitik gedhe sing ditulis ing C ++ sing diarani “rada kekacoan.” Nalika organisasi pengin modernisasi proyek kanthi nggawe luwih granular lan dipercaya, Go minangka pilihan alami.
Klik kanggo informasi luwih lengkap
bab ‘100 GB Kesalahan lan
Carane Nyingkiri Wong-wong mau.’
Ing bukune, Harsanyi ngatasi kesalahan paling gedhe sing dideleng ing antarane pangembang Go lan nuduhake saran supaya bisa ngoptimalake basa kasebut. 12 bab ing buku kasebut maca kesalahan Go umum miturut kategori — kayata jinis data, senar lan optimasi — kanthi kode sampel kanggo nggambarake masalah lan solusi.
Keuntungan saka basa pamrograman Go
Sanajan 100 cara pangembang Go bisa salah sing digarisake Harsanyi ing buku kasebut, dheweke minangka advokat kanggo basa kasebut. Go, digawe ing Google ing 2007, lags popularitas konco opsi liyane diadegaké kaya Python lan Jawa, nanging Harsanyi pracaya iku wis sawetara kaluwihan, kalebu stabilitas, gamblang lan kacepetan.
Miturut Harsanyi, lanskap Go ora owah akeh sajrone telung taun wiwit nulis bukune — sing digambarake minangka salah sawijining mupangat basa kasebut. Harsanyi ujar manawa introduksi obat generik Maret 2022 minangka tambahan utama kanggo Go sing dideleng wiwit dheweke miwiti nggarap basa kasebut.
Pembaruan sing relatif jarang iki, bebarengan karo sifat ekspresif Go, nggawe basa kasebut stabil lan bisa diwaca. Wong anyar ing proyek pangembangan piranti lunak modern asring disambut kanthi atusan utawa ewu baris kode sing wis ana. Kanthi Go, “gampang banget kanggo wong teka ing proyek lan ngerti apa sing ditindakake kode kasebut,” ujare Harsanyi. Kurva sinau sing cethek iki minangka kauntungan ing lingkungan DevOps kanthi cepet sing mbutuhake basis kode sing ringkes lan bisa dijaga.
Keterbacaan Go umume asale saka sintaks sing prasaja lan desain standar. Amarga basa kayata Python lan Jawa nawakake macem-macem cara kanggo ngrampungake tugas sing padha, programer beda bisa nggunakake macem-macem cara kanggo nggayuh tujuan sing padha. Nalika macem-macem pilihan iki narik kawigaten kanggo sawetara, liyane nemokake iku akeh banget – utamané nalika adopsi saka perpustakaan njaba lan frameworks ndadékaké kanggo proyèk luwih Komplek karo akeh dependensi.
Aku ndeleng liyane lan liyane back-end pangembang milih Go ing mangsa.
Teiva HarsanyiPenulis, ‘100 Kesalahan lan Cara Nyingkiri’
Go, ing kontras, gumantung banget ing perpustakaan standar sing dibangun, tegese programer Go kurang perlu sinau pendekatan sing beda nalika gabung karo tim anyar. Harsanyi menehi conto ngleksanakake layanan HTTP anyar. Dene pangembang Python bisa milih ing antarane puluhan perpustakaan lan kerangka kerja, Go nduweni perpustakaan layanan HTTP standar minangka bagéan saka basa inti.
Amarga Go diketik kanthi statis lan kompilasi langsung menyang kode mesin, program Go cenderung cepet lan entheng, ndhukung panyebaran kanthi cepet lan kabutuhan kinerja dhuwur saka alur kerja DevOps. Harsanyi wis nggarap macem-macem basa — kalebu Jawa, Scala, Rust lan Python — lan nemokake Go dadi sing paling efisien kanggo aplikasi mburi.
“Sasi kepungkur aku kudu bali menyang Jawa maneh, lan iki ekosistem sing akeh banget [more] Komplek kanggo ngerti, “ujare. “Ana perpustakaan ing ngendi wae. … Dadi aku ndeleng luwih akeh pangembang mburi sing milih Go ing mangsa ngarep.”
Gotchas kanggo pangembang nggunakake Go
Salah sawijining kesalahan sing paling penting sing ditemokake Harsanyi ing antarane pangembang Go kalebu konkurensi: pendekatan pemrograman sing dimaksudake kanggo nambah kinerja kanthi nglakokake macem-macem operasi sekaligus. Fitur iki migunani kanggo insinyur DevOps sing kudu nglakokake proses lan fungsi mandiri kanthi bebarengan.
Nalika sawetara basa, kayata Rust, mbutuhake perpustakaan njaba kanggo nulis program bebarengan, Go kalebu concurrency primitif disebut goroutine lan saluran minangka bagéan saka basa. Nanging, ngetrapake konkurensi kanthi bener isih dadi tantangan kanggo pangembang Go. Luwih saka setengah saka bug sing ana gandhengane karo konkurensi sing ditemokake ing repositori populer kayata Docker lan Kubernetes asale saka masalah khusus Go, miturut panaliten 2019 dening peneliti saka Pennsylvania State University lan Universitas Purdue.
Nalika nerangake temuan iki, lan sajrone buku kasebut, Harsanyi ujar manawa kesederhanaan Go ora ngilangi kabutuhan kanggo mbangun pangerten sing jero babagan cara basa kasebut. “Sederhana ora ateges gampang,” ujare. “Sampeyan bisa duwe soko prasaja kanggo nulis minangka bagéan saka basa, nanging ora ateges sing bakal gampang kanggo bener ngleksanakake.”
Pangembang uga kudu nimbang kepiye basa pamrograman sing beda bisa kerja bareng, tinimbang ndeleng minangka pesaing, ujare Harsanyi. Dheweke ndeleng Go lan Rust minangka pelengkap utamane kanggo insinyur DevOps: Go kanggo ngleksanakake aplikasi awan sing cepet, efisien lan dipercaya, lan Rust kanggo sistem latensi rendah sing kinerja penting.
“Minangka insinyur mburi, aku ndeleng rong basa kasebut minangka masa depan,” ujare Harsanyi. “Aku seneng banget yen loro basa kasebut ora ana konflik.”
Download PDF kanggo maca kutipan saka Bab 3 saka 100 Go Kesalahan lan Cara Nyingkiri. Bab 3 (“Jinis data”) nyakup kesalahan umum sing ana gandhengane karo jinis data, irisan, peta lan perbandingan nilai ing Go. Buku kasebut, dirilis ing Agustus 2022, ISBN 9781617299599, kasedhiya saka Manning.
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duration
Description
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.