TG Telegram Group & Channel
Mizan Institute of Technology - MiT🇪🇹 | United States America (US)
Create: Update:

ስለምንሰጣቸው ኮርሶች ማብራሪያ ክፍል 1️⃣

የፉል ስታክ ድረ-ገጽ ማበልፀግ (Full Stack Web Development)፡ የዲጂታል አለም ቁልፍ!


ፉል ስታክ ድረ-ገጽ ማበልፀግ (Full Stack Web Development) መማር ዛሬ ባለንበት የዲጂታል ዘመን ልክ እንደ ወርቅ ቁፋሮ ነው። ለምን? ምክንያቱም ድረ-ገጾች እና የሞባይል መተግበሪያዎች የሁሉም ነገር ማዕከል ሆነዋል። ንግድ፣ ትምህርት፣ መዝናኛ፣ ጤና... ሁሉም ነገር በዲጂታል አለም ላይ ጥገኛ ነው። እናም ይህን ዲጂታል አለም የሚገነቡት ደግሞ ፉል ስታክ ደቨሎፐሮች (Full Stack Developers) ናቸው።


ፉል ስታክ ድረ-ገጽ ማበልፀግ ምንድን ነው? (በቀላል ምሳሌ ሲገለፅ)

አንድን ህንፃ እንደ ምሳሌ እንውሰደው። ይህ ህንፃ ሶስት ዋና ዋና ክፍሎች አሉት፦

1️⃣ከውጭ በአይናችን የምናየው ማለትም ከፊት ለፊት የሚታየው (Front-End): ልክ ህንፃውን ስናየው ውበቱ እንደሚማርከን ሁሉ, የድረ-ገጽ ፊት ለፊት (Front-End) ማለት ተጠቃሚዎች የሚያዩት፣ የሚነኩት፣ የሚገናኙበት ክፍል ነው። ውብ ዲዛይን፣ በቀላሉ የሚገኙና የሚሞሉ ፎርሞች፣ ጽሑፎች፣ የሚማርኩ ምስሎች እና ቪዲዮዎች፣ የሚነኩ (click የሚደረጉ በተኖችና ሊንኮች)... ሁሉም ከፊት ለፊት በአይናችን የምናያቸው የድረ ገፁ አካል ናቸው።

⭐️እዚህ Front-end ላይ የምንጠቀማቸው ቴክኖሎጂዎች:
የአንድን ድረ ገፅ ፍሮንት ኢንዱንም ሆነ ባክኢንዱን ለመስራት ብዙ አማራጮች አሉ።  ከፍሮንት ኢንድ የተለመዱት የሚከተሉት ናቸው።
✔️ HTML (HyperText Markup Language): የድረ-ገጹን አወቃቀር ይገልፃል። ልክ እንደ ህንፃው መሰረት ማለት ነው።

✔️ CSS (Cascading Style Sheets): የድረ-ገጹን መልክ እና ዲዛይን ይወስናል። ልክ ህንፃውን ቀለም እንደመቀባት፣ መስኮት እና በር እንደማበጀት ማለት ነው።

✔️ JavaScript: ለድረ-ገጹ ህይወት (እንቅስቃሴ) ይሰጣል። ተጠቃሚዎች በተኖችን ሲጫኑ፣ ፎርም ሲሞሉ፣ ወዘተ የሚፈጠሩትን ነገሮች ሁሉ ይቆጣጠራል። ልክ ህንፃ ውስጥ ያሉ ሊፍቶች፣ መብራቶች፣ ወዘተ እንደሚሰሩት ማለት ነው።

2️⃣ጀርባ (ከኋላ) ያለው (Back-End): ይህ ከፊት ለፊት የማይታየው፣ ነገር ግን ድረ-ገጹ እንዲሰራ የሚያደርገው ዋናው ክፍል ነው። ለብዙ አገልግሎት የሚውሉ ሎጂኮችን የሚይዝልን! ልክ ህንፃ ውስጥ ያሉ የኤሌክትሪክ መስመሮች፣ የውሃ ቧንቧዎች፣ ወዘተ... ድረ-ገጹ ከተጠቃሚዎች መረጃ ይቀበላል፣ ያቀናብራል፣ ያስቀምጣል፣ መልሶ ለተጠቃሚ ወደ front-end  ይልካል... ይህ ሁሉ የሚሆነው ከጀርባ በተዘጋጀው (Back-End) ነው።


⭐️ እዚህ Back-end ላይ የምንጠቀምባቸው ቴክኖሎጂዎች (ብዙ አማራጮች አሉ ግን የተወሰኑትን ለመጥቀስ ያክል):

Node.js: እስከ ቅርብ ጊዜ ድረስ በJavaScript የተጻፈን ኮድ ምን እንደሚሰራ ለማየትና ስህተት ካለበትም ለማስተካከል ከድረ-ገጽ አሳሽ (browser) ውጭ ማስሄጃ (run ማድረጊያ) አማራጭ አልነበረም። Node.js ከመጣ በሗላ ግን JavaScript እንደነ Chrome, Firefox, Safari, Opera እና ከመሳሰሉት ብሮውዘሮች ላይ ያለውን ጥገኝነት ትቶ ኖድ ላይም ረን የሚደረግ ሆኗል። ኖድ በጣም ፈጣን እና ዘመናዊ ነው። በተለይም በአንድ ጊዜ ከተጠቃሚዎች (Users) በተመሳሳይ ጊዜ የሚላክን ተልእኮ (Concurrent request) በማስተናገድ ረገድ በthread ጽንሰ ሃሳብ የተሳካለት ነው።

Python (with Django or Flask): ፓይተን ጃንጎ እና ፍላስክ የተሰኙ ፍሬምወርኮች አሉት። ከባክኢንድ ከምንጠቀማቸው አማራጮች መካከል አንዱ ሲሆን በጣም ታዋቂ እና ለመማር ቀላል የሆነ ቋንቋ ነው።

Java (with Spring): አንዱ የባክኢንድ መስሪያ አማራጭ ሲሆን ለትላልቅ ድርጅቶች እና መተግበሪያዎች በብዛት ጥቅም ላይ ይውላል።

PHP (with Laravel): ላራቬል አንዱ የፒኤችፒ ፍሬምወርክ ሲሆን ድረ ገፅን ለመገንባትም እንጠቀምበታለን። በጣም ብዙ ድረ-ገጾች የተሰሩበት ቋንቋ ነው።

Ruby (with Ruby on Rails): ይህም ሌላኛው አማራጭ ሲሆን ለመማር ቀላል እና ፈጣን የሆነ ቋንቋ ነው።

.NET (C#): በማይክሮሶፍት የተሰራ ኃይለኛ ቴክኖሎጂ ነው። ለብዙዎቻችሁ አድስ አይሆንም። ሲሻርፕ ውስጥ ያለ ፍሬም ወርክ ነው። ባክኢንድን ለመስራት አንዱ አማራጭ ነው።


እነዚህ ሁሉ አማራጮች ናቸው። አላማቸው ተመሳሳይ ነው፣ ባክኢንዱን ለመስራት ነው የምንጠቀምባቸው። አንዱን ነው ለአንድ ፕሮጀክት የምንጠቀመው። ሁሉንም በአንድ መጠቀም አይጠቀምብንም። እንደየፕሮጀክታችን አይነትና ለኛ ቀላል እንደሆነልን የፈለግነውን መምረጥ እንችላለን። አንድ ሰው ሁሉንም የማወቅ ግደታ የለበትም። የመረጠውንና የተመቸውን መርጦ እዛ ላይ ክህሎቱን አስፍቶ መቀጠል ይችላል።

3️⃣የመረጃ ቋት (Database): ይህ ከፊት ለፊት ከሚታየው (Front-end) እና ከጀርባ ካለው (Back-end) በተጨማሪ 3ኛው የአንድ ድረ ገፅ አካል ሲሆን የድረ-ገጹ ማህደር (መረጃ ማከማቻ) ነው። ሁሉም መረጃዎች፡ የተጠቃሚዎች ስም፣ አድራሻ፣ የይለፍ ቃል (ፓስወርድ)፣ የድረ-ገጹ ይዘት፣ ወዘተ የሚቀመጡት እዚህ ነው። ልክ ህንፃ ውስጥ እንዳለ ትልቅ መጋዘን ማለት ነው።
በደታቤዙ ውስጥ ያሉ መረጃዎችን ግንኙነት መሰረት በማድረግ relational እና non-relational ተብሎ ይከፈላል። ሁሉም የየራሳቸው ጠንካራና ደካማ ጎን አላቸው።

⭐️ለደታቤዝ ከምንጠቀምባቸው ቴክኖሎጂዎች (ለዚህም ብዙ አማራጮች አሉ፣ ማለትም ዳታቤዝን መስራት የሚያስችሉን አማራጮች ብዙ ናቸው!):

MongoDB: NoSQL አንዱ የመረጃ ቋት (የደታቤዝ አይነት) ነው። በቀላሉ የሚለዋወጥ (Dynamic የሆነ) እና ለዘመናዊ መተግበሪያዎች ተስማሚ ነው። (በMERN እና MEAN Stack ውስጥ ጥቅም ላይ ይውላል)።

MySQL: Relational የመረጃ ቋት ነው። በጣም ታዋቂ እና አስተማማኝ።

PostgreSQL: Relational የመረጃ ቋት ነው። ከMySQL የበለጠ ኃይለኛ እና ብዙ ጥቅሞች ያሉት ነው።

Oracle: Relational የመረጃ ቋት ነው። ለትላልቅ ድርጅቶች እና መተግበሪያዎች በብዛት ጥቅም ላይ ይውላል። በተለይም የኛ ሃገር የመንግስት ተቋማትና ባንኮች በስፋት ይጠቀሙታል።

SQL Server: በማይክሮሶፍት የተሰራ Relational የመረጃ ቋት ነው።



4️⃣ኤፒአይ (API - Application Programming Interface): ይህ ልክ በሁለት ሰዎች መካከል እንዳለ አስተርጓሚ ነው። በፉል ስታክ ድረ ገፅ ማበልፀግ ሂደት አንዱ አካል ነው። Front-End እና Back-End በቀጥታ አይግባቡም። ኤፒአይ በመሀል ሆኖ መልዕክቶችን ያስተላልፋል። ለምሳሌ፦ አንድ ሰው ወደ አንድ ካፌ ለመጠቀም ቢገባ፣ ቀጥታ ምግብ ወይም ሻይ አያገኝም። አስተናጋጆች ይመጡና "ምን ፈልገህ ነው?" ይሉታል። የፈለገውን ምግብና መጠጥ ያዝና ያዘዘውን አስተናጋጆች ወስደው ለሸፎች (ለምግብ ሰሪወች) ይናገራሉ። ሸፎች ከሰሩ በሗላ አስተናጋጆች የተሰራውን ምግብ ለተስተናጋጁ ይወስዳሉ። እዚህ ላይ ከጀርባ ምግቡን የሰሩት ቁልፍ ሰዎች (ሸፎቹ) እንደ ባክኢንድ ናቸው። እነሱ ባይሰሩት ኖሮ አስተናጋጆቹም ለተስተናጋጁ የሚሰጡት አያገኙም፣ ተስተናጋጁም የሚያገኘው ነገር የለም። ምግብ

ስለምንሰጣቸው ኮርሶች ማብራሪያ ክፍል 1️⃣

የፉል ስታክ ድረ-ገጽ ማበልፀግ (Full Stack Web Development)፡ የዲጂታል አለም ቁልፍ!


ፉል ስታክ ድረ-ገጽ ማበልፀግ (Full Stack Web Development) መማር ዛሬ ባለንበት የዲጂታል ዘመን ልክ እንደ ወርቅ ቁፋሮ ነው። ለምን? ምክንያቱም ድረ-ገጾች እና የሞባይል መተግበሪያዎች የሁሉም ነገር ማዕከል ሆነዋል። ንግድ፣ ትምህርት፣ መዝናኛ፣ ጤና... ሁሉም ነገር በዲጂታል አለም ላይ ጥገኛ ነው። እናም ይህን ዲጂታል አለም የሚገነቡት ደግሞ ፉል ስታክ ደቨሎፐሮች (Full Stack Developers) ናቸው።


ፉል ስታክ ድረ-ገጽ ማበልፀግ ምንድን ነው? (በቀላል ምሳሌ ሲገለፅ)

አንድን ህንፃ እንደ ምሳሌ እንውሰደው። ይህ ህንፃ ሶስት ዋና ዋና ክፍሎች አሉት፦

1️⃣ከውጭ በአይናችን የምናየው ማለትም ከፊት ለፊት የሚታየው (Front-End): ልክ ህንፃውን ስናየው ውበቱ እንደሚማርከን ሁሉ, የድረ-ገጽ ፊት ለፊት (Front-End) ማለት ተጠቃሚዎች የሚያዩት፣ የሚነኩት፣ የሚገናኙበት ክፍል ነው። ውብ ዲዛይን፣ በቀላሉ የሚገኙና የሚሞሉ ፎርሞች፣ ጽሑፎች፣ የሚማርኩ ምስሎች እና ቪዲዮዎች፣ የሚነኩ (click የሚደረጉ በተኖችና ሊንኮች)... ሁሉም ከፊት ለፊት በአይናችን የምናያቸው የድረ ገፁ አካል ናቸው።

⭐️እዚህ Front-end ላይ የምንጠቀማቸው ቴክኖሎጂዎች:
የአንድን ድረ ገፅ ፍሮንት ኢንዱንም ሆነ ባክኢንዱን ለመስራት ብዙ አማራጮች አሉ።  ከፍሮንት ኢንድ የተለመዱት የሚከተሉት ናቸው።
✔️ HTML (HyperText Markup Language): የድረ-ገጹን አወቃቀር ይገልፃል። ልክ እንደ ህንፃው መሰረት ማለት ነው።

✔️ CSS (Cascading Style Sheets): የድረ-ገጹን መልክ እና ዲዛይን ይወስናል። ልክ ህንፃውን ቀለም እንደመቀባት፣ መስኮት እና በር እንደማበጀት ማለት ነው።

✔️ JavaScript: ለድረ-ገጹ ህይወት (እንቅስቃሴ) ይሰጣል። ተጠቃሚዎች በተኖችን ሲጫኑ፣ ፎርም ሲሞሉ፣ ወዘተ የሚፈጠሩትን ነገሮች ሁሉ ይቆጣጠራል። ልክ ህንፃ ውስጥ ያሉ ሊፍቶች፣ መብራቶች፣ ወዘተ እንደሚሰሩት ማለት ነው።

2️⃣ጀርባ (ከኋላ) ያለው (Back-End): ይህ ከፊት ለፊት የማይታየው፣ ነገር ግን ድረ-ገጹ እንዲሰራ የሚያደርገው ዋናው ክፍል ነው። ለብዙ አገልግሎት የሚውሉ ሎጂኮችን የሚይዝልን! ልክ ህንፃ ውስጥ ያሉ የኤሌክትሪክ መስመሮች፣ የውሃ ቧንቧዎች፣ ወዘተ... ድረ-ገጹ ከተጠቃሚዎች መረጃ ይቀበላል፣ ያቀናብራል፣ ያስቀምጣል፣ መልሶ ለተጠቃሚ ወደ front-end  ይልካል... ይህ ሁሉ የሚሆነው ከጀርባ በተዘጋጀው (Back-End) ነው።


⭐️ እዚህ Back-end ላይ የምንጠቀምባቸው ቴክኖሎጂዎች (ብዙ አማራጮች አሉ ግን የተወሰኑትን ለመጥቀስ ያክል):

Node.js: እስከ ቅርብ ጊዜ ድረስ በJavaScript የተጻፈን ኮድ ምን እንደሚሰራ ለማየትና ስህተት ካለበትም ለማስተካከል ከድረ-ገጽ አሳሽ (browser) ውጭ ማስሄጃ (run ማድረጊያ) አማራጭ አልነበረም። Node.js ከመጣ በሗላ ግን JavaScript እንደነ Chrome, Firefox, Safari, Opera እና ከመሳሰሉት ብሮውዘሮች ላይ ያለውን ጥገኝነት ትቶ ኖድ ላይም ረን የሚደረግ ሆኗል። ኖድ በጣም ፈጣን እና ዘመናዊ ነው። በተለይም በአንድ ጊዜ ከተጠቃሚዎች (Users) በተመሳሳይ ጊዜ የሚላክን ተልእኮ (Concurrent request) በማስተናገድ ረገድ በthread ጽንሰ ሃሳብ የተሳካለት ነው።

Python (with Django or Flask): ፓይተን ጃንጎ እና ፍላስክ የተሰኙ ፍሬምወርኮች አሉት። ከባክኢንድ ከምንጠቀማቸው አማራጮች መካከል አንዱ ሲሆን በጣም ታዋቂ እና ለመማር ቀላል የሆነ ቋንቋ ነው።

Java (with Spring): አንዱ የባክኢንድ መስሪያ አማራጭ ሲሆን ለትላልቅ ድርጅቶች እና መተግበሪያዎች በብዛት ጥቅም ላይ ይውላል።

PHP (with Laravel): ላራቬል አንዱ የፒኤችፒ ፍሬምወርክ ሲሆን ድረ ገፅን ለመገንባትም እንጠቀምበታለን። በጣም ብዙ ድረ-ገጾች የተሰሩበት ቋንቋ ነው።

Ruby (with Ruby on Rails): ይህም ሌላኛው አማራጭ ሲሆን ለመማር ቀላል እና ፈጣን የሆነ ቋንቋ ነው።

.NET (C#): በማይክሮሶፍት የተሰራ ኃይለኛ ቴክኖሎጂ ነው። ለብዙዎቻችሁ አድስ አይሆንም። ሲሻርፕ ውስጥ ያለ ፍሬም ወርክ ነው። ባክኢንድን ለመስራት አንዱ አማራጭ ነው።


እነዚህ ሁሉ አማራጮች ናቸው። አላማቸው ተመሳሳይ ነው፣ ባክኢንዱን ለመስራት ነው የምንጠቀምባቸው። አንዱን ነው ለአንድ ፕሮጀክት የምንጠቀመው። ሁሉንም በአንድ መጠቀም አይጠቀምብንም። እንደየፕሮጀክታችን አይነትና ለኛ ቀላል እንደሆነልን የፈለግነውን መምረጥ እንችላለን። አንድ ሰው ሁሉንም የማወቅ ግደታ የለበትም። የመረጠውንና የተመቸውን መርጦ እዛ ላይ ክህሎቱን አስፍቶ መቀጠል ይችላል።

3️⃣የመረጃ ቋት (Database): ይህ ከፊት ለፊት ከሚታየው (Front-end) እና ከጀርባ ካለው (Back-end) በተጨማሪ 3ኛው የአንድ ድረ ገፅ አካል ሲሆን የድረ-ገጹ ማህደር (መረጃ ማከማቻ) ነው። ሁሉም መረጃዎች፡ የተጠቃሚዎች ስም፣ አድራሻ፣ የይለፍ ቃል (ፓስወርድ)፣ የድረ-ገጹ ይዘት፣ ወዘተ የሚቀመጡት እዚህ ነው። ልክ ህንፃ ውስጥ እንዳለ ትልቅ መጋዘን ማለት ነው።
በደታቤዙ ውስጥ ያሉ መረጃዎችን ግንኙነት መሰረት በማድረግ relational እና non-relational ተብሎ ይከፈላል። ሁሉም የየራሳቸው ጠንካራና ደካማ ጎን አላቸው።

⭐️ለደታቤዝ ከምንጠቀምባቸው ቴክኖሎጂዎች (ለዚህም ብዙ አማራጮች አሉ፣ ማለትም ዳታቤዝን መስራት የሚያስችሉን አማራጮች ብዙ ናቸው!):

MongoDB: NoSQL አንዱ የመረጃ ቋት (የደታቤዝ አይነት) ነው። በቀላሉ የሚለዋወጥ (Dynamic የሆነ) እና ለዘመናዊ መተግበሪያዎች ተስማሚ ነው። (በMERN እና MEAN Stack ውስጥ ጥቅም ላይ ይውላል)።

MySQL: Relational የመረጃ ቋት ነው። በጣም ታዋቂ እና አስተማማኝ።

PostgreSQL: Relational የመረጃ ቋት ነው። ከMySQL የበለጠ ኃይለኛ እና ብዙ ጥቅሞች ያሉት ነው።

Oracle: Relational የመረጃ ቋት ነው። ለትላልቅ ድርጅቶች እና መተግበሪያዎች በብዛት ጥቅም ላይ ይውላል። በተለይም የኛ ሃገር የመንግስት ተቋማትና ባንኮች በስፋት ይጠቀሙታል።

SQL Server: በማይክሮሶፍት የተሰራ Relational የመረጃ ቋት ነው።



4️⃣ኤፒአይ (API - Application Programming Interface): ይህ ልክ በሁለት ሰዎች መካከል እንዳለ አስተርጓሚ ነው። በፉል ስታክ ድረ ገፅ ማበልፀግ ሂደት አንዱ አካል ነው። Front-End እና Back-End በቀጥታ አይግባቡም። ኤፒአይ በመሀል ሆኖ መልዕክቶችን ያስተላልፋል። ለምሳሌ፦ አንድ ሰው ወደ አንድ ካፌ ለመጠቀም ቢገባ፣ ቀጥታ ምግብ ወይም ሻይ አያገኝም። አስተናጋጆች ይመጡና "ምን ፈልገህ ነው?" ይሉታል። የፈለገውን ምግብና መጠጥ ያዝና ያዘዘውን አስተናጋጆች ወስደው ለሸፎች (ለምግብ ሰሪወች) ይናገራሉ። ሸፎች ከሰሩ በሗላ አስተናጋጆች የተሰራውን ምግብ ለተስተናጋጁ ይወስዳሉ። እዚህ ላይ ከጀርባ ምግቡን የሰሩት ቁልፍ ሰዎች (ሸፎቹ) እንደ ባክኢንድ ናቸው። እነሱ ባይሰሩት ኖሮ አስተናጋጆቹም ለተስተናጋጁ የሚሰጡት አያገኙም፣ ተስተናጋጁም የሚያገኘው ነገር የለም። ምግብ
Please open Telegram to view this post
VIEW IN TELEGRAM


>>Click here to continue<<

Mizan Institute of Technology - MiT🇪🇹




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)