Aphinya Dechalert tərəfindən yazılmış şəkil. Başlıq:

Noobville-dən necə çıxır və bir geliştirici olaraq başlanğıc dərslərindən kənara çıxırsınız?

öz-özünə öyrədilən bir yoldan davamlı təhsil üçün bir bələdçi

Bu günlərdə veb inkişaf etdiricilər ümumiyyətlə başlamaq üçün kifayət qədər biliklə özlərini öyrədirlər. Bununla birlikdə, kompüter alimlərini taxtdan salacaq qədər təhlükəli deyillər.

Bir çox öz-özünə öyrədən inkişaf etdiricilər noobville adlı bir sahəyə qapılırlar, çünki onlar proqramlaşdırma qabiliyyətləri pis olduqları üçün deyil, sadəcə rəhbərliyə ehtiyacları var. Təxminən 7 il əvvəl Noobvildə olduğumu və öyrənməli olduğumu izah edəcək bir rəhbər istədiyini xatırlayıram.

Çıxdıqda bir çox sınaq və səhv, sənayedə və yeni texnologiya ilə əlaqəli açıqlamalar var idi. Kiçiklərimin də eyni mübarizə apardıqlarını gördükdən sonra, onların komandasının lideri olduğum zaman arzuladıqlarımı yazmağa qərar verirəm.

Beləliklə, daha çox danışmadan veb inkişaf etdirmə bacarıqlarınızı artırmaq üçün bir rəhbər təqdim edirəm.

Texniki üçlük

Tez-tez əsas ön uç yığını texniki Üçlük adlandırıram. HTML, CSS və JavaScript-dən ibarətdir.

CSS ilə başlayaq

HTML-də həqiqətən öyrənməli olduğunuz xüsusi bir şey yoxdur, ancaq CSS zaman keçdikcə bir az çətin ola bilər.

Buradakı bir sinifdən və orada bir sinifdən başlayır. Sonra, tətbiqinizə səpələnmiş bir çox dublikat püskürtdünüz. İnsanlar kod qoxuları haqqında danışırlar, ancaq bunlar əsasən JavaScript və digər "həqiqi" proqramlaşdırma dillərini hədəf alır. CSS baş vermir, çünki asan görünür.

Ancaq bu belə deyil - xüsusilə müəyyən bir ölçüyə çatdıqda.

Necə yaxşılaşmaq olar:

Modul CSS arxitekturasına nəzər yetirin. Bir müddətdir mövcud olan bir konsepsiya da var: obyekt yönümlü CSS. Bəli. Bu bir şeydir və uzun müddətə kod bazasını dəli vəziyyətindən qurtarmağa kömək edə bilər.

SCSS kimi ön prosessorlar CSS-i daha çox oxunaqlı bir formata salmaq üçün yaxşı alətlər təqdim edirlər. Bunun sadəcə sintaksis şəkəri olduğu iddia edilə bilər, ancaq bəzən uzun bir günün başqasının spagetti kodunu duzlu hiss etməsindən sonra bir az da olsa şirniyyata sahib olmaq istərdiniz.

Google üçün nə:

OOCSS, BEM, SMACSS, SCSS

JavaScript vasitəsilə söhbətə də ehtiyacımız var

Bir çox insan Üçlüyü düzgün öyrənməyinə ehtiyac olmadığını düşünür. İşləyir, bununla niyə əziyyət çəkirsən?

Ancaq aysberqə doğru üzüb gəmini ən epik üslubda batırdınız. Tətbiqlər məlumat çatışmazlığı səbəbi ilə çökür və yandırılır. Reaktiv və Açısal sizi xilas edə bilməz, çünki onlar yalnız alətlərdir.

JavaScript istifadə etmək bir şeydir. JavaScript ilə danışmağın fərqli bir yoludur.

Necə yaxşılaşmaq olar:

Prototiplərin necə işlədiyini öyrənin. Bu, JavaScript-in əsas xüsusiyyətidir, çünki yeni başlayanlar tez-tez görməməzlikdən gəlirlər, çünki ehtiyac olmadığı barədə yanlış fikir var.

JavaScript proqramlaşdırma paradiqmalarına və memarlıq strukturlarına nəzər yetirin. Kodun birləşməsi və mövzu ilə bağlı müxtəlif mülahizələr sizi kodlaşdırma qaydalarınızdakı və parametrlərinizdəki təsirsizliklər haqqında öyrədə bilər.

Google üçün nə:

JavaScript prototipləri, JavaScript kod birliyi, fərdi məsuliyyət, JavaScript normal ifadələri, OOP JavaScript, FP JavaScript, prosedur JavaScript, JavaScript alqoritm skriptləri

Paradiqma siyahısı

Ən populyar iki proqram paradiqması OOP (obyekt yönümlü) və FP (funksional proqramlaşdırma) dır. Bununla birlikdə, kodun qurulması üçün mövcud olan nəzəriyyələr və metodlar bunlar deyil.

Bunun ardınca prosedur, deklarativ və məcburi proqramlaşdırma gəlir.

Fikrinizi genişləndirmək üçün paradiqmaların proqramlaşdırma sənətini bilməlisiniz. Geri addım atmaq və kodu müəyyən bir şəkildə istifadə edilə bilən bir sıra hissələr kimi görmək imkanı verir.

Proqramlaşdırma paradiqmalarını başa düşdükdən sonra kod artıq kod kimi görünməyəcəkdir. Bu cür biliklərdən xəbərdar olmağın müəyyən bir aydınlıq hissi var.

Kodla münasibətiniz dəyişəcək və işlərin yerinə yetirilməsi üçün funksiyalar daxilində təlimat verməkdən daha çox şey olacaq.

Necə yaxşılaşmaq olar:

OOP ilə başlayın, çünki JavaScript bir obyekt yönümlü proqramlaşdırma paradiqmasını təmsil edən prototiplərə əsaslanır. Asılı qaldıqdan sonra FP prototip hazırlamaq üçün yaxşı olduğu üçün baxmaq üçün yaxşı bir yerdir.

Həqiqətən, prototipləşdirmə konsepsiyasını mənimsəyin, çünki JavaScript-də təmiz kod yaratmaq üçün əsas təməldir. Hər iki düşüncə tərzi Angular, React və Vue kimi çərçivələrə və kitabxanalara da köçürülə bilər.

Hər iki nəzəriyyəni başa düşdükdən sonra prosedur, deklarativ və vacib proqramları davam etdirin. Onlar o qədər də populyar deyillər, ancaq konkret məsələləri həll etmək üçün hazırlanmış fərqli düşüncə tərzinə dair fikirlər təqdim edirlər. Bir metod müəyyən vəziyyətlərdə digərindən daha yaxşı işləyir. Bu ssenarilərin tanınması, onları həll etmək üçün hazırlanmış həllərin bilik və anlayışını tələb edir.

Google üçün nə:

OOP trigonometric funksiyaları, fəaliyyətdəki prototiplər, OOP və FP nümunələri, OOP və FP ilə SOLID prinsipləri

Kod konvensiyalar

Kod konvensiyaları ilə, inkişaf etdiricilər eyni səhifədə qalırlar. Həm də kodunuzun strukturlaşdırılmış, vahid və oxunaqlı olmasının vaxt testi və insanlar tərəfindən yoxlanılmış bir yoludur.

Başlanğıcda tez-tez dərslərimizi, sənədlərimizi, sekmələrimizi və ya boşluqlarımızı kodumuzda necə girinti edə biləcəyimizə dair öz fikirlərimiz var. Bəzən o vaxt məntiqli görünən şeylərin necə adlandırılacağına dair aydın bir quruluşumuz yoxdur - sadəcə geriyə baxmaq və nə düşündüyünüzü təəccübləndirmək üçün.

Kod konvensiyalarını bilmirsinizsə, boşqabını daşıyan bir uşaq görəcəksən. Uşaq daha yaxşı bilmir və dünyadakı ən böyük şey olduğunu düşünür.

Kod bazası üzərində işləyən tək insan olmaq bir şeydir. Bir komandanın bir hissəsi olduqda çətinləşir.

Necə yaxşılaşmaq olar:

Əsas formatlaşdırma konvensiyalarını öyrənməyin ən asan yollarından biri avtomatik formatlamanı dəstəkləyən bir IDE istifadə etməkdir. Visual Studio Kodunda Esben Petersen tərəfindən Prettier Code Formatter adlı bir uzantı var, Saxla düyməsini vurduğunuzda kodunuzu avtomatik olaraq standart şəkildə formatlaşdırır.

Prettier'in gözəlliyi ondan ibarətdir ki, kodunuzu necə biçimləndirməyinizin əhəmiyyəti yoxdur, çünki sonunda bunu sizin üçün edəcəkdir. Girinti, mötərizə və kod yapışdırmaqdan əvvəl konvensiyalara əməl etmirsinizsə, Prettier'ın çıxardığı nəticə sisteminiz üçün bir şok ola bilər - ancaq sizi əldə etmək üçün yaxşı bir şokdur düzgün formatlanmış kodun yazılmasına gəldikdə düzgün istiqamət olmalıdır.

Ancaq Prettier konvensiya ilə əlaqəli hər şeyə əhəmiyyət vermir. __-ın nə vaxt və hansı kontekstdə istifadə ediləcəyi barədə adlandırma qaydalarını öyrənməlisiniz. Layihə tipiniz üçün qovluq quruluşları və seçdiyiniz kitabxana və ya çərçivə üçün hansı növ fayl qrupları.

Google üçün nə:

JavaScript Kod Konvensiyası, JavaScript Adlandırma Konvensiyaları, Açısal / Reaktiv / Vue Adlandırma Konvensiyaları, Angular / React / Vue / VS Kod uzantılarının necə quraşdırıldığına dair JavaScript qovluq quruluşu konvensiyalarına əlavə olaraq istifadə etdiyiniz hər şey

Vizual rəqəmsal dizayn prinsipləri

Bir veb inkişaf etdiricisi olaraq, görmə qabiliyyəti ilə çarpıcı rəqəmsal dizaynların yaradılmasına yol onsuz da maketlər və dizayner PDF-lərlə döşənmiş ola bilər. Bununla birlikdə, bir inkişaf etdirici olaraq həyat həmişə o qədər də asan deyil. Vizual dizaynın prinsiplərini bilmək kodunuzla əlaqəni və quruluşu daha yaxşı anlamağınıza kömək edəcəkdir.

Rəqəmsal dizaynın prinsiplərini başa düşə bildiyiniz zaman kodunuzu necə uyğun şəkildə tərtib edəcəyinizi təxmin edə bilərsiniz. Rəqəmsal dizaynın prinsiplərini bilmək sizi dizaynda istisnaları proqnozlaşdıran və bayrağı dalğalaya bilən daha çox yönlü bir inkişaf etdiriciyə çevirir. Eyni zamanda çoxsaylı ekran ölçüsü ehtiyaclarına cavab verən maye kodu yaratmaqla əlaqənizi yaxşılaşdırır.

Necə yaxşılaşmaq olar:

Google, Intuitiv məhsullar yaratmaq üçün bir rəhbər olaraq Material Design-ı işə saldı. Klassik altı dizayn prinsipi rəqəmsal reproduksiya üçün hələ də aktualdır, buna görə də bunu yoxlamağa dəyər ola bilər.

Dizayn bir sənət növüdür və özünün mükəmməl görünüşlü istifadəçi interfeyslərinizi yaratmağınızdan əmin deyilsinizsə, başqalarının dizaynlarına baxmaq və kopyalamaq yaxşıdır. Sevdiyiniz veb saytların və mobil interfeyslərin vizual klonlarını yaratmaq üzərində işləyin. Bu, hansı nümunələrin istifadə olunduğunu, necə qarşılıqlı əlaqədə olduğunu və həyata keçirildiyini anlamağa kömək edəcəkdir.

Google üçün nə:

vizual dizayn prinsipləri, material dizaynı, həyəcan, jurnalları sındırmaq, maye dizaynı, adaptiv dizayn, mobil ilk dizayn

Git öyrənməlisən

İstəsən də qaçmaq olmaz. Versiya nəzarəti, kod paylaşımı və dəyişikliklərin nəzərdən keçirilməsi məsələsində blokdakı ən böyük və ən populyar uşaqdır.

Git'i necə istifadə edəcəyinizi bilmirsinizsə, xüsusən bir komanda ilə işləsəniz, bir dezavantajınız var. Çox vaxt Git biliyi kiçik inkişaf etdiricilərə nisbətən yeni başlayanlar üçün əsas göstəricilərdən biridir.

Necə yaxşılaşmaq olar:

Narahat olma. Git asandır. Etməli olduğunuz tək budaq yaratmaq, səhnələşdirmək, hərəkətə gətirmək və geri qaytarmaqdır. Git filiallarının birləşməsi, çəkmə istəklərindən istifadə etməklə edilə bilər. Lakin bunu konsolda etməlisinizsə, Google-dakı bəzi sorğular sizə lazım olan əmri verməlidir.

Hələ bir hesabınız yoxdursa, bir GitHub hesabı yaratmaqla təcrübə edə bilərsiniz. Əmrlərlə oynayın və konsoldan istifadə edərək hesabınıza necə bağlayacağınızı öyrənin. Nəzəri olaraq, əyani bir versiya verən, lakin Git'i istifadə etməyi öyrənmə işi görməyən GitHub müştərisini istifadə edə bilərsiniz. Terminal əmrlərini öyrənmək də bəzi hallarda faydalı ola bilər və iş axınını sürətləndirir.

Google üçün nə:

Git, Git iş axını əmrləri, Git'i öyrənin

Vahid test 101

Kodun necə yazıldığına gəldikdə vahid test tamamilə fərqli bir düşüncə tələb edir. Gözlənilən nəticə ilə başlayır və istisnaların tutulmasını və idarə olunmasını təmin edir.

İnsanların kod öyrənməsinin adi yolu, kod mutasiyalarını ehtiva edən eksperimental xüsusiyyətlərə malik xüsusi bir metoddur. Testlə idarə olunan bir yanaşma sonda başlayır və əvvəldən geriyə doğru işləyir. Dırnaqları taxta çəkmədən əvvəl kodunuzu qurduğunuzdan əmin olur.

Giriş və çıxışları tanıyan möhkəm bir məhsul əldə etməyinizi təmin etmək üçün sınaqdan keçirilmiş dizayn və memarlıq sənətini öyrənin. İnsan səhvini azaldır və çatlaqlara nəzər yetirmədən və bezdirici başlarını ən şübhəsiz yerlərdə düzəltmədən əvvəl böcəkləri tutur.

Kodunuzu parçalara ayırmağa və müəyyən bir kod vahidinin gözlənildiyi kimi işlədiyini yoxlamağa məcbur edir. Kod bazanızda hər hansı bir dəyişiklik baş verərsə, dəyişikliyə səbəb olan hər hansı bir fasilə testlər tərəfindən tutulmalıdır. Bu, səhv və səbəblərini izləmək üçün lazım olan vaxtı azaldır.

Necə yaxşılaşmaq olar:

Jasmine, Mocha və Jest kimi vahid testlər üçün bir neçə çərçivə və kitabxana var. Kodunuzun JavaScript səhifəsini yaratmaq üçün Angular kimi bir çərçivə və ya React kimi bir kitabxanadan istifadə etməyiniz böyük bir şansdır. Bununla birlikdə hansı test çərçivəsi və ya kitabxananın istifadə edildiyini görməlisiniz.

Google üçün nə:

Vahid test prinsipləri vahid testinin olmadığı (ümumi anlaşılmazlıqları aradan qaldırmaq üçün), Jasmine, Mocha, Jest, vahid test çərçivələri ilə kitabxanalar arasındakı fərqlər, vahid test nümunələri

Düyün və verilənlər bazası ilə tam yığma

Yalnız vebdə olsanız, ön tərəfli bir veb geliştirici olacaqsınız. API-lərin necə yaradıldığını və işlərin bir verilənlər bazası ilə necə əlaqəli olduğunu bilmək, özünüzü təmiz bir inkişaf etdiricidən fərqləndirməyə kömək edə bilər.

Fantastik bir veb geliştirici olmaq üçün bir şərt olmasa da, bacarıqlarınızı şaxələndirə bilər və başa düşməyinizi bir ucdan uca perspektivlə inkişaf etdirə bilər. Əlavə olaraq bacarıqlarınız potensial işəgötürənlər üçün daha çox satılacaqdır.

Ənənəvi müəssisələr əlaqəli MySQL əsaslı verilənlər bazaları ilə əlaqədardır, buna görə cədvəllərin və əlaqələrin necə işlədiyini bilmək və başa düşmək yaxşıdır. Bir çox startupçılar uzunmüddətli xərclər, onunla birlikdə gələn rahatlıq və tətbiqetmə rahatlığı səbəbindən MongoDB kimi cədvəlsiz verilənlər bazalarını seçirlər.

Node.js ilə verilənlər bazanız arasında arxa interfeys yarada və onu ön ucunuz üçün istehlak API-yə çevirə bilərsiniz.

Necə yaxşılaşmaq olar:

Əvvəllər Node.js-ə rast gəlmədiyiniz təqdirdə bir verilənlər bazasına qoşulan bir sıra CRUD API-ləri yaradın. Yaratmaq, oxumaq, yeniləmək və silmək, baş verə biləcək hər hansı bir hərəkətin ən müqəddəs hissəsidir. Hər şey bir nöqtədə verilənlər bazasına işarə edir. Verilənlər bazası ilə qarşılıqlı əlaqəli bir sıra API yarada bilsəniz, görüləcək bir çox iş var.

Node.js JavaScript-də olduğundan, buna bənzər bir şey yaratmaq üçün Java və ya C ++ kimi başqa bir dil öyrənməli olduğunuz on il əvvəlkindən daha asan yaşayır.

Google üçün nə:

Node.js CRUD, verilənlər bazasına node bağlantısı, node API naxışı, MongoDB, mySQL dizaynı və memarlığı

İnfrastruktur seçimləri

AWS, Google Cloud, Azure və Heroku, infrastruktur baxımından araşdırılması mümkün olan sahələrdir. Tətbiqi ucdan uca qurmağın başqa bir şey var - başqa bir yerə qoyub ictimaiyyətə təqdim etməyin.

AWS-ə gəldikdə, statik yerləşdirmə üçün S3 istifadə etmək yalnız qəpikdir. AWS-in təsəvvür edə biləcəyiniz hər şeyi əhatə edən 90-dan çox xidmət təklif edən ən böyük bulud həlləri təminatçısı olduğunu da qeyd etmək lazımdır.

Gloogle Cloud və Azure eyni konsepsiyanı izləyir və rəqabətli qiymətlərlə bərabər xidmətlər təklif edir.

Heroku daha çox istədiyiniz hər şeyi qoya biləcəyiniz bir qutuya bənzəyir. Tətbiqinizi vebdə yayımlamaq istəyirsinizsə, bu çox yönlü bir həlldir.

Necə yaxşılaşmaq olar:

Yuxarıda göstərilən xidmətlərdən birini seçin, pulsuz hesab yaradın və vebdə yaratdığınız bir tətbiq yerləşdirin. Fərqli xidmətlərin necə bir araya gəldiyini və tam yığım tətbiqetməni uyğun hissələrə necə ayıracağınızı öyrənin.

Heroku istifadə edərək Docker və komanda xətti alətləri ilə tanış olacaqsınız. AWS istifadə edərək veb həllərinin əsaslarını daha yaxşı başa düşə bilərsiniz. Eyni şey Google Cloud və Azure üçün də tətbiq olunur.

İnfrastruktur, hamısının bir-birinə necə uyğun gəldiyini görmək üçün əlinizə almanız lazım olan şeylərdən biridir.

Google üçün nə:

Webstack / Deployment AWS / Azure / Google Cloud, Heroku and Docker, Docker Deployments, AWS / Azure / Google Cloud / Heroku üçün Davamlı Dağıtım Borusu

son sözlər

Bəzən nə öyrənəcəyinizi bilmədiyiniz zaman bacarıqlarınızı inkişaf etdirmək çətin olur. Ümid edirəm ki, bu təlimat bir başlanğıc / kiçik səviyyədən yüksəltmək üçün tələb olunan mövzular barədə məlumatlılığınızı artırmağa kömək etdi.

Proqramlaşdırma dünyasında həqiqi təcrübə bir insanın keçdiyi həftə, ay və ya il sayına görə təyin olunmur. Bu bilikləri tətbiq etməkdə və problemlərə uyğunlaşdırmaqda ağıllarının nə qədər çevik və səlis olduqlarından və şifrəni ən təsirli, oxunaqlı və qısa şəkildə yaradıcı şəkildə dizayn edə bilmələrindən dərinliklərinə və biliklərinə bağlıdır.

Bağlı qalaq və möhtəşəm veb həzmləri üçün həftəlik bülletenlər siyahısına qoşulaq. Oxuduğunuz üçün təşəkkür edirəm. «

Afinya