උඹල ප්‍රෝග්‍රෑම් කරන කොට

AnuradhaRa

Well-known member
  • උඹල ප්‍රෝග්‍රෑම් කරන කොට

    AES / Advanced Encryption Standard
    AMD64 / EM64T 64-bit technology
    MMX
    SSE
    SSE2
    SSE3
    SSE4.1
    SSE4.2
    SSSE3 / Supplemental SSE3
    TSX / Transactional Synchronization Extensions

    මේවත් අහු වෙනවද.. ඒ කියන්නෙ උඹල ඩිවෙලොප් කරන ඒව කම්පයිල් කලාම මේ හැම එකක්ම එනවද :shocked:
     

    AnuradhaRa

    Well-known member

  • උඹල දැනට ලියල තියෙන ප්‍රෝග්‍රෑම් කම්පයිල් කළාම උඩ දෙක තුන හරි ඇසෙම්බ්ලි බයිට්කෝඩ්වලට එනව ඇති බං
    යට තියෙන ඒවනං හෙන ඇඩ්වාන්ස් ඒව වෙන්ඩ ඇති ග්‍රැෆික් වලට එහෙම එන..
     

    Lakshan-Seram

    Well-known member
  • May 31, 2011
    24,751
    12,688
    113
    127.0.0.1:8080/Kandy
    උඹල දැනට ලියල තියෙන ප්‍රෝග්‍රෑම් කම්පයිල් කළාම උඩ දෙක තුන හරි ඇසෙම්බ්ලි බයිට්කෝඩ්වලට එනව ඇති බං
    යට තියෙන ඒවනං හෙන ඇඩ්වාන්ස් ඒව වෙන්ඩ ඇති ග්‍රැෆික් වලට එහෙම එන..

    Mama desktop programming goda kalekata kalin atha ariye. Den godak welawata karanne core PHP, JavaScript saha CMS based ewa. So, ape security apima balaganna wenawa godak welawata.
     

    AnuradhaRa

    Well-known member
  • එතකොට මේ මොනාද?


    6FnBu.png
     

    TNHM

    Well-known member
  • Jan 3, 2017
    5,354
    15,614
    113
    උබ මොන අවුරුද්දේද ජිවත් වෙන්නේ. දැන් තියෙන ඔක්කොම languages වගේ (වැඩිපුරම use කරන ඒවා) ඔච්චර ලොව් ලෙවෙල් වලට කොම්පයිල් වෙන්නේ නැ. ඒවා රන් වෙන්නේ විර්චුවල් රන් ටයිම් වල. එක නිසා කොම්පයිල් වෙන්නේ රන් ටයිම් එකට ඕන එකකට තමයි බයිට් කෝඩ්, ඩේක්ස් කෝඩ් වගේ.

    අනික අපි 99.99% අවස්තා වල අපි ඔය කොම්පයිල් වෙන්නේ මොකටද කියලා හිතන්නේ නැ. ඒවා හිතන්නේ language එක හදන උන්. අපි කරන්නේ සොෆ්ට්වෙයාර් එකේ functions ගැන හිතන එක මිසක්. ඕවා ගැන හිතුවොත් වැඩ කරන්න වෙන්නේ නැ. අනික ඕවා ගැන හිතන්න වෙනම උන් ඉන්නවා
     
    • Like
    Reactions: AnuradhaRa

    AnuradhaRa

    Well-known member
  • උබ මොන අවුරුද්දේද ජිවත් වෙන්නේ. දැන් තියෙන ඔක්කොම languages වගේ (වැඩිපුරම use කරන ඒවා) ඔච්චර ලොව් ලෙවෙල් වලට කොම්පයිල් වෙන්නේ නැ. ඒවා රන් වෙන්නේ විර්චුවල් රන් ටයිම් වල. එක නිසා කොම්පයිල් වෙන්නේ රන් ටයිම් එකට ඕන එකකට තමයි බයිට් කෝඩ්, ඩේක්ස් කෝඩ් වගේ.

    අනික අපි 99.99% අවස්තා වල අපි ඔය කොම්පයිල් වෙන්නේ මොකටද කියලා හිතන්නේ නැ. ඒවා හිතන්නේ language එක හදන උන්. අපි කරන්නේ සොෆ්ට්වෙයාර් එකේ functions ගැන හිතන එක මිසක්. ඕවා ගැන හිතුවොත් වැඩ කරන්න වෙන්නේ නැ. අනික ඕවා ගැන හිතන්න වෙනම උන් ඉන්නවා

    :P
     

    hasithayad

    Well-known member
  • Sep 28, 2011
    30,793
    1
    45,001
    113
    මචන් අනුරාධ. උඹට තාම වැඩේ හරියට අහුවෙලා නෑ වගේ. මෙහෙමයි සීන් එක.

    ඉස්සෙල්ලම ප්‍රොසෙසර් එක ඌ තමා සර්ව බලධාරී දෙවියා. ඌට තමයි හැම දෙයක්ම කරන්න බලය තියෙන්නෙ. හැබැයි හෙන පල් මෝඩයෙක්. කිසිම දෙයක් තනියෙන් හිතල කරන්න බෑ. කරන්න ඕනෙ හැම දෙයක්ම කන්නලව් කරල කියන්න ඕනෙ. කියන හැම දේම කරනවා. ඒ දෙවියට තේරෙන්නෙ දේව භාෂාව මැෂින් කෝඩ් (machine code) එක විතරයි. ඒක නිසා කන්නලව් කරනකොට මැෂින් කෝඩ් එකෙන්ම කන්නලව් කරන්න ඕනෙ. නැත්නම් ඌට ඒක තේරෙන්නෙ නෑ.

    දෙවියොත් වර්ග ගොඩක් ඉන්නවා intel දෙවියො AMD දෙවියො,

    මැෂින් කෝඩ් එක කියන්නෙ කෙලින්ම bytes වලින් හැදුනු දෙයක්. ඒක කෙලින්ම cpu එකට කියවන්න පුලුවන්. කියවල ඒකෙ තියන දේවල් ටික කෙලින්ම ක්‍රියාත්මක කරන්න පුලුවන්. මේක තමයි අන්තිමේදි ඕනෙම සෝස් කෝට් එකක් පත්වෙන පාරිශුද්ධ තත්වයි. (හැබැයි OS එකේ තව layers ටිකක් තියනවා. ඒ ටික අමතක කරන්න. උන් තමයි කපුවො (compiler). operating system කියන දේවාලේ කට්ටිය ලියපු programs (සන්දේශ) දෙවියො ලඟට ගෙනියන්නෙ එයාල.) එක එක භාෂා වලින් ලිය කෝඩ්ස් මොයලා එහෙන් මෙහෙන් වෙනස් කරලා තව සමහර දේවල් එකතු කරලා අන්තිමේදි දෙවියන්ට තේරෙන විදියකට දේව භාෂාවට කොම්පයිල් කරනවා. හොහොම හරි අන්තිමේට වැඩේ වෙනවා.

    කපුවන්ට පස්සෙ ඉන්නෙව දේව භාෂාව දන්න දේව ට්‍රාන්ස්ලේටර්ස් ලා (assembler). උන්ට කෙලින්ම දෙවියො එක්ක කතා කරන්න පුලුවන්. කපුවො වෙන උන්ට දෙවියො එක්ක කතාකරන්න දෙන්නෙ නෑ. ඒත් දේව ට්‍රාන්ස්ලේටර්ස්ලව කපුවො නවත්තන්නෙ නෑ.

    ඊට පස්සෙ native code එක තියනවා. සමහරු මැෂින් කෝට් එකටත් native code කියල කියන වෙලාවල් තියනවා. ඒත් native code කියල දැන් සාමාන්‍යයෙන් පාවිච්චි වෙන්නෙ unmanged code වලට. හිතන්න‍කො වින්ඩෝස් දේවාලෙ ඇතුලෙ ඉන්න කපුවො ඔක්කොම සිංහල උන් කියල. උන්ගෙ භාෂාවට තමයි native code කියන්නෙ. දේවාලෙ එලියෙත් කපුවො ඉන්නවා. උන් වෙන වෙන භාෂාවල් කතා කරනවා.

    unmanaged code කියන්නෙ බොහෝවිට high level language එකකින් ලියන, ඒත් language එකෙන් කිසිම support එකක් නැති කෝඩ් වලට. ඒ කියන්නෙ memory allocation, carbage collection වගේ කිසිම දෙයක් automatically වෙන්නෙ නෑ. ඒ ඔක්කොටම අපි කෝඩ් ලියන්න ඕනෙ. ඔය c, c++ වගේ ඒවලින් හරි හමන් software එකක් හදද්දි සංසාරෙ එපා වෙන්නෙ ඒකයි.

    ඊට පස්සෙ තියනවා managed code. මේවා හරි ලේසියි. අපිට ගොඩක් වෙලාවට කරන්න තියෙන්නෙ logic එක ලියන්න විතරයි. ඉතුරු ටික එයාලා බලාගන්නවා. මේව ගොඩක් වෙලාවට රන් වෙන්නෙ virtual machine වගේ environment එකක. ඒ කියන්නෙ දෙයියොත් එක්ක කිසි ගනුදෙනුවක් නෑ. අපිට ඕනෙ වැඩේ කරගන්න දෙයියො සහ දේවාලෙ ගැන හොඳට දන්න පනිවිඩකාරයෙක් යවනවා දේවාලෙට (framework). ඌ දේවාලෙට ගිහිල්ලා අපේ වැඩේ කරගෙන එනවා. ඉතුරු ටිකත් ඌම මැනේජ් කරනවා. ඔය C#, VB.NET, Java වගේ languages අයිති වෙන්නෙ මේ ගොඩට. අනිත් පැත්තෙන් ඔය Python, PHP, Perl වගේ ඒවත් අයිති වෙන්නෙ මේ ගොඩට. මේ ගොඩේ තියන languages තමයි ගොඩක් වෙලාවට ලොකු ලොකු project වලට පාවිච්චි කරන්නෙ. මොකද ප්‍රෝග්‍රෑම් එක ලියන එකාට දේවාල ගානේ ගිහින් චාටර් වෙන්න ඕනෙ නෑ. හැම දෙයක්ම ලේසි කරල දෙන framework එක ඉන්නවා ඒ හැම වැඩකටම.

    ඔය උඩ කියපු හැම language එකකින්ම ලියපු කෝඩ් අනිත්මට මැෂින් කෝඩ් දේව භාෂාවට හරවන්න වෙනවා cpu එකට යවන්න. පණිවිඩකාරයෝ වගේ උන් මාර්ගෙන් අන්තිමට කපුවා ගාවට ගිහින් දෙවියන්ට කන්නලව්ව යනවා. දෙවියෝ එක ඉටු කරනවා.

    ඔන්න අන්තිමට කියන්නම් කට්ටියට කුතුහලයක් වෙලා තියන Assembly code එක ගැන. මේකෙදි කපුකමක් වෙන්නෙ නෑ. Assembly language එකෙන් ලියන ඒවා කෙලින්ම යන්නෙ දේව ට්‍රාන්ස්ලේටර්ස් ලා (assembler)ට. එතකොට උන් කෙලින්ම ඒක දේව භාෂාවට හරවලා දෙයියන්ට යවනවා. අපි මේක ලියන්න ඕනෙ කෙලින්ම දේවියන්ට තේරෙන විදියට. කපුවො වගේ ඒක එහෙන් මෙහෙන් වෙනස් කරන්නෙ නෑ. උදාහරණයක් ගමුකො. දැන් හිතන්න program එක ලියපු එකාට ඕනෙ කෙහෙල් ඇටයක් දීලා කෙහෙල් ගහක් ඉල්ල ගන්න. ඌ පනිවිඩකාරයෙක්ට (framework) හරි කපුවට (compiler) හරි ඒක කිව්වම කපුවා දෙයියන්ට ඒක කියන්නෙ මෙහෙම.

    "අනේ දෙයියනේ දිවියලෝකෙ බිම කොහේ හරි වලක් හාරලා මේ කෙහෙල් ඇටේ ඒකට දාලා පස් වලින් වහලා ඒකට උදේ හවස මාස තුනක් වතුර දාලා ඒක පැල උනාට පස්සෙ පරිස්සමට වල හාරලා ඒ කෙහෙල් පැලේ ගලවලා ඔතාගෙන ඇවිල්ලා මේ යකාට දෙන්න. දීල කියන්න වැඩේ හරි කියලා. "

    කියලා. එතකොට අර දෙයියා ඒ විදියටම කරනවා. කපුවා නැත්නම් අපිට දේව භාෂාව දැනගත්තත් ඕක කියන විදිය තේරෙන්නෙ නෑනෙ. දැන් අර කියපු assembler කියන එකා ඔච්චර දේවල් කරන්නෙ නෑ. ඌ ට්‍රාන්ස්ලේටර් විතරනෙ. ඌ කරන්නෙ කරන්නෙ මැසේජ් එක දෙයියන්ට පාස් කරන එක විතරයි. ඌ දෙයියන්ට දේව භාෂාවෙන් කියන්නෙ කියන්නෙ මෙහෙම

    "අනේ දෙයියනේ මේ යකාට මේ කෙහෙල් ඇටේ අරගෙන කෙහෙල් පැලයක් දෙන්න"

    එතකොට දෙයියා බලනවා. යකෝ මගේ ලඟ කොහෙ තියන කෙහෙල් ගහක්ද කියල. එතකොට දෙයියො "කොහෙ තියන හු* කෙහෙල් ගහක්ද ඕයි මගේ ලඟ" කියල බැනලා error එකක් පාස් කරනවා program එකට.

    අන්න ඒකයි. assembler එකට ලියද්‍දි දෙයියො ගැන හරියට දැනගෙන ලියන්න ඕනෙ. දෙයියොත් ගොඩක් ඉන්නවනෙ. ක එක දෙයියගෙ සිස්ටම් වෙනස්. කපුවට දෙද්දි එහෙම නෑ. ඔනෙම දෙයියෙක්ට ටෝක් කරල වැඩේ කරගන්න උන් දන්නවා.

    අර කියල encryption අනං මනං එව්වා කපුවටවත් දේවාලෙටවත් අදාල වෙන්නෙ නෑ. ඒව කරගන්න ඕනෙ වෙන්නෙ ලියන එකාටනෙ. දේවාලෙන් කරන්නෙ ඒ වැඩේ කරල දෙන එක විතරයි.

    මේක වැඩ අස්සෙ කෑලි කෑලි ලිව්වෙ බන්. තේරුන් නැත්නම් කොරන්ඩ දෙයක් නෑ :P
     

    D_Mad

    Well-known member
  • Jun 11, 2013
    25,606
    42,097
    113
    Deniyaya
    මචන් අනුරාධ. උඹට තාම වැඩේ හරියට අහුවෙලා නෑ වගේ. මෙහෙමයි සීන් එක.

    ඉස්සෙල්ලම ප්‍රොසෙසර් එක ඌ තමා..............

    good job bro
    rep++
     
    • Like
    Reactions: hasithayad

    AnuradhaRa

    Well-known member
  • අර කියල encryption අනං මනං එව්වා කපුවටවත් දේවාලෙටවත් අදාල වෙන්නෙ නෑ. ඒව කරගන්න ඕනෙ වෙන්නෙ ලියන එකාටනෙ. දේවාලෙන් කරන්නෙ ඒ වැඩේ කරල දෙන එක විතරයි.

    මේ ටික තව පොඩ්ඩක් පැහැදිලි කරල දෙන්ඩකො..