5 Plej bonaj Praktikoj pri Programaro Disvolviĝo en 2020

Hej Habr! Mi prezentas al via atento la tradukon de la artikolo "5 Konsiloj Por Lernado Kiel Kodigi - Ĝeneralaj Konsiloj Por Programistoj" de kristencarter7519.

Kvankam ŝajnas, ke ni estas nur kelkaj tagoj for de 2020, ĉi tiuj tagoj ankaŭ estas gravaj en la kampo de programaro. Ĉi tie en ĉi tiu artikolo, ni vidos kiel la venonta jaro 2020 ŝanĝos la vivon de programistoj.

5 Plej bonaj Praktikoj pri Programaro Disvolviĝo en 2020

La estonteco de programaro disvolviĝo estas ĉi tie!

Tradicia programaro-disvolviĝo estas la evoluo de programaro skribante kodon sekvante kelkajn fiksajn regulojn. Sed moderna programaro-disvolviĝo atestis paradigmoŝanĝon kun progresoj en artefarita inteligenteco, maŝinlernado kaj profunda lernado. Integrante ĉi tiujn tri teknologiojn, programistoj povos krei programajn solvojn, kiuj lernas de instrukcioj kaj aldonas pliajn funkciojn kaj ŝablonojn al la datumoj necesaj por produkti la deziratan rezulton.

Ni provu per iom da kodo

Kun la tempo, neŭralaj retaj programaj evolusistemoj fariĝis pli kompleksaj laŭ integriĝo same kiel niveloj de funkcieco kaj interfacoj. Programistoj, ekzemple, povas konstrui tre simplan neŭralan reton kun Python 3.6. Jen ekzempla programo kiu faras binaran klasifikon kun 1s aŭ 0s.

Kompreneble, ni povas komenci kreante klason de neŭrala reto:

importu NumPy kiel NP

X=np.array([[0,1,1,0],[0,1,1,1],[1,0,0,1]])
y=np.array([[0],[1],[1]])

Apliko de la sigmoida funkcio:

def sigmoid ():
   return 1/(1 + np.exp(-x))
def derivatives_sigmoid ():
   return x * (1-x)

Trejnado de modelo kun komencaj pezoj kaj biasoj:

epoch=10000
lr=0.1
inputlayer_neurons = X.shape[1]
hiddenlayer_neurons = 3
output_neurons = 1

wh=np.random.uniform(size=(inputlayer_neurons,hiddenlayer_neurons))
bh=np.random.uniform(size=(1,hiddenlayer_neurons))
wout=np.random.uniform(size=(hiddenlayer_neurons,output_neurons))
bout=np.random.uniform(size=(1,output_neurons))

Por komencantoj, se vi bezonas helpon pri neŭralaj retoj, vi povas serĉi en la interreto retejojn de ĉefaj programaraj kompanioj aŭ vi povas dungi AI/ML-programistojn por labori pri via projekto.

Kodmodifo uzante produktaĵtavolneŭronon

hidden_layer_input1=np.dot(X,wh)
hidden_layer_input=hidden_layer_input1 + bh
hiddenlayer_activations = sigmoid(hidden_layer_input)
output_layer_input1=np.dot(hiddenlayer_activations,wout)
output_layer_input= output_layer_input1+ bout
output = sigmoid(output_layer_input)

Kalkula eraro por kaŝita koda tavolo

E = y-output
slope_output_layer = derivatives_sigmoid(output)
slope_hidden_layer = derivatives_sigmoid(hiddenlayer_activations)
d_output = E * slope_output_layer
Error_at_hidden_layer = d_output.dot(wout.T)
d_hiddenlayer = Error_at_hidden_layer * slope_hidden_layer
wout += hiddenlayer_activations.T.dot(d_output) *lr
bout += np.sum(d_output, axis=0,keepdims=True) *lr
wh += X.T.dot(d_hiddenlayer) *lr
bh += np.sum(d_hiddenlayer, axis=0,keepdims=True) *lr

Eliro

print (output)

[[0.03391414]
[0.97065091]
[0.9895072 ]]

Ĉiam indas resti ĝisdatigita kun la plej novaj programlingvoj kaj kodaj teknikoj, kaj programistoj ankaŭ devas konscii pri la multaj novaj iloj, kiuj helpas fari siajn programojn rilatajn al novaj uzantoj.

En 2020, programistoj devus pripensi korpigi ĉi tiujn 5 programarajn ilojn en siaj produktoj, negrave kian programlingvon ili uzas:

1. Natura Lingvotraktado (NLP)

Kun babilejo kiu plifortigas klientservadon, NLP akiras la atenton de programistoj laborantaj pri moderna programaro. Ili uzas NLTK-ilaron kiel Python NLTK por rapide korpigi NLP al babilrotoj, ciferecaj asistantoj kaj ciferecaj produktoj. Meze de 2020 aŭ en proksima estonteco, vi vidos NLP pli grava en ĉio, de podetalaj entreprenoj ĝis sendependaj veturiloj kaj aparatoj por la hejmo kaj oficejo.

Antaŭenirante kun pli bonaj iloj kaj teknologioj de programaro, vi povas atendi ke programistoj uzu NLP en diversaj manieroj, de voĉ-bazitaj uzantinterfacoj ĝis multe pli facila menua navigado, sentanalizo, kunteksta identigo, emocio kaj alirebleco de datumoj. Ĉio ĉi estos disponebla por la plimulto de uzantoj, kaj kompanioj povos atingi produktivecan kreskon de ĝis 430 miliardoj USD antaŭ 2020 (laŭ IDC, citita de Deloitte).

2. GraphQL anstataŭiganta REST Apis

Laŭ programistoj ĉe mia firmao, kiu estas eksterlanda programaro evoluiga kompanio, la REST API perdas sian regadon super la aplika universo pro la malrapida ŝarĝo de datumoj, kiuj devas esti faritaj de pluraj URL-oj individue.

GraphQL estas nova tendenco kaj pli bona alternativo al REST-bazita arkitekturo, kiu prenas ĉiujn koncernajn datumojn de pluraj retejoj uzante ununuran demandon. Ĉi tio plibonigas klient-servila interago kaj reduktas latencia, igante la aplikaĵon signife pli respondema por la uzanto.

Vi povas plibonigi viajn programajn disvolvajn kapablojn kiam vi uzas GraphQL por programaro. Aldone, ĝi postulas malpli da kodo ol REST Api kaj permesas fari kompleksajn demandojn en kelkaj simplaj linioj. Ĝi ankaŭ povas esti ekipita per kelkaj funkcioj de Backand as a Service (BaaS), kiuj faciligas ĝin uzi de programistoj en malsamaj programlingvoj, inkluzive de Python, Node.js, C++ kaj Java.

3. Malalta koda nivelo/sen kodo (malalta kodo)

Ĉiuj malaltkodaj programaj evoluiloj provizas multajn avantaĝojn. Ĝi devus esti kiel eble plej efika kiam vi verkas multajn programojn de nulo. Malalta kodo disponigas antaŭkonfiguritan kodon kiu povas esti enigita en pli grandajn programojn. Ĉi tio permesas eĉ neprogramistojn rapide kaj facile krei kompleksajn produktojn kaj akceli la modernan evoluan ekosistemon.

Laŭ raporto de TechRepublic, senkodaj/malkodaj iloj jam estas uzataj en retportaloj, programaj sistemoj, moveblaj aplikoj kaj aliaj areoj. La merkato de malaltkodaj iloj kreskos al $ 15 miliardoj antaŭ 2020. Ĉi tiuj iloj pritraktas ĉion, inkluzive de administrado de laborflua logiko, datuma filtrado, importado kaj eksportado. Jen la plej bonaj malaltkodaj platformoj en 2020:

  • Microsoft PowerApps
  • Mendix
  • Ekstersistemoj
  • Kreinto Zoho
  • Salesforce App Cloud
  • Rapida Bazo
  • Printempa boteto

4. 5G ondo

5G-konektebleco multe influos evoluadon de poŝtelefonaj programoj kaj programaro same kiel retan disvolviĝon. Post ĉio, kun teknologioj kiel IoT, ĉio estas konektita. Tiel, la aparata programaro profitos la plej multajn kapablojn de altrapidaj sendrataj retoj kun 5G.

En lastatempa intervjuo kun Digital Trends, Dan Dery, la vicprezidanto de Motorola pri produkto, diris, ke "en la venontaj jaroj, 5G liveros pli rapidajn datumojn, pli altan bendolarĝon kaj akcelos telefonprogramaron 10 fojojn pli rapide ol ekzistantaj sendrataj teknologioj."

En ĉi tiu lumo, programaraj kompanioj laboros por alporti 5G en modernajn aplikojn. Nuntempe, pli ol 20 funkciigistoj anoncis ĝisdatigojn al siaj retoj. Do, programistoj nun komencos labori pri uzado de la taŭgaj API-oj por utiligi 5G. La teknologio signife plibonigos la jenajn:

  • Sekureco pri retoprogramo, precipe por Network Slicing.
  • Provizu novajn manierojn manipuli uzantidentigilojn.
  • Permesas al vi aldoni novajn funkciojn al aplikaĵoj kun malalta latenco.
  • Influos la evoluon de la AR/VR-sistemo.

5. Facila aŭtentigo

Aŭtentikigo ĉiam pli fariĝas efika procezo por protekti sentemajn datumojn. La altnivela teknologio estas ne nur vundebla al programaraj hakoj, sed ankaŭ subtenas artefaritan inteligentecon kaj eĉ kvantuma komputiko. Sed la merkato pri programaro evoluiga jam vidas multajn novajn specojn de aŭtentikigo, kiel voĉanalizo, biometriko kaj vizaĝrekono.

En ĉi tiu etapo, piratoj trovas malsamajn manierojn forĝi interretajn uzantidentojn kaj pasvortojn. Ĉar poŝtelefonaj uzantoj jam kutimas aliri siajn saĝtelefonojn per fingrospuro aŭ vizaĝa skanado, tiel uzante aŭtentigajn ilojn, ili ne bezonos novajn konfirmkapablojn ĉar la verŝajneco de ciberŝtelo estos malpli. Jen kelkaj multfaktoraj aŭtentikigaj iloj kun SSL-ĉifrado.

  • Soft Tokens igas viajn saĝtelefonojn oportunajn multfaktorajn aŭtentikigilojn.
  • EGrid-ŝablonoj estas facila uzebla kaj populara formo de aŭtentikigiloj en la industrio.
  • Iuj el la plej bonaj aŭtentikigprogramoj por entreprenoj estas RSA SecurID Access, OAuth, Ping Identity, Authx kaj Aerobase.

Estas programaraj kompanioj en Barato kaj Usono farantaj ampleksajn esplorojn en la kampo de aŭtentikigo kaj biometrio. Ili ankaŭ antaŭenigas AI por krei superan programaron por voĉo, vizaĝidentigilo, kondutisma kaj biometria aŭtentigo. Nun vi povas protekti ciferecajn kanalojn kaj plibonigi platformajn kapablojn.

konkludo

Ŝajnas, ke la vivo por programistoj fariĝos malpli malfacila en 2020, ĉar la rapideco de programaro verŝajne akcelos. Disponeblaj iloj fariĝos pli facile uzeblaj. Finfine, ĉi tiu progreso kreos dinamikan mondon enirante novan ciferecan epokon.

fonto: www.habr.com

Aldoni komenton