Pipedija - tautosaka, gandai, kliedesiai ir jokios tiesos! Durniausia wiki enciklopedija durnapedija!
Kaip tapti IT specialistu?
Kaip tapti IT specialistu? - klausimas, į kurį pateikiame nuoseklias instrukcijas, kurias įvykdę, tapsite IT specialistu, ir rasite gerą IT darbą. Detalizuotos žinios ir veiksmai, kas ką ir kaip turi išmokti ir padaryti, kad galėtų dirbti įmonėje, kaip programuotojas arba sistemų administratorius. Jei labai stengistės, tai remdamiesi šiuo Pipedijos straipsniu, reikiamas žinias įgysite per laiką nuo kelių savaičių iki kelių mėnesių (priklausomai nuo nuo ankstesnio pasiruošimo ir noro smarkiai art).
Nuliūdinsim: ne, Dirbtinio intelekto praktinis naudojimas ir netgi to naudojimo kursai nepadarys jūsų IT specialistu. Nors kartais DI gali pagreitinti specialisto darbą. Arba sulėtinti ir apsunkinti - čia jau kaip pasiseks ar nepasiseks. Išvis, DI mokėjimas IT specialistui yra reikalingas tik tiek, kiek ir mokėjimas naudotis Google. T.y., minimumą privalai ir be to apsieiti nesigaus, bet šiaip ir DI, ir Google tėra skirtingai veikiančios ir skirtingai protingai atrodančios duomenų paieškos sistemos, vat ir viskas. Taigi, DI jūsų čia neišgelbės.
Taigi, nuosekliai, nuo pirmojo ir svarbiausio dalyko: nustokite galvoti, kad jus išmokys kokia nors aukštoji ar aukštesnioji mokykla. Neišmokys. Dar daugiau - jei jūs tuo remsitės prieš darbdavį, tai jus automatiškai laikys lopiniu ir nurašys, kaip netinkamą. Visi IT sektoriaus darbdaviai žino, kad arba IT darbutojas mokosi pats, nes jam įdomu pačiam mokytis, arba jis debilas.
Antras, bet dar svarbesnis dalykas: IT dalykai tik atrodo sudėtingi, bet jei norėsite ir bandysite, tai jums pavyks ir išmoksite, ir tai dar ir bus smagu. Tiesiog turit mokytis pats, ir daryti tai ne kaip teorines paskaitas, o kaip praktikumą, kur realiai darytumėte dalykus.
Trečias dalykas: visokie video filmukai su teorinėmis paskaitomis jums nepadės, nesvarbu, kiek valandų, dienų, savaičių ir mėnesių juos bežiūrėtumėt. Svarbiausias daiktas bus įvairūs žinynai ir sistemos, kur jūs dirbsit praktiškai.
Ketvirtas dalykas: turėsite praktiškai parodyti ką nors savo darbdaviui, ir tai neturi būti vien tik paprasta Wordpress instaliacija. Tikslas - padaryti kad ir labai nesudėtingą, bet kokį nors nuosavą softą, kuriame būtų naudojama duomenų bazė ir kuris būtų kažkur hostinamas. Taigi, išsyk išsinuomokit kokį nors virtualų serverį - tai kainuos maždaug nuo 3 iki 10 eurų per mėnesį, ir šios išlaidos bus būtinos.
Taigi, pradedam nuo praktikos.
Pirma: instaliuojamės Linux
Pirmame etape jums reikia išmokti Linux arba bendriau visokių UNIX sistemų valdymo, kad ir primityviausiame lygyje. Tas lygis nėra darbas grafinėje aplinkoje, o yra darbas iš terminalo, naudojant komandinę eilutę, tiksliau konkrečiai šelą. Tam reikia pramokti UNIX/Linux failų sistemos (esminių katalogų) ir svarbiausių komandų. Nebūtina labai daug, bet reikia bent jau kad susigaudytumėte.
Pats pirmas žingsnis - pabandyti webe naudotis JS/UX, tenai yra smarkiai apkarpyta UNIX vaizduojanti aplinka. Paskui galima pasiieškoti ir gatavų nemokamų Linux instaliacijų, veikiančių ant webinių emuliarkių.
Vėliau paprasčiausia - naudoti kokią nors virtualią mašiną ant savo kompiuterio, nes tai saugu, negadina esamo kompiuterio ir taip toliau. Ir galėsite toliau savo kompe turėti Windows ir geiminti. Problema - kol viską darysite tik virtualioje mašinoje, tol niekas jūsų nevers gerai paprakaituoti, kad kažką susitvarkytumėt. Todėl pradžioje pabandę ant virtualios mašinos, pabandykite pilnai visą kompiuterį persivesti ant Linux.
Sunkiausi dalykai, kuriuos reiks išmokti - tai susikonfigūruoti savo Linux sistemą pirmiausiai taip, kad tenai veiktų Internetas, o paskui - kad joje dirbtų Apache web serveris ir MySQL arba MariaDB. Kad įsitikintumėt, kaip tai veikia, pasileiskit ant savo kompiuterio kokį nors Wordpress.
Jei tą susikonfigūravote ir kažkaip padarėte, ir kažkaip tai šitai jau veikia, ir tai dirba jūsų kompe - tai jau skaitykit, kad jau kažką būsimam darbdaviui galėsite pasakyti ir parodyti, kad nesate eilinis beviltiškas "mokausi kolegijoje" atvejis.
Klausimai pasitikrinimui apie minimalias Linux/UNIX žinias
Klausimai pasitikrinimui apie minimalias Linux žinias:
- Kas yra kernelis ir kam jis reikalingas?
- Kas yra X-Window ir kuo jis skiriasi nuo GNOME ar KDE?
- Kas yra šelas?
- Kaip atsidaryti, paredaguoti ir išsaugoti failą vi editoriuje?
- Kam skirti kiekvienas iš šių katalogų: "/etc/", "/var/", "/bin/", "/lib/", "/usr/"?
- Kaip esant šele, pasižiūrėti, kokiame kataloge jūs esate, kaip pasikeisti slaptažodį, kaip pereiti į katalogą "/var/www/", kaip pažiūrėti, kokie failai yra kataloge?
- Kas yra demonai?
- Kas yra manai ir kam jie reikalingi?
- Kam jums reikia MC?
Jei visus šiuos klausimus atsakysite, tai galit tikėtis, kad jau jus įvertins, kaip mokantį kukliai naudotis Linux, o ne eilinį lamerį, kuris kažką susiinstaliavo, bet net nesupranta, su kuo kernelis valgomas.
Supratimas apie kompiuteri tinklus
Taip, mes puikiai žinom, kad jūs naudojatės Internetu ir taip toliau, todėl esate kietas internetų specas. NOT.
Labai konkrečios žinios, ką reikia žinoti ir būti bent minimaliai pabandžius ir sugebėti atmintinai, neužsikertant ir be jokių "pamiršau" paaiškinti:
- Kas yra serveris ir kas yra klientas ir kuo jie vienas nuo kito skiriasi?
- Kas yra TCP/IP ir kuo TCP skiriasi nuo IP? O kas tas UDP ir kas tas ICMP?
- Kodėl OSI modelis yra absurdiškas gaidys ir beviltiškas šūdas, bet nepaisant to, kažkuo naudingas?
- Kas yra ping ir kaip ir kam jį naudoti?
- Kas yra /etc/hosts ir kur jis yra Windows sistemose?
- Kas yra 127.0.0.1 ir kuo jis skiriasi nuo localhost?
- Kas yra domeno vardas?
- Kas yra traceroute ir kaip ir kam jį naudoti?
- Kas yra telnet ir kodėl jo kartais vis dar prireikia?
- Kas yra SSH ir kuo jis skiriasi nuo telnet?
- Kas yra FTP ir kuo jis skiriasi nuo SFTP?
- Kas yra HTTP ir kuo skiriasi nuo HTTPS?
- Kas yra POP3, SMTP ir IMAP?
- Kas yra VPN ir kas yra P2P?
Nebus čia lengva visą tai išmokti, bet jei stengsitės - tai išmoksit, ir laiko daug nesugaišit. Svarbiausia yra noras. Ir jei bus noro - tai bus ir įdomu, ir netruks labai ilgai.
Jei gausite supračio tiek, kad atsakytumėt į visus tuos aukščiau minėtus klausimus - tai skaitykit, kad kažką jau susigaudote apie kompiuterių tinklus, ir jau gal kur nors galėtumėt pradėti ir technarinti labai po truputį, pačius paprasčiausius darbus.
Bazinės web programavimo žinios
Ir štai čia pereisim prie to, kas yra WWW, ir kaip čia yra programuojama, ir kodėl ir ko jums reikia mokytis, netgi jei programuoti nesiruošiate, o ruošiatės būti adminu.
Štai čia, pasimokius šitą gana ilgą skyrių, jums ir kils pasirinkimas:
- Pramokti greitai tų pagrindų, kurie dėstomi šiame skyriuje ir grįžti prie pirmo skyriaus su Linux, kur pradėti visaip smaukytis? Tai reikš, kad iš natūros jūs esate greičiau sistemų administratorius ir siūlome rinktis tą darbą.
- Pradėti dar labiau gilintis į programavimą, nei čia parašyta, galimai mokytis naujų kalbų ar kurti kažkokius savo softus? Tai reikš, kad iš natūros jūs esate greičiau programuotojas ir siūlome rinktis šitą darbą.
Nuliūdinsim tik vienu: jei norit būti padoriu (o ne pigiu ir šūdinu) programuotoju, jums būtinai reikia suprasti UNIX tipo sistemas ir kompiuterių tinklus. Bet lygiai taip pat, jei norit būti geru adminu, jums reikia suprasti programavimo ir duomenų bazių reikalus, nes jei to nesuprasit, tai geriausiu atveju būsit kompų nešiokliu, kuris printerius pajunginėja ir kurį visi laiko nevykusiu lopiniu. Norint gerai uždirbti, reikia plačių ir sistemingų žinių.
Taigi, pradėkim apie programavimą - čia bus apie keturias kalbas, kurių kiekvienos pagrindus reiks bent kažkiek išmokti. Norint judėti toliau, vieną-dvi iš jų reiks pasirinkti specializacijai, tačiau kitas irgi reiks suprasti bent tiek, kad galėtumėt parašyti kažkokias 10-20 eilučių paprasto kodo.
Negalvokit, kad to pakaks - papildomai reiks dar ir gauti SQL pagrindus, bet tai atskira, ketvirtoji tema.
HTML
HTML yra esminė duomenų struktūros aprašymo kalba, toks specializuotas XML kalbos variantas. Minimumą HTML kalbos turi mokėti visi, nes šia kalba daromi visi Internetai.
HTML puslapis susideda iš tegų ir duomenų. Tegai - tai tokie kodai, užrašomi tarp kampų ženklų - "<" ir ">". Duomenys - tai tiesiog tekstas, kuris rašomas tarp tegų. Tegai tiesiog pasako programoms, kokio tipo tai yra duomenys, kokia jų struktūra, ką su jais daryti ir, iš dalies, kaip juos atvaizduoti. Tiksliam ir detaliam duomenų atvaizdavimui naudojamas CSS.
Dauguma tegų yra dvigubi: vienas tegas atidaro duomenų gabalą, o kitas, taip pat besivadinantis, tik slešu papildytas tegas uždaro - maždaug kaip <tegas>duomenys</tegas>.
- Tegai gali būti kituose teguose, o tie dar kituose teguose ir taip toliau, hierarchija praktiškai neribota, pvz., "<tegas1><tegas2>duomenys</tegas2></tegas1>"
- Absoliučiai draudžiamas tegų persikirtimas: "<tegas1><tegas2>duomenys</tegas1></tegas2>" yra absoliučiai nelegalus ir draudžiamas užrašymas
Puslapis, kurį aprašėte, naudodami HTML kalbą, gali būti išsaugotas kaip paprastas failas su .html failo išplėtimu, o jį galima atsidaryti naršyklėje.
Štai paprasčiausias HTML puslapis:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="content-language" content="lt-lt" /> </head> <body> <h1>Puslapio pavadinimas</h1> <h2>Skyrius 1</h2> <h3>Poskyris 1</h3> <p>Kažkoksai tai tekstas iš pirmojo poskyrio</p> <h3>Poskyris 2</h3> <p>Tekstas jau iš antrojo poskyrio</p> <h2>Skyrius 2</h2> <p>Gal jau pakaks to teksto, tai tuo ir užbaikime</p> </body> </html>
Jei aukščiau esantį HTML kodą perrašysite į failą, tai gausite visai paprastą, tačiau struktūruotą HTML puslapį. Jo išsaugojimui ir redagavimui tinka koks nors Notepad ar šiaip koksai nors kitas editorius, kuris leidžia dirbti su tikrais tekstiniais failais. Tokį failą atsidarę, pamatysite, kad HTML meta tegai leido nustatyti lietuvių kalbą, o vėliau esantys kiti tegai turi daugiau ar mažiau akivaizdžias funkcijas - h1, h2, h3 tegai nustato įvairių lygių antraštes, p tegas nustato tekstą ir pan.
HTML atveju, kaip ir XML - esmė yra gražiai ir teisingai sustruktūruoti tekstą, kad jis turėtų geras dalis ir patogų skaitomumą. Jei pavyks padaryti teksto struktūrą, tai paskui pavyks sutvarkyti ir jo išvaizdą.
CSS
CSS - tai tokia specializuota kalba, kuri leidžia detaliai aprašyti įvairių dalykų išvaizdą. Tų išvaizdos parametrų yra melejonai, ir su duomenų struktūra bei prasmingumu išvaizda gali sietis labai įvairiai, todėl tas išvaizdos aprašymas ir yra išskirtas į atskirą kalbą.
CSS gali būti jungiama prie HTML duomenų keliais būdais - kaip atskiras failas, kuris atskirai specialiu būdu nurodomas HTML faile, taip pat gali būti aprašomas HTML failo pradžioje, o taip pat gali būti aprašomas ir kaip bet kokio HTML tego parametras. Visko surašyti čia tiesiog neįmanoma, o kai kurie grafinio atvaizdavimo dalykai yra ir subtilūs, ir kaprizingi, tad nusimatykite, kad reiks daug naudotis kokiais nors žinynais. Aišku, geriausias žinynas yra Google, kuris nuves jus į kokius nors W3Schools ar dar kokius nors puslapius.
Jei pavyko su ankstesniu HTML failu, tai štai čia šioks toks pavyzdys su CSS, kur mes pakeičiam ir aprašom HTML tegų išvaizdą:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="content-language" content="lt-lt" />
<style>
body {background-color: #ccccdd;}
h1 {
color: blue;
font-size: 50px;
text-align: center;
}
h2 {
color: blue;
font-size: 40px;
text-align: center;
}
h3 {color: blue;
font-size: 30px;
text-align: center;
}
p {color: black;
font-size: 22px;
}
</style>
</head>
<body>
<h1>Puslapio pavadinimas</h1>
<h2>Skyrius 1</h2>
<h3>Poskyris 1</h3>
<p>Kažkoksai tai tekstas iš pirmojo poskyrio</p>
<h3>Poskyris 2</h3>
<p>Tekstas jau iš antrojo poskyrio</p>
<h2>Skyrius 2</h2>
<p>Gal jau pakaks to teksto, tai tuo ir užbaikime</p>
</body>
</html>
Jei taip pat išsaugosim ir atidarysim naršyklėje, tai pamatysim, kad šitas tekstas savo išvaizda smarkiai skiriasi nuo ankstesnio. Taip yra dėl to, kad kažkuriuos iš tų išvaizdos savybių nurodėme per CSS. Tiesa, reikia neužmiršti, kad įprastais atvejais naršyklės turi ir nematomą stilių, kurį naudoja tais atvejais, kai atskiras CSS nėra nurdoytas. Bet jei tik nurodysit savo CSS - tai naudos jūsiškį.
JavaScript
PHP
Duomenys, duomenų bazės ir SQL
Ir štai čia jau prieiname prie to, kas yra aukštesnės IT žinios, kurių dažnai nei neprireikia visokiems pigiai apmokamiems kabelius tampantiems ir kompiuterius nešiojantiems technariams, o reikia tik tiems, kas apmokami brangiai ir gali visaip išsipisinėt - tai duomenys, jų struktūros, duomenų bazės ir, žinoma, SQL.
...to be continued...