Mbinu za Kuandaa Mfumo wa Linux & Dhana
Bei: $19.99
Tayari kuna kozi/mafunzo yasiyohesabika kwenye mtandao/Udemy ambayo hufundisha karibu kila nyanja ya lugha ya programu C.. Kozi hizo zote zinasikika sawa, kuongea sawa na kutoa maarifa zaidi au kidogo sawa. Je, kozi hii ni tofauti na nyingine ?
Kusudi la kozi hii ni kukufanya uwe tayari kwa mahojiano ya Kiufundi ya upangaji programu, kiwango cha mahojiano – kutoka kwa Kompyuta hadi Kati. Kozi hii ni ya (baadaye) Watengenezaji, si kwa wanaojaribu au Wasimamizi wa Mfumo.
Ninachagua kuunda kozi hii kwa kujaza pengo kati ya novice/beginner na kati/Advanced Programmers. Kozi hii inachukulia kuwa angalau uko juu ya wastani katika upangaji programu (katika lugha yoyote ya programu, lakini vyema katika C/C++) – kujua mgao wa kumbukumbu, kila aina ya vitanzi, simu za kazi, viashiria nk. Katika kozi hii, Sitafundisha C/C++ (tayari kuna kozi nyingi juu yake mtandaoni), lakini ingefundisha mbinu za utayarishaji na maelezo ya kiwango cha chini kuhusu jinsi programu ya C inavyofanya kazi nyuma ya pazia – Mada zote ni muhimu sana kwa mtazamo wa mahojiano. Lengo Langu ni kukuza kozi hii hadi Linux/C Bible.
Mdomo unaganda kama matope yaliyochomwa jangwani, Ninahisi kila wakati, unahitaji kuwazidi ujanja wenzako katika zama hizi za ushindani mkali, na kwa hiyo, Nilijaribu jaribio hili kukuonyesha hekima na maarifa ambayo ni ya muhimu sana kwa mtayarishaji programu. Nimeona ingawa wanafunzi wanaweza kuandika programu nzuri za C/C++, bado wanakosa uwazi juu ya jinsi mtu anapaswa kuandika kwa mpangilio mzuri, Inaweza kudhibitiwa, misimbo inayoweza kupanuliwa na inayoweza kupangwa katika mfumo wa maktaba. Kwa mfano, Wanafunzi wazuri sana katika upangaji wa programu shindani, bado sijui jinsi ya kuandika Makefile rahisi, sababu kuwa, Wasomi hawafundishi na wanafunzi hawajali kujifunza.
Katika kozi hii, Nitashughulikia mada zinazohusiana na kuunda Maktaba za Mfumo wa Linux (kutolewa 1) na Dhana za Kina za Utayarishaji wa lugha (kutolewa 2) ambayo inaweza kutumika vyema ikiwa utakuwa mtayarishaji programu katika lugha zingine kesho.
Dhana kama MultiThreading, Ulandanishi wa Thread, Soketi Programming, IPCs na kadhalika inadai kozi tofauti kwa kila mada kabisa. Kwa sasa, Nina kozi kwenye IPC, pls iangalie. Mada hizi hazipatikani kwa kozi hii.
Kozi itatolewa katika Matoleo mawili :
Kutolewa 1 Kujenga na Kusimamia Maktaba: Hii inashughulikia mambo ya msingi kuhusu jinsi mtu anapaswa kuunda na kupanga msimbo wake kama Maktaba.
Kutolewa 2 Dhana za Usimamizi wa Kumbukumbu: Hii inashughulikia dhana za Advance kwenye Usimamizi wa Kumbukumbu ya Linux haswa. Tafadhali angalia Jedwali la Yaliyomo kwa habari zaidi.
Kwa nini *USIFANYE* kufanya kozi hii?
1. Tafadhali samahani kozi hii ikiwa wewe ndiye mwanzilishi wa mwisho katika upangaji programu wa C !!
2. Hakuna maana ya kufanya kozi hii ikiwa hupendi kupiga kibodi, na wavivu wa kutazama VDO za mihadhara pekee
3. Ikiwa unataka kila kitu kupikwa na kutumiwa kwenye sahani yako.
Kozi Mahitaji ya awali :
-
Kiwango cha Juu cha Wanaoanza katika upangaji wa C/C++
-
Ni vizuri kuwa na maarifa ya msingi ya OS
-
Bidii ya kufaulu na Kanuni
Hakuna maktaba za Watu Wengine
Mantiki yoyote unayotekeleza, unahitaji kutekeleza tangu mwanzo. Kama kozi zangu zingine zote, kozi hii haipendekezi kuchukua usaidizi wa maktaba yoyote ya wahusika wengine ili kufanya kazi hizo. Matumizi ya maktaba za nje hushinda kabisa madhumuni ya kozi.
Onyo: Kozi hii ina manukuu yanayotokana na mfumo kiotomatiki ambayo huenda yasiwe kamilifu. Tafadhali zima manukuu kulingana na urahisi wako.
unaweza kurudisha pesa zako :
**********************************************
Kutolewa 1 Kujenga na Kusimamia Maktaba
**********************************************
Sehemu 1 : Utangulizi wa Maktaba
-
Maktaba ni nini
-
Uhusiano kati ya Maktaba na Maombi
-
Kwa mfano : Orodha iliyounganishwa mara mbili kama Maktaba
-
Hatua za Kukusanya Haraka
-
Katika ingizo hili tunatoa muhtasari wa tofauti na mabadiliko ya uwiano wa kijinsia duniani kote
Sehemu 2 : Faili za Kichwa
-
Uhusiano kati ya Chanzo na faili za kichwa
-
Mbinu ya Kubadilisha Maandishi
-
Mbinu ya Kubadilisha Maandishi – Mfano na Demo
Sehemu 3 : Kuchakata Maelekezo
-
Tatizo la Duplicate ujumuishaji wa faili za Hdr
-
Maelekezo ya usindikaji wa awali
-
Suluhisho la Kurudia ujumuishaji wa faili za Hdr
Sehemu 4 : Njia Sahihi ya Kutumia Miundo na Kazi
-
Miundo – Bainisha na Tumia Kanuni ya kidole gumba
-
Kazi – Tangaza na Tumia kanuni ya kidole gumba
-
Tatizo la Utegemezi wa Kujirudia
-
Suluhisho la Utegemezi wa Kujirudia
Sehemu 5 : Uundaji wa Maktaba Tuli na Inayobadilika
-
Inaanza tena na Maktaba ya Orodha Iliyounganishwa Maradufu
-
Uundaji wa Haraka wa Maktaba Tuli na Inayobadilika
-
Kuunganishwa na Maktaba Tuli
-
Kuunganishwa na Maktaba Inayobadilika
Sehemu 7: Kuelewa hatua nne za Mkusanyiko
-
Hatua nne za Mkusanyiko wa C/C++
-
Jinsi Maktaba ya Nguvu inavyofanya kazi ?
-
Kuunganisha kwa Nguvu : Kuunganishwa na Maktaba Inayobadilika
-
Kulinganisha – Kuunganisha kwa Tuli Vs Nguvu
Sehemu 8 : Kujenga kwa kutumia Makefile
-
Makefiles ni nini na kwa nini tunahitaji
-
Kazi za Makefile
-
Mti wa utegemezi wa Makefile
-
Hatua za Kuandika Makefile
-
Mgawo kwenye Makefile
Sehemu 9 : Maktaba zinazoweza kupangwa kwa wakati wa utekelezaji
-
Maktaba Zinazoweza Kupangwa ni nini?
-
Hatua za Kupanga maktaba
-
Usajili wa simu za nyuma na Maktaba
-
key_match callback
-
comparison_fn callback
-
-
Uwasilishaji wa shughuli mahususi za Maombi kwa Maktaba
Sehemu 10 : Kuandika Iterators kwa kutumia Macros
-
Macros ya Iterative ni nini ?
-
Kwa nini tunahitaji Macros ya Iterative ?
-
Jinsi ya Kuandika Iterative Macros – Kwa Miti na Orodha Zilizounganishwa
-
Mazoezi
Sehemu 11 : Maktaba Zinazotegemea Gundi na Miundo ya Data
-
Maktaba Zinazotegemea Gundi ni zipi?
-
Tunakuletea Glthreads – Orodha Iliyounganishwa Iliyounganishwa
-
Glthreads Vs Orodha ya Jadi iliyounganishwa
-
Udhibiti wa uga wa muundo
-
Uendeshaji wa GLT
-
Kutembea kwa Kanuni
-
Faida za GLT
************************************************
Kutolewa 2 Dhana za Usimamizi wa Kumbukumbu
************************************************
Sehemu 12 : Mpangilio wa Kumbukumbu wa Mchakato wa Linux
-
Misingi ya Kumbukumbu ya kweli
-
Mpangilio wa Kumbukumbu wa Mchakato wa Linux
-
Mfano: Mpangilio wa Kumbukumbu wa Mchakato wa Linux
-
Zoezi kwa amri ya ukubwa
Sehemu 13 : Usimamizi wa Kumbukumbu ya Stack
-
Hifadhi Misingi ya Kumbukumbu na Yaliyomo
-
Kufurika kwa Stack na Kuzuia
-
Uharibifu wa Kumbukumbu ya Stack
-
Sajili za kawaida za CPU
-
Utaratibu wa Wito Mechanism – Hatua kwa hatua
-
Madhumuni ya rejista ya Pointer ya Msingi (ebp)
-
Utaratibu wa Kurudisha Utaratibu – Hatua kwa hatua
-
Kikao cha maabara
Sehemu 14 : Usimamizi wa Kumbukumbu ya Rundo
-
Utangulizi na Malengo
-
Jinsi Malloc Inafanya kazi
-
Juu ya eneo la Kumbukumbu la Lundo – mapumziko pointer
-
Simu za Memory Mgmt Sys – brk na sbrk
-
Vitalu vya Meta na Data
-
Jinsi ya bure() kazi
-
Kuzuia Kugawanyika
-
Kuunganisha kwa kuzuia
-
Ugonjwa wa Kumbukumbu – Tatizo la Kugawanyika
Sehemu 15 : Dhana ya Paging
-
Utangulizi wa Paging
-
Kumbukumbu inayoweza kushughulikiwa ya Byte
-
32 kidogo na 64 Usanifu wa Mashine kidogo
-
Anwani basi na Data basi
-
Anwani ya Kawaida Vs Virtual
-
Miundo ya Kumbukumbu ya Kimwili
-
Muundo wa Anwani Pekee
-
Jedwali la Ukurasa
-
Paging Katika Vitendo
-
Kumbukumbu ya Pamoja ya Kimwili
Sehemu 16 : Ukuraji wa Ngazi nyingi
Sehemu 17 : Mahitaji Paging
Sehemu 18 : Usimamizi wa Kumbukumbu kwa Mchakato wenye nyuzi nyingi
Nia ya kozi hii ni kukufanya uwe tayari kwa Mahojiano ya Kiufundi ya upangaji programu kutoka kwa wanaoanza hadi upto 8-9 miaka ya uzoefu.
mwangaza. Ni maswali gani yanayoulizwa mara kwa mara na wahojiwa katika duru ya kiufundi wakati mtu anaandika lugha ya C/C++/System Programming kwenye wasifu wao?
Jibu : Kama mimi ni mhoji, ni maswali gani ningeuliza inategemea uzoefu wake wa miaka mingi katika C.
1Uzoefu wa miaka 3 - ningeuliza:
-
Viashiria mara mbili
-
tengeneza Macro ili kurudisha saizi ya muundo
-
Safu Mbili za Dimensional, kupitisha na kurudisha safu kutoka kwa fn
-
Hatua tofauti za utayarishaji wa programu C
-
jinsi uma() kazi
-
Ni njia gani tofauti za kurekebisha uharibifu wa kumbukumbu.
-
IPC mbalimbali
-
Swali la Kurundika na Randa kulingana na kumbukumbu
4- Miaka 6 ya uzoefu – ningeuliza:
-
Jinsi kumbukumbu inavyotolewa na OS
-
Kugawanyika kwa ndani na nje, nini kifanyike ili kuepukana nayo
-
Simu za mfumo, kamba()
-
Biashara ya IPC moja juu ya nyingine
-
njia mbalimbali za kuwasiliana na kernel na kulinganisha
-
Takwimu (Ya)Uainishaji katika C
-
RPC katika C
-
programu ya hali ya juu ya kurudisha nyuma
-
typedef Vs #fafanua
-
Upangaji wa kawaida katika C kwa kutumia macros
-
Usawazishaji wa Thread
-
Swali la msingi la Rundo na Rafu
7+ miaka ya uzoefu – ningeuliza
-
Je, umetengeneza moduli yoyote ya mfumo ili kutatua tatizo lolote
-
Kubuni thread maktaba 0 ni utendaji gani unaweza kujumuisha na jinsi gani ?
-
Dos na Dont ni nini kwa kuandika maktaba thabiti na inayoweza kunyumbulika
-
Jinsi ya kuandika nambari ya jumla katika C
-
Njia mbalimbali za kutekeleza vipima muda katika C, na kulinganisha mbinu
-
Jinsi Kukatiza hufanya kazi ?
-
IPCs na kulinganisha
-
Unawezaje kubadilisha msimbo wa C kuwa C++ na kinyume chake
-
Jinsi ya kuandika zana ya kugundua uvujaji wa kumbukumbu, Au ukusanyaji wa takataka
-
Tengeneza zana yako mwenyewe ya ugawaji kumbukumbu. Kwa nini unaweza kuandika mpango wako wa ugawaji kumbukumbu ?
-
Wakati wa kwenda kwa muundo wa michakato mingi juu ya muundo wa nyuzi nyingi na kinyume chake
-
Jinsi zana ya ValGrind inavyofanya kazi
-
Katika kanuni ya uzalishaji, ungependelea mantiki ya kujirudia lakini rahisi, Au mantiki isiyojirudia lakini changamano, Fikiria kuwa ?
Ikiwa unachambua muundo,
Mgombea aliye na uzoefu wa miaka 1-3, Ningechagua kuuliza zaidi Maswali ya moja kwa moja na ya moja kwa moja.
Mgombea aliye na uzoefu wa miaka 4-6, Ningechagua kuuliza Swali la juu zaidi la kiufundi la C pamoja na ulinganisho wa mbinu kulingana na Maswali
Mgombea na 7+ miaka ya uzoefu, Ningechagua kuuliza swali zaidi la muundo na Uchambuzi.
Kumbuka kwamba, kwani Swali linahusu C na System Programming, kwa hivyo sijataja muundo wa Data na Algorithms.
Acha jibu
Lazima Ingia au kujiandikisha kuongeza maoni mapya .