History of Hosts.txt File


 

පරිගණක ජාලයක් ගත්තම ඒ සියල්ල සම්බන්ද වෙලා තියෙන්නේ ip address වලින් .. නමක් එහෙමත් නැත්නම් domain name එකක් යොදා ගැනීමේ අවශ්‍යතාවයක් නැහැ , නමුත් අපේ පහසුවට අපි ඉලක්කම් මතක තියා ගැනීමේ අපහසු තාවය නිසා නම් බාවිතා කරනවා , google.com , facebook.com , amazon.com වගේ . පරිගණක ජාලකරණයේ ආරම්බක කාලයේ මිනිස්සු ip address ටික කොලේක print කරලා ඩෙස්ක් එකේ තමන් ලගින් අලව ගත්ත … ඔන්න ඔය කාලෙට පස්සේ , ඊට පසුව තමයි මෙය යොදා , කොට Domain name servers යොදා ගැනීමක් සිදු නැහැ ගන්නේ,සරලවම මේක phone book එකක් වගේ ip address එක පැත්තක සහ නම අනෙක් පැත්තේ තියෙනවා , සරලයි

IP Address Name
142.250.192.100 google.com

network administrator විසින් මේක distribute කරන අතර , එකිනෙකා තමන්ගේ local system එකට copy කර ගැනීමක් සිදු කල ගත යුතුයි, ඒවගේමයි system එකෙන් එකට මේ hosts file එක change වෙන්න පුළුවන් . අනිත් දේ , සරලවම අපිට මේ Hosts.txt file එක eddit කරන්න පුළුවන් notepad එක හරි තමන් කැමති Text Edittor එකක් උපයෝගී කර ගෙන .

Structs in C language / සිංහල

 


Structs ගැන ,

Structs , C language එකේ විශේෂ ස්ථානයක් ගන්නවා , එයට හේතුව , අපි දන්නවා අපිට programme එක තුල අවශ්‍ය දෙයක් computer memory එකේ තබා ගැනීමට අවශ්‍ය වූ විට සිදු කරන්නේ , variable එකක් create කරන එක. උදාහරණයක් විදියට ගත්තොත් ..

int x=20 , y=30; ආකාරයට . struct තුලින් කරන්නෙත් මේ හා සමාන ක්‍රියාවලියක් (ඒ කියන්නේ memory එකට acces කිරීමක්) . හැබැයි මෙහි වෙනස් කමක් දක්නට පුළුවන්, ඒ .. අපි variable එකක් create කරනකොට බාවිතා කරනවා data types කියලා ජාතියක් . int ,char ,short ,float ,long , double කියලා Data-types set එකක් අපි දැනටමත් දන්නවා , මේවට අපි කියනව pre-define data-types කියල, මොකද මේවා නිකන් standards වගේ එදා ඉදලා තිබ්බ දේවල් .

හැබැයි structs නිර්මාණය කරලා තියෙන්නේ , මේ Pre-define data types සමග බැදුණු varible කිහිපයක් එක් කරගෙන අපිට නව data type එකක් නිර්ම්මාණය කර ගතහැකි අකාරයටයි. අර සෙට් එක bundle කරලා එකක් නිර්මාණය කර ගැනීමක් තමයි සිද්ද වෙන්නේ , අන්න ඒ හේතුව නිසා අපි structs කියන්නේ User-define data type එකක් විදියට සලකනවා .

අපි උදාහරණයක් අරන් බලමු ,

#include <stdio.h>
int main(){
char *name; // pointer variable එකක් use කල එකට confused වෙන්න එපා , ඒ කොටසෙන් කියනවා 
char *district;
int student_count;
}

👆 ඉහත දක්වල තියෙන විදියට තමයි අපි normally code කරන්නේ 👆

හරි දැන් බලමු , අපි structs බාවිත කරමින් මේ සිදු කරන්නේ කොහොමද කියල ..

#include <stdio.h>

struct schools{
 char* name;
 char* district;
 int student_count;	
};

int main(){
	
}

මේක අපි ලියද්දි Global scope එකෙන් ලියන්නේ ( main එක උඩින් ලියන්නේ) , එම නිසා globaly available වෙනවා නිකන්ම. ඒවගේම තමයි මම කලින් කිව්වා වගේ ඔක්කොම bundle කරලා එකකට ගෙනාවට පස්සේ අලුතින් මේ නිර්මාණය වුනේ data type එකක් ( එය User-define data type එකක් කියලත් හදුන්වනවා ), ඉහත උදාහරණයට අනුව , මේකේ Data-type එක වෙන්නේ struct school කියන එක 🤠 // Data-type එක මොකක්ද කියලා ඇහුවොත් නිකන් school නෙවේ , struct school . 🤠

හරි දැන් Data-type එක නිර්මාණය කර ගෙන අවසානයි. දැන් තියෙන්නේ අපිට මේකෙන් ප්‍රයෝජනයක් ගන්න , අපිට මෙය main එකට call කර ගන්න වෙනවා , එහෙමත් නැත්නම් අපි මේ අවස්තාවට කියනවා struct එකක් declare කරනව කියලා , නැතිනම් initialize කරනවා යනුවෙනුත් හදුන්වන්න පුළුවන්. struct එක declare කරන්නේ මෙහෙමයි ,

#include <stdio.h>
struct schools{
   char* name;
   char* district;
   int student_count;
};
int main(){
	struct schools f_school;
return 0;
}

මේ ආකාරයට declare කර ගත්ත variable එක තවම initialize කළා කියන තැනට ඇවිල්ල නැහැ , එකට හේතුව අපි කිසිම Data එකක් දීල නැති එක , මෙන්න මේ ආකාරයට data අපි create කල variable එකට දෙමු … ( variable එක : f_school , data type එක : struct schools )

#include <stdio.h>
struct schools{
   char* name;
   char* district;
   int student_count;
};

int main(){
	struct schools f_school;
	f_school.name = "St.thomas College";
	f_school.district = "Matara";
	f_school.student_count = 6500;

    printf("%s \n",f_school.name);
    printf("%s \n",f_school.district);
    printf("%d \n",f_school.student_count);

    return 0;
}

output එක :

  • St.thomas College
  • Matara
  • 6500

ඒ වගේම අපිට පුළුවන් ඉහත අකාරයට initialize කර ගතපු data , පහත ඇති ආකාරයටත් වෙනස් කර ගැනීමට හැක

#include <stdio.h>
struct schools{
   char* name;
   char* district;
   int student_count;
};

int main(){
	struct schools f_school = {
        .name = "St.thomas College",
        .district = "Matara",
        .student_count = 6500
    };

    printf("%s \n",f_school.name);
    printf("%s \n",f_school.district);
    printf("%d \n",f_school.student_count);

    return 0;
}

අදට එපමණයි , ජයවේවා !🤍


 

Getting started in C / සිංහල

 


 

 “C” පාඩම් මාලාව පටන් ගන්න කලින් , මට නිකමට ලිපියක් ලියල දාන්න හිතුන , ඇයි ඇත්තටම මේ (C) පරිගණක බාශාවම ලිපි ටිකක් විදියට දාන්න හිතුනේ කියන එක ගැන. මේකෙදි අපිට C වල අතීත කතාව නොකිය ඉන්නම බැහැ , මොකද සරලවම C language එක බාවිතයට් ගෙන තමයි අද අපි බාවිතා කරන Operating Systems , ඒ වගේම device drivers , network හා සම්බන්ද applications , Embedded Systems සහ Databases වැනි බොහොමයක් ලියල තියෙන්නේ . ඉතින් 1972 දී , Dennis Richie මහතා Bell labs සමග වැඩ කරන කාලේ තමයි C language එක නිර්මාණය කරන්නේ , මෙතැනදී කියන්න ඕන අපි දැනට බාවිතා කරන technology හා සම්බන්ද දේවල් බොහොමයකට ආරම්බය වෙලා තියෙන්නේ bell labs සහ එහි සිටිය set එකේ පරිශ්‍රමය මත 🧙‍♂️ .. හරි දැනට දල අදහසක් තියෙනවා නේ අපි මේ code කරන්න බාවිත කරන බාශාව ගැන .. ! ඒවගේම දෙයක් තියෙනවා C බාෂාව තවත් විශේෂ වෙන , ඒ තමයි C වලට හැකියාව පවතිනවා Directly memory එක Access කරන්න , මේ දේ නිසා අපිට Data structures ලියද්දි සහ අලුත් ඒවා නිර්මාණය කරද්දී වටිනවා .. අපි අනිවාර්යෙන්ම මේ සම්බන්දව Pointers ගැන කතා කරනකොට , කතාකරමු .

 

දැන් code කරන්න වෙලාව හරි , මේකට අපිට CodeBLocks වගේ IDE එකක් යොදා ගන්න පුළුවන් , නැත්නම් හොදම විදිය කියල මම හිතන්නේ Old School විදියට text editor එකේ type කරලා compiler එකක් use කර ගෙන compile කර ගන්න එක . ( ඇත්තටම text editor එක බාවිත කරලා ඉගෙන ගන්න වෙලාවේ code කරන එක මම පුද්ගලිකව හිතනවා හොදයි කියල , under the hood වෙන දේවල් ඉගෙන ගන්න පුළුවන් මේ විදියෙන් , හැබැයි ලොකු systems මේ විදියට ලියන්නේ නැහැ ) , අනෙක් දේ තමයි Operating system එක , අපිට කැමති එකක ලියන්න පුළුවන් , හැබැයි Windows / Mac වලට වඩා මේක ඉගෙන ගන්න වේලාවෙ මොනවා හරි Linux/Unix based OS එකක ලියන එක වටිනවා , එකට හේතුව තමයි windows සහ Mac වල restrictions වැඩි , ඒ වගේම අපිට c එක්ක ඉදිරියට වැඩ කරද්දී සමහර system calls එහෙම programme ඇතුලේ call කරන්න වෙනවා , අන්න එනත්නදී ගැටළු එන්න පුළුවන් . ( මෙතැනදී OS එක විදියට Ubuntu බාවිතා කරනවානම් හොදයි , මොකද එක්තරා විදියකට පහසුයි බාවිතා කරන්නත් 😉) .(Ubuntu , Virtual machine එකක install කරන අකාරය මෙතනින් බලන්න )

හරි දැන් අපි දැන් C වල අතීත විත්ති ටිකකුත් දැන ගෙන , ගැලපෙන Os එකකුත් දාගෙන ඉන්න අතරේ, ඊළඟට මේ වැඩේට අවශ්‍ය මොකක්ද කියන එක අපි බලන්න ඕන , ඔව් .. ඊළඟට ඕන compiler එකක් , compiler එක කියන්නෙත් එක්තරා ආකාරයක application එකක්, මේක බාවිතයට ගන්නේ අපි High level language එකක් බාවිතා කරලා ලියන programme එක machine code එක බවට පරිවර්තනය කර ගන්න . ඉතින් මෙතැනදී අපි gcc compiler එක යොදා ගන්නවා අපේ c programme එක compile කර ගන්න (මෙතනදී ඔයාලට වෙන compiler එකක් යොදා ගන්නත් පුළුවන් , පොඩි research එකක් දාල කරන්න බලන්න ඒක).

ඉතින් , අදට මම මේ ලිපිය මෙතැනින් ඉවර කරනවා , ඊළඟ ලිපියේ අපි compiler එක install කරලා code කරන්න පටන් ගමු (Ubuntu වල gcc එකනම් inbuild එනවා , අපි clang වගේ එකකුත් test කරලා බලමු ) , එහෙනම්
ජයවේවා !