5an 2020 software garatzeko praktika onenak

Kaixo, Habr! Artikuluaren itzulpena aurkezten dizuet "Kodetzen ikasteko 5 aholku - Programatzaileentzako aholku orokorrak" Egilea: kristencarter7519.

2020rako egun gutxi batzuk falta direla dirudien arren, egun hauek ere garrantzitsuak dira software garapenaren arloan. Hemen artikulu honetan, 2020. urteak software garatzaileen bizitza nola aldatuko duen ikusiko dugu.

5an 2020 software garatzeko praktika onenak

Software garapenaren etorkizuna hemen da!

Softwarearen garapen tradizionala softwarearen garapena da, kodea idatziz arau finko batzuk jarraituz. Baina softwarearen garapen modernoak paradigma aldaketa bat izan du adimen artifizialaren, ikaskuntza automatikoaren eta ikaskuntza sakonaren aurrerapenekin. Hiru teknologia hauek integratuz, garatzaileek argibideetatik ikasten duten eta nahi den emaitza lortzeko behar diren datuei ezaugarri eta eredu gehigarriak gehitzeko software-soluzioak sortu ahal izango dituzte.

Saia gaitezen kode batekin

Denborarekin, sare neuronaleko softwarea garatzeko sistemak konplexuagoak bihurtu dira integrazioari, baita funtzionaltasun eta interfaze mailari dagokionez ere. Garatzaileek, adibidez, oso sare neuronal sinple bat eraiki dezakete Python 3.6-rekin. Hona hemen 1 edo 0ekin sailkapen bitarra egiten duen programa adibide bat.

Jakina, sare neuronaleko klase bat sortuz has gaitezke:

inportatu NumPy NP gisa

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

Funtzio sigmoidearen aplikazioa:

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

Hasierako pisuak eta alborapenak dituen eredu bat entrenatzea:

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))

Hasiberrientzat, neurona-sareei buruzko laguntza behar baduzu, Interneten bila ditzakezu softwarea garatzeko enpresen webgune garrantzitsuenen webguneak edo zure proiektuan lan egiteko AI/ML garatzaileak kontratatu ditzakezu.

Kodea aldatzea irteera-geruzako neurona erabiliz

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)

Kode ezkutuko geruzaren kalkulu-errorea

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

Irteera

print (output)

[[0.03391414]
[0.97065091]
[0.9895072 ]]

Beti merezi du azken programazio-lengoaiekin eta kodetze-teknikekin eguneratuta egotea, eta programatzaileek euren aplikazioak erabiltzaile berrientzat garrantzitsuak izaten laguntzen duten tresna berri ugarien berri izan behar dute.

2020an, software-garatzaileek beren produktuetan software-garapeneko 5 tresna hauek txertatzea kontuan hartu beharko lukete, erabiltzen duten programazio-lengoaia edozein dela ere:

1. Hizkuntza Naturalaren Prozesamendua (NLP)

Bezeroarentzako zerbitzua arintzen duen txat-bot batekin, NLP software garapen modernoan lan egiten duten programatzaileen arreta bereganatzen ari da. NLTK tresna-tresnak erabiltzen dituzte Python NLTK bezalako NLP chatbot-etan, laguntzaile digitaletan eta produktu digitaletan azkar sartzeko. 2020aren erdialderako edo etorkizun hurbilean, NLP garrantzitsuagoa izango dela ikusiko duzu txikizkako negozioetan, etxe eta bulegoko ibilgailu eta gailu autonomoetaraino.

Softwarea garatzeko tresna eta teknologia hobeekin aurrera eginez, software-garatzaileek NLP modu ezberdinetan erabiltzea espero dezakezu, ahots bidezko erabiltzaile-interfazeetatik hasita menuen nabigazio askoz errazagoa, sentimenduen analisia, testuinguruaren identifikazioa, emozioa eta datuen irisgarritasuna. Hori guztia erabiltzaile gehienen eskura egongo da, eta enpresek 430 milioi dolarreko produktibitatearen hazkundea lortu ahal izango dute 2020rako (IDCren arabera, Deloittek aipatu).

2. GraphQL REST Apis ordezkatuz

Nire enpresako garatzaileen arabera, hau da, offshore software garatzeko enpresa bat den, REST APIa aplikazioen unibertsoan nagusitasuna galtzen ari da, URL anitzetatik banan-banan egin behar diren datuen karga motelaren ondorioz.

GraphQL joera berria da eta REST-en oinarritutako arkitekturarako alternatiba hobea da, kontsulta bakarra erabiliz hainbat gunetako datu garrantzitsu guztiak eskuratzen dituena. Honek bezero-zerbitzariaren interakzioa hobetzen du eta latentzia murrizten du, aplikazioak erabiltzailearentzako askoz sentikorragoa bihurtuz.

Softwarea garatzeko gaitasunak hobetu ditzakezu GraphQL softwarea garatzeko erabiltzen duzunean. Gainera, REST Api-k baino kode gutxiago behar du eta lerro sinple batzuetan kontsulta konplexuak egiteko aukera ematen du. Era berean, Backand as a Service (BaaS) eginbide ugariz horni daiteke, software-garatzaileek programazio-lengoaia ezberdinetan erabiltzeko erraza izan dezaten, Python, Node.js, C++ eta Java barne.

3. Kodetze maila baxua/koderik gabe (kode baxua)

Kode baxuko softwarea garatzeko tresna guztiek abantaila ugari eskaintzen dituzte. Ahalik eta eraginkorrena izan behar da programa asko hutsetik idaztean. Kode baxuak aurrez konfiguratutako kodea eskaintzen du, programa handiagoetan txertatu daitekeena. Horri esker, programatzaileak ez direnek ere produktu konplexuak azkar eta erraz sortzeko eta garapen-ekosistema modernoa bizkortzeko aukera dute.

TechRepublic txosten baten arabera, koderik gabeko/kode baxuko tresnak erabiltzen ari dira dagoeneko web atarietan, software sistemetan, aplikazio mugikorretan eta beste arlo batzuetan. Kode baxuko tresnen merkatua 15 milioi dolarretara iritsiko da 2020rako. Tresna hauek dena kudeatzen dute, lan-fluxuaren logika, datuen iragazketa, inportazioa eta esportazioa barne. Hona hemen 2020ko kode baxuko plataforma onenak:

  • Microsoft PowerApps
  • Mendix
  • Kanpoko sistemak
  • Zoho sortzailea
  • Salesforce App Cloud
  • Base bizkorra
  • Udaberriko bota

4. 5G uhina

5G konektibitateak eragin handia izango du mugikorreko aplikazio eta software garapenean eta baita web garapenean ere. Azken finean, IoT bezalako teknologiekin dena dago konektatuta. Horrela, gailuaren softwareak 5G-rekin abiadura handiko haririk gabeko sareen gaitasunak aprobetxatuko ditu.

Digital Trends-i egin berri den elkarrizketa batean, Dan Dery Motorolako produktuen presidenteordeak esan duenez, "datozen urteetan, 5G-k datu azkarragoak, banda zabalera handiagoak emango ditu eta telefonoaren softwarea lehendik dauden haririk gabeko teknologiak baino 10 aldiz azkarrago bizkortuko du".

Horren harira, software-enpresek lan egingo dute 5G aplikazio modernoetara ekartzeko. Gaur egun, 20 operadore baino gehiagok iragarri dituzte sareen berritze-lanak. Beraz, garatzaileak orain hasiko dira 5G aprobetxatzeko API egokiak erabiltzen lanean. Teknologiak nabarmen hobetuko ditu honako hauek:

  • Sareko programaren segurtasuna, batez ere Network Slicing-erako.
  • Erabiltzaile IDak kudeatzeko modu berriak eskaini.
  • Latentzia txikiko aplikazioei funtzionalitate berriak gehitzeko aukera ematen dizu.
  • AR/VR sistemaren garapenean eragingo du.

5. Autentifikazio erraza

Autentifikazioa gero eta prozesu eraginkorrago bihurtzen ari da datu sentikorrak babesteko. Teknologia sofistikatua ez da soilik software hackeen aurrean zaurgarria, baizik eta adimen artifiziala eta baita konputazio kuantikoa ere onartzen ditu. Baina softwarearen garapenaren merkatuan autentifikazio mota berri asko ikusten ari da dagoeneko, hala nola, ahots-analisia, biometria eta aurpegi-ezagutza.

Fase honetan, hackerrek sareko erabiltzaile IDak eta pasahitzak forjatzeko modu desberdinak aurkitzen dituzte. Mugikorreko erabiltzaileak dagoeneko ohituta daudenez euren telefonoak hatz-marka edo aurpegiko miaketa batekin sartzera ohituta daudenez, horrela autentifikazio-tresnak erabiliz, ez dute egiaztapen-gaitasun berririk beharko, ziber-lapurretaren probabilitatea txikiagoa izango baita. Hona hemen faktore anitzeko autentifikazio-tresna batzuk SSL enkriptatzearekin.

  • Soft Tokenek zure telefonoak faktore anitzeko autentifikazio eroso bihurtzen dituzte.
  • EGrid txantiloiak industrian autentifikatzaileen forma erraza eta ezaguna dira.
  • Enpresentzako autentifikazio-programa onenetako batzuk RSA SecurID Access, OAuth, Ping Identity, Authx eta Aerobase dira.

Indian eta AEBetan software konpainiak daude ikerketa zabala egiten autentifikazioaren eta biometriaren alorrean. AI ere sustatzen ari dira ahots, aurpegi-identifikazio, portaera eta autentifikazio biometrikorako software bikaina sortzeko. Orain kanal digitalak babestu eta plataformaren gaitasunak hobetu ditzakezu.

Ondorioa

Badirudi programatzaileen bizitza zaila izango dela 2020an, softwarearen garapenaren erritmoa azkartu egingo baita. Eskuragarri dauden tresnak errazago erabiliko dira. Azken finean, aurrerapen honek mundu dinamiko bat sortuko du aro digital berri batean sartzen.

Iturria: www.habr.com

Gehitu iruzkin berria