Članek bo razpravljal o tem, kako postati programer iz nič v različnih starostih. Pove, kakšne lastnosti mora imeti strokovnjak na tem področju, kaj je treba storiti, da to postane.
Gre za izobrazbo in sposobnost za delo brez nje. Opisani so materiali, ki jih bo treba obvladati. Pripoveduje o starosti, pri kateri se je bolje začeti učiti poklica, kako in kje najti službo programerja in še veliko več. Programiranje je v našem času zelo zanimiva in zahtevana dejavnost. Človek, ki se odloči potopiti vanjo, mora biti s tehnologijami na “ti” in se ne bati težav. Učenje tega poklica ni enostavno in dolgotrajno, a z željo lahko v relativno kratkem času dosežete veliko.Negativne strani poklica:
- sedeče delo . Programer lahko ves dan dela v enem položaju za računalnikom. To povzroča težave z mišično-skeletnim sistemom in vidom.
- Neprekinjen proces učenja . Inovativnost ne miruje. Vsak dan se pojavljajo novosti, programerji bi morali biti seznanjeni z vsem, kar je povezano z njihovim poklicem.
Zakaj postati programer
Vsak človek, ki razmišlja o tem delu, bi se moral v njem videti. Recimo, da je bil v šoli dober v natančnih znanostih, lahko izbere sosednji poklic, kjer lahko bolje pokaže svoje sposobnosti. Na primer biti matematik ali študirati računalništvo itd. Če je oseba v fazi izbire, se mora osredotočiti na eno samo vprašanje: “Ali želim postati programer ali mi je všeč druga podobna panoga, kjer lahko postanem dober strokovnjak?” Ko to področje privlači, ni prostora za dvom.
Kdo je primeren za ta poklic
Programiranje je bolj všeč ljudem, ki jih zanimajo sodobne tehnologije. Prav tako morajo biti tehnično podkovani (vendar obstajajo izjeme). Potrebno je razviti logiko, vztrajnost, abstraktno razmišljanje, preučevati nove informacije o tehnologijah.
Kakšne lastnosti mora imeti programer?
Razvijalci redno komunicirajo s številnimi ljudmi. Družba programerjev bo vedno vesela poštenega, družabnega in odprtega sodelavca. Takšen kolega je bolj pripravljen privoliti v pomoč in se srečati na pol poti. Dober programer mora imeti te lastnosti:
- Znati pravilno določiti prednostne naloge, izbrati bolj obetavno delo in izračunati čas za njegovo izvedbo;
- Bodite pripravljeni na timsko delo (introvertiranim je težje);
- Pravilno delajte z nalogami, jih naredite učinkovitejše in jih razdelite na več delov;
- Osredotočite se na določen cilj, ne motite se zaradi malenkosti (sicer se lahko izgubite v kodi);
- Ne bodite sramežljivi vprašati in razjasniti subtilnih točk – od sodelavcev, stranke, znanega strokovnjaka;
- Vedno se razvijajte na svojem področju in vadite čim pogosteje;
- Priznajte napake, poskušajte delovati v različnih smereh, dosegajte rezultate.
Kako postati programer iz nič – začnite zdaj!
Prva stvar, ki jo naredi vsak drugi človek, ki se odloči preizkusiti v tej industriji, je, da se vpraša: “Kako postati programer iz nič?” Pomembno je, da se odloči, katera specializacija razvijalca mu najbolj ustreza. Odvisno od tega, kaj želi početi: ustvarjati spletne strani, pisati kode za igre itd. Nato morate izbrati programski jezik, se naučiti in poskušati obvladati poklic v praksi.
Priljubljene smeri na področju razvoja
Danes so najbolj priljubljena področja programiranja:
- Izdelava poslovnih programov . Vsako podjetje potrebuje avtomatizacijo. V tej panogi se pogosteje uporabljajo programi podjetja 1C.
- Spletni razvoj . Vrsta naloge je odvisna od zahtev naročnika. Lahko je strežnik podjetja, spletna stran spletne trgovine, blog znane osebe. Uporabljajo se predvsem PHP, JavaScript in Python.
- Izdelava mobilnih aplikacij . Če strokovnjak zna razvijati programe za pametne telefone, lahko zlahka najde dobro plačano službo. Prav tako zna napisati kodo za avtorske aplikacije in jih objaviti na GooglePlay ali AppStor.
Mimogrede, ena najboljših
vadnic za JavaScript v ruščini.
Kje pridobiti programersko izobrazbo in kaj je potrebno, da postaneš razvijalec – osebne lastnosti, finance in priložnosti
V Ruski federaciji je veliko univerz in tehničnih šol, ki usposabljajo kvalificirane programerje. Inštituti in univerze v Moskvi:
- Moskovska državna univerza . Stroški: 220 tisoč rubljev / leto. Trajanje: 4-6 let https://sev.msu.ru/kafedra-programmirovaniya/.
- Moskovska politehnična univerza . Stroški: 89 tisoč rubljev / leto. Trajanje 4-6 let.
- Moskovski inštitut za fiziko in tehnologijo . Stroški: 250 tisoč rubljev / leto. Trajanje: 4-6 let.
Tehnične šole in visoke šole prestolnice:
- Capital Business College . Stroški: 93 tisoč rubljev / leto. Trajanje: 2 leti in 9 mesecev.
- Fakulteta MGUPI . Cena je 90 tisoč rubljev na leto. Trajanje: 2 leti in 6 mesecev.
- Moskovska tehnična šola za izdelavo instrumentov . Stane 99 tisoč rubljev / leto Trajanje: 2 leti in 10 mesecev.
Katere predmete morate opraviti ob sprejemu, da postanete programer
Za študij kot programer mora kandidat opraviti izpite iz ruščine, matematike, fizike in računalništva. Med zadnjima dvema disciplinama se morate odločiti glede na prihodnjo specializacijo. Dodatni predmet – angleščina. Toda v nekaterih izobraževalnih ustanovah takšen izpit ni potreben.
Ali je mogoče postati programer brez izobrazbe
Če želite postati razvijalec, ni potrebna diploma o izobrazbi. Vendar pa bo brez tega specialist začetnik težko dobil dobro službo. Poleg tega se boste tako ali tako morali pridno učiti. Pripraviti se boste morali na težave, postati bolj vzdržljiva in disciplinirana oseba. Glavna stvar je imeti željo in pripravljenost za plodno delo na sebi.
Tečaji programiranja – učenje iz nič doma
Danes jih je veliko, tako v realnih razmerah kot v omrežju. Tečaji najpogosteje niso brezplačni, vendar bodo organizatorji študentu lahko ponudili učinkovit program usposabljanja. Tako se boste lahko v kratkem času pripravili na programiranje. Pogosto se takšne dejavnosti izvajajo kolektivno. Tečaji so odlični, ker vam pomagajo, da se organizirate in osredotočite na določen cilj. Potekalo bo preučevanje teoretičnega gradiva, ki ga bodo potencialni razvijalci takoj prenesli v prakso pod vodstvom učitelja. Hiši je dodeljena določena naloga, po opravljeni kateri bo oseba lahko zastavila vprašanje kustosu. Začetnikom, ki želijo obvladati poklic, priporočamo naslednje tečaje:
Akademija HTML .
codecademy .
Delavnica Yandex “Osnove PHP o osnovah kode”
.
freecodecamp .
Študij pod vodstvom mentorja
Ta vrsta usposabljanja je dobra, ker se lahko prijavite na sklop individualnih ur z mentorjem. To zahteva tudi finančne naložbe, vendar bo rezultat veliko bolj učinkovit. Navsezadnje se bo mentor ukvarjal z enim študentom in mu posvetil več časa. To pomeni, da bo učni proces potekal še hitreje. Ta dejavnost je pogosta tako na internetu kot v resničnem življenju. Mentor za vsakega varovanca oblikuje individualni program glede na njegove prednosti in slabosti. Mentor se lahko prijavi začetniku ali programerju z izkušnjami, ki želi izboljšati svoje znanje.
Samostojno preučevanje gradiva
Obstaja še tretja možnost za usposabljanje – sami. Je tudi najbolj varčen in najdaljši. Človek pa mora sam ustvariti program, pripraviti izobraževalno gradivo in se uglasiti ter pripraviti na sistematično poglobljeno poznavanje sveta programiranja. Najprej morate izbrati jezik. Vseh se je mogoče naučiti brez podpore učitelja. Na internetu je veliko različnih video posnetkov in člankov, ki bodo pomagali bodočemu razvijalcu.
Učni pripomočki za obvladovanje poklica programerja od 10-20 let in za starejše razvijalce
Učiti se morate samo iz dobrih knjig. Nujno je uporabljati enciklopedije v fiziki in matematiki. Za najmlajše lahko vzamete otroške dodatke kot je Avanta+.
Oba predmeta predstavljata osnovo, na kateri bo zgrajen ves študij. Splača se kupiti tudi preprosto programsko literaturo. “Python za otroke” Jasona Briggsa bo zadostoval.
Za nadaljevanje lahko uporabite knjigo “Python: Odlično programiranje v Minecraftu” Andreja Korjagina. Priročnik je povezan z matematiko, ima pomembne informacije o 3D koordinatah, funkcijah in še več. Uporabno pri študiju robotike.
Za razvoj veščin programiranja ali mehanike je priporočljivo posvetiti pozornost “Fizičnim poskusom in poskusom z Lego” – Koryagin A.
Za najmlajše razvijalce, ki se šele učijo osnov, predlagamo, da se seznanite z izobraževalno robotiko Lego WeDo. Knjigi je priložen zvezek.
Ko obvladate enostavno gradivo, lahko nadaljujete na bolj zapleteno, v C ++. Primeren je na primer priročnik za študente Herberta Schildta.
Priporočljivo je tudi, da ne bodite pozorni na knjigo o Delphiju Nikite Kultina:
Da bi lahko razvili kode za igre, je vredno delati s C #, ki temelji na Unity, J. Manninga.
Ali mora programer znati matematiko: https://youtu.be/_2beqwXS9Os
2 načina, kako se specializirati kot spletni razvijalec – front end VS back end
Programerji, ki ustvarjajo spletno mesto, so razdeljeni na 2 glavni “fronti”: “frontend” in “backend”. Strokovnjaki, ki se odločijo svojo prihodnost povezati s spletnim razvojem, se morajo odločiti, katero vrsto te dejavnosti imajo raje. To ne pomeni, da ena oseba ne more hkrati delati v zaledju in v sprednjem delu. Konec koncev je vseeno treba nekje začeti, z izkušnjami pa lahko te poti združiš. Za izbiro specializacije se morate seznaniti z značilnostmi in posebnostmi obeh.
Ključne razlike
Front-end specialist je odgovoren za stran strani, ki je dostopna in vidna obiskovalcu. Razvija oblikovno postavitev, ustvarja funkcionalnost, ki bo udobna za uporabo. Programer tega profila se trudi, da spletno mesto deluje dobro in ne popači vizualnega videza v napravah in brskalnikih. Programer začetnik se mora za delo v frontendu naučiti osnov, in sicer: HTML, CSS, SASS, JavaScript. Dejavnost back-end razvijalca je druga plat istega kovanca. Odgovoren je za ustvarjanje tehnologij, ki uporabniku niso vidne. Preprosto povedano, strokovnjak omogoči delovanje vseh teh zavihkov, gumbov in drugih funkcijskih elementov. Začetnik na področju backend-a mora imeti tudi določeno znanje: naučiti se enega ali več programskih jezikov, biti sposoben uporabljati sistem za nadzor različic, razumeti bazo podatkov in poznati JSON:API.
frontend-i-backend[/caption]
Tipične dolžnosti
Frontend se ukvarja z:
- Z ustvarjanjem vmesnikov in postavitev lahko fronta razvije vir za spletno trgovino. Na seznamu njegovih nalog je tudi izdelava glasil.
- Razvoj SPA. Če banka zahteva izdelavo vloge, bo vsebovala grafikone in diagrame, funkcije za sledenje prihrankom, kalkulator, podatke o valutah in drugo.
Zaledje dela na:
- Ustvarjanje CRUD. Ko se uporabnik registrira na strežnik in se njegov račun ustvari, mora na hrbtni strani napisati osebno kodo. Z njim lahko shranite morebitne spremembe, izbrišete profil ali ga obnovite.
- Obdelava informacij, skozi katere je delala sprednja stran. Ti podatki morajo biti shranjeni in strukturirani. Specialist se ukvarja z distribucijo informacij v bazi podatkov, upravlja predpomnilnike itd.
- Raziskovanje različne dokumentacije. Prijavo mora pravilno oblikovati. Na primer, če gre na določeni stopnji nenadoma kaj narobe, to ne bi smelo vplivati na celoten algoritem.
Želim postati razvijalec – kaj naj izberem?
Frontend je primeren za tiste, ki:
- želi v kratkem začeti delati in zaslužiti na IT področju;
- rad dela z vizualizacijo spletnega mesta z uporabo kreativnega pristopa;
- ne more zdržati dolgo, preden vidi sadove svojega truda.
Zaledje je najboljša možnost za ljudi:
- s tehnično miselnostjo;
- ki ne marajo delati postavitve;
- ki se želijo povzpeti po karierni lestvici in zrasti do položaja načelnika.
Kateri programski jezik naj razvijalec začetnik izbere leta 2022?
Najprej morate izbrati enega najpreprostejših programskih jezikov. Tudi za tiste, ki bodo postali guruji na svojem področju, ni priporočljivo začeti z učenjem zapletenih jezikov, kot je C ++. Za večino začetnikov bo to težka naloga in zlomili se bodo ter izgubili ves interes za programiranje. Kateri programski jezik izbrati v letu 2022:Začeti je vredno s temi:
Praskanje
Scratch je eden najlažjih za učenje. Z njegovo pomočjo se otroci uvajajo v programiranje. Ni si treba zapomniti in pisati kod v zgodnji fazi. Vse jezikovne konstrukte lahko povlečete z miško. Tukaj lahko programirate animacije, igre, filme, predstavitve. Tukaj je na primer video o tem, kako ustvariti preprosto igro pozornosti: https://youtu.be/yUWl37QKLzw
1C
1C – programiranje v ruskem jeziku, kar močno poenostavi delo. Projekt je zasnovan za avtomatizacijo gospodarskega in organizacijskega dela katerega koli podjetja. Začetnikom, ki nameravajo obvladati program 1C, svetujemo, da si ogledajo videoposnetek, ki podrobno opisuje zanimive točke in dejstva pri delu z njim: https://youtu.be/MN9cam6yWKw
JavaScript
Začetnik bo potreboval približno nekaj ur, da se nauči osnov in napiše kodo za animacijo, lahko mobilno aplikacijo ali preprosto igro. Mimogrede, uporabnik ga bo lahko preizkusil v katerem koli brskalniku. Poskusimo ustvariti osnovno igro: https://youtu.be/Av53VJI-UiE
Python
Python – kodo lahko preberete brez posebnega truda, še posebej, če poznate osnove HTML. Projekt je bil ustvarjen za olajšanje dejavnosti razvijalca. S tem jezikom lahko naredite igro Snake, ustvarite osebnega glasovnega pomočnika ali Telegram bota in še veliko več. Veliko idej za začetnike, ki bi jih moral navdihniti ta video: https://youtu.be/VRYxdyWJ3_U PHP – zahvaljujoč temu jeziku se boste lahko uspešno pripravili na spletno programiranje. Zelo je primeren za ustvarjanje konzolnih skriptov, spletnih mest in aplikacij, od enostavnih do super zapletenih. Predlagamo, da si ogledate kratek video o tem, kako ustvariti domeno in strukturo za spletno trgovino: https://youtu.be/FxrWRHCMOT8 Priljubljeni programski jeziki za 2022:
Kaj se mora bodoči razvijalec naučiti
Poleg programskega jezika je pomembno dobro poznati:
- matematika;
- statistika;
- Angleški jezik;
- logika
- fizika;
- informatika.
Redna praksa
Vsak dan je treba nekaj programirati, začeti z lažjimi razvoji in nadaljevati s kompleksnejšimi. Na samem začetku razvijalec začetnik piše odkrito slabe kode. Ko začne to razumeti, poskuša izboljšati program. To pomeni, da gre še stopničko višje. To se zgodi vsakič in programer ves čas poskuša izboljšati svoje stvaritve. Če ne vadite, bo celotna teorija sčasoma pozabljena.
Kje delajo programerji
Razvijalci so potrebni povsod, kjer so aplikacije, programi, delo s spletnimi platformami. Delajo v običajnih pisarnah ali doma, če oblasti nimajo nič proti. V Ruski federaciji je postal opazen trend selitve programerjev na delo v tujino. V nekaterih državah plača strokovnjaka na visoki ravni presega lokalno plačo za približno 2-3 krat.
Kako iskati službo
Kljub priljubljenosti, dokaj visoki plači in velikemu pomanjkanju osebja se vsa podjetja ne mudi, da bi stopila v stik z začetniki programerji. Navsezadnje večina delodajalcev potrebuje strokovnjake, ki jih ni treba ničesar učiti. Ampak ne smeš obupati. Pokličite oglase, pojdite na recepcijo podjetij, ki ponujajo svoje storitve. Toda najprej morate pripraviti:
- Sestavite življenjepis . Vsaka samospoštljiva organizacija bo ta dokument zahtevala od potencialnega zaposlenega. Vsebuje naj: podatke o izobrazbi in delovnih izkušnjah (če obstajajo), opis veščin in kvalitet, osebne stike, znanje jezikov in vse, kar vam lahko pride prav.
- Priloži diplomo . Z izobrazbo so delodajalci bolj pripravljeni vzeti programerje za delovno mesto.
- Dokument o delovnih izkušnjah . Ima tudi velike možnosti. Lahko ga vzamete iz prejšnje službe.
- Pripravite portfelj . Lažje bo ugotoviti stopnjo strokovnosti kandidata za prosto delovno mesto. Eichar si bo lahko ogledal delo in razumel, ali se oseba lahko spopade s takšnimi nalogami.
Funkcije intervjuja
Nobena služba ni vredna strahu in skrbi. Zato vam ob odhodu na razgovor ni treba skrbeti. Bolje je, da se poskusite zbrati in postaviti tako, da bodoči delodajalec ne bo zaposlil strokovnjaka, ampak se bo sam odločil, ali potrebuje takšno delovno mesto. Moral bi govoriti o svojih prednostih.
Razgovor ni izpit, ampak priložnost, da se pravilno predstaviš. Potencialnega šefa je treba povprašati o delovnih pogojih, možnostih rasti podjetja, kariernih možnostih itd. Takrat bo pred seboj videl samozavestno osebo. In vsa podjetja potrebujejo takšne zaposlene.
Pripravništvo za programerja
Ko je bil razvijalec vzet na poskusno obdobje, to ni razlog za skrb, da bo na koncu šef zavrnil sodelovanje. Ravno nasprotno, svoje sposobnosti morate pokazati z najboljše strani in se še naprej učiti novih stvari. V večini primerov je pripravništvo formalnost, čas, ki ga morate počakati, preden se uradno prijavite na delovno mesto.
Kakšni so izzivi, s katerimi se srečujejo razvijalci začetniki?
Dejavnost razvijalca je zanimiva in nenavadna. A kot v vsakem poklicu so tudi tukaj »pasti«. Predlagamo, da se seznanite s pogostimi težavami, ki čakajo začetnike:
- Delo s kodo nekoga drugega . Strokovnjaki svojih programov ne pišejo vedno iz nič. Včasih se morajo ukvarjati s finalizacijo sistema drugega programerja. Vsak zaposleni ima svojo raven znanja in veščin. Težava je v tem, da lahko včasih kodo sestavi naprednejši razvijalec ali manj pismen. Vsekakor pa razumevanje stvaritve druge osebe ni lahko, še posebej za začetnike.
- Delo v velikih in kompleksnih sistemih . V idealnem primeru bi morali vsi sistemi v programskih sistemih obstajati ločeno in imeti možnost izmenjave sporočil med seboj. V resnici se to ne zgodi. Kompleksi so sestavljeni iz več tisoč vrstic kode. Da bi jih razumeli, mnogi programerji dešifrirajo tisto, kar je bilo napisano več mesecev.
Kako se izogniti težavam pri delu programerja
Razvoj nekoga drugega se imenuje Legacy-code. Da bi ga uspešno razvozlali, je priporočljivo, da se od njega popolnoma izolirate. Bolje je, da ustvarite svoj podsistem in sami napišete kodo, pri čemer občasno preverjate svoje delo z drugimi. Takrat bo manj zmede in se boste lahko hitro spopadli z napakami sodelavca.
Pri kateri starosti se je bolje učiti programiranja – ali je mogoče postati razvijalec pri 20-30-40-50 letih?
Ni jasnih starostnih omejitev. Vendar je priporočljivo začeti študirati pri 12-13 letih. To je čas, ko otrok ni zelo obremenjen s poukom in je že bolj priden. Najprej se je vredno naučiti nečesa lahkega – oblikovati želvo ali začeti izdelovati diagrame poteka v Scratchu. Kompleksen in poglobljen študij se lahko začne kasneje, pri približno 15-20 letih (z rednim usposabljanjem). Kot odrasli nikoli ni prepozno za učenje. Če sta motivacija in vnema, potem lahko programiraš v pokoju. Glavna stvar je najti dober učni material in nenehno vaditi. Tiste kode, ki bodo pridobljene, je najbolje vpisati v portfelj. To bo velik plus v prihodnosti. Ali je starost tako pomembna v IT, ali je treba brati knjige, kaj storiti za študente – Intervju z A. Byndyu: https://youtu.be/jI-cZRFpbkk
Koliko časa traja, da postaneš programer
Vprašanje je čisto individualno. V vsakem primeru bo postopek trajal več let. V najboljšem primeru bo mogoče zahtevani program obvladati v 3-4 letih. Je pa treba vložiti veliko truda. Velika večina že naprednih programerjev potrebuje približno 8-10 let, da dobro obvlada ta zapleten poklic.
Kako postati iskan strokovnjak na tem področju
Programer je prestižno delo. Zdaj je lažje obvladati vse potrebne veščine kot na primer pred 5-7 leti. Vsa gradiva in tečaji so javno dostopni. Če želite postati dober razvijalec, potrebujete:
- preučiti nove informacije o razvoju;
- redno razvijati svoje sposobnosti;
- izmenjava izkušenj z drugimi programerji;
- prizadevati si sodelovati z najboljšimi razvijalci, tako da obstaja priložnost za poklicno rast.
Obstajajo ljudje, ki se raje leta izgubijo v neljubi službi, namesto da bi enkrat opustili takšno življenje in počeli tisto, kar ljubijo. Ne bojte se eksperimentirati in se preizkusite na različnih področjih. Če imate radi programiranje, potem je bolje, da ta hobi razvijate, dokler ne začne prinašati dohodka. Kako postati programer iz nič v 187 dneh, resnična zgodba – izobraževalni video: https://youtu.be/PyVT8G1QEg0
Nasveti za začetnike znanih programerjev
Od koga se učiti, če ne od mojstrov svoje obrti? Samo profesionalci z dolgoletnimi izkušnjami lahko amaterjem in programerje začetnikom povedo, kaj je pomembno upoštevati pri študiju in delu kot razvijalec. Na kaj je treba biti pozoren in česa ne. Predlagamo, da razmislimo o 5 nasvetih znanih programerjev, ki so veliko prispevali k razvoju tega področja.
Brendan Eich je ustvarjalec JavaScripta. V enem od svojih intervjujev poziva kolege, naj se ne zadržujejo pri napakah, ampak bodite pozorni nanje in poskusite razumeti, kaj je razlog. Da celo nasvete o uporabi enega od programskih jezikov:
In tako
James Goslingpojasnjuje pomen zmožnosti prave izbire. Programer pravi, da obžaluje izgubljeni čas, ko ga je zapravil za prazno ali neproduktivno delo. Pravilno morate določiti prednost.
Pisanje kode za določen program je neverjetno resen korak. Mnogi razvijalci usmerjajo svoja prizadevanja v dolgoročni rezultat, tako da bo njihova stvaritev delovala vsaj približno 10 let. Nekatere kode postanejo celo pomožna podpora za veliko število razvijalcev. John Carmack je to povedal v svojem intervjuju
.
Joel Goldberg
verjame, da mora biti ideja čim bolj preprosta, ne glede na to, kako briljantna je ideja. Če je mogoče, programer priporoča poenostavitev razvojne sheme. Navsezadnje je verjetno, da ga bo želel uporabiti (ali pa bo moral storiti) kakšen drug strokovnjak, vendar ne bo mogel razbrati kode.
In končno, glavni nasvet
Linusa Torvaldsa :
Ni pomembno, kaj človek počne ali kakšna je njegova plača. Malo verjetno je, da bo uspel v neljubi službi. In če se to zgodi, ne bo mogel v celoti uživati v svojih zmagah. Večina znanih razvijalcev je dosegla takšne višine v svoji industriji, ker so programiranje vedno obravnavali kot del svojega življenja.