{"id":2099,"date":"2021-02-07T19:02:41","date_gmt":"2021-02-07T19:02:41","guid":{"rendered":"https:\/\/www.yazilimperver.com\/?p=2099"},"modified":"2021-02-07T19:02:41","modified_gmt":"2021-02-07T19:02:41","slug":"haftalik-c-35-basit-bir-checksum-kod-parcasi","status":"publish","type":"post","link":"https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/","title":{"rendered":"Haftal\u0131k C++ 35 &#8211; Basit bir &#8220;Checksum&#8221; kod par\u00e7as\u0131"},"content":{"rendered":"<p>Herhangi bir programlama dili kullanarak, soket ya da benzeri bir haberle\u015fme protokol\u00fc kulland\u0131ysan\u0131z, eninde sonunda &#8220;checksum&#8221; kavram\u0131 ile kar\u015f\u0131la\u015fm\u0131\u015fs\u0131n\u0131zd\u0131r. Nedir peki &#8220;checksum&#8221;?<\/p>\n<p>T\u00fcrk\u00e7e kar\u015f\u0131l\u0131\u011f\u0131 &#8220;sa\u011flama toplam\u0131&#8221; olarak ifade edebilece\u011fimiz &#8220;checksum&#8221;, herhangi bir \u015fekilde iletilen ya da saklanan verinin, \u00f6zel fonksiyon ya da algoritmalar kullan\u0131larak, elde edilen daha k\u00fc\u00e7\u00fck boyutlu veriye verilen isimdir. Bu veri, temel olarak, iletilen ya da saklanan verinin b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc kontrol etmek i\u00e7in kullan\u0131l\u0131r. A\u015fa\u011f\u0131da bu kullan\u0131ma ili\u015fkin bir \u00e7izim g\u00f6rebilirsiniz. Bu de\u011ferler, &#8220;hash&#8221; olarak da nitelendirilebiliyorlar.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/tutorialspoint.dev\/image\/detect12.jpg\" alt=\"Image result for checksum\" \/><\/p>\n<p>Ama\u00e7, k\u0131s\u0131tlar ve di\u011fer benzeri ko\u015fullar \u0131\u015f\u0131\u011f\u0131nda kullanabilece\u011finiz bir \u00e7ok &#8220;checksum&#8221; ya da &#8220;hash&#8221; algoritmas\u0131 bulunmaktad\u0131r. Bunlardan bir k\u0131sm\u0131na \u00f6rnek: MD5, SHA-1, SHA-256 ve SHA-512&#8217;d\u0131r.<\/p>\n<p>Bu algoritmalara ili\u015fkin bir di\u011fer \u00f6nemli husus da, genelde bunlara sabit bir boyut ayr\u0131lmas\u0131 ve ilgili veri ne kadar b\u00fcy\u00fck olursa olsun bu alan\u0131n de\u011fi\u015fmemesi, fakat ilgili &#8220;checksum&#8221; ya da &#8220;hash&#8221; de\u011ferinin \u00e7ok farkl\u0131 olabilmesidir. Elbette bu kullan\u0131lacak olan y\u00f6nteme de ba\u011fl\u0131d\u0131r.<\/p>\n<p>\u00d6r. A\u015fa\u011f\u0131daki iki dosyadaki sadece son karakter farkl\u0131 olmas\u0131na ra\u011fmen, ilgili hash&#8217;in nas\u0131l de\u011fi\u015fti\u011fini g\u00f6rebilirsiniz.<\/p>\n<p id=\"Zodkqys\"><img loading=\"lazy\" decoding=\"async\" width=\"914\" height=\"433\" class=\"alignnone size-full wp-image-2101 \" src=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2021\/02\/img_602032442060e.png\" alt=\"\" srcset=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2021\/02\/img_602032442060e.png 914w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2021\/02\/img_602032442060e-300x142.png 300w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2021\/02\/img_602032442060e-768x364.png 768w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2021\/02\/img_602032442060e-500x237.png 500w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2021\/02\/img_602032442060e-150x71.png 150w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2021\/02\/img_602032442060e-400x189.png 400w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2021\/02\/img_602032442060e-800x379.png 800w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2021\/02\/img_602032442060e-200x95.png 200w\" sizes=\"auto, (max-width: 914px) 100vw, 914px\" \/><\/p>\n<p>Peki yaz\u0131m\u0131z\u0131n konusu ne \ud83d\ude42 Farkl\u0131 &#8220;checksum&#8221; y\u00f6ntemleri mi? Ya da yukar\u0131da sayd\u0131\u011f\u0131m MD5 ya da SHA yakla\u015f\u0131mlar\u0131 m\u0131? Asl\u0131na bakarsan\u0131z hay\u0131r. Bunlara ili\u015fkin kaynaklar k\u0131sm\u0131na bir ka\u00e7 sayfa koyaca\u011f\u0131m.<\/p>\n<p>Bu yaz\u0131mda, basit bir &#8220;checksum&#8221; hesab\u0131n\u0131 nas\u0131l yapabilece\u011fimize ili\u015fkin bir kod par\u00e7as\u0131na g\u00f6z ataca\u011f\u0131z. Daha sonra bunu daha k\u0131sa nas\u0131l yazabiliriz ona bakaca\u011f\u0131z. Elimizdeki malzeme a\u015fa\u011f\u0131daki gibi:<\/p>\n<pre class=\"lang:c++ decode:true \">#include &lt;cstdint&gt;\r\n\r\nstd::uint8_t checksum(const std::uint8_t* p, const std::uint8_t len)\r\n{\r\n  std::uint8_t sum {0U};\r\n  \r\n  for (std::uint8_t i = 0U; i &lt; len; i++){\r\n      sum += *p;\r\n      ++p;\r\n  };\r\n  \r\n  return sum;\r\n}<\/pre>\n<p>Evet, yukar\u0131daki kod temelde, verilen i\u00e7eri\u011fi byte olarak toplay\u0131p, 255&#8217;e b\u00f6l\u00fcp (asl\u0131nda b\u00f6lme yok elbette ama 255&#8217;i ge\u00e7ince bu \u015fekilde davrand\u0131\u011f\u0131n\u0131 d\u00fc\u015f\u00fcnebilirsiniz) kalan\u0131, &#8220;checksum&#8221; olarak d\u00f6n\u00fcyor. \u00c7ok basit bir y\u00f6ntem, g\u00fcvenilir olmayabilir ama \u015fimdilik yeterli. Peki yukar\u0131daki kodu nas\u0131l daha k\u0131saltabiliriz? Burada elbette i\u015faret\u00e7iler veya benzeri kodlar ile k\u0131salt\u0131labilir ama elimizin alt\u0131nda bulunan bir ara\u00e7 ile bunu \u00e7ok daha kolay bir \u015fekilde yapabiliriz.<\/p>\n<p>Nedir o ara\u00e7? <em>std::accumulate<\/em>. <code>numeric<\/code> ba\u015fl\u0131k dosyas\u0131 i\u00e7erisinde bulunan ve a\u015fa\u011f\u0131da \u00f6rnek bir prototipini g\u00f6rebilece\u011finiz bu fonksiyon, <strong>init<\/strong>&#8216;e, [<strong>first<\/strong>, <strong>last<\/strong>) aras\u0131ndaki de\u011ferleri de toplayarak d\u00f6ner.<\/p>\n<p><em><span class=\"kw1\">template<\/span><span class=\"sy1\">&lt;<\/span>\u00a0<span class=\"kw1\">class<\/span>\u00a0InputIt,\u00a0<span class=\"kw1\">class<\/span>\u00a0T\u00a0<span class=\"sy1\">&gt;<\/span><\/em><br \/>\n<em>T accumulate<span class=\"br0\">(<\/span>\u00a0InputIt first, InputIt last, T init\u00a0<span class=\"br0\">)<\/span><span class=\"sy4\">;<\/span><\/em><\/p>\n<pre class=\"lang:c++ decode:true\">#include &lt;cstdint&gt;\r\n#include &lt;numeric&gt;\r\n\r\nstd::uint8_t checksum(const std::uint8_t* p, const std::uint8_t len)\r\n{\r\n    return std::accumulate(p, p + len, std::uint8_t(0U));\r\n}<\/pre>\n<p>G\u00f6rd\u00fc\u011f\u00fcn\u00fcz \u00fczere kod, \u00e7ok daha temiz ve bana g\u00f6re anla\u015f\u0131labilir oldu.<\/p>\n<p>Bu ba\u011flamda, her f\u0131rsatta STL k\u00fct\u00fcphanelerine g\u00f6z atmakta fayda var. Bu k\u00fct\u00fcphaneler, bir \u00e7ok faydal\u0131 kabiliyeti i\u00e7erisinde bar\u0131nd\u0131r\u0131yor. Bunlar genelde (ki b\u00fcy\u00fck bir ihtimal ile \u00e7o\u011funlukla), sizlerin ve benim geli\u015ftirebilece\u011fim benzer kabiliyetlerden hem daha h\u0131zl\u0131, hem de sa\u011flam oldu\u011funu d\u00fc\u015f\u00fcnebilirsiniz. Bir sonraki yaz\u0131mda g\u00f6r\u00fc\u015fmek dile\u011fiyle, sa\u011fl\u0131kl\u0131 g\u00fcnler diliyorum.<\/p>\n<h2><strong><span style=\"color: #0000ff;\">Kaynaklar<\/span><\/strong><\/h2>\n<ul>\n<li><span style=\"color: #008000;\"><strong><a style=\"color: #008000;\" href=\"https:\/\/www.howtogeek.com\/363735\/what-is-a-checksum-and-why-should-you-care\/\">https:\/\/www.howtogeek.com\/363735\/what-is-a-checksum-and-why-should-you-care\/<\/a><\/strong><\/span><\/li>\n<li><strong><span style=\"color: #008000;\"><a style=\"color: #008000;\" href=\"https:\/\/www.wikiwand.com\/en\/MD5\">https:\/\/www.wikiwand.com\/en\/MD5<\/a><\/span><\/strong><\/li>\n<li><span style=\"color: #008000;\"><strong><a style=\"color: #008000;\" href=\"https:\/\/www.wikiwand.com\/en\/Checksum\">https:\/\/www.wikiwand.com\/en\/Checksum<\/a><\/strong><\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>Herhangi bir programlama dili kullanarak, soket ya da benzeri bir haberle\u015fme protokol\u00fc kulland\u0131ysan\u0131z, eninde sonunda &#8220;checksum&#8221; kavram\u0131 ile kar\u015f\u0131la\u015fm\u0131\u015fs\u0131n\u0131zd\u0131r. Nedir peki &#8220;checksum&#8221;? T\u00fcrk\u00e7e kar\u015f\u0131l\u0131\u011f\u0131 &#8220;sa\u011flama toplam\u0131&#8221; olarak ifade edebilece\u011fimiz &#8220;checksum&#8221;, herhangi bir \u015fekilde iletilen ya da saklanan verinin, \u00f6zel fonksiyon ya da algoritmalar kullan\u0131larak, elde edilen daha k\u00fc\u00e7\u00fck boyutlu veriye verilen isimdir. Bu veri, temel&#8230; <a class=\"more-link\" href=\"https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/\">Continue reading <span class=\"meta-nav\">&#8594;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[10,41],"tags":[809,13,845,847,846],"class_list":["post-2099","post","type-post","status-publish","format-standard","hentry","category-c","category-modern-c","tag-algorithms","tag-c","tag-checksum","tag-numeric","tag-saglama-toplami"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Haftal\u0131k C++ 35 - Basit bir &quot;Checksum&quot; kod par\u00e7as\u0131 - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[:tr]Haftal\u0131k C++ 35 - Basit bir &quot;Checksum&quot; kod par\u00e7as\u0131[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\" \/>\n<meta property=\"og:description\" content=\"Herhangi bir programlama dili kullanarak, soket ya da benzeri bir haberle\u015fme protokol\u00fc kulland\u0131ysan\u0131z, eninde sonunda &#8220;checksum&#8221; kavram\u0131 ile kar\u015f\u0131la\u015fm\u0131\u015fs\u0131n\u0131zd\u0131r. Nedir peki &#8220;checksum&#8221;? T\u00fcrk\u00e7e kar\u015f\u0131l\u0131\u011f\u0131 &#8220;sa\u011flama toplam\u0131&#8221; olarak ifade edebilece\u011fimiz &#8220;checksum&#8221;, herhangi bir \u015fekilde iletilen ya da saklanan verinin, \u00f6zel fonksiyon ya da algoritmalar kullan\u0131larak, elde edilen daha k\u00fc\u00e7\u00fck boyutlu veriye verilen isimdir. Bu veri, temel... Continue reading &#8594;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/\" \/>\n<meta property=\"og:site_name\" content=\"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-07T19:02:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/tutorialspoint.dev\/image\/detect12.jpg\" \/>\n<meta name=\"author\" content=\"yaz\u0131l\u0131mperver\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"yaz\u0131l\u0131mperver\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/\"},\"author\":{\"name\":\"yaz\u0131l\u0131mperver\",\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"headline\":\"Haftal\u0131k C++ 35 &#8211; Basit bir &#8220;Checksum&#8221; kod par\u00e7as\u0131\",\"datePublished\":\"2021-02-07T19:02:41+00:00\",\"dateModified\":\"2021-02-07T19:02:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/\"},\"wordCount\":565,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"keywords\":[\"algorithms\",\"c++\",\"checksum\",\"numeric\",\"sa\u011flama toplam\u0131\"],\"articleSection\":[\"C++\",\"Modern C++\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/\",\"url\":\"https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/\",\"name\":\"[:tr]Haftal\u0131k C++ 35 - Basit bir \\\"Checksum\\\" kod par\u00e7as\u0131[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#website\"},\"datePublished\":\"2021-02-07T19:02:41+00:00\",\"dateModified\":\"2021-02-07T19:02:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Ana sayfa\",\"item\":\"https:\/\/www.yazilimperver.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Haftal\u0131k C++ 35 &#8211; Basit bir &#8220;Checksum&#8221; kod par\u00e7as\u0131\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.yazilimperver.com\/#website\",\"url\":\"https:\/\/www.yazilimperver.com\/\",\"name\":\"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\",\"description\":\"Payla\u015fmak g\u00fczeldir.\",\"publisher\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.yazilimperver.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\",\"name\":\"yaz\u0131l\u0131mperver\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png\",\"contentUrl\":\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png\",\"caption\":\"yaz\u0131l\u0131mperver\"},\"logo\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[:tr]Haftal\u0131k C++ 35 - Basit bir \"Checksum\" kod par\u00e7as\u0131[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/","og_locale":"tr_TR","og_type":"article","og_title":"[:tr]Haftal\u0131k C++ 35 - Basit bir \"Checksum\" kod par\u00e7as\u0131[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","og_description":"Herhangi bir programlama dili kullanarak, soket ya da benzeri bir haberle\u015fme protokol\u00fc kulland\u0131ysan\u0131z, eninde sonunda &#8220;checksum&#8221; kavram\u0131 ile kar\u015f\u0131la\u015fm\u0131\u015fs\u0131n\u0131zd\u0131r. Nedir peki &#8220;checksum&#8221;? T\u00fcrk\u00e7e kar\u015f\u0131l\u0131\u011f\u0131 &#8220;sa\u011flama toplam\u0131&#8221; olarak ifade edebilece\u011fimiz &#8220;checksum&#8221;, herhangi bir \u015fekilde iletilen ya da saklanan verinin, \u00f6zel fonksiyon ya da algoritmalar kullan\u0131larak, elde edilen daha k\u00fc\u00e7\u00fck boyutlu veriye verilen isimdir. Bu veri, temel... Continue reading &#8594;","og_url":"https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/","og_site_name":"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","article_published_time":"2021-02-07T19:02:41+00:00","og_image":[{"url":"https:\/\/tutorialspoint.dev\/image\/detect12.jpg"}],"author":"yaz\u0131l\u0131mperver","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"yaz\u0131l\u0131mperver","Tahmini okuma s\u00fcresi":"3 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/#article","isPartOf":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/"},"author":{"name":"yaz\u0131l\u0131mperver","@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"headline":"Haftal\u0131k C++ 35 &#8211; Basit bir &#8220;Checksum&#8221; kod par\u00e7as\u0131","datePublished":"2021-02-07T19:02:41+00:00","dateModified":"2021-02-07T19:02:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/"},"wordCount":565,"commentCount":0,"publisher":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"keywords":["algorithms","c++","checksum","numeric","sa\u011flama toplam\u0131"],"articleSection":["C++","Modern C++"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/","url":"https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/","name":"[:tr]Haftal\u0131k C++ 35 - Basit bir \"Checksum\" kod par\u00e7as\u0131[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/www.yazilimperver.com\/#website"},"datePublished":"2021-02-07T19:02:41+00:00","dateModified":"2021-02-07T19:02:41+00:00","breadcrumb":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.yazilimperver.com\/index.php\/2021\/02\/07\/haftalik-c-35-basit-bir-checksum-kod-parcasi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Ana sayfa","item":"https:\/\/www.yazilimperver.com\/"},{"@type":"ListItem","position":2,"name":"Haftal\u0131k C++ 35 &#8211; Basit bir &#8220;Checksum&#8221; kod par\u00e7as\u0131"}]},{"@type":"WebSite","@id":"https:\/\/www.yazilimperver.com\/#website","url":"https:\/\/www.yazilimperver.com\/","name":"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","description":"Payla\u015fmak g\u00fczeldir.","publisher":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.yazilimperver.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb","name":"yaz\u0131l\u0131mperver","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/","url":"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png","contentUrl":"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png","caption":"yaz\u0131l\u0131mperver"},"logo":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/2099","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/comments?post=2099"}],"version-history":[{"count":3,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/2099\/revisions"}],"predecessor-version":[{"id":2104,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/2099\/revisions\/2104"}],"wp:attachment":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/media?parent=2099"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/categories?post=2099"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/tags?post=2099"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}