#Şəbəkə təhlükəsizliyi anlayışları
Şəbəkə təhlükəsizliyi istifadəçi adı və şifrənin yoxlanması ilə başlayır. Bu üsulda sadəcə bir detala ehtiyac olduğu üçün (istifadəçi adı və şifrə) bir faktorlu təsdiqləmə adlanır. iki-faktorlu təsdiqləmədə isə yalnız həmin istifadəçiyə aid olan vasitədən (bankomat karti, təhlükəsizlik nişanı və ya mobil telefona); üç-faktorlu təsdiqləmədə isə istifadəçidə istifadəçidə olan vasitədən (məsələn barmaq izi və ya göz taraması) istifadə edilir
İstifadəçi tərəfindən şəbəkəyə giriş olduqda firewall tərəfindən istiadəçi giriş siyasəti (access policy) tətbiq edilir ki, bu da hansı servislərdən istifadə edə biləcəyini göstərir.Bu üsul icazəsiz girişlərin qarşısını almaqda effektiv olsa da, worm və Trojanlar kimi zərərli virusların şəbəkədə ötürülməsinin qarçısını ala bilmir. Anti-virus software və ya intrusion prevention system (IPS) bu cür zərərli proqramların hərəkətlərini aşkar edir və mane olur. anomaly-based intrusion detection system həmçinin şəbəkə trafikinin monitorinqində, bu cür trafiklərin loqlanmasında və analizində istifadə edilir.
İki istifadəçi arasındakı rabitə gizliliyin təmin olunması üçün şifrələnmiş ola bilər.
Honeypots, şəbəkədə yem kimi istifadə edilən resurslar, şəbəkəyə nəzarət və öncədən xəbərdarlıq üçün şəbəkədə yerləşdirilə bilər, ancaq bu cür yemlər qanuni məqsədlər üçün istifadə olunmur. Hücumçular tərəfindən işlədilən tenikalar hücum zamanı və hücumdan sonra yeni texnikaların öyrənilməsi üçün istifadə edilir. Bu cür analizlər honeypot vasitəsilə qorunan şəbəkələrdə şəbəkə qorunmasında sonrakı sərtləşdirmə üçün istifadə edilə bilər. Honeypot (və ya yem) hücumçunun diqqətini əsas serverlərdən uzaqlaşdırır. Honeypot hücumçunun vaxtını və enerjisini yem serverə yönəldərək, diqqətini əsas serverdəki informasiyalardan uzaq tutur. Yemlərə oxşar olaraq, təhlükəsizlik açıqları olan yem şəbəkələr də təsis edilir . Belə şəbəkələrin məqsədi hücumların edilməsi və hücumçuların hücum metodlarını öyrənərək şəbəkə təhlükəsizliyinin artırılmasıdır. Yem şəbəkə bir və ya daha çox yemlərdən ibarət olur.
Şəbəkə təhlükəsizliyi istifadəçi adı və şifrənin yoxlanması ilə başlayır. Bu üsulda sadəcə bir detala ehtiyac olduğu üçün (istifadəçi adı və şifrə) bir faktorlu təsdiqləmə adlanır. iki-faktorlu təsdiqləmədə isə yalnız həmin istifadəçiyə aid olan vasitədən (bankomat karti, təhlükəsizlik nişanı və ya mobil telefona); üç-faktorlu təsdiqləmədə isə istifadəçidə istifadəçidə olan vasitədən (məsələn barmaq izi və ya göz taraması) istifadə edilir
İstifadəçi tərəfindən şəbəkəyə giriş olduqda firewall tərəfindən istiadəçi giriş siyasəti (access policy) tətbiq edilir ki, bu da hansı servislərdən istifadə edə biləcəyini göstərir.Bu üsul icazəsiz girişlərin qarşısını almaqda effektiv olsa da, worm və Trojanlar kimi zərərli virusların şəbəkədə ötürülməsinin qarçısını ala bilmir. Anti-virus software və ya intrusion prevention system (IPS) bu cür zərərli proqramların hərəkətlərini aşkar edir və mane olur. anomaly-based intrusion detection system həmçinin şəbəkə trafikinin monitorinqində, bu cür trafiklərin loqlanmasında və analizində istifadə edilir.
İki istifadəçi arasındakı rabitə gizliliyin təmin olunması üçün şifrələnmiş ola bilər.
Honeypots, şəbəkədə yem kimi istifadə edilən resurslar, şəbəkəyə nəzarət və öncədən xəbərdarlıq üçün şəbəkədə yerləşdirilə bilər, ancaq bu cür yemlər qanuni məqsədlər üçün istifadə olunmur. Hücumçular tərəfindən işlədilən tenikalar hücum zamanı və hücumdan sonra yeni texnikaların öyrənilməsi üçün istifadə edilir. Bu cür analizlər honeypot vasitəsilə qorunan şəbəkələrdə şəbəkə qorunmasında sonrakı sərtləşdirmə üçün istifadə edilə bilər. Honeypot (və ya yem) hücumçunun diqqətini əsas serverlərdən uzaqlaşdırır. Honeypot hücumçunun vaxtını və enerjisini yem serverə yönəldərək, diqqətini əsas serverdəki informasiyalardan uzaq tutur. Yemlərə oxşar olaraq, təhlükəsizlik açıqları olan yem şəbəkələr də təsis edilir . Belə şəbəkələrin məqsədi hücumların edilməsi və hücumçuların hücum metodlarını öyrənərək şəbəkə təhlükəsizliyinin artırılmasıdır. Yem şəbəkə bir və ya daha çox yemlərdən ibarət olur.
👍1
#Təhlükəsizlik idarə etməsi
Şəbəkələr üçün təhlükəsizlik idarə etməsi müxtəlif vəziyyətlər üçün fərqli ola bilər. Kiçik ofislərdə ilkin təhlükəsizlik tədbirləri bəs etsə də, böyük bizneslərdə yüksək səviyyəli qoruma və iləri səviyyəli proqram təminatı və cihazlar zərərli hücumların qarşısını alır .
#Hücum Növləri
Şəbəkələr zərərli mənbələrdən hücumlara məruz qalır. Hücumlar 2 kateqoriyadan ola bilər: "Passiv" nə vaxt ki, hücumçu şəbəkədəki data axınını ələ keçirir və "Aktiv" nə vaxt ki, hücumçu şəbəkənin normal əməliyyatını korlamaq üçün əmrlərdən istifadə edir.
Hücumların növləri:
°°°°° Passiv
° Network
° Wiretapping
° Port scanner
° Idle scan
°°°°°Aktiv
° Denial-of-service attack
° DNS spoofing
° Man in the middle
° ARP poisoning
° VLAN hopping
° Smurf attack
° Buffer overflow
° Heap overflow
° Format string attack
° SQL injection
° Phishing
° Cross-site scripting
° CSRF
° Cyber-attack
Şəbəkələr üçün təhlükəsizlik idarə etməsi müxtəlif vəziyyətlər üçün fərqli ola bilər. Kiçik ofislərdə ilkin təhlükəsizlik tədbirləri bəs etsə də, böyük bizneslərdə yüksək səviyyəli qoruma və iləri səviyyəli proqram təminatı və cihazlar zərərli hücumların qarşısını alır .
#Hücum Növləri
Şəbəkələr zərərli mənbələrdən hücumlara məruz qalır. Hücumlar 2 kateqoriyadan ola bilər: "Passiv" nə vaxt ki, hücumçu şəbəkədəki data axınını ələ keçirir və "Aktiv" nə vaxt ki, hücumçu şəbəkənin normal əməliyyatını korlamaq üçün əmrlərdən istifadə edir.
Hücumların növləri:
°°°°° Passiv
° Network
° Wiretapping
° Port scanner
° Idle scan
°°°°°Aktiv
° Denial-of-service attack
° DNS spoofing
° Man in the middle
° ARP poisoning
° VLAN hopping
° Smurf attack
° Buffer overflow
° Heap overflow
° Format string attack
° SQL injection
° Phishing
° Cross-site scripting
° CSRF
° Cyber-attack
👍1
BOSS DEVELOPER pinned «Daha nə haqqında post adım? Kanalda post paylaşma istəyən varsa @nihatfarz yazsın.»
İnformasiya texnologiyaları hələ də çoxlu stereotiplərlə, yanlış fikirlərlə doludur. Bunu ölkəmizdə daha da aydın hiss etmək olur. “Mən proqramçıyam” deyən kimi “Facebook-un parolunu qıra bilirsən?”, “komputerim donur, format edərsən?”, “televizorun pultunu düzəldərsən?!” və başqa bu kimi sualları ilə üzbəüz qalırsan. Bunlardan əlavə proqramlaşdırma sahəsinə yeni başlamaq istəyənlərə və ya İT-dən uzaq şəxslərə bu sahə “çox çətindir” deyirlər, müxtəlif fikirlərlə qorxudurlar. Buna görə də, ən çox yayılan yanlış fikirləri, mifləri bir yerə yığıb, nəyin doğru, nəyin yanlış olduğunu izah etməyə çalışacam.
1. Çox ağıllı olmaq lazımdır
Bu ən çox yayılmış miflərdəndir, proqramlaşdırmaya yeni başlamaq istəyənlərin çoxunda qorxu yaradır. Buna görə də çoxları özlərini proqramçı olmaq üçün kifayət qədər ağıllı hesab etmir. Lakin ilk baxışda göründüyü kimi, proqramlaşdırma öyrənmək elə də çətin deyil.
Proqramçılar – komputer proqramları, veb saytlar, oyunlar və mobil tətbiqlər yaratmaq üçün ehtirasları olan adi insanlardır. Kod yazmağa başlamaq üçün dahi olmaq lazım deyil. İntizamın, motivasiyanın, maraq və həvəsin olması kifayətdir. Əgər yeniliklərə açıq və öyrəndiklərinizi praktikada tətbiq etməyə hazırsızsa, proqramlaşdırmanı rahat öyrənəcəksiniz.
Bu ən çox yayılmış miflərdəndir, proqramlaşdırmaya yeni başlamaq istəyənlərin çoxunda qorxu yaradır. Buna görə də çoxları özlərini proqramçı olmaq üçün kifayət qədər ağıllı hesab etmir. Lakin ilk baxışda göründüyü kimi, proqramlaşdırma öyrənmək elə də çətin deyil.
Proqramçılar – komputer proqramları, veb saytlar, oyunlar və mobil tətbiqlər yaratmaq üçün ehtirasları olan adi insanlardır. Kod yazmağa başlamaq üçün dahi olmaq lazım deyil. İntizamın, motivasiyanın, maraq və həvəsin olması kifayətdir. Əgər yeniliklərə açıq və öyrəndiklərinizi praktikada tətbiq etməyə hazırsızsa, proqramlaşdırmanı rahat öyrənəcəksiniz.
2. Riyaziyyatı yaxşı bilmək lazımdır
“Proqramlaşdırmanı öyrənmək, güclü riyazi biliklər tələb edir?”. CodeBit-ə müraciət edən şəxslərin əksəriyyəti məndən bu sualı soruşurlar. Lakin proqramlaşdırmada müvəffəqiyyətli olmaq, birbaşa riyazi savaddan asılı deyil. Yaxşı riyaziyyat biliyinin olması həmişə üstünlükdür, lakin başlamaq üçün məktəb bilikləri də kifayət edir.
Formal olaraq, proqramlaşdırma – komputer üçün əmrlərin, təlimatların yazılmasıdır. Bunu tortun hazırlanması üçün resept kimi fikirləşin. İnqridientlərin çəkisini ölçmək, kalorini hesablamaq, yumru və ya düzbucaqlı formaya salmaq, əməliyyatlar ardıcıllığını düzgün etmək lazımdır. Bunun üçün isə ali riyaziyyat, inteqral və ya mürəkkəb düsturlar istifadə etmirik.
Əlbəttə, riyaziyyatın çox böyük rol oynadığı sahələr var. Məsələn, oyunlarının yaradılması üçün ən azı minimal səviyyədə triqonometriya, matrislərlə işləmək və fizika bilmək lazımdır. Hazırda hamının daimi eşitdiyi süni intellekt, maşın öyrənməsi (bax: machine learning), verilənlər elmi (bax: data science) və onların alt bölmələri riyaziyyat tələb edən sahələrdəndir.
Bundan başqa, bir çox problemi daha asan həll etmək üçün, üçüncü tərəf kitabxanalar (third-party libraries) və pluginlər-dən istifadə edə bilərsiz. Riyaziyyat və ya fizika ilə bağlı əlavə məlumatlara ehtiyacınız varsa, xarici təlim, təhsil ala və ya kitablar oxuya bilərsiz.
“Proqramlaşdırmanı öyrənmək, güclü riyazi biliklər tələb edir?”. CodeBit-ə müraciət edən şəxslərin əksəriyyəti məndən bu sualı soruşurlar. Lakin proqramlaşdırmada müvəffəqiyyətli olmaq, birbaşa riyazi savaddan asılı deyil. Yaxşı riyaziyyat biliyinin olması həmişə üstünlükdür, lakin başlamaq üçün məktəb bilikləri də kifayət edir.
Formal olaraq, proqramlaşdırma – komputer üçün əmrlərin, təlimatların yazılmasıdır. Bunu tortun hazırlanması üçün resept kimi fikirləşin. İnqridientlərin çəkisini ölçmək, kalorini hesablamaq, yumru və ya düzbucaqlı formaya salmaq, əməliyyatlar ardıcıllığını düzgün etmək lazımdır. Bunun üçün isə ali riyaziyyat, inteqral və ya mürəkkəb düsturlar istifadə etmirik.
Əlbəttə, riyaziyyatın çox böyük rol oynadığı sahələr var. Məsələn, oyunlarının yaradılması üçün ən azı minimal səviyyədə triqonometriya, matrislərlə işləmək və fizika bilmək lazımdır. Hazırda hamının daimi eşitdiyi süni intellekt, maşın öyrənməsi (bax: machine learning), verilənlər elmi (bax: data science) və onların alt bölmələri riyaziyyat tələb edən sahələrdəndir.
Bundan başqa, bir çox problemi daha asan həll etmək üçün, üçüncü tərəf kitabxanalar (third-party libraries) və pluginlər-dən istifadə edə bilərsiz. Riyaziyyat və ya fizika ilə bağlı əlavə məlumatlara ehtiyacınız varsa, xarici təlim, təhsil ala və ya kitablar oxuya bilərsiz.
3. Proqramlaşdırma “komputer xəstələri” üçündür
Kinolarda proqramçılar iri eynəklə bir neçə monitora baxan, uzun saç-saqqallı biri kimi təsvir edilir. Buna görə də insanlar proqramlaşdırmaya başlayanda eyni olacağını düşünürlər, qadınlar isə bu sahəyə elə də maraqlı olmurlar. Əslində isə bu sadəcə stereotipdir.
Proqramçılar bütün günü komputer arxasında oturmurlar, onların da əlavə hobbi və məşğuliyyətləri var. Onların arasında musiqiçilər, rəqqaslar, idmançılar var. Buna görə proqramçıların digər peşələrdəki işçilərdən fərqli olduğuna inanmaq üçün heç bir səbəb yoxdur.
Qeyd: “komputer xəstələri” söz birləşməsi üçün daha yaxşı təklifləri şərhlərdə yaza bilərsiz.
Kinolarda proqramçılar iri eynəklə bir neçə monitora baxan, uzun saç-saqqallı biri kimi təsvir edilir. Buna görə də insanlar proqramlaşdırmaya başlayanda eyni olacağını düşünürlər, qadınlar isə bu sahəyə elə də maraqlı olmurlar. Əslində isə bu sadəcə stereotipdir.
Proqramçılar bütün günü komputer arxasında oturmurlar, onların da əlavə hobbi və məşğuliyyətləri var. Onların arasında musiqiçilər, rəqqaslar, idmançılar var. Buna görə proqramçıların digər peşələrdəki işçilərdən fərqli olduğuna inanmaq üçün heç bir səbəb yoxdur.
Qeyd: “komputer xəstələri” söz birləşməsi üçün daha yaxşı təklifləri şərhlərdə yaza bilərsiz.
4. Proqramlaşdırma darıxdırıcıdır
İşə qarşı maraq, o işə göstərdiyin münasibətdən asılıdır. Proqramlaşdırma üzrə həvəsli olan insanlar onu darıxdırıcı və cansıxıcı saymırlar. Yoxsa nəyə görə insan illərlə eyni işlə məşğul olsun? Bu hər bir işə aiddir: hər kəs özünə maraqlı və ya sıxıcı olan işi özü təyin edir.
Proqramlaşdırmada sizə maraqlı olan sahəni seçə bilərsiz: mobil telefonlar üçün tətbiqlər yaza, müxtəlif tipli veb saytlar hazırlaya, əməliyyatları avtomatlaşdırmaq üçün qurğulara proqram təminatları yarada bilərsiz və s.
Proqramlaşdırma bacarıqları kənd təsərrüfatından başlamış, raket istehsalına qədər çox fərqli sahələrdə işləməyə imkan verir. Həmçinin, sizin hazırladığınız proqramların dünya üzrə milyonlarla istifadəçisinin olması mümkündür. Sizcə bu necə maraqsız ola bilər?!
İşə qarşı maraq, o işə göstərdiyin münasibətdən asılıdır. Proqramlaşdırma üzrə həvəsli olan insanlar onu darıxdırıcı və cansıxıcı saymırlar. Yoxsa nəyə görə insan illərlə eyni işlə məşğul olsun? Bu hər bir işə aiddir: hər kəs özünə maraqlı və ya sıxıcı olan işi özü təyin edir.
Proqramlaşdırmada sizə maraqlı olan sahəni seçə bilərsiz: mobil telefonlar üçün tətbiqlər yaza, müxtəlif tipli veb saytlar hazırlaya, əməliyyatları avtomatlaşdırmaq üçün qurğulara proqram təminatları yarada bilərsiz və s.
Proqramlaşdırma bacarıqları kənd təsərrüfatından başlamış, raket istehsalına qədər çox fərqli sahələrdə işləməyə imkan verir. Həmçinin, sizin hazırladığınız proqramların dünya üzrə milyonlarla istifadəçisinin olması mümkündür. Sizcə bu necə maraqsız ola bilər?!
5. İnsanlarla ünsiyyət qurmağı dayandıracaqsız
Digər çox yayılmış miflərdən biri də – proqramçıların günün böyük hissəsini komputer arxasında, insanlardan uzaq keçirməsidir. Əslində isə proqramçılar müxtəlif seminar, konfranslarda iştirak edir, tez-tez tanımadıqları insanlarla kiçik məclislər təşkil edərək texnologiya, maraqlı yeniliklər haqqında danışırlar. Digər peşə sahələrində belə hallar nadirən olur.
Digər çox yayılmış miflərdən biri də – proqramçıların günün böyük hissəsini komputer arxasında, insanlardan uzaq keçirməsidir. Əslində isə proqramçılar müxtəlif seminar, konfranslarda iştirak edir, tez-tez tanımadıqları insanlarla kiçik məclislər təşkil edərək texnologiya, maraqlı yeniliklər haqqında danışırlar. Digər peşə sahələrində belə hallar nadirən olur.
This media is not supported in your browser
VIEW IN TELEGRAM
6. Çoxlu kod əzbərləmək lazımdır
Xarici dildə normal başa düşmək üçün ən azı 2000 söz bilmək lazımdır. Proqramlaşdırma dillərinin əksəriyyətində isə sintaksis çox oxşayır və daimi istifadə etdikcə lazım olan 50-60 metod, funksiyanı avtomatik əzbərləmiş olursuz. Hətta yadda saxlaya bilməsəniz, internetdən və ya rəsmi dokumentasiyaya baxaraq xatırlaya bilərsiz. Ümumiyyətlə, hər kodu yadda saxlamaq lazım deyil. Onsuz da zamanla istifadə etmədiyiniz kodları unudacaqsız. Hətta tanınmış proqramçılar da, bəzən ən sadə alqoritmləri belə yadda saxlaya bilmədiklərini etiraf edirlər.
Kod yazmaq üçün istifadə olunan IDE, code editor-lar hazır şəkildə ipuclarını verirlər. Sizə sadəcə olaraq lazım olan kodu seçirsiz
Xarici dildə normal başa düşmək üçün ən azı 2000 söz bilmək lazımdır. Proqramlaşdırma dillərinin əksəriyyətində isə sintaksis çox oxşayır və daimi istifadə etdikcə lazım olan 50-60 metod, funksiyanı avtomatik əzbərləmiş olursuz. Hətta yadda saxlaya bilməsəniz, internetdən və ya rəsmi dokumentasiyaya baxaraq xatırlaya bilərsiz. Ümumiyyətlə, hər kodu yadda saxlamaq lazım deyil. Onsuz da zamanla istifadə etmədiyiniz kodları unudacaqsız. Hətta tanınmış proqramçılar da, bəzən ən sadə alqoritmləri belə yadda saxlaya bilmədiklərini etiraf edirlər.
Kod yazmaq üçün istifadə olunan IDE, code editor-lar hazır şəkildə ipuclarını verirlər. Sizə sadəcə olaraq lazım olan kodu seçirsiz
7. Bütün alqoritmləri bilmək lazımdır
Alqoritmlər proqramlaşdırmanın əsasıdır. Bəziləri sadə, bəzilərini isə anlamaq üçün xüsusi bilik tələb edir. Ancaq onları əzbər bilməyə ehtiyac yoxdur. Proqramlaşdırmada bir tapşırığı müxtəlif alqoritmlərlə və fərqli variantlarda yazmaq mümkündür. Hər bir variantın isə üstün və mənfi cəhətləri olur.
Müasir proqramlaşdırmada daimi təkrarlanan əməliyyatları azaltmaq üçün yeni alətlər, kitabxanalar yaradılır. Bu da öz növbəsində proqram təminatlarının yaradılması müddətini azaldır, proqramçıları rutin işlərdən azad edir. Artıq proqramçılar həqiqətən lazım olan işlərlə məşğul olur, gündəlik istifadə olunan alqoritmlərə əlavə vaxt sərf etmirlər. Buna baxmayaraq, alqoritmik həllərin, bilklərin öyrənilməsi vacib məqamlardandır.
Alqoritmlər proqramlaşdırmanın əsasıdır. Bəziləri sadə, bəzilərini isə anlamaq üçün xüsusi bilik tələb edir. Ancaq onları əzbər bilməyə ehtiyac yoxdur. Proqramlaşdırmada bir tapşırığı müxtəlif alqoritmlərlə və fərqli variantlarda yazmaq mümkündür. Hər bir variantın isə üstün və mənfi cəhətləri olur.
Müasir proqramlaşdırmada daimi təkrarlanan əməliyyatları azaltmaq üçün yeni alətlər, kitabxanalar yaradılır. Bu da öz növbəsində proqram təminatlarının yaradılması müddətini azaldır, proqramçıları rutin işlərdən azad edir. Artıq proqramçılar həqiqətən lazım olan işlərlə məşğul olur, gündəlik istifadə olunan alqoritmlərə əlavə vaxt sərf etmirlər. Buna baxmayaraq, alqoritmik həllərin, bilklərin öyrənilməsi vacib məqamlardandır.
8. Çoxlu kod yazmağa səbrim çatmır
Professional proqramlar, on-yüz minlərlə sətir koddan ibarət olurlar. Bu isə yeni başlayanların bəzilərini qorxudur. Yuxarıda qeyd etdiyim kimi, proqramçılar bəzi işlər üçün adətən hazır həllərdən, eyni kod hissələrindən istifadə edirlər. Bunu xarici dil ilə müqayisə etsək: deyilənlərin 80%-ni anlamaq üçün 2000 söz (dildə olan 50.000 sözü bilməyə ehtiyac yoxdur) bilmək kifayətdir. Müxtəlif söz və ifadələri birləşdirərək hər kəslə danışa bilərsiniz. Proqramlaşdırmada da bənzər prinsipdir. Müəyyən kod həllərini bilməklə çoxlu sayda fərqli tapşırıqlara tətbiq edə bilərsiz.
Əlbəttə ki, yeni başlayarkən dəqiq işləyən böyük bir proqram yazmaq qeyri-mümkündür. Amma bacarıqlarınızı inkişaf etdirməklə bir gündə yazdığınız kodu artıq bir neçə saata yaza bilərsiz. Bir qədər praktika etdikdən sonra 10.000 sətir kod sizin üçün uşaq oyunu olacaq.
Professional proqramlar, on-yüz minlərlə sətir koddan ibarət olurlar. Bu isə yeni başlayanların bəzilərini qorxudur. Yuxarıda qeyd etdiyim kimi, proqramçılar bəzi işlər üçün adətən hazır həllərdən, eyni kod hissələrindən istifadə edirlər. Bunu xarici dil ilə müqayisə etsək: deyilənlərin 80%-ni anlamaq üçün 2000 söz (dildə olan 50.000 sözü bilməyə ehtiyac yoxdur) bilmək kifayətdir. Müxtəlif söz və ifadələri birləşdirərək hər kəslə danışa bilərsiniz. Proqramlaşdırmada da bənzər prinsipdir. Müəyyən kod həllərini bilməklə çoxlu sayda fərqli tapşırıqlara tətbiq edə bilərsiz.
Əlbəttə ki, yeni başlayarkən dəqiq işləyən böyük bir proqram yazmaq qeyri-mümkündür. Amma bacarıqlarınızı inkişaf etdirməklə bir gündə yazdığınız kodu artıq bir neçə saata yaza bilərsiz. Bir qədər praktika etdikdən sonra 10.000 sətir kod sizin üçün uşaq oyunu olacaq.
9. Güclü komputer lazımdır
Yeni başlayanlar proqramlaşdırma üçün güclü bir komputer və bir neçə monitorun lazım olduğunu düşünürlər. Bu belə deyil. Başlanğıc üçün adi komputer(2-3 RAM və i3 prosessor) də kifayət edir. Həmçinin, böyük ekrana və bir neçə monitora da ehtiyac yoxdur.
Yeni başlayanlar proqramlaşdırma üçün güclü bir komputer və bir neçə monitorun lazım olduğunu düşünürlər. Bu belə deyil. Başlanğıc üçün adi komputer(2-3 RAM və i3 prosessor) də kifayət edir. Həmçinin, böyük ekrana və bir neçə monitora da ehtiyac yoxdur.
10. Kodları anlamaq çox çətindir
İlk baxışdan kodlar çox mürəkkəb və anlaşılmaz görünür. Onda Çin heroqliflərinə baxaq. Bilməyən şəxs onların içərisində yalnız işarələr görür, lakin dünyada 1,3 milyard insan asanlıqla Çin yazılarını oxuyur, yazır və anlaya bilir. Kodlar isə heroqliflərdən və digər xarici dillərdən daha sadədir. Bu dili eşitməyə və tələffüz etməyə ehtiyac yoxdur. Proqramlaşdırma dilləri baza üçün adətən əsas 50-100 metod, funksiyadan ibarət olur.
İlk baxışdan kodlar çox mürəkkəb və anlaşılmaz görünür. Onda Çin heroqliflərinə baxaq. Bilməyən şəxs onların içərisində yalnız işarələr görür, lakin dünyada 1,3 milyard insan asanlıqla Çin yazılarını oxuyur, yazır və anlaya bilir. Kodlar isə heroqliflərdən və digər xarici dillərdən daha sadədir. Bu dili eşitməyə və tələffüz etməyə ehtiyac yoxdur. Proqramlaşdırma dilləri baza üçün adətən əsas 50-100 metod, funksiyadan ibarət olur.
11. Veb sayt yaratdım, artıq “proqramistəm”
Veb saytların yaradılması dolayısı ilə HTML, CSS və ya ümumiyyətlə, proqramlaşdırma əsaslarını bilmək tələb etmir. Hazır şablon və sistemlərlə hər kəs sayt hazırlaya bilər. Lakin professional web proqramçılar müxtəlif texnologiyalar və proqramlaşdırma dillərini sərbəst şəkildə bilirlər. Web proqramlaşdırma kurslarının şüarlarına zidd olaraq 1-2 ay ərzində bu cür biliklərə sahib olmaq mümkün deyil, hələ digər mifik öyrənmə müddətlərini demirəm. CodeBit-də proqramlaşdırma və veb saytların yaradılmasının əsasları minimum 6 ay(3 ay frontend və 3 ay backend) davam edir.
HTML, CSS, PHP, JavaScript, verilənlər bazası, client-server texnologiyaları, SQL, Apache, NGINX, versiya nəzarət sistemləri web proqramçının gündəlik qarşılaşdığı texnologiyaların cəmi bir hissəsidir. Ancaq qorxmayın: bir az çalışqanlıq və həvəs göstərməklə funksional veb saytlar yaratmağı öyrənə bilərsiz.
Veb saytların yaradılması dolayısı ilə HTML, CSS və ya ümumiyyətlə, proqramlaşdırma əsaslarını bilmək tələb etmir. Hazır şablon və sistemlərlə hər kəs sayt hazırlaya bilər. Lakin professional web proqramçılar müxtəlif texnologiyalar və proqramlaşdırma dillərini sərbəst şəkildə bilirlər. Web proqramlaşdırma kurslarının şüarlarına zidd olaraq 1-2 ay ərzində bu cür biliklərə sahib olmaq mümkün deyil, hələ digər mifik öyrənmə müddətlərini demirəm. CodeBit-də proqramlaşdırma və veb saytların yaradılmasının əsasları minimum 6 ay(3 ay frontend və 3 ay backend) davam edir.
HTML, CSS, PHP, JavaScript, verilənlər bazası, client-server texnologiyaları, SQL, Apache, NGINX, versiya nəzarət sistemləri web proqramçının gündəlik qarşılaşdığı texnologiyaların cəmi bir hissəsidir. Ancaq qorxmayın: bir az çalışqanlıq və həvəs göstərməklə funksional veb saytlar yaratmağı öyrənə bilərsiz.
12. Proqramçılar hər şeyi sıfırdan yazırlar
Əgər proqramçılar bütün kodları sıfırdan yazsaydılar, biz bu qədər müxtəlif və faydalı proqramlar görməzdik. Müasir proqramlar yüz minlərlə kod sətrindən ibarətdir və onların əksəriyyəti daha əvvəl digər proqramçılar tərəfindən yazılmışdır. Proqramçılar tez-tez üçüncü tərəf kitabxanalar və digər layihələr üçün yazdıqları kodu istifadə edirlər. Bu, oyunlar, əməliyyat sistemləri daxil olmaqla, böyük proqramların yaradılmasını asanlaşdırır və sürətləndirir.
Əgər proqramçılar bütün kodları sıfırdan yazsaydılar, biz bu qədər müxtəlif və faydalı proqramlar görməzdik. Müasir proqramlar yüz minlərlə kod sətrindən ibarətdir və onların əksəriyyəti daha əvvəl digər proqramçılar tərəfindən yazılmışdır. Proqramçılar tez-tez üçüncü tərəf kitabxanalar və digər layihələr üçün yazdıqları kodu istifadə edirlər. Bu, oyunlar, əməliyyat sistemləri daxil olmaqla, böyük proqramların yaradılmasını asanlaşdırır və sürətləndirir.
13. Kurs bitdikdən sonra öyrənmək də bitir
Kursda proqramlaşdırma dilini öyrənməklə iş bitmir. Dilin əsas sintaksisini öyrənmək çətin deyil, praktikada necə istifadə etmək çətindir. Öyrənmə prosesi heç vaxt dayanmır: öyrənməyi dayandırsanız, bir müddət sonra öyrəndiklərinizi də unutmuş olacaqsız. Bunun üçün öyrəndiklərinizi praktiki məşğələlərlə gücləndirmək lazımdır. Buna görə də CodeBit-də veb proqramlaşdırma dərsləri 85% praktikadan ibarətdir. Xarici dillərin öyrənilməsində olduğu kimi, uzunmüddətli fasilələr də öyrənmə nəticəsinə mənfi təsir göstərir.
Kursda proqramlaşdırma dilini öyrənməklə iş bitmir. Dilin əsas sintaksisini öyrənmək çətin deyil, praktikada necə istifadə etmək çətindir. Öyrənmə prosesi heç vaxt dayanmır: öyrənməyi dayandırsanız, bir müddət sonra öyrəndiklərinizi də unutmuş olacaqsız. Bunun üçün öyrəndiklərinizi praktiki məşğələlərlə gücləndirmək lazımdır. Buna görə də CodeBit-də veb proqramlaşdırma dərsləri 85% praktikadan ibarətdir. Xarici dillərin öyrənilməsində olduğu kimi, uzunmüddətli fasilələr də öyrənmə nəticəsinə mənfi təsir göstərir.
14. Proqramçı olmaq üçün universitet bitirmək lazımdır
Bu mövzu həmişə müzakirə olunur və fərqli düşünənlər çoxdur. Kimin nə düşünməsindən asılı olmayaraq, proqramçı olmaq üçün universiteti bitirmək vacib deyil. Bunu öz tanışlarımdan, tələbələrimdən, özümün və dünya təcrübəsinə əsasən deyirəm. Universitet oxumağın ziyanı yoxdur, lakin VACİB deyil. Lazımlı məlumatların çoxu internetdə – online dərslərdə, kitablarda, forumlarda, tematik saytlarda var. Bu mənbələrdən istifadə etməklə universitetdə keçiləndən daha artıq biliyi, daha qısa müddətdə öyrənmək olar. Hətta evdən çıxmağa belə ehtiyacınız yoxdur. Əlbəttə ki, köhnə sistemin tərəfdarları “baza bilikləri və riyaziyyatı universitetdə öyrənmək daha yaxşıdır” deyəcəklər. Amma daha əvvəl qeyd etdiyim kimi, proqramlaşdırmaya başlamaq üçün inteqral hesablamağa ehtiyac yoxdur.
4 il sərf etmək əvəzinə, daha qısa müddətə kursda və ya fərdi müəllimlə nəzəriyyə və praktika yığaraq öyrənmə prosesini sürətləndirə bilərsiz. Şirkət və müəssisələr komandalarında diplomlu bir mütəxəssis görmək istəsə də, işini bilən təcrübəli amma diplomsuz mütəxəssisdən imtina etmirlər.
Bu mövzu həmişə müzakirə olunur və fərqli düşünənlər çoxdur. Kimin nə düşünməsindən asılı olmayaraq, proqramçı olmaq üçün universiteti bitirmək vacib deyil. Bunu öz tanışlarımdan, tələbələrimdən, özümün və dünya təcrübəsinə əsasən deyirəm. Universitet oxumağın ziyanı yoxdur, lakin VACİB deyil. Lazımlı məlumatların çoxu internetdə – online dərslərdə, kitablarda, forumlarda, tematik saytlarda var. Bu mənbələrdən istifadə etməklə universitetdə keçiləndən daha artıq biliyi, daha qısa müddətdə öyrənmək olar. Hətta evdən çıxmağa belə ehtiyacınız yoxdur. Əlbəttə ki, köhnə sistemin tərəfdarları “baza bilikləri və riyaziyyatı universitetdə öyrənmək daha yaxşıdır” deyəcəklər. Amma daha əvvəl qeyd etdiyim kimi, proqramlaşdırmaya başlamaq üçün inteqral hesablamağa ehtiyac yoxdur.
4 il sərf etmək əvəzinə, daha qısa müddətə kursda və ya fərdi müəllimlə nəzəriyyə və praktika yığaraq öyrənmə prosesini sürətləndirə bilərsiz. Şirkət və müəssisələr komandalarında diplomlu bir mütəxəssis görmək istəsə də, işini bilən təcrübəli amma diplomsuz mütəxəssisdən imtina etmirlər.
15. Əvvəlcə dilin sintaksisini öyrənmək lazımdır
Sintaksis – proqramlaşdırma dilinin qaydalarıdır. Əlbəttə ki, sintaksisi bilmək proqramlaşdırma dilinin bütün imkanlarından istifadə etməyə şərait yaradır, amma onu bütünlüklə bilmək vacib deyil. Dilin əsas konstruksiyaları sadə proqramlar yazmaq üçün kifayətdir. İstənilən zaman dil haqqında biliklərinizi artıra bilərsiniz. Təcrübə göstərir ki, illər boyu kod yazmaq da dilin bütün özəlliklərinizi biləcəyinizə zəmanət vermir. Proqramlaşdırma dilləri sürətli şəkildə inkişaf edir, yeni xüsusiyyətlər, funksionallıqlar əlavə olunur.
Sintaksis – proqramlaşdırma dilinin qaydalarıdır. Əlbəttə ki, sintaksisi bilmək proqramlaşdırma dilinin bütün imkanlarından istifadə etməyə şərait yaradır, amma onu bütünlüklə bilmək vacib deyil. Dilin əsas konstruksiyaları sadə proqramlar yazmaq üçün kifayətdir. İstənilən zaman dil haqqında biliklərinizi artıra bilərsiniz. Təcrübə göstərir ki, illər boyu kod yazmaq da dilin bütün özəlliklərinizi biləcəyinizə zəmanət vermir. Proqramlaşdırma dilləri sürətli şəkildə inkişaf edir, yeni xüsusiyyətlər, funksionallıqlar əlavə olunur.