Programiranje

Tehnologija leta 2018: najboljša strojna oprema, programska oprema in storitve v oblaku

Je bilo leto 2017 tisto, ko so vsak izdelek pod soncem tržili kot kognitivnega, strojnega učenja ali umetno inteligentnega? No ja. Toda ne sovražite vseh. V mnogih primerih dejansko strojno učenje naredil izboljšati funkcionalnost izdelkov, včasih na presenetljive načine.

Naši ocenjevalci niso podelili nobenih nagrad vključevanje AI, vendar je izbral najvidnejša orodja za gradnjo in trening modelov. Sem spadajo ogrodja za globoko učenje TensorFlow in PyTorch, avtomatizirani paket za izdelavo modelov H2O.ai Driverless AI in trdna orodja za strojno učenje Scikit-learn.

Del MLlib Apache Spark spada tudi v to skupino, prav tako 25-letni (!) R programski jezik, za katerega naš recenzent pravi: »Ne glede na težavo s strojnim učenjem je v CPAN-u verjetno rešitev , izčrpno repozitorij za kodo R, po vsej verjetnosti pa ga je napisal strokovnjak za to domeno. "

Leto 2017 je bilo tudi leto, ko si lahko izbral bazo podatkov, ne da bi naredil velike kompromise. Ali potrebujete SQL, geografsko porazdelitev, vodoravno razširljivost,in močna konsistenca? Tako Google Cloud Spanner kot CockroachDB imata vse to. Ali potrebujete porazdeljeno bazo podatkov NoSQL z izbiro API-jev in modelov skladnosti? To bi bil Microsoftov Azure Cosmos DB.

Ali strežete podatke z več končnih točk? Za poizvedbe boste verjetno želeli uporabiti GraphQL, strežnik Apollo pa boste morda uporabili kot gonilnik, če je vaša stranka aplikacija Node.js. Če pogledamo podatke bolj na graf, je poizvedba GraphQL videti nekako kot struktura JSON, pri čemer so podatki izpuščeni.

Kar zadeva strežnike baz podatkov grafov, razmislite o Neo4j, ki ponuja visoko razpoložljive grozde, transakcije ACID in vzročno skladnost. Iščete podatkovno bazo podatkov SQL na osnovi GPU, ki bi lahko posodabljala geoprostorske prikaze milijard lokacij v milisekund? MapD je tisto, kar potrebujete.

Dva sodobna programska jezika sta se odrezala za popolnoma različni domeni. Kotlin je videti kot poenostavljena različica objektno usmerjene Jave, vendar je tudi popoln funkcionalni programski jezik in kar je najpomembneje odpravlja nevarnost sklicevanja na ničelne kazalce in olajša ravnanje z ničelnimi vrednostmi. Rust pa ponuja varnost pomnilnika kot alternativo C in C ++, ki je zasnovana za programiranje na golih kovinah in na sistemski ravni.

Ko že govorimo o varnosti, pozdravljamo tudi dva varnostna izdelka - enega za lažjo razvijalce pri izdelavi varnih aplikacij in drugega za razširitev zaščitnih obramb na sodobna aplikacijska okolja. Varnostna opozorila GitHub vas obvestijo, ko GitHub zazna ranljivost v eni od odvisnosti vašega projekta GitHub, in predlagajo znane popravke skupnosti GitHub. Signal Sciences ščiti pred grožnjami za vaše spletne aplikacije in API-je v oblaku ali vsebniku.

Če ste začeli uvajati vsebnike Docker, boste prej ali slej želeli organizirati in upravljati njihove grozde. Za to boste najverjetneje želeli Kubernetes bodisi sam ali kot storitev v oblakih AWS, Azure ali Google. Honeycomb presega spremljanje in beleženje, da omogoči opaznost vaših porazdeljenih sistemov.

V zadnjem času težka ogrodja Angular in React prevladujejo v razpravah o spletnih aplikacijah JavaScript. Obstaja pa enostavnejši okvir, ki dobiva pamet: Vue.js. Vue.js še vedno gradi navidezni DOM, vendar se zaradi tega ne želite naučiti nestandardne sintakse ali namestiti posebne verige orodij samo za razmestitev spletnega mesta.

Microsoftov odnos z Linuxom je bil v preteklih letih najmanj težaven. Na primer, leta 2001 je Steve Ballmer Linux imenoval "rak". Potreba po Linuxu v oblaku Azure je vse to spremenila, podsistem Windows za Linux pa vam omogoča, da v operacijskem sistemu Windows 10 zaženete resnično lupino Ubuntu ali Suse Bash, kar vam omogoča namestitev in zagon legitimnih binarnih aplikacij Linuxa iz standardnih repozitorijev, vključno z ukazno vrstico Azure Bash.

O vseh teh zmagovalnih izdelkih in še veliko več preberite v naši turneji med dobitniki nagrad za tehnologijo leta 2018.

$config[zx-auto] not found$config[zx-overlay] not found