Meta tags:
description= Catatan ngoprek biar ga lupa;
Headings (most frequently used words):
share, this, encryption, data, dan, golang, security, abi, wardani, application, part, issue, no, package, libcrypto, found, binary, search, implementasi, pada, dump, large, mysql, database, go, language, introduction, kenapa, harus, installation, gopath, workspace, struktur, program, hello, world, rsync, without, password, setting, ip, ubuntu, localhost, menggunakan, ngork, ssl, dengan, letsencrypt, legok, tapak, genteng, kadek, archives, mac, windows, linux, instal, certbot, setup, nginx, memasang, sertifikat, posts, navigation, opening, encoding, hashing, techniques, symmetric, asymmetric,
Text of the page (most frequently used words):
the (157), new (53), share (52), yang (52), and (52), opens (50), #window (50), this (38), data (32), kita (29), dan (28), key (28), kms (28), dari (27), encryption (26), #dengan (26), for (25), bisa (24), email (23), string (23), golang (22), ciphertext (21), whatsapp (20), telegram (20), facebook (20), ini (20), untuk (20), akan (20), encrypt (20), err (20), will (19), that (18), decrypt (18), ssh (17), nilai (17), used (17), xxx (16), method (16), index (16), aws (16), abi (15), wardani (15), march (15), error (15), 2018 (14), using (14), plaintext (14), encryptioncontext (14), session (14), with (13), pada (13), service (13), you (13), comment (12), link (12), ada (12), tengah (12), menggunakan (12), ngork (12), interface (12), use (12), fmt (12), function (12), configuration (12), like (11), loading (11), create (11), package (11), command (11), sudah (11), password (11), process (11), kmsawsctx (11), byte (11), nil (11), kmsaws (11), binary (10), leave (10), abiewardani (10), friend (10), lebih (10), maka (10), server (10), kemudian (10), not (10), code (10), main (10), can (10), return (10), which (10), kmskeyid (10), dump (9), bapak (9), adalah (9), nginx (9), folder (9), are (9), com (8), have (8), april (8), search (8), uncategorized (8), dalam (8), sebuah (8), digunakan (8), https (8), local (8), user (8), backup (8), remote (8), program (8), from (8), base64 (8), need (8), log (7), 2012 (7), 2013 (7), database (7), minute (7), membuat (7), tidak (7), sudo (7), jika (7), seperti (7), anda (7), rsync (7), test (7), public (7), println (7), func (7), bahasa (7), random (7), config (7), input (7), algorithm (7), required (6), 2011 (6), november (6), 2015 (6), application (6), harus (6), tersebut (6), sebagai (6), dibawah (6), perform (6), copy (6), when (6), keys (6), file (6), hello (6), project (6), library (6), know (6), int (6), value (6), totalrecord (6), mid (6), pencarian (6), message (6), svckms (6), ciphertextblob (6), region (6), struct (6), represents (6), two (6), encoding (6), get (5), january (5), may (5), july (5), mysql (5), kali (5), oleh (5), certbot (5), memiliki (5), setup (5), hal (5), ngrok (5), url (5), secure (5), 192 (5), 168 (5), 200 (5), enter (5), merupakan (5), world (5), yaitu (5), gopath (5), type (5), how (5), result (5), start (5), created (5), then (5), decryption (5), chippertext (5), takes (5), awssecretaccesskey (5), awsaccesskeyid (5), kmsawsconfig (5), security (5), wordpress (4), account (4), 2019 (4), language (4), large (4), found (4), indonesia (4), itu (4), banyak (4), karena (4), memilih (4), sertifikat (4), ssl (4), letsencrypt (4), berikut (4), saya (4), generate (4), 23357e7f (4), setelah (4), sample (4), should (4), ask (4), host (4), above (4), passphrase (4), give (4), example (4), make (4), diatas (4), nama (4), perlu (4), semua (4), import (4), path (4), mari (4), buat (4), bin (4), ngoprek (4), berada (4), environtment (4), variable (4), usr (4), simple (4), because (4), maybe (4), there (4), way (4), didapat (4), array (4), version (4), decrypting (4), management (4), rails (4), format (4), map (4), methods (4), such (4), instance (4), store (4), stored (4), let (4), its (4), original (4), hashing (4), symmetric (4), numbers (4), now (3), august (3), december (3), 2014 (3), 2017 (3), 2023 (3), implementasi (3), part (3), kopi (3), hidup (3), legok (3), tapak (3), genteng (3), kadek (3), warkop (3), mungkin (3), minutes (3), open (3), source (3), cara (3), plugin (3), line (3), berisi (3), menjadi (3), etc (3), apt (3), add (3), terinstall (3), sangat (3), beberapa (3), lain (3), http (3), mudah (3), ens18 (3), jalankan (3), setting (3), network (3), home (3), any (3), without (3), your (3), doesn (3), just (3), here (3), keygen (3), private (3), following (3), save (3), baris (3), dahulu (3), bagian (3), src (3), tambahkan (3), org (3), download (3), pemrograman (3), still (3), long (3), done (3), but (3), try (3), experience (3), monitor (3), mysqldump (3), first (3), has (3), arr (3), len (3), arrayparams (3), searchvariable (3), bandingkan (3), angka (3), kiri (3), kanan (3), kelompok (3), sebelah (3), one (3), some (3), about (3), implementation (3), sensitive (3), encrypting (3), services (3), provided (3), encrypted (3), parameters (3), encoded (3), respencrypt (3), dst (3), stdencoding (3), must (3), chippertextarr (3), also (3), includes (3), stores (3), three (3), defines (3), form (3), text (3), into (3), known (3), algorithms (3), sha (3), asymmetric (3), only (3), commonly (3), started (2), site (2), website (2), write (2), comments (2), bar (2), manage (2), content (2), sign (2), subscribed (2), subscribe (2), already (2), blog (2), june (2), september (2), 2022 (2), issue (2), libcrypto (2), posts (2), gua (2), pernah (2), falsafah (2), bahwa (2), terdiri (2), berbagai (2), atau (2), nya (2), daripada (2), beliau (2), membuka (2), pasti (2), pesawat (2), usut (2), buah (2), kerja (2), ketika (2), kata (2), salah (2), mengunakan (2), memasang (2), server_name (2), kabayan (2), cari (2), ubah (2), domain (2), sites (2), python (2), tls (2), didapatkan (2), coba (2), sering (2), lakukan (2), kadang (2), sekali (2), shortcut (2), fitur (2), development (2), setiap (2), forwading (2), mesin (2), mendownload (2), ingin (2), diakses (2), melalui (2), auto (2), iface (2), inet (2), static (2), list (2), show (2), ubuntu (2), avz (2), again (2), time (2), able (2), over (2), pub (2), note (2), appropriate (2), work (2), copies (2), same (2), asks (2), successfully (2), run (2), mencetak (2), huruf (2), capital (2), fungsi (2), berikutnya (2), ialah (2), compiler (2), menunjukan (2), starting (2), sebelum (2), struktur (2), workspace (2), linux (2), installer (2), klik (2), dua (2), memulai (2), installasi (2), ikuti (2), petunjuknya (2), windows (2), mac (2), dukungan (2), dokumentasi (2), mencari (2), nodejs (2), menyediakan (2), aplikasi (2), kenapa (2), melakukan (2), google (2), sendiri (2), approach (2), don (2), case (2), exist (2), check (2), always (2), been (2), strconv (2), else (2), antara (2), kecil (2), besar (2), low (2), high (2), memfokuskan (2), subarray (2), algoritma (2), opt (2), next (2), protect (2), amazon (2), web (2), between (2), keyid (2), returned (2), inputencrypt (2), inputdecrypt (2), respdecrypt (2), finally (2), implement (2), newsession (2), newkmsaws (2), status (2), fields (2), returns (2), response (2), slice (2), during (2), output (2), credentials (2), structure (2), called (2), final (2), plain (2), encrypted_kms_key (2), examples (2), include (2), restored (2), hashed (2), cannot (2), different (2), these (2), who (2), types (2), cryptographic (2), information (2), identification (2), addresses (2), passwords (2), hackers (2), catatan (2), biar (2), lupa (2), design, name, collapse, subscriptions, view, reader, report, privacy, free, february, archives, latest, post, older, navigation, baru, dibuatkan, seorang, teknisi, jenius, sejarah, jalan, terus, memang, macam, pengalaman, dihadapin, jadi, menurut, kuat, mental, menghadapi, pengetahuannya, pengalamannya, tapi, idealisme, kecintaan, terhadap, negara, orang, maju, berwirausaha, warung, depan, kampung, babakan, fakultas, bogor, suka, duka, dialami, cuma, membayangkan, cercaan, diterima, datang, keluarga, besarnya, meninggalkan, kemewahan, mempertahankan, idealismenya, foto, dipojok, latar, belakang, n250, sejumlah, karyawan, dirgantara, punya, ternyata, mantan, anak, pak, habibie, waktu, membangun, industri, collaps, kehilangan, pekerjaannya, tawaran, luar, negeri, berdatangan, gaji, menggiurkan, siapa, obrolan, malam, ditemenin, cerita, soal, guyon, intinya, mau, dihujat, dicibir, segimana, pun, jangan, mempengaruhi, kebahagiaan, lamun, hirup, hoyong, enjoy, kudu, praktekeun, mendapatkan, satu, inilah, continue, reading, restart, silahkan, reload, melihat, apakah, configurasi, benar, sesuai, kamu, miliki, contoh, available, default, install, update, repository, ppa, instal, mempunyai, belum, alasan, lagi, bagi, kalian, menggunakannya, gratis, tulisan, sebenarnya, bukan, bulan, tugas, faktor, pelupa, akut, mendokumentasikan, gunakan, selamat, mencoba, help, explore, akses, via, browser, live, tim, selalu, men, unique, merestart, dijalankan, memberikan, alamat, forwarding, port, didownload, disesuaikan, cukup, disini, terkadang, agar, dev, internet, tunnel, sediakan, localhost, ifup, loopback, address, netmask, gateway, dns, nameservers, diinginkan, interfaces, muncul, mengetikan, mengetahui, tinggal, entering, id_rsa, automatically, location, discussed, earlier, less, login, press, empty, generates, synchronize, sure, files, ngeblog, menuliskan, mengkesekusi, promt, ketik, bertugas, hellow, dicatat, memberi, tahu, dimana, eksekusi, dimulai, java, perintah, kepada, sehingga, point, menjalankan, wajib, berdasarkan, terkait, pertama, bahas, tiap, cetak, sederhana, sakti, statements, expressions, variables, packages, declaration, membahas, jauh, programming, pelajari, minimum, biasanya, bawah, setidaknya, subfolder, pkg, ditempatkan, misal, haruslah, menyiapkan, lokasi, beserta, mereka, unzip, tar, msi, tiga, platform, installation, support, linking, telah, compile, deploy, tanpa, khawatir, dependency, lengkap, komunitas, para, programmer, kesulitan, compiled, souce, dicomple, native, interpreted, javascript, concurency, terpisahkan, goroutines, channels, multithread, dijelaskan, detail, nanti, kelebihan, sementara, familiar, ruby, serupa, dikenal, dikembangkan, tahun, 2007, diprakrasai, robert, griesemer, rob, pike, ken, thompson, kemiripan, syntax, garbage, collection, safety, dynamic, typing, disediakan, fokus, goalng, apps, scalable, introduction, best, doing, think, section, below, running, see, success, appear, directory, failed, grep, waiting, dont, forget, option, want, something, happen, root, xxxxxxxxxxxxxx, databases, your_database, flush, logs, sql, engineer, their, challenge, forum, usually, suggestion, why, works, progress, zero, percent, monospacelabs, developer, story, implementing, migrator, legacy, crm, d97deb22955a, hasilnya, itoa, impementasi, bagaimana, lihat, ditemukan, sekarang, dilakukan, diantara, ganti, masih, gambar, record, image, sama, kembalikan, notasi, big, linier, complexity, prinisipnya, pendekatan, satunya, diurutkan, terlebih, echo, export, pkg_config_path, homebrew, openssl, lib, pkgconfig, zshrc, stuck, almost, hour, installing, monterey, future, got, writing, overall, demonstrates, gotcha, vice, versa, similar, encryptinput, encodedlen, encode, given, decoded, call, strings, split, errors, invalid, decodestring, decryptinput, added, parameter, containing, details, within, needed, defined, necessary, creating, implemented, well, providing, additional, var, newstaticcredentials, implements, consists, namely, operations, break, down, after, obtaining, facilitate, searching, step, blind, inputted, unencrypted, generated, general, steps, follows, rewrite, github, ankane, lockbox, recommended, single, vault, gcp, ensure, requires, techniques, unlike, where, initial, md5, ripemd, 160, ntlm, lanman, related, functions, rivest, shamir, adleman, rsa, uses, both, therefore, sender, encrypts, provide, person, caesar, blowfish, advanced, standard, aes, scrambling, readable, unreadable, third, parties, attackers, decrypted, ensuring, remains, ascii, unicode, most, changing, another, specific, widely, restore, decoding, understanding, goals, choose, whether, discuss, differences, social, comes, compare, engineers, top, priority, especially, being, prime, target, personal, phone, particularly, vulnerable, attacks, crucial, instead, before, storing, ensures, even, compromised, access, opening, skip,
Text of the page (random words):
ing that the stored value remains secure there are two types of encryption symmetric encryption and asymmetric encryption a symmetric encryption symmetric encryption is encryption that uses only one key for both encryption and decryption therefore the sender who encrypts the data must provide the key to the person who will decrypt it some commonly used algorithms for symmetric encryption are caesar blowfish and advanced encryption standard or aes b asymmetric encryption for this type of encryption two different related keys are required called public and private keys these two keys have different functions with the public key used for encryption and the private key used for decryption an example of an algorithm used for asymmetric encryption is the rivest shamir adleman rsa algorithm hashing unlike encoding and encryption where the initial value can be restored any plaintext data that is hashed cannot be restored to its original value this is because hashing is known as a one way function examples of algorithms used for hashing include md5 sha 1 sha 2 sha 3 ripemd 160 ntlm and lanman data security techniques we can use encryption to ensure data security encryption requires an algorithm key and value to create ciphertext it is recommended not to store the key used for encryption in a single server we can use key management services kms to store the key examples of kms that we can use include vault aws kms and gcp kms i will try to write about my experience to rewrite this rails library https github com ankane lockbox to go language version in general the steps to secure data encrypt are as follows input the data into the application generate a random key encrypt the generated random key using a kms key and save it as an encrypted_kms_key encrypt the user input using the unencrypted random key and save it as ciphertext to facilitate searching the final step is to create a blind index from the user inputted value this process to encrypt data for the process of decrypting data we need to decrypt the encrypted_kms_key to get the random key in plain text after successfully obtaining the random key we can decrypt the ciphertext using the random key the final result will be the plain text input from the user let s create a sample application in go in this case we will be using aws kms here we will create a simple library as an example to make this application work first let s create a struct that will function for decrypting and encrypting type kms interface decrypt ciphertext string encryptioncontext map string string plaintext byte err error encrypt message byte encryptioncontext map string string ciphertext string err error let s break down the code above it defines an interface called kmsaws with two methods decrypt and encrypt the decrypt method takes ciphertext and encryptioncontext as input and returns the plaintext response as a byte array byte the encrypt method takes a message which is the plaintext to be encrypted in the form of byte and encryptioncontext as input the output of this function is a string of ciphertext the kmsaws interface is used to perform encryption and decryption operations on data using the key management service kms in aws amazon web services next we create a struct to implement the above interface type kmsawsctx struct session session session svckms kms kms kmskeyid string type kmsawsconfig struct awsaccesskeyid string awssecretaccesskey string kmskeyid string region string the implementation of the interface is done in the kmsawsctx structure that stores the configuration and status of kms kmsawsctx consists of three fields namely session which represents the aws session svckms which represents the kms service and kmskeyid which represents the id of the kms key to be used we also need to add the required configuration to create the session that we will use to encrypt and decrypt on the aws service this line defines the kmsawsconfig structure that stores the configuration required to create an kmsawsctx instance the stored configuration includes awsaccesskeyid awssecretaccesskey kmskeyid and region then we will create a function that implements the kms interface with the following code func newkmsaws config kmsawsconfig kms error kmsaws kmsawsctx var err error kmsaws session err session newsession aws config region aws string config region credentials credentials newstaticcredentials config awsaccesskeyid config awssecretaccesskey if err nil fmt println err error return nil err kmsaws svckms kms new kmsaws session kmsaws kmskeyid config kmskeyid return kmsaws nil the following code defines the kmsaws interface with two methods decrypt and encrypt the decrypt method takes in a ciphertext and an encryptioncontext as input and returns the plaintext response as a byte slice the encrypt method takes in a message which is the plaintext to be encrypted as a byte slice as well as an encryptioncontext for providing additional parameters during encryption the output of this method is a ciphertext string the kmsaws interface is used for encrypting and decrypting data using the key management service kms on aws the interface is then implemented in the kmsawsctx struct which stores the kms configuration and status kmsawsctx has three fields session which represents the aws session svckms which represents the kms service and kmskeyid which represents the id of the kms key to be used the code also includes the configuration needed to create the session that will be used to perform encryption and decryption on the aws service the kmsawsconfig struct is defined to store the necessary configuration for creating an instance of kmsawsctx the stored configuration includes awsaccesskeyid awssecretaccesskey kmskeyid and region finally a function is created to implement the kmsaws interface the newkmsaws function takes a kmsawsconfig parameter containing aws configuration details such as awsaccesskeyid awssecretaccesskey kmskeyid and region within the function an instance of kmsawsctx is created using the provided configuration and an aws session is created using aws config and session newsession then an instance of the kms service is created using kms new and the provided configuration finally the implementation for the decrypt and encrypt methods are added to the code func c kmsawsctx decrypt chippertext string encryptioncontext map string string plaintext byte err error chippertextarr strings split chippertext if len chippertextarr 2 return nil errors new invalid chippertext chippertext chippertextarr 1 ciphertextblob err base64 stdencoding decodestring chippertext if err nil fmt println err error return nil err inputdecrypt kms decryptinput ciphertextblob ciphertextblob encryptioncontext encryptioncontext respdecrypt err c svckms decrypt inputdecrypt if err nil fmt println err return nil err return respdecrypt plaintext nil in the decrypt method it is used to perform decryption on a ciphertext this ciphertext must have the format v1 base64 encoded ciphertext in this method the given ciphertext will be decoded from base64 then used to call the decrypt function from the kms service with the parameters ciphertextblob and encryptioncontext the result of the decrypt function is plaintext that will be returned func c kmsawsctx encrypt message byte encryptioncontext map string string ciphertext string err error inputencrypt kms encryptinput keyid aws string c kmskeyid plaintext byte message encryptioncontext encryptioncontext respencrypt err c svckms encrypt inputencrypt if err nil return err dst make byte base64 stdencoding encodedlen len respencrypt ciphertextblob base64 stdencoding encode dst respencrypt ciphertextblob ciphertext v1 string dst return ciphertext nil the encrypt method is used to encrypt a plaintext in this method the plaintext provided will be encrypted using the encrypt function from the kms service with parameters keyid plaintext and encryptioncontext the result of the encrypt function is ciphertext which is then encoded in the v1 base64 encoded ciphertext format and returned gotcha that library can use to decrypt ciphertext from rails version and vice versa you can decrypt on golang and encrypt with rails version as long the configuration is similar between rails and go we have created a sample how to use the key management service kms from amazon web services aws to encrypt and decrypt data overall this sample application demonstrates how to use the kms service from aws to protect sensitive data by encrypting and decrypting it using a secure key in the next part i will give an example about implementation this library and writing about generate random key on golang version share this share on facebook opens in new window facebook share on x opens in new window x email a link to a friend opens in new window email share on telegram opens in new window telegram share on whatsapp opens in new window whatsapp like loading abi wardani abiewardani uncategorized leave a comment march 25 2023 march 26 2023 7 minutes issue no package libcrypto found stuck almost one hour installing this at m1 with monterey maybe if in the future you got some message just command echo export pkg_config_path opt homebrew opt openssl 3 lib pkgconfig zshrc share this share on facebook opens in new window facebook share on x opens in new window x email a link to a friend opens in new window email share on telegram opens in new window telegram share on whatsapp opens in new window whatsapp like loading abi wardani abiewardani uncategorized leave a comment march 22 2022 1 minute binary search dan implementasi pada golang dalam pencarian sebuah data ada pendekatan yang bisa kita lakukan salah satunya menggunakan algoritma binary search binary search merupakan pencarian nilai x pada sebuah kelompok data yang sudah diurutkan terlebih dahulu dalam notasi big 0 linier search memiliki time complexity o n pada prinisipnya cara kerja algoritma tersebut adalah sebagai berikut bandingkan x dengan nilai tengah yang didapat dari kelompok array jika x sama dengan nilai tengah kita kembalikan index dari x jika x lebih besar dari nilai tengah maka nilai x pasti berada pada bagian kanan dari array maka kita akan memfokuskan pencarian pada subarray sebelah kanan dari nilai tengah jika x lebih kecil dari nilai tengah maka nilai x berada pada sebelah kiri dari array maka kita akan memfokuskan pencarian pada subarray sebelah kiri dari nilai tengah image gambar diatas kita memiliki kelompok data yang terdiri dari 10 record dengan low index 0 dan high index 9 kemudian kita ingin mencari x 23 cari index yang berada di tengah ada di m 4 nilai dari nilai tengah m 4 adalah 16 kemudian bandingkan dengan angka 23 jika lebih besar x maka kita akan melakukan pencarian ke kanan ganti low index dengan m 1 dan high index masih di angka 9 antara index 5 dan index 9 didapat index tengah m 7 kemudian didapat nilai dari m adalah 56 bandingkan dengan angka x sekarang nilai x lebih kecil daripada nilai tengah pencarian akan dilakukan ke kiri diantara index ke 5 dan index m 1 yaitu index ke 6 nilai tengah antara index ke 5 dan ke 6 maka didapat index ke 5 dengan nilai 23 maka nilai dari x sudah ditemukan bagaimana implementasi pada golang mari kita lihat buat code dibawah ini binary func binary arrayparams int start int totalrecord int searchvariable int int totalrecord totalrecord 1 for start totalrecord mid start totalrecord start 2 if arrayparams mid searchvariable return mid if arrayparams mid searchvariable start mid 1 else totalrecord mid 1 return 1 kemudian impementasi pada main go package main import fmt search strconv func main arr int 2 5 8 12 16 23 28 56 72 92 x 23 i search binary arr 0 len arr x if i 0 fmt println not found else fmt println value found index strconv itoa i kemudian ketika kita jalankan code diatas maka hasilnya akan seperti ini share this share on facebook opens in new window facebook share on x opens in new window x email a link to a friend opens in new window email share on telegram opens in new window telegram share on whatsapp opens in new window whatsapp like loading abi wardani abiewardani uncategorized leave a comment march 9 2019 march 9 2019 1 minute dump large mysql database https pub monospacelabs com developer story implementing a migrator for a legacy crm d97deb22955a an engineer has a way to backup their database i have an experience how to backup large mysql database the challenge is monitor the process when backup is already done i ve been search on google the forum usually give the suggestion using pv here the link but i don t know why pv not works on my server progress bar always zero percent when dump has been started so this simple way maybe shortcut to monitor process dump large database first we run mysqldump to starting the dump process mysqldump u root px xxxxxxxxxxxxxx databases your_database flush logs result file backup sql log error error log mysqldump is command for dump and dont forget always add this option log error error log because we want to know if something happen we get the error so we just waiting and try to check with ps ax grep mysql it will show the process list mysql if dump still running you will see the command still exist there if dump process success the error log doesn t appear on directory but if it exist you have to check it because dump process is failed i know this not best approach to doing this because we still don t know how long the backup will be done but maybe this simple think you can try if you have a experience how monitor this case maybe you can give a comment in section below share this share on facebook opens in new window facebook share on x opens in new window x email a link to a friend opens in new window email share on telegram opens in new window telegram share on whatsapp opens in new window whatsapp like loading abi wardani abiewardani uncategorized leave a comment november 10 2018 november 10 2018 1 minute go language introduction go atau lebih dikenal dengan golang adalah bahasa pemrograman yang dikembangkan oleh google pada tahun 2007 project ini diprakrasai oleh robert griesemer rob pike dan ken thompson golang sendiri memiliki kemiripan syntax dengan c dan sudah menyediakan garbage collection type safety dynamic typing dan banyak sekali library library yang sudah disediakan fokus dari goalng sendiri adalah untuk membuat apps yang scalable simple dan sangat mudah kenapa harus golang kenapa harus memilih golang sebagai bahasa untuk aplikasi server sementara banyak bahasa bahasa lain yang lebih dahulu dan lebih familiar seperti python ruby dan nodejs yang bisa melakukan hal serupa ini kelebihan yang bisa didapatkan jika memilih go sebagai bahasa pemrograman concurency adalah bagian yang tidak terpisahkan dari sebuah bahasa pemrograman golang menyediakan fitur goroutines dan channels yang bisa digunakan untuk membuat aplikasi yang multithread hal ini akan dijelaskan lebih detail nanti golang adalah compiled language semua souce akan dicomple menjadi native binary ...
|