මම ජනප්‍රිය පාසල 42 වෙත ගිය ආකාරය: ගුරුවරුන් වෙනුවට “තටාකය”, බළලුන් සහ අන්තර්ජාලය. 2 කොටස

මම ජනප්‍රිය පාසල 42 වෙත ගිය ආකාරය: ගුරුවරුන් වෙනුවට “තටාකය”, බළලුන් සහ අන්තර්ජාලය. 2 කොටස

В අන්තිම පෝස්ට් එක මම එහි විප්ලවීය අධ්‍යාපන ක්‍රමය සඳහා ප්‍රසිද්ධ 42 පාසල ගැන කතාවක් ආරම්භ කළෙමි: එහි ගුරුවරුන් නැත, සිසුන් එකිනෙකාගේ වැඩ තමන්ම පරීක්ෂා කරති, පාසල සඳහා ගෙවීමට අවශ්‍ය නැත. මෙම ලිපියෙන් මම පුහුණු පද්ධතිය සහ සිසුන් සම්පූර්ණ කරන කාර්යයන් පිළිබඳව වඩාත් විස්තරාත්මකව ඔබට කියමි.

ගුරුවරුන් නැත, අන්තර්ජාලය සහ මිතුරන් ඇත. පාසලේ අධ්‍යාපනය පදනම් වී ඇත්තේ ඒකාබද්ධ ව්‍යාපෘති කාර්යයේ මූලධර්ම මත ය - සම වයසේ සිට සම වයසේ ඉගෙනීම. සිසුන් කිසිදු පෙළපොත් පාඩම් කරන්නේ නැත, ඔවුන්ට දේශන පවත්වන්නේ නැත. පාසල් සංවිධායකයින් විශ්වාස කරන්නේ සෑම දෙයක්ම අන්තර්ජාලයෙන් සොයාගත හැකි බවත්, මිතුරන්ගෙන් හෝ ඔබ ව්‍යාපෘතියක වැඩ කරන වඩාත් පළපුරුදු සිසුන්ගෙන් ඉල්ලා සිටින බවත්ය.

සම්පුර්ණ කරන ලද පැවරුම් අනෙකුත් සිසුන් විසින් 3-4 වතාවක් පරීක්ෂා කරනු ලැබේ, එබැවින් සෑම කෙනෙකුටම ශිෂ්‍යයෙකු සහ උපදේශකයෙකු විය හැකිය. ශ්‍රේණි ද නොමැත - ඔබ කාර්යය නිවැරදිව හා සම්පූර්ණ කළ යුතුය. එය 90% ක් කළත් එය අසාර්ථක ලෙස ගණන් ගනු ඇත.

ශ්‍රේණිගත කිරීම් නොමැත, ලකුණු තිබේ. සමාලෝචනය සඳහා ව්යාපෘතියක් ඉදිරිපත් කිරීම සඳහා, ඔබට නිශ්චිත ලකුණු සංඛ්යාවක් තිබිය යුතුය - නිවැරදි කිරීමේ ලකුණු. අනෙකුත් සිසුන්ගේ ගෙදර වැඩ පරීක්ෂා කිරීමෙන් ලකුණු උපයා ගනී. තවද මෙය අතිරේක වර්ධන සාධකයකි - ඔබ විවිධ කාර්යයන් තේරුම් ගත යුතු නිසා, සමහර විට ඔබේ දැනුමේ මට්ටම ඉක්මවා යයි.

“සමහර ව්‍යාපෘති සැබෑ අවකාශයයි, ඒවා ඔබේ මනස අවුල් කරයි. ඉන්පසුව, එක් නිවැරදි කිරීමේ ලක්ෂ්‍යයක් පමණක් උපයා ගැනීමට, ඔබට කේතය තේරුම් ගනිමින් දවස පුරා දහඩිය දැමිය යුතුය. එක් දිනක් මම වාසනාවන්ත වූ අතර දිනකට ලකුණු 4ක් ලබා ගත්තා - මෙය දුර්ලභ වාසනාවකි., මගේ මිතුරා, ශිෂ්ය සර්ජි පවසයි.

කෙළවරේ ඉඳගෙන වැඩ කරන්නේ නැහැ. ව්‍යාපෘති තනි තනිව සහ යුගල වශයෙන් මෙන්ම විශාල කණ්ඩායම් වශයෙන්ද නිම කරනු ලැබේ. ඔවුන් සෑම විටම පුද්ගලිකව ආරක්ෂා කර ඇති අතර, කණ්ඩායමේ සියලුම සාමාජිකයින් සක්‍රීයව සහභාගී වීම වැදගත් වන අතර, සෑම කෙනෙකුම කේතය තේරුම් ගෙන ඉහළ පෙළඹවීමක් ඇත. මෙතන නිශ්ශබ්දව ඉඳගෙන පැත්තකට වෙලා ඉන්න බැහැ. මේ අනුව, පාසල කණ්ඩායම් වැඩ සහ සාර්ථක සන්නිවේදනයේ කුසලතා වැඩි දියුණු කරයි. ඊට අමතරව, සියලුම සිසුන් එකිනෙකා සමඟ දැන හඳුනා ගෙන සන්නිවේදනය කරයි, එය ජාලකරණය සහ අනාගත වෘත්තීන් සඳහා ඉතා ප්‍රයෝජනවත් වේ.

සූදුකරණය. පරිගණක ක්‍රීඩාවකදී මෙන්, සිසුන් මට්ටම් ඉහළට ගෙන ගොස් ඔවුන්ගේ ප්‍රගතිය නිරීක්ෂණය කරන්නේ ශුද්ධ ප්‍රස්තාරය - “ශුද්ධ” සිතියමක් වන අතර එය ඔවුන් පසු කළ සම්පූර්ණ මාර්ගය සහ ඉදිරි මාවත පැහැදිලිව පෙන්වයි. RPG හි මෙන්, ව්‍යාපෘති සඳහා “අත්දැකීම්” පිරිනමනු ලබන අතර, එයින් යම් ප්‍රමාණයක් සමුච්චය කිරීමෙන් පසු නව මට්ටමකට සංක්‍රමණයක් සිදු කෙරේ. සැබෑ ක්රීඩාව සමඟ ඇති සමානකම නම්, එක් එක් නව මට්ටම පෙර පැවති මට්ටමට වඩා දුෂ්කර වන අතර, වැඩි වැඩියෙන් කාර්යයන් ඇත.

මම ජනප්‍රිය පාසල 42 වෙත ගිය ආකාරය: ගුරුවරුන් වෙනුවට “තටාකය”, බළලුන් සහ අන්තර්ජාලය. 2 කොටස

වීදුරු සහ ඇඩ්ම්. පාසලේ ප්‍රධාන අංශ දෙකක් ඇත - Bokal (තාක්ෂණ ශිල්පීන්) සහ Adm (පරිපාලනය). Bokal තාක්ෂණික ගැටළු සහ අධ්‍යාපනික සංරචකය සමඟ කටයුතු කරන අතර Adm පරිපාලන සහ සංවිධානාත්මක ගැටළු සමඟ කටයුතු කරයි. Bokala/Adm හි පුද්ගල සංචිතය පාසලේ සීමාවාසික පුහුණුව ලබන සිසුන් විසින්ම නැවත පුරවනු ලැබේ.

මෙහි උගන්වන්නේ කෙසේද සහ කුමක්ද

සෑම දෙයක්ම "S" වලින් ආරම්භ වේ. පාසැලේදී ඔවුන් Unix පමණක් භාවිතා කරයි, වින්ඩෝස් හොඳම තේරීම නොවේ. කේතය මූලික කරුණු වලින් උගන්වනු ලැබේ, වැඩසටහන්කරණයේ තර්කනය තේරුම් ගැනීමට ඔබට බල කරයි. සියලුම ව්‍යාපෘතිවල පළමු මට්ටම් කිහිපය ක්‍රියාත්මක වන්නේ C සහ C++ භාෂාවලින් පමණි, IDE භාවිතා නොකෙරේ. සිසුන් gcc සම්පාදකය සහ vim පෙළ සංස්කාරකය භාවිතා කරයි.

“වෙනත් පාඨමාලා වලදී, ඔවුන් ඔබට කාර්යයන් ලබා දෙනු ඇත, ව්‍යාපෘතියක් කිරීමට ඔබෙන් ඉල්ලා සිටින අතර පසුව ඒවා වැඩසටහන්ගත කර ඇති ආකාරය පැහැදිලි කරයි. මෙහිදී ඔබට එය ඔබම ලියන තෙක් ශ්‍රිතය භාවිතා කළ නොහැක. මුලදී, තවමත් "තටාකයේ" සිටියදී, මට මෙම malloc අවශ්ය වූයේ ඇයි, මට මතකය වෙන් කිරීමට අවශ්ය වූයේ ඇයි, මම Python සහ Javascript අධ්යයනය නොකරන්නේ මන්දැයි මට වැටහුණේ නැත. එවිට හදිසියේම එය ඔබට උදා වන අතර, පරිගණකය සිතන ආකාරය ඔබ තේරුම් ගැනීමට පටන් ගනී.

සම්මත කරන්න. සාර්ථක ආරක්‍ෂාවකින් පසුව, සියලුම ව්‍යාපෘති GitHub හි දේශීය සමාන වෙත උඩුගත කෙරේ. නමුත් ඊට පෙර, Norminette වැඩසටහන භාවිතයෙන් කේතය පාසල් නීතිවලට අනුකූලද යන්න තහවුරු කර ගැනීම සඳහා ඒවා පරීක්ෂා කළ යුතුය.

“කේතය පරිපූර්ණ ලෙස ක්‍රියා කරයි නම්, නමුත් මතක කාන්දුවක් තිබේ නම්, ව්‍යාපෘතිය අසාර්ථක යැයි සැලකේ. ඔවුන් සින්ටැක්ස් ද පරීක්ෂා කරයි. අප සතුව තහනම් කාර්යයන්, ගුණාංග, කොඩි ලැයිස්තුවක් ඇති අතර ඒවායේ භාවිතය වංචාවක් ලෙස සැලකේ. ඔබ සෑම දෙයක්ම ඔබේම දෑතින් සහ ඉතා ප්‍රවේශමෙන් කළ යුතුය.", සර්ජි පවසයි.

මම ජනප්‍රිය පාසල 42 වෙත ගිය ආකාරය: ගුරුවරුන් වෙනුවට “තටාකය”, බළලුන් සහ අන්තර්ජාලය. 2 කොටස

කාර්යයන් සඳහා උදාහරණ

සිසුන් විසින් සිදු කරනු ලබන සියලුම කාර්යයන් ක්රම තුනකින් පරීක්ෂා කරනු ලැබේ: වැඩසටහන්ගතව, අනෙකුත් සිසුන් සහ වීදුරු නියෝජිතයින් විසින් පිරික්සුම් ලැයිස්තුවක් අනුව. පිරික්සුම් ලැයිස්තුවක් සහිත ඔබ විසින්ම කරන ව්‍යාපෘති කිහිපයක් පහත දැක්වේ:

Init (පද්ධති සහ ජාල පරිපාලනය) — ඔබ අථත්‍ය යන්ත්‍රය මත ඩේබියන් මෙහෙයුම් පද්ධතිය ස්ථාපනය කර කාර්යයේ දක්වා ඇති අවශ්‍යතා අනුව එය වින්‍යාස කළ යුතුය.

ලිබ්ෆ්ට් — C භාෂාවෙන් සම්මත පුස්තකාල කාර්යයන් ක්‍රියාත්මක කරන්න, වැනි: strcmp, atoi, strlen, memcpy, strstr, toupper, tolower ආදී තුන්වන පාර්ශ්ව පුස්තකාල නැත, එය ඔබම කරන්න. ඔබ විසින්ම ශීර්ෂයන් ලියන්න, ඒවා ඔබම ක්රියාත්මක කරන්න, ඒවා ඔබම සාදන්න Makefile, ඔබ එය ඔබම සම්පාදනය කරයි.

Printf - සම්මත කාර්යය සම්පූර්ණයෙන්ම ක්රියාත්මක කිරීම අවශ්ය වේ printf එහි සියලු තර්ක සමඟ C. එය ආරම්භකයින් සඳහා තරමක් අපහසු වේ.

එය පුරවන්න - ආදානය ලෙස සපයා ඇති ටෙට්‍රොමිනෝ ලැයිස්තුවෙන් අවම ප්‍රදේශයේ චතුරස්‍රයක් එකලස් කිරීම අවශ්‍ය විය. සෑම නව පියවරකදීම, නව ටෙට්‍රොමිනෝ එකක් එකතු විය. ගණනය කිරීම් C වලින් සහ අවම කාලයක් තුළ සිදු කළ යුතු නිසා කාර්යය සංකීර්ණ වේ.

ලිබ්ල්ස් - විධානයේ ඔබේම අනුවාදය ක්රියාත්මක කරන්න ls එහි සියලුම සම්මත කොඩි සමඟ. ඔබට අතීත පැවරුම් වලින් වර්ධනයන් භාවිතා කළ හැකිය.

රස්සා

තනිවම සිදු කරන කාර්යයන්ට අමතරව, සිසුන් කණ්ඩායමක් විසින් සිදු කරනු ලබන කාර්යයන් සඳහා වෙනම කාණ්ඩයක් ඇත - රෂ්. ස්වාධීන ව්‍යාපෘති මෙන් නොව, කඩිමුඩියේ පරීක්ෂා කරනු ලබන්නේ පිරික්සුම් ලැයිස්තුවක් භාවිතා කරන සිසුන් විසින් නොව, බොකල්හි පාසල් කාර්ය මණ්ඩලය විසිනි.

පයිපෙක්ස් - වැඩසටහන ගොනු නාම සහ අත්තනෝමතික කවච විධාන ආදානය ලෙස පිළිගනී; ශිෂ්‍යයා පද්ධති මට්ටමින් පයිප්ප සමඟ වැඩ කිරීමේ හැකියාව ප්‍රදර්ශනය කළ යුතු අතර ටර්මිනලයේ පද්ධතියේ සම්මත හැසිරීමට සමාන ක්‍රියාකාරිත්වය ක්‍රියාත්මක කළ යුතුය.

Minitalk — C හි සේවාදායක-සේවාදායක යෙදුමක් ක්‍රියාත්මක කරන්න. සේවාදායකයාට SIGUSR1 සහ SIGUSR2 පද්ධති සංඥා භාවිතයෙන් සේවාලාභියා විසින් එවන ලද පණිවිඩ සහ මුද්‍රණ පණිවිඩ බහු සේවාලාභීන් සමඟ වැඩ කිරීමට සහාය වීමට හැකි විය යුතුය.

ශීත කළ — Golang හි IRC සේවාදායකයක් ලියන්න, එය සමගාමී සහ goroutines භාවිතා කරමින් සේවාදායකයින් කිහිප දෙනෙකු සමඟ එකවර වැඩ කිරීමට හැකියාව ඇත. සේවාදායකයාට පුරනය වීම සහ මුරපදය භාවිතා කර ලොග් වීමට හැකි විය යුතුය. IRC සේවාදායකය බහු නාලිකා සඳහා සහය විය යුතුය.

නිගමනය

ඕනෑම කෙනෙකුට 42 පාසලට ඇතුළත් විය හැකි අතර, එසේ කිරීමට ඔබට විශේෂ දැනුමක් අවශ්‍ය නොවේ. වැඩසටහන ආරම්භකයින් සඳහා නිර්මාණය කර ඇති බවක් තිබියදීත්, සරල කාර්යයන් ඉක්මනින් නොපැහැදිලි ගැටළු වලින් ප්රතිස්ථාපනය වේ, බොහෝ විට නොපැහැදිලි සූත්රගත කිරීම්. ශිෂ්‍යයාට උපරිම කැපවීම, ඉංග්‍රීසි භාෂාවෙන් නිල ලේඛනවල නැතිවූ තොරතුරු සෙවීමේ හැකියාව සහ පැවරුම් සම්පූර්ණ කිරීම සඳහා අනෙකුත් සිසුන් සමඟ එකතු වීම අවශ්‍ය වේ. පුහුණු වැඩසටහනට දැඩි අනුපිළිවෙලක් නොමැත, එබැවින් සෑම කෙනෙකුම තමන්ගේම සංවර්ධන මාවත තෝරා ගනී. අන්තයේ සිට අවසානය දක්වා ශ්‍රේණිගත කිරීම් නොමැතිකම අන් අය සමඟ ඔබව සංසන්දනය කරනවාට වඩා ඔබේ ප්‍රගතිය සහ සංවර්ධනය කෙරෙහි අවධානය යොමු කිරීමට ඔබට ඉඩ සලසයි.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න