Fury Road: The Billing Developer's Journey

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

බිල්පත් සංවර්ධකයෙකුගේ සංවර්ධන මාවත මා දකින්නේ කෙසේද යන්න සහ ඔබ වෘත්තීය කුසලතා ප්‍රගුණ කළ යුත්තේ කුමන අනුපිළිවෙලින්ද යන්න දැන් මම ඔබට කියමි.

1. ක්‍රමලේඛන භාෂාවක් ඉගෙන ගන්න

ආරම්භකයින් සඳහා, ඕනෑම කෙනෙකුට. ප්‍රමුඛතාවය ජාවා, පයිතන් සහ ජාවාස්ක්‍රිප්ට් ය, නමුත් මූලික දැනුම ලබා ගැනීම සඳහා රුබී, ගෝ, සී, සී++ සුදුසු වේ. උගන්වන්නේ කෙසේද? ගෙවන සහ නොමිලේ පාඨමාලා ගන්න; මට Golang වෙතින් පුහුණුව නිර්දේශ කළ හැකිය. ඔබේ ඉංග්‍රීසි මට්ටම ඉඩ දෙන්නේ නම්, විදේශීය වීඩියෝ නැරඹීම හොඳ අමතර කුසලතාවකි.

Fury Road: The Billing Developer's Journey

2. OS සංකල්ප තේරුම් ගන්න

මෙහෙයුම් පද්ධති ඔබ දැනගත යුතු සහ ක්‍රියාකාරීත්වයේ මූලධර්මය පැහැදිලි කිරීමට හැකි වන සංරචක හතක් මත පදනම් වේ:

  • ක්රියාවලි කළමනාකරණය;
  • නූල් සහ බහු නූල් කේතය;
  • සොකට් (මෘදුකාංග අතුරුමුහුණත);
  • I/O යැවීම;
  • අථත්යකරණය;
  • ගබඞා;
  • ගොනු පද්ධති.

මූලික ලිනක්ස් පරිපාලන පාඨමාලාවක් හැදෑරීමට මම නිර්දේශ කරමි. පේළියේ දෙවන මෙහෙයුම් පද්ධති වන්නේ වින්ඩෝස් සහ යුනික්ස් ය.

3. ටර්මිනල් එකට පුරුදු වෙන්න

හිස් පත්‍රයක භීතිකාව සමඟ සාදෘශ්‍යයෙන්, දිලිසෙන කර්සරයක් සහිත හිස් කළු තිරයක භීතිකාවක් ඇත. විධාන රේඛාවේ හොඳ විධාන ලියන්නේ කෙසේදැයි ඉගෙන ගැනීමට ඔබට එය ජය ගත යුතුය.
දැනගත යුතුයි:

  • Bash සහ KornShell ෂෙල් වෙඩි;
  • විධාන සොයන්න, grep, awk, sed, lsof;
  • ජාල විධාන nslookup සහ netstat.

Fury Road: The Billing Developer's Journey

4. ජාලය සහ ආරක්ෂාව

බිල්පත් ජාල සහ දත්ත ආරක්ෂණ අවශ්‍යතා සමඟ සමීපව සම්බන්ධ වේ. ජාලය ක්‍රියා කරන ආකාරය තේරුම් නොගෙන ඔබට සබැඳි සේවා ලිවිය නොහැක, එබැවින් ඔබ මූලික සංකල්ප සහ ප්‍රොටෝකෝල ඉගෙන ගත යුතුය: DNS, OSI ආකෘතිය, HTTP, HTTPS, FTP, SSL, TLS. එවිට, ඔබට සම්බන්ධතා ප්‍රතික්ෂේප කළ දෝෂයක් හමු වූ විට, කුමක් කළ යුතු දැයි ඔබ දැන ගනු ඇත.

5. සේවාදායකයන්

ජාලයේ තොරතුරු සම්ප්රේෂණය කිරීමේ මූලධර්ම අධ්යයනය කිරීමෙන් පසුව, ඔබට සේවාදායක ක්රියාකාරිත්වයේ මූලික කරුණු ආරම්භ කළ හැකිය. වෙබ් සේවාදායකයන් සමඟ ආරම්භ කරන්න: IIS, Apache, Nginx, Caddy සහ Tomcat.

ලැයිස්තුවේ ඊළඟට:

  • ප්‍රතිලෝම ප්‍රොක්සි;
  • නිර්නාමික ප්‍රොක්සි;
  • හැඹිලිගත කිරීම;
  • බර සමතුලිත කිරීම;
  • ගිනි පවුර.

6. යටිතල පහසුකම් කේතය ලෙස ඉගෙන ගන්න

මෙම අදියර වඩාත් වැදගත් එකක් බව මම විශ්වාස කරමි. ඔබ පුළුල් මාතෘකා තුනක් තේරුම් ගත යුතුය:

  • බහාලුම්: ඩොකර් සහ කුබර්නෙට්ස්
  • වින්‍යාස කළමනාකරණ මෙවලම්: ඇන්සිබල්, චෙෆ්, ලුණු සහ රූකඩ
  • උපස්ථ: ටෙරාෆෝම්, වලාකුළු.

7. CI/CD ඉගෙන ගන්න

බිල්පත් සංවර්ධකයෙකු සඳහා තවත් ප්රයෝජනවත් කුසලතාවක් වන්නේ අඛණ්ඩ ඒකාබද්ධ කිරීම සහ බෙදා හැරීම සඳහා නල මාර්ගයක් සැකසීමට හැකි වීමයි. CI/CD ප්‍රදේශයේ Jenkins, TeamCity, Drone, Circle CI සහ වෙනත් මෙවලම් තිබේ. ස්පොයිලර්: බහුලව භාවිතා වන ජෙන්කින්ස් ඉගෙන ගැනීම මුලින්ම ප්‍රමාණවත් වේ.

8. මෘදුකාංග සහ යටිතල පහසුකම් පාලනය

ප්රධාන ඉලක්කය වන්නේ යෙදුම් නිරීක්ෂණයේ මූලික කරුණු අවබෝධ කර ගැනීමයි. මෙම ප්රදේශයේ මෙවලම් කණ්ඩායම් තුනකට බෙදා ඇත:

  • යටිතල පහසුකම් අධීක්ෂණය: Nagios, Icinga, Datadog, Zabbix, Monit.
  • යෙදුම් කාර්ය සාධනය අධීක්ෂණය: AppDynanic, New Relic.
  • LMS: ELK Stack, Graylog, Splunk, Papertrail.

9. වලාකුළු සේවා

නුදුරු අනාගතයේ දී, සෑම යෙදුමකට හෝ මෘදුකාංගයකටම වලාකුළු සහකරුවෙක් ඇත. වැඩි කල් යන්නට මත්තෙන්, සංවර්ධකයින් වලාකුළට මුහුණ දෙයි, එබැවින් ජනප්‍රිය වලාකුළු සපයන්නන් (AWS, Google Cloud, සහ Azure) සහ තාක්ෂණයේ මූලික කරුණු කියවන්න.

10. දත්ත සමුදාය සමඟ වැඩ කිරීම

සියලුම වත්මන් ව්‍යාපෘති දත්ත සමුදායන් භාවිතා කරන අතර DBMS සහ SQL සමඟ ඇති අත්දැකීම් ආරම්භ කිරීම පහසු කරයි. SQL විමසුම් ලිවීමට ඉගෙන ගන්න, පැහැදිලි කිරීම භාවිතා කරන්න සහ දර්ශකය ක්‍රියා කරන ආකාරය ඉගෙන ගන්න. පහසුම ක්රමය වන්නේ පාඨමාලාවක් හැදෑරීමයි. ඔබට ඔබේ Postgres ලේඛන කුසලතා පුහුණු කිරීමට සහ අනුකරණය සමඟ සෙල්ලම් කිරීමටද හැකිය.

11. ඔබේ මෘදු කුසලතා වැඩි දියුණු කරන්න

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

Fury Road: The Billing Developer's Journey

ආරම්භකයකු මධ්‍යම මට්ටමට ළඟා වන්නේ කවදාද සහ ඔහුට “ජ්‍යෙෂ්ඨ” ලෙස ආඩම්බරයෙන් කිව හැක්කේ කවදාදැයි මගෙන් නිතර අසනු ලැබේ. ප්‍රායෝගික කුසලතා ප්‍රධාන නිර්ණායකයක් වුවද, මට්ටමෙන් මට්ටමට සංක්‍රමණය වීමේ මොහොත තීරණය වන්නේ වැඩ කළ වසර ගණන අනුව නොවන බව මම විශ්වාස කරමි. සංවර්ධකයෙකුගේ වර්ධනයේ වේගය බොහෝ විට තීරණය කරන්නේ හරියටම මෘදු කුසලතා ය: පුහුණු සහ වෙහෙස මහන්සි වී වැඩ කරන ආරම්භකයකුට භාෂා කිහිපයකින් උසස් තත්ත්වයේ කේතයක් ලිවිය හැකි අතර මාස කිහිපයකින් කණ්ඩායමක වැඩ කිරීමට හැකි වේ. වසර 10 ක පළපුරුද්දක් ඇති සංවර්ධකයෙකුට සම්මත නොවන ගැටළු විසඳීමට, කණ්ඩායමක් කළමනාකරණය කිරීමට සහ ඒකපාර්ශ්වික කුසලතා තිබිය නොහැක.

බිල්පත් සංවර්ධකයෙකුගේ සංවර්ධන මාවත මා දකින ආකාරය මෙයයි, අපි අපගේ Forward Telecom කණ්ඩායමේ සුදුසුකම් ලත් විශේෂඥයින් වර්ධනය කරන්නේ කෙසේද යන්නයි. කිසිවක් මග හැරී ඇති බවක් නොපෙනේ, නමුත් කාරණයට ප්‍රයෝජනවත් එකතු කිරීම් සඳහා මම සැමවිටම කෘතඥ වෙමි.

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

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