Java proqramçısı və proqram təminatı tərtibatçısı olaraq, hər bir proqramçının bilməli olduğu bir çox məqalədən çox şey öyrəndim ..... , onlar başqa cür çətin olan müəyyən bir mövzu haqqında çoxlu faydalı və əhatəli məlumat verirlər. kəşf etmək. Bilik axtarışında, təkrar oxumaq üçün istinad məlumatı olaraq əlfəcin qoyduğum çox faydalı məqalələrlə rastlaşdım. Bir çox proqramçıların bu kolleksiyanı oxumaqdan faydalana biləcəyi fikri məni bu yazını yazmağa və bütün bu “Hər bir proqramçının bilməli olduğu şeylər” məqalələrini sizinlə paylaşmağa vadar etdi. Bu məqalədə siz yaddaş , Unicode , üzən nöqtə arifmetikası , şəbəkə , obyekt yönümlü dizayn vaxt , URL kodlaşdırması , sətir və bir çox başqa mövzularda hər bir proqramçıya lazım olan klassik bilik dəsti ilə tanış olacaqsınız . Bu siyahı yeni başlayanlar və yeni gələnlər üçün çox vacibdir, çünki onlar tez-tez praktiki biliklərə malik deyillər. Məqalələrin çoxu real həyat nümunələrinə əsaslandığından, ilk və orta səviyyəli proqramçılar onlardan çox şey öyrənə bilərlər. Həmçinin, karyeranızın əvvəlində əsasları öyrənmək, digər proqramçıların və proqram tərtibatçılarının öyrənmə yollarında artıq buraxdıqları səhvlərdən qaçmağa kömək edəcək. Təəssüf ki, təsvir olunan məqalələrdəki bütün məlumatlar ilk oxunuşdan asanlıqla həzm olunmur. Çox güman ki, üzən nöqtə nömrələri ilə bağlı bəzi təfərrüatları dərhal başa düşməyəcəksiniz və ya yaddaşın incəlikləri sizi çaşdıra bilər, lakin bu kolleksiyanı əlinizdə saxlamaq və aydınlaşdırmaq üçün vaxtaşırı ona müraciət etmək vacibdir. Beləliklə, sizə uğurlar arzulayıram və bu gözəl məqalələri oxumaqdan həzz alın. Yeri gəlmişkən, siyahımızda yoxdursa, "Hər bir proqramçının bilməli olduğu" hər hansı digər məqalələri paylaşmağı unutmayın.
Hər bir proqramçı yaddaş haqqında nə bilməlidir
rus dilinə tərcümə Bu, bəziləri köhnə, bəziləri yeni, bəziləri məşhur və bəziləri o qədər də çox olmayan yaddaş xüsusiyyətləri ilə sizə bələdçilik edəcək klassik məqalələrdən biridir. İdarəetmə roluna və hər yerdə olmasına baxmayaraq, hər proqramçının Yaddaş haqqında kifayət qədər biliyi yoxdur. Müasir sistemlərdə yaddaşla tanış olmağın əhəmiyyəti yüksək performanslı proqramlar yazmaq işindəsinizsə, artır. Aparat dizaynerləri daha mürəkkəb yaddaş idarəetmə modelləri və CPU keşləri kimi sürətləndirmə üsulları ilə çıxış edirlər, lakin bunlar proqramçıların köməyi olmadan optimal şəkildə işləyə bilməz. Mən hələ də bu məqaləni oxuyuram və ondan RAM, L1 və L2 önbelleği kimi CPU keşləri, müxtəlif yaddaş növləri, birbaşa yaddaşa giriş, yaddaş nəzarətçisinin dizaynı və ümumiyyətlə yaddaş haqqında nə qədər öyrəndiyimi deyə bilmərəm. . Bir sözlə, istənilən səviyyədə olan proqramçılar üçün mütləq oxunmalıdır.Üzən Nöqtəli Arifmetika Haqqında Hər Alim Nə Bilməlidir
Üzən nöqtə arifmetikasının mövzusu çətin və mənimsənilməsi asan deyil.float
Bir çox Java proqramçıları dəyərləri type / double
operator ilə müqayisə edərkən nəyin səhv ola biləcəyini belə bilmirlər ==
. Bir çoxumuz pul hesablamalarını növlər float
və double
. Bu məqalə bu seriyanın başqa bir incisidir və bütün proqram tərtibatçıları və proqramçılar üçün mütləq oxunmalıdır. Təcrübə qazandıqca ümumi mövzuların incəliklərinə daxil olmalısınız və üzən nöqtə arifmetikası onlardan biridir. float
Yüksək səviyyəli Java tərtibatçısı kimi siz pul hesablamalarını, nə vaxt istifadə edəcəyinizi və double
ya BigDecimal
üzən nöqtə nömrələrini yuvarlaqlaşdırmağı və daha çox şeyləri bilməlisiniz . Bu mövzuda kifayət qədər məlumatınız olsa belə, məqaləni oxuduqdan sonra üzən nöqtə əməliyyatları haqqında yeni bir şey kəşf edə bilərsiniz.
Hər bir tərtibatçı Unicode haqqında bilməlidir
Xarakterlərin kodlaşdırılması bir çox proqramçının mübarizə apardığı başqa bir sahədir və “Hər bir Proqram Tərtibatçısının Unicode və Simvol Dəstləri Haqqında Mütləq Minimum Bilməlidir (Bəhanə yoxdur!)” bu boşluğu doldurmaq məqsədi daşıyır. Qeyd edək ki, Bəli, bu məqalənin tam adıdır. Onun müəllifi https://stackoverflow.com saytının yaradıcılarından biri olan Coel Spolskidir . Joel bu məqaləni öz bloqunda təxminən 10 il əvvəl yazıb, lakin müasir dünyada aktuallığını itirməyib. Məqalədə Unicode nədir, kodlaşdırma nədir, baytlardan istifadə edərək simvolların necə təmsil olunduğu və daha çox şey izah olunur. Bu məqalənin ən yaxşı cəhətlərindən biri dil və təqdimat üsuludur, hətta Unicode haqqında heç nə bilmirsinizsə belə, onu başa düşməkdə heç bir probleminiz olmayacaq. Bir sözlə, başqası bütün proqramçılar, kodlaşdırıcılar və proqram mühəndisləri üçün oxumalıdır.Hər bir proqramçının zaman haqqında bilməli olduğu şeylər
Simvolların kodlaşdırılması ilə yanaşı, vaxt və tarixlər (Time
və Date
) mənim də daxil olmaqla bir çox proqramçının çətinlik çəkdiyi başqa bir sahədir. Hətta yüksək səviyyəli tərtibatçılar GMT, UTC, yaz vaxtı və sıçrayış saniyələrində itirirlər. Düzünü desəm, bəzi səhvlərə yol vermədən vaxt qurşaqları ilə məşğul olmaq asan deyil və Yaz saatından istifadə bunu daha da çətinləşdirir. Sınaq və səhvdən istifadə etsəniz, problemlər daha da pisləşir, çünki bunu etməklə probleminizi heç vaxt həll edə bilməyəcəksiniz. Səhv gedə biləcək çox sayda şey və eyni sayda yanlış təsəvvür var. Tarixin saat qurşağının olub-olmaması kimi şeylər sizi çaşdıra bilər, UNIX vaxtını digər saat qurşaqlarına çevirmək sizi qıcıqlandıra bilər və siz saatları və gecikmələri sinxronizasiya etməyi asanlıqla unuda bilərsiniz. Ümid edirəm ki, bu yazını oxuduqdan sonra zamanla bağlı bir çox yanlış təsəvvürləriniz aradan qalxacaq və sizdə zaman haqqında tam anlayış formalaşacaq.
Hər Veb Tərtibatçısının URL Kodlaşdırması Haqqında Nəyi Bilməlidir
Bu məqalə Uniform Resource Locator (URL) kodlaşdırması haqqında ümumi yanlış təsəvvürləri təsvir edir, daha sonra HTTP üçün URL kodlamasını aydınlaşdırmağa cəhd edir və sonra ümumi problemlər və həll yollarını nümayiş etdirir. Bu məqalə hər hansı bir proqramlaşdırma dilinə xas olmasa da, Java-dakı problemləri təsvir edir) və Java-da və bir neçə səviyyəli veb proqramlarda URL kodlaşdırma problemlərini həll etmək üçün izahatlarla bitir. Siz əsas URL qrammatikasını, HTTP-də ümumi URL sintaksisini və digər protokolları öyrənəcəksiniz. Bu məqalə həmçinin simvol kodlaşdırması, URL-in müxtəlif hissələrində xüsusi simvollar və URL kodlaşdırma/şifrləmə məsələləri kimi ümumi URL tələlərini əhatə edir. Əgər siz Java proqramçısısınızsa, o zaman Java proqramında URL-ləri düzgün idarə etməyi də öyrənəcəksiniz. URL qurmaq və Apache Commons HTTP müştəri kitabxanasından necə istifadə etmək olar. Nəhayət, o, həmçinin URL-lərlə işləmək üçün ən yaxşı təcrübələr və təkliflər təklif edir, məsələn, URL-i qurarkən onu necə kodlaşdırmalı, URL yenidən yazma filtrlərinizin URL-lərinizi düzgün idarə etdiyinə əmin olun və s. Bir sözlə, istənilən veb tərtibatçı və proqramçı üçün mütləq oxunmalıdır.Hər bir proqramçı veb inkişafı haqqında nə bilir?
ProqrammersStackExchange-in bu maraqlı məqaləsi veb tətbiqinin texniki təfərrüatlarını həyata keçirən hər bir proqramçının saytı ictimaiyyətə açmazdan əvvəl nələrə diqqət etməli olduğu haqqındadır. Buraya İnterfeys dizaynı və İstifadəçi Təcrübəsi, Təhlükəsizlik, Veb standartları, Performans, Axtarış Mühərrikinin Optimizasiyası (SEO), istifadə olunan texnologiyalar və bəzi vacib resurslar sahələrindən olan şeylər daxildir. Bugünkü dünya əsasən İnternetdən asılıdır və bir proqramçının şəxsi veb-saytı və ya bloqu olması olduqca adi haldır. Bu məqalədən əldə edilən təcrübə təkcə peşəkar fəaliyyətinizdə deyil, həm də öz layihələrinizdə faydalı olacaq. Siz HTTP, HTML, XML, CSS, JavaScript, brauzer uyğunluğu, saytınızın yükləmə vaxtını azaltmaq üçün məsləhətlər, XML sayt xəritələri, W3C spesifikasiyası və bir sıra digər əsas məqamlar kimi bütün əsas texnologiyalar haqqında öyrənəcəksiniz.Hər bir proqramçı SEO haqqında nə bilməlidir
Bu, veb tərtibatçıları, proqramçılar və bloggerlər üçün olduqca faydalı olacaq başqa bir məqalədir. SEO diqqətdən kənarda qalmamaq üçün çox böyükdür və bir çox proqramçı və blogger üçün Google-a onların məzmununu tapmağa və onu digər proqramçılara göstərməyə kömək etmək üçün axtarış sisteminin optimallaşdırılmasının əsaslarını bilməsi vacibdir. Heç bir şirkət bu günün əlaqəli dünyasında veb varlığı olmadan yaşaya bilmədiyi üçün SEO daha da vacib olur. Hər hansı bir məhsul satan bir başlanğıcınız varsa, SEO diqqət etməli olduğunuz bir şeydir. Bütün proqramçılar, xüsusən də veb tərtibatçıları bu məqalədən çox faydalana bilərlər. Unutmayın ki, axtarış sisteminin optimallaşdırılması geniş və çox dinamikdir və Google, Yahoo və başqaları kimi müxtəlif axtarış sistemlərində dəyişir. Beləliklə, bu mövzuya yiyələnmək üçün biliklərinizi daim yeniləməlisiniz.Hər C Proqramçısının Müəyyən edilməmiş Davranış Haqqında Nəyi Bilməlidir #1/3
C proqramlaşdırma dilində "müəyyən edilməmiş davranış" anlayışı var. Müəyyən edilməmiş davranış çoxlu nüansa malik geniş mövzudur və bu, Java-nı sevməyimin səbəblərindən biridir: daha az qeyri-müəyyən davranış, daha az qarışıqlıq, daha çox sabitlik və daha çox sülh. C-də ağlabatan görünən bir çox şeyin əslində qeyri-müəyyən davranışı var və bu, proqramlardakı səhvlərin ümumi mənbəyidir. Əlavə olaraq, C-də hər hansı qeyri-müəyyən davranış tətbiqlərə (tərtibçi və iş vaxtı) sərt diski formatlaşdıran, tamamilə gözlənilməz işlər görən və ya daha pis işlərlə məşğul olan kodun yaradılmasına icazə verir. Gözlənilməz davranış dənizinə dərin dalış üçün bu əla məqaləni oxuyun.Hər bir proqramçının şəbəkələr haqqında bilməli olduğu şeylər
Məqalənin özündən "Siz proqramçısınız. Çox oyunçu oyunlarının necə işlədiyini heç düşünmüsünüzmü? Kənardan baxanda sehrli görünür: iki və ya daha çox oyunçu onlayn əməkdaşlıq təcrübəsini paylaşır, sanki eyni virtual dünyada birlikdə mövcuddurlar. Amma necə "Biz həqiqəti bilirik, proqramçılar, əslində baş verənlər gördüyünüzdən tamamilə fərqlidir. Məlum oldu ki, bunların hamısı bir illüziyadır." Bu, oyun proqramçıları üçün yazılmış şəbəkə haqqında çox maraqlı məqalədir, lakin məncə hər bir proqramçı və tərtibatçı bundan faydalana bilər.Hər Java Tərtibatçısının Sətirlər Haqqında Nəyi Bilməlidir
Bu mənim məqaləmdirjava.lang.String
və şəxsən düşünürəm ki, hər bir Java proqramçısı bu barədə bilməlidir. Gündəlik Java proqramlaşdırmasında sətirlər çox vacibdir və buna görə də hər hansı bir Java tərtibatçısı üçün yaxşı bilik mütləqdir. Bu məqalə sətir hovuzu, sətir literalları, sətirləri ==
vs ilə müqayisə etmək equals()
, baytları sətirə çevirmək, sətrin niyə dəyişməz olması, düzgün sətir birləşməsi və s. daxil olmaqla, Stringlərin bir çox mühüm aspektlərini əhatə edir. Qabaqcıl bir proqramçı artıq bütün bu xüsusiyyətləri bilə bilər, lakin buna baxmayaraq, nəzərdən keçirmək yaxşı olardı.
GO TO FULL VERSION