JavaRush /Java blogi /Random-UZ /Har bir dasturchi o'qishi kerak bo'lgan 10 ta maqola
Shoggy
Daraja
Санкт-Петербург

Har bir dasturchi o'qishi kerak bo'lgan 10 ta maqola

Guruhda nashr etilgan
Java dasturchisi va dasturiy ta'minot ishlab chiqaruvchisi sifatida men " Har bir dasturchi bilishi kerak bo'lgan narsalar haqida" nomli ko'plab maqolalardan ko'p narsalarni o'rgandim. kashf qilish. Bilimga intilishda men qayta o'qish uchun ma'lumotnoma sifatida xatcho'p qo'ygan juda foydali maqolalarga duch keldim. Ushbu to'plamni o'qish ko'plab dasturchilarga foyda keltirishi mumkin degan fikr meni ushbu postni yozishga va "Har bir dasturchi bilishi kerak bo'lgan narsalar" maqolalarining barchasini siz bilan baham ko'rishga undadi. Ushbu maqolada siz xotira , Unicode , suzuvchi nuqta arifmetikasi , tarmoq , ob'ektga yo'naltirilgan dizayn vaqt , URL kodlash , String va boshqa ko'plab Har bir dasturchi o'qishi kerak bo'lgan 10 ta maqola - 1mavzularda har bir dasturchiga kerak bo'lgan klassik bilimlar to'plami bilan tanishasiz . Ushbu ro'yxat yangi boshlanuvchilar va yangi kelganlar uchun juda muhim, chunki ular ko'pincha amaliy bilimga ega emaslar. Maqolalarning aksariyati hayotiy misollarga asoslanganligi sababli, boshlang'ich va o'rta darajadagi dasturchilar ulardan ko'p narsalarni o'rganishlari mumkin. Bundan tashqari, karerangizning dastlabki bosqichlarida asoslarni o'rganish sizga boshqa dasturchilar va dasturiy ta'minot ishlab chiqaruvchilari o'rganish yo'lida yo'l qo'ygan xatolardan qochishingizga yordam beradi. Afsuski, ta'riflangan maqolalardagi barcha ma'lumotlar birinchi o'qishdan oson hazm bo'lmaydi. Ehtimol, siz suzuvchi nuqta raqamlariga oid ba'zi tafsilotlarni darhol tushunolmaysiz yoki xotiraning nozik jihatlaridan adashishingiz mumkin, ammo bu to'plamni qulay saqlash va vaqti-vaqti bilan tushuntirish uchun unga murojaat qilish muhimdir. Shunday qilib, sizga omad tilayman va ushbu ajoyib maqolalarni o'qishdan zavqlanasiz. Aytgancha, agar bizning ro'yxatimizda bo'lmasa, "Har bir dasturchi bilishi kerak bo'lgan" boshqa maqolalarni baham ko'rishni unutmang.

Har bir dasturchi xotira haqida nimani bilishi kerak

rus tiliga tarjima Bu sizga xotiraning xususiyatlari bo'yicha yo'l-yo'riq beradigan klassik maqolalardan biri bo'lib, ularning ba'zilari eski, ba'zilari yangi, ba'zilari mashhur va ba'zilari unchalik ko'p emas. Boshqaruv roli va hamma joyda mavjudligiga qaramay, har bir dasturchi Xotira haqida etarli darajada bilimga ega emas. Agar siz yuqori unumli ilovalarni yozish bilan shug'ullansangiz, zamonaviy tizimlarda xotira bilan tanishishning ahamiyati ortadi. Uskuna dizaynerlari xotirani boshqarishning yanada murakkab modellari va protsessor keshlari kabi tezlashtirish usullarini taklif qilmoqdalar, ammo ular dasturchilarning yordamisiz optimal ishlay olmaydi. Men hali ham ushbu maqolani o‘qiyapman va undan operativ xotira, L1 va L2 keshlari kabi protsessor keshlari, turli xil xotira turlari, xotiraga bevosita kirish, xotira kontrolleri dizayni va umuman xotira haqida qanchalar o‘rganganimni ayta olmayman. . Qisqasi, har qanday darajadagi dasturchilar uchun o'qish kerak.

Har bir olim suzuvchi nuqta arifmetikasi haqida nimani bilishi kerak

Suzuvchi nuqta arifmetikasi mavzusi murakkab va uni o'zlashtirish oson emas. floatKo'pgina Java dasturchilari qiymatlarni type / doubleoperator bilan taqqoslaganda nima noto'g'ri bo'lishi mumkinligini bilishmaydi ==. Ko'pchiligimiz floatva turlari bo'yicha pul hisob-kitoblarini amalga oshirishda ko'pincha xatoga yo'l qo'yamiz double. Ushbu maqola ushbu seriyaning yana bir marvarididir va barcha dasturiy ta'minot ishlab chiquvchilari va dasturchilar uchun o'qishi shart. Tajriba orttirganingizda, siz umumiy mavzularning nozik tomonlariga o'tishingiz kerak va suzuvchi nuqta arifmetikasi ulardan biridir. Katta Java dasturchisi sifatida siz pul hisob-kitoblarini qanday qilishni, qachon ishlatishni floatyoki suzuvchi nuqta raqamlarini qanday yaxlitlashni va boshqa ko'p narsalarni doublebilishingiz kerak. BigDecimalAgar siz ushbu mavzu bo'yicha yaxshi bilimga ega bo'lsangiz ham, maqolani o'qib chiqqandan so'ng, suzuvchi nuqta operatsiyalari haqida yangi narsalarni topishingiz mumkin.

Har bir ishlab chiquvchi Unicode haqida bilishi kerak bo'lgan narsa

Belgilarni kodlash ko'plab dasturchilar kurashadigan yana bir sohadir va "Har bir dasturiy ta'minot ishlab chiqaruvchisi Unicode va belgilar to'plami haqida mutlaqo bilishi kerak bo'lgan mutlaq minimal (uzrsiz!)" bu bo'shliqni to'ldirishga qaratilgan. Ma’lumot uchun, Ha, bu maqolaning to‘liq sarlavhasi. Uning muallifi Joel Spolskiy, https://stackoverflow.com asoschilaridan biri . Joel ushbu maqolani o'z blogida deyarli 10 yil oldin yozgan, ammo u zamonaviy dunyoda o'z ahamiyatini yo'qotmagan. Maqolada Unicode nima ekanligini, kodlash nima ekanligini, baytlar yordamida belgilar qanday ifodalanishi va boshqalar tushuntiriladi. Ushbu maqolaning eng yaxshi jihatlaridan biri bu til va taqdimot usuli, hatto Unicode haqida hech narsa bilmasangiz ham, uni tushunishda hech qanday muammo bo'lmaydi. Muxtasar qilib aytganda, boshqasi barcha dasturchilar, koderlar va dasturiy ta'minot muhandislari uchun o'qilishi kerak.

Har bir dasturchi vaqt haqida nimani bilishi kerak

Belgilarni kodlashdan tashqari, vaqt va sanalar ( Timeva Date) ko'plab dasturchilar, jumladan, men ham qiyinchiliklarga duch keladigan yana bir sohadir. Hatto yuqori darajali dasturchilar ham GMT, UTC, yozgi vaqt va sakrash soniyalarida adashadi. To‘g‘risini aytsam, vaqt zonalari bilan ba’zi xatoliklarga yo‘l qo‘ymaslik oson emas, yozgi vaqtdan foydalanish esa buni yanada qiyinlashtiradi. Agar siz sinov va xatolikdan foydalansangiz, muammolar yomonlashadi, chunki bu bilan muammoingizni hech qachon hal qila olmaysiz. Noto'g'ri ketishi mumkin bo'lgan juda ko'p narsalar va bir xil miqdordagi noto'g'ri tushunchalar mavjud. Sana vaqt mintaqasini o'z ichiga oladimi yoki yo'qmi kabi narsalar sizni chalkashtirib yuborishi mumkin, UNIX vaqtini boshqa vaqt zonalariga aylantirish sizni bezovta qilishi mumkin va siz soatlar va kechikishlarni sinxronlashtirishni osongina unutishingiz mumkin. Umid qilamanki, ushbu maqolani o'qib bo'lgach, vaqt haqidagi ko'plab noto'g'ri tasavvurlaringiz yo'qoladi va sizda vaqt haqida to'liq tushuncha paydo bo'ladi.

Har bir veb-ishlab chiquvchi URL kodlash haqida nimani bilishi kerak

Ushbu maqola Uniform Resource Locator (URL) kodlash haqidagi keng tarqalgan noto'g'ri tushunchalarni tasvirlaydi, so'ngra HTTP uchun URL kodlashni aniqlashtirishga harakat qiladi va keyin umumiy muammolar va echimlarni namoyish etadi. Garchi ushbu maqola biron bir dasturlash tiliga xos bo'lmasa-da, u Java-dagi muammolarni ko'rsatadi) va Java-da URL kodlash muammolarini va bir necha darajadagi veb-ilovalarni tuzatish uchun tushuntirishlar bilan yakunlanadi. Siz asosiy URL grammatikasini, HTTP-dagi umumiy URL sintaksisini va boshqa protokollarni o'rganasiz. Ushbu maqola, shuningdek, belgilarni kodlash, URLning turli qismlaridagi maxsus belgilar va URL kodlash/dekodlash muammolari kabi umumiy URL tuzoqlarini ham qamrab oladi. Agar siz Java dasturchisi bo'lsangiz, Java ilovasida URL manzillarini qanday qilib to'g'ri boshqarishni ham o'rganasiz. URL manzilini qanday yaratish va Apache Commons HTTP mijozlar kutubxonasidan foydalanish. Va nihoyat, u URL manzillari bilan ishlash boʻyicha eng yaxshi amaliyot va takliflarni taklif etadi, masalan, uni yaratishda URLni qanday kodlash kerakligi, URLni qayta yozish filtrlari URL manzillaringizni toʻgʻri ishlashiga ishonch hosil qilish va boshqalar. Muxtasar qilib aytganda, har qanday veb-ishlab chiquvchi va dasturchi o'qishi kerak.

Har bir dasturchi veb-ishlab chiqish haqida nimani biladi?

ProgrammersStackExchange-ning ushbu qiziqarli maqolasi veb-ilovaning texnik tafsilotlarini amalga oshiruvchi har bir dasturchi saytni ommaga ochishdan oldin nimani e'tiborga olishi kerakligi haqida. U interfeys dizayni va foydalanuvchi tajribasi, xavfsizlik, veb-standartlar, unumdorlik, qidiruv tizimini optimallashtirish (SEO), foydalaniladigan texnologiyalar va ba'zi muhim manbalarni o'z ichiga oladi. Bugungi dunyo ko'p jihatdan Internetga bog'liq va dasturchining shaxsiy veb-sayti yoki blogi bo'lishi odatiy holdir. Ushbu maqoladan olingan tajriba nafaqat professional faoliyatingizda, balki o'z loyihalaringizda ham foydali bo'ladi. Siz HTTP, HTML, XML, CSS, JavaScript kabi barcha asosiy texnologiyalar, brauzerning mosligi, saytingizni yuklash vaqtini qisqartirish bo'yicha maslahatlar, XML sayt xaritalari, W3C spetsifikatsiyalari va boshqa bir qancha muhim fikrlar haqida bilib olasiz.

Har bir dasturchi SEO haqida nimani bilishi kerak

Bu veb-ishlab chiquvchilar, dasturchilar va bloggerlar uchun juda foydali bo'lgan yana bir maqola. SEOni e'tiborsiz qoldirish uchun juda katta va ko'plab dasturchilar va bloggerlar uchun qidiruv tizimini optimallashtirish asoslarini bilish Googlega o'z mazmunini topishga va uni boshqa dasturchilarga ko'rsatishga yordam berish uchun muhimdir. Bugungi bog'langan dunyoda hech qanday kompaniya veb-mavjud holda yashay olmasligi sababli, SEO yanada muhimroq bo'ladi. Agar sizda biron bir mahsulotni sotadigan boshlang'ich tashkilotingiz bo'lsa, unda SEO sizga g'amxo'rlik qilishingiz kerak bo'lgan narsadir. Barcha dasturchilar, ayniqsa veb-ishlab chiquvchilar ushbu maqoladan katta foyda olishlari mumkin. Esingizda bo'lsin, qidiruv tizimini optimallashtirish keng va juda dinamik bo'lib, turli xil qidiruv tizimlarida, masalan, Google, Yahoo va boshqalarda farqlanadi. Shunday qilib, ushbu mavzuni o'zlashtirish uchun siz doimo bilimingizni yangilashingiz kerak.

Har bir C dasturchisi aniqlanmagan xatti-harakatlar haqida bilishi kerak bo'lgan narsa №1/3

C dasturlash tilida "aniqlanmagan xatti-harakatlar" tushunchasi mavjud. Aniqlanmagan xatti-harakatlar - bu juda ko'p nuanslarga ega bo'lgan keng mavzu va bu Java-ni yaxshi ko'rishimning sabablaridan biri: kamroq aniqlanmagan xatti-harakatlar, kamroq chalkashlik, ko'proq barqarorlik va ko'proq tinchlik. C tilidagi mantiqiy ko'rinadigan ko'plab narsalar aslida aniqlanmagan xatti-harakatlarga ega va bu dasturlardagi xatolarning keng tarqalgan manbai. Bundan tashqari, C tilidagi har qanday noaniq xatti-harakatlar amalga oshirishga (kompilyator va ish vaqti) qattiq diskni formatlaydigan kodni yaratishga ruxsat beradi, umuman kutilmagan narsalarni qiladi yoki undan ham yomoni. Kutilmagan xatti-harakatlar dengiziga chuqur sho'ng'ish uchun ushbu ajoyib maqolani o'qing.

Har bir dasturchi tarmoqlar haqida bilishi kerak bo'lgan narsalar

Maqolaning o'zidan "Siz dasturchisiz. Ko'p o'yinchi o'yinlari qanday ishlashini hech o'ylab ko'rganmisiz? Tashqaridan qaraganda, bu sehrli ko'rinadi: ikki yoki undan ortiq o'yinchilar onlayn hamkorlik tajribasini baham ko'rishadi, go'yo ular bir xil virtual dunyoda birga mavjud. Ammo qanday qilib "Biz haqiqatni bilamiz, dasturchilar, aslida sodir bo'layotgan narsa siz ko'rgan narsadan butunlay farq qiladi. Bularning barchasi illyuziya ekanligi ayon bo'ldi." Bu o'yin dasturchilari uchun yozilgan tarmoq haqida juda qiziqarli maqola, lekin menimcha, har bir dasturchi va dasturchi undan foyda olishi mumkin.

Har bir Java dasturchisi strings haqida nimani bilishi kerak

Bu mening maqolam java.lang.Stringva shaxsan menimcha, har bir Java dasturchisi bu haqda bilishi kerak. Kundalik Java dasturlashda satrlar juda muhim va shuning uchun har qanday Java dasturchisi uchun yaxshi bilim zarur. Ushbu maqola Stringlarning koʻplab muhim jihatlarini, jumladan, satrlar fondi, satr literallari, satrlarni ==vs bilan taqqoslash equals(), baytlarni satrga aylantirish, satr nima uchun oʻzgarmasligi, toʻgʻri satr birikmasi va boshqalarni oʻz ichiga oladi. Ilg'or dasturchi bu xususiyatlarning barchasini allaqachon bilishi mumkin, ammo shunga qaramay, ko'rib chiqish yaxshi fikr bo'ladi.

Har bir dasturchi xavfsizlik haqida nimani bilishi kerak?

Bu savol StackOverflow-da talaba dasturchi tomonidan berilgan. Biz operatsion tizim, algoritmlar, ma'lumotlar tuzilmalari, kompyuter arxitekturasi va boshqa narsalar kabi umumiy dasturlash tushunchalari haqida ko'p narsalarni bilganimizdek, xavfsizlik haqida ham bilish muhimdir. Xavfsizlik mavzusi shifrlash/parchalash, SSL, veb-xavfsizlik, xiralashtirish, autentifikatsiya, avtorizatsiya va boshqalarni qamrab oluvchi ancha keng bo'lsa-da, har bir dasturchi uchun zarur bo'lgan asosiy minimal bilim mavjud. Shaxsan men faoliyatimning boshida xavfsizlik haqida ko'p narsa bilmasdim, Servlet/JSP asosidagi Java veb-ilovasini yozishni boshlaganimda, men veb-xavfsizlik va SQL Injection, Denial of Service, XML kabi bir qator xavfsizlik tahdidlari haqida bilib oldim. Inyeksiya, saytlararo skript va boshqalar. Java dasturchisi sifatida men Fortify, PMP va boshqa statik kod analizator provayderlari tomonidan taqdim etilgan xavfsiz Java dasturlash amaliyotlariga amal qilaman. Ushbu maqolada xavfsizlik mavzulari va havolalarining juda yaxshi tanlovi mavjud va siz kodlayapsizmi yoki yo'qmi, siz ushbu manbadan albatta foyda ko'rasiz.

Har bir dasturchi bilishi kerak bo'lgan kechikish raqamlari

Ushbu maqola bonusdir, ammo shunga qaramay, har qanday dasturchi o'qishi kerak. Har qanday dasturlash tilida, xoh Java yoki C++ bo‘lsin, yuqori unumli dastur yozish uchun siz asosiy kechikish qiymatlarini bilishingiz kerak, masalan, o‘zgaruvchini xotiradan, L1 keshdan, L2 keshidan, bir marta o‘qish uchun qancha vaqt ketadi. SSD va diskdan tasodifiy o'qish. Bir shahardan boshqasiga maʼlumotlar paketini joʻnatish yoki bitta maʼlumot markazi ichida aylanma sayohat qilish uchun mutexni bloklash/qulfini ochish qancha vaqt oladi. Ushbu kechikish qiymatlari dasturlash tilidan mustaqil va ishlab chiquvchi yuqori yuklangan, past kechikishli ilovalarni yozishi kerak bo'lgan asosiy bilimlarning bir qismidir. Ushbu havolaning ijobiy tomoni shundaki, u ushbu qadriyatlar yillar davomida qanday rivojlanganligini qiyosiy tahlil qiladi. Siz 2006 yilda qanday qadriyatlar bo'lganini va hozir qanday ekanligini ko'rishingiz mumkin. Bu har bir dasturchi o'qishi kerak bo'lgan maqolalar ro'yxati uchun. Har bir dasturchi yoki dasturchi bilishi kerak bo'lgan maqolalarni o'qib , siz ma'lum bir mavzu bo'yicha bilimingizni chuqurlashtirasiz. Rostini aytsam, dasturchilar o'rganishi kerak bo'lgan narsalar juda ko'p va Java kabi dasturlash tilini o'rganish aysbergning faqat uchi, lekin ko'pchiligimizda o'rganishga ishtiyoq yo'q. Dasturlash doimiy rivojlanishni talab qiladigan ish bo'lib, har qanday dasturchiga faoliyati davomida foydali bo'ladigan yagona narsa bu xotira , Unicode , suzuvchi nuqta raqamlari , vaqt , xavfsizlik (xavfsizlik) kabi fundamental bilimlardir . Ba'zi narsalar tilga xosdir, masalan, Java-dagi String va har bir C dasturchisi aniqlanmagan xatti-harakatlar haqida bilishi kerak bo'lgan maqolam kabi, lekin ularni ko'plab yangi boshlanuvchilar va ishlab chiquvchilar uchun o'rganish yaxshidir.
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION