{"id":53599,"date":"2019-12-05T00:00:00","date_gmt":"2019-12-04T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/samyj-populyarnyj-primer-java-koda-na-stackoverflow-okazalsya-s-oshibkoj"},"modified":"2020-02-18T14:01:31","modified_gmt":"2020-02-18T11:01:31","slug":"samyj-populyarnyj-primer-java-koda-na-stackoverflow-okazalsya-s-oshibkoj","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/news\/samyj-populyarnyj-primer-java-koda-na-stackoverflow-okazalsya-s-oshibkoj","title":{"rendered":"Det mest popul\u00e4ra Java-kodexemplet p\u00e5 StackOverflow visade sig ha ett fel","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Den mest popul\u00e4ra <noindex><a rel=\"nofollow\" href=\"https:\/\/stackoverflow.com\/questions\/3758606\/how-to-convert-byte-size-into-human-readable-format-in-java\/3758880#3758880\">exemplet p\u00e5 Java-kod<\/a><\/noindex>, publicerad p\u00e5 StackOverflow, <noindex><a rel=\"nofollow\" href=\"https:\/\/programming.guide\/worlds-most-copied-so-snippet.html\">visade sig<\/a><\/noindex> ha ett fel som leder till att felaktiga resultat skriva ut under vissa f\u00f6rh\u00e5llanden. Den aktuella koden publicerades 2010 och har f\u00e5tt \u00f6ver tusen rekommendationer, and har ocks\u00e5 blivit <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/pdf\/1802.02938.pdf\">kopierad<\/a><\/noindex> till m\u00e5nga projekt och f\u00f6rekommer i repositorys p\u00e5 GitHub cirka 7000 g\u00e5nger. Det \u00e4r v\u00e4rt att notera att felet inte uppt\u00e4cktes av anv\u00e4ndare som kopierade denna kod till sina projekt, utan av den ursprungliga f\u00f6rfattaren till r\u00e5det.<\/p>\n<p>Den aktuella koden utf\u00f6rde omvandlingen av byte till en l\u00e4sbar form, till exempel omvandlade 110592 till \"110,6 kB\" eller \"108,0 KiB\". Koden f\u00f6reslogs som optimerad med hj\u00e4lp av logaritmer, ett tidigare f\u00f6reslaget r\u00e5d d\u00e4r v\u00e4rdet best\u00e4mdes genom att successivt dela det ursprungliga v\u00e4rdet i en slinga med 1018, 1015, 1012, 1019,<br \/>\n106, 103 och 100, tills delaren \u00e4r st\u00f6rre \u00e4n det ursprungliga v\u00e4rdet i byte. P\u00e5 grund av os\u00e4kra ber\u00e4kningar i den optimerade versionen (\u00f6verfl\u00f6de av long-v\u00e4rdet) var resultatet vid behandling av mycket stora nummer (exabyte) inte korrekt. <\/p>\n<p>F\u00f6rfattaren av r\u00e5det f\u00f6rs\u00f6kte ocks\u00e5 uppm\u00e4rksamma problemet med att kopiera exempel utan att h\u00e4nvisa till k\u00e4llan och utan att ange licens. Enligt tidigare <noindex><a rel=\"nofollow\" href=\"https:\/\/empirical-software.engineering\/assets\/pdf\/icse19-snippets-slides.pdf\">genomf\u00f6rd forskning<\/a><\/noindex> kopierade 46% av utvecklarna kod fr\u00e5n StackOverflow utan att ange f\u00f6rfattaren, 75% visste inte att koden spreds under licensen CC BY-SA, och 67% visste inte vad det innebar.<\/p>\n<p>uttalandet <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/pdf\/1910.01321.pdf\">data<\/a><\/noindex> En annan studie visade att kopiering av kodexempel medf\u00f6r inte bara risken f\u00f6r att koden inneh\u00e5ller fel, utan ocks\u00e5 s\u00e5rbarheter. Till exempel, genom att analysera 72483 kodexempel p\u00e5 C++ fr\u00e5n StackOverflow, uppt\u00e4ckte forskare allvarliga s\u00e5rbarheter i 69 exempel (vilket \u00e4r 0,09%), som ingick i listan \u00f6ver de mest popul\u00e4ra rekommendationerna. Efter att ha analyserat f\u00f6rekomsten av denna kod p\u00e5 GitHub visade det sig att s\u00e5rbar kod kopierad fr\u00e5n StackOverflow fanns i 2859 projekt.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>K\u00e4lla: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51982\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u0430\u043c\u044b\u0439 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 Java-\u043a\u043e\u0434\u0430, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 StackOverflow, \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439, \u043f\u0440\u0438\u0432\u043e\u0434\u044f\u0449\u0435\u0439 \u043a \u0432\u044b\u0432\u043e\u0434\u0443 \u043f\u0440\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u043d\u0435\u0432\u0435\u0440\u043d\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430. \u0420\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c\u044b\u0439 \u043a\u043e\u0434 \u0431\u044b\u043b \u0440\u0430\u0437\u043c\u0435\u0449\u0451\u043d \u0432 2010 \u0433\u043e\u0434\u0443 \u0438 \u043d\u0430\u043a\u043e\u043f\u0438\u043b \u0431\u043e\u043b\u0435\u0435 \u0442\u044b\u0441\u044f\u0447\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u044b\u043b \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d \u0432\u043e \u043c\u043d\u043e\u0433\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u0438 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u0445 \u043d\u0430 GitHub \u043e\u043a\u043e\u043b\u043e 7 \u0442\u044b\u0441\u044f\u0447 \u0440\u0430\u0437. \u041f\u0440\u0438\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0447\u0442\u043e \u043e\u0448\u0438\u0431\u043a\u0443 \u043d\u0430\u0448\u043b\u0438 \u043d\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438, \u043a\u043e\u043f\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0439 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-53599","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u0430\u043c\u044b\u0439 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 Java-\u043a\u043e\u0434\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sv\/blog\/news\/samyj-populyarnyj-primer-java-koda-na-stackoverflow-okazalsya-s-oshibkoj\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u0430\u043c\u044b\u0439 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 Java-\u043a\u043e\u0434\u0430 \u043d\u0430 StackOverflow \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u0430\u043c\u044b\u0439 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 Java-\u043a\u043e\u0434\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/news\/samyj-populyarnyj-primer-java-koda-na-stackoverflow-okazalsya-s-oshibkoj\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-12-04T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:01:31+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Den mest popul\u00e4ra exemplet p\u00e5 Java-kod p\u00e5 StackOverflow visade sig ha ett fel | ProHoster","description":"Den mest popul\u00e4ra exemplet p\u00e5 Java-kod.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/news\/samyj-populyarnyj-primer-java-koda-na-stackoverflow-okazalsya-s-oshibkoj","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u0430\u043c\u044b\u0439 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 Java-\u043a\u043e\u0434\u0430 \u043d\u0430 StackOverflow \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439 | ProHoster","og:description":"\u0421\u0430\u043c\u044b\u0439 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 Java-\u043a\u043e\u0434\u0430.","og:url":"https:\/\/prohoster.info\/sv\/blog\/news\/samyj-populyarnyj-primer-java-koda-na-stackoverflow-okazalsya-s-oshibkoj","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-12-04T21:00:00+00:00","article:modified_time":"2020-02-18T11:01:31+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"53599","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 08:02:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 14:26:01","updated":"2026-01-24 08:02:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/53599","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=53599"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/53599\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=53599"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=53599"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=53599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}