Mašinų augimas: AI pritaikymas realiame pasaulyje
Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.
Įvadas
Oficialioji Vultr Go biblioteka gali būti naudojama sąveikai su Vultr API . Vultr API leidžia valdyti su paskyra susietus išteklius, įskaitant serverius, DNS, ugniasienę, momentines nuotraukas, tinklą ir kt. Šioje pamokoje bus supažindinama su oficialiu Go API klientu, sukuriant paprastą programą, skirtą informacijai apie serverius gauti.
Būtinos sąlygos
Tikslai
1 veiksmas: projekto kūrimas
Pirmiausia pradėsime kurdami naują modulį (projektą). Paprastai kaip modulio pavadinimą naudojate savo kodo saugyklos URL, tačiau tai nepatenka į šios mokymo programos taikymo sritį. Kol kas kaip modulio pavadinimą naudosime serverinfo .
Norėdami sukurti projektą, paleiskite šias komandas:
# Create the folder in the current directory. mkdir serverinfo # Enter the new folder. cd serverinfo # Initialize the module. go mod init serverinfo
2 veiksmas: atsisiųskite biblioteką
Tada atsisiųsime API biblioteką iš „GitHub“ (kodo prieglobos svetainės). Norėdami atsisiųsti bibliotekas, turite naudoti go getkomandą. Tai automatiškai atsisiųs biblioteką ir jos priklausomybes, pridėdama ją prie failo go.mod . Tame pačiame terminale, kurį atidarėte anksčiau, įveskite šią komandą:
go get github.com/vultr/govultr
3 veiksmas: gaukite API raktą
Norėdami naudoti API klientą, jums reikės API rakto. API raktą galite nuskaityti informacijos suvestinės paskyros skilties API skirtuke . Taip pat turėsite įgalioti savo IP adresą, kad galėtumėte naudoti API raktą. Savo IP adresą galite rasti apsilankę adresu ifconfig.me . Atminkite, kad jūs ieškote savo viešojo , o ne privataus IP. Jūsų privatus IP yra tas, kurį rastumėte savo kompiuterio tinklo nustatymuose ir yra viename iš šių CIDR diapazonų: 10.0.0.0/8 , 172.16.0.0/12 arba 192.168.0.0/16 .
Kai turėsite savo IP adresą, pridėkite jį prie prieigos kontrolės skiltyje. Laukelyje po / įveskite 32. /32yra tinklo kaukės reikšmė 255.255.255.255. Tai reiškia, kad į diapazoną įtrauktas tik jūsų IP.
Įspėjimas: apsaugokite savo API raktą taip, kaip apsaugotumėte slaptažodį. API raktas turi prieigą prie visos paskyros, įskaitant atsiskaitymą, serverius ir saugyklą.
4 veiksmas: sukurkite programos failą
Dabar mes pradedame dirbti su programa. Atidarykite aplanką, kurį sukūrėme pasirinkę redaktorių, ir sukurkite failą pavadinimu main.go.
Failo viduje įveskite arba nukopijuokite ir įklijuokite šį kodą:
package main import ( "context" "fmt" "os" "github.com/vultr/govultr" ) func main() { }
„ package mainGo “ nurodo, kad kuriame komandą, o ne biblioteką. Importavimo ataskaitoje deklaruojamos priklausomybės, kurias naudosime. func main()yra funkcija, kuri iškviečiama, kai vykdome savo programą.
5 veiksmas: inicijuokite API klientą
Kitas žingsnis – inicijuoti API klientą. Norėdami tai padaryti, turime naudoti funkciją govultr.NewClient(http.Client, string) . Įtraukite šį kodą į main() funkciją:
client := govultr.NewClient(nil, "YOURAPIKEY")
Pakeiskite YOURAPIKEYAPI raktu, kurį gavote anksčiau.
Pažvelkime į šį kodą šiek tiek atidžiau. Kairėje pusėje :=turime client. Tai yra kintamojo pavadinimas . Kintamasis saugo reikšmes. Dešinėje pusėje yra funkcijos iškvietimas į govultr.NewClient . Pirmasis parametras yra nulis, nes mums nereikia keisti numatytojo HTTP kliento. Antrasis parametras yra API raktas, kurį naudojame autentifikuoti. :=Operatorius priskiria dešinės į kairę pusę, šiuo atveju, skambinimo funkcijos sukelti client.
6 veiksmas: API naudojimas
Mūsų programa dar nieko nedaro. Kad tai būtų naudinga, mes ketiname gauti informaciją apie savo serverius iš Vultr. Naudosime funkciją govultr.Client.Server.List(context.Context) ([]govultr.Server, error) . Funkcijos main() pabaigoje pridėkite šį kodą :
servers, err := client.Server.List(context.Background()) if err != nil { fmt.Fprintf(os.Stderr, "Error: %v\n", err) os.Exit(1) }
Šiame kode mes iškviečiame API funkciją, kad gautume serverio informaciją. Dar nesijaudinkite dėl konteksto reikšmės , nes tai sudėtingesnė tema. Kol kas viskas, ką turime žinoti, yra tai, kad kontekstas valdo, kaip veikia API klientas. kontekstas.Background() grąžina tuščią kontekstą . Nuskaitę serverio informaciją į du kintamuosius, serverius ir err , patikriname, ar įvyko klaida. Jei taip, informuojame vartotoją apie klaidą ir išeiname su kodu 1 (klaida).
7 veiksmas: informacijos rodymas
Dabar, kai turime daugybę serverių serverių kintamajame ( []govultr.Server ), galime jį rodyti. Funkcijos main() pabaigoje pridėkite šį kodą :
fmt.Println("Servers:") for _, server := range servers { fmt.Printf(" %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n", server.Label, server.MainIP, server.Location, server.PendingCharges, server.CurrentBandwidth, server.AllowedBandwidth, ) }
Pirmiausia atspausdiname (rodome) antraštę, Servers:. Tada pereiname per serverių masyvą, nepaisydami indekso, priskirdami jį _, o dabartinį serverį priskirdami serverio kintamajam. Ciklo viduje rodome serverio etiketę, IP adresą, vietą, laukiančius mokesčius, esamą pralaidumą ir leistiną pralaidumą. Kad tai padarytume efektyviai, naudojame formato eilutes , kurios atrodo kaip " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n". Priemonės, %sskirtos pakeisti kitą eilutę, o %.2fpriemonės, skirtos spausdinti kitą eilutę (dešimtainis skaičius), suapvalintos iki 2 skaitmenų po kablelio. Likusi formato eilutė spausdinama pažodžiui (tokia, kokia yra).
8 veiksmas: bėgimas
Šiuo metu jūsų kodas turėtų atrodyti taip:
package main import ( "context" "fmt" "os" "github.com/vultr/govultr" ) func main() { client := govultr.NewClient(nil, "YOURAPIKEY") servers, err := client.Server.List(context.Background()) if err != nil { fmt.Fprintf(os.Stderr, "Error: %v\n", err) os.Exit(1) } fmt.Println("Servers:") for _, server := range servers { fmt.Printf(" %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n", server.Label, server.MainIP, server.Location, server.PendingCharges, server.CurrentBandwidth, server.AllowedBandwidth, ) } }
Dabar galime paleisti kodą. Grįžkite į anksčiau atidarytą terminalą ir įveskite komandą go run. Išvestis bus panaši į:
Servers: server1 (198.51.100.4) - New Jersey - $3.70 pending charges - 17.64/1000 GB bandwidth server2 (198.51.100.9) - Toronto - $1.70 pending charges - 3.24/500 GB bandwidth
Jei gaunate klaidą, įsitikinkite, kad API raktas ir IP adresas yra teisingi.
Išvada
Šiuo metu jūs sėkmingai išmoksite pagrindinius, kaip naudotis oficialiu API klientu, ir parašysite programą, kuri parodys informaciją apie jūsų paskyros serverius.
Tolimesni žingsniai
Iš čia galite padaryti daug daugiau. Pavyzdžiui, galite parašyti programą, skirtą naujam serveriui aprūpinti, kai trūksta atminties. Galite parašyti programą, kuri automatiškai atnaujintų serverį, kai trūksta pralaidumo ar saugyklos. Jūs netgi galite parašyti įrankį, skirtą automatiškai atnaujinti DNS įrašus pagal jūsų dabartinį IP.
Norėdami gauti daugiau informacijos apie govultr biblioteką, galite rasti govultr bibliotekos dokumentaciją apie godoc .
govultr yra atvirojo kodo projektas . Jei radote kokių nors „govultr“ klaidų, galite apie jas pranešti „ GitHub“ . Taip pat galite tiesiogiai prisidėti prie kodo pateikdami užklausą .
Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.
Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.
Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.
Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.
Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…
Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.
Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.
Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.
Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.
Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį