{"id":299611,"date":"2022-11-22T15:08:27","date_gmt":"2022-11-22T14:08:27","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=qodana&#038;p=299611"},"modified":"2022-11-22T15:08:30","modified_gmt":"2022-11-22T14:08:30","slug":"qodana-2022-3","status":"publish","type":"qodana","link":"https:\/\/blog.jetbrains.com\/ko\/qodana\/2022\/11\/qodana-2022-3\/","title":{"rendered":"Qodana 2022.3 EAP \ucd9c\uc2dc: .NET \ubc0f Go\uc6a9 Qodana, \uadf8\ub9ac\uace0 100\uac1c \uc774\uc0c1\uc758 \uc0c8\ub85c\uc6b4 \uac80\uc0ac"},"content":{"rendered":"<p>Qodana 2022.3 EAP\uac00 \ucd9c\uc2dc\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc774 \ubc84\uc804\uc758 \ud50c\ub7ab\ud3fc\uc740 <strong>.NET<\/strong> \ubc0f <strong>Go<\/strong>\uc5d0 \ub300\ud55c \uc9c0\uc6d0\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \ub610\ud55c \uc774\ubbf8 \uc9c0\uc6d0\ub418\ub294 \uc5b8\uc5b4\uc5d0 \ub300\ud574 100\uac1c \uc774\uc0c1\uc758 \uc0c8\ub85c\uc6b4 \uac80\uc0ac\ub97c \ucd94\uac00\ud588\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc Qodana 2022.3 EAP\ub294 \uc544\uc9c1 \ucd08\uae30 \ub2e8\uacc4\uc774\ubbc0\ub85c Qodana 2022.2 \uc774\ubbf8\uc9c0\uac00 \ub354 \uc548\uc815\uc801\uc785\ub2c8\ub2e4.<\/p>\n<p>\uacc4\uc18d\ud574\uc11c \uc774 \uac8c\uc2dc\ubb3c\uc744 \uc77d\uace0 \ud765\ubbf8\ub85c\uc6b4 \uc0c8 \uae30\ub2a5\uc758 \uc5bc\ub9ac \uc5b4\ub2f5\ud130\uac00 \ub418\uc5b4\ubcf4\uc138\uc694!<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-292996\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/Featured_image_1280x600_Qodana.png\" alt=\"\" width=\"2560\" height=\"1200\"><\/figure>\n<p align=\"center\"><a class=\"jb-download-button\" href=\"https:\/\/www.jetbrains.com\/ko-kr\/qodana\" target=\"_blank\" rel=\"noopener\"><br>Qodana \uc2dc\uc791\ud558\uae30<br><\/a><\/p>\n<p>\uc0c8\ub85c\uc6b4 linter\ub294 <a href=\"https:\/\/www.jetbrains.com\/ko-kr\/rider\/\" target=\"_blank\" rel=\"noreferrer noopener\">Rider<\/a> \ubc0f <a href=\"https:\/\/www.jetbrains.com\/go\/\" target=\"_blank\" rel=\"noreferrer noopener\">GoLand<\/a>\uc758 \ubaa8\ub4e0 \uc2a4\ub9c8\ud2b8\ud55c \uae30\ub2a5\uc744 \uc81c\uacf5\ud558\uc5ec \ube44\uc815\uc0c1\uc801\uc778 \ucf54\ub4dc\uc640 \uc7a0\uc7ac\uc801 \ubc84\uadf8\ub97c \ubc1c\uacac\ud558\uace0, \ubd88\ud544\uc694\ud55c \ucf54\ub4dc\ub97c \uc81c\uac70\ud558\uace0, \uc804\uccb4 \ucf54\ub4dc \uad6c\uc870\ub97c \uac1c\uc120\ud558\uace0, \ubaa8\ub4e0 .NET \ubc0f Go \ud504\ub85c\uc81d\ud2b8\uc5d0 \ub300\ud55c \ucf54\ub529 \ubaa8\ubc94 \uc0ac\ub840\ub97c \ub3c4\uc785\ud560 \uc218 \uc788\uac8c \ud574\uc90d\ub2c8\ub2e4!<\/p>\n<h2>Qodana for .NET<\/h2>\n<p>Qodana\ub294 Rider\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \uac70\uc758 \ubaa8\ub4e0 .NET \uac80\uc0ac\ub97c \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \ub2e4 \ub098\uc5f4\ud558\uae30\uc5d0\ub294 \ub108\ubb34 \ub9ce\uc73c\ubbc0\ub85c <a href=\"https:\/\/www.jetbrains.com\/help\/rider\/Code_Analysis__Code_Inspections.html\" target=\"_blank\" rel=\"noreferrer noopener\">Rider \ubb38\uc11c<\/a>\ub97c \ud655\uc778\ud558\uc5ec \ubaa8\ub4e0 \uac80\uc0ac\uc5d0 \ub300\ud574 \uc790\uc138\ud788 \uc54c\uc544\ubcf4\uc138\uc694. \uc5ec\uae30\uc11c\ub294 Qodana\uac00 \uc2e4\ud589\ud560 \uc218 \uc788\ub294 .NET \uac80\uc0ac\uc758 \uc608\ub97c \uba87 \uac00\uc9c0 \uc18c\uac1c\ud569\ub2c8\ub2e4.<\/p>\n<p><strong>\uc77c\uad00\uc131 \uc5c6\ub294 lock \uc694\uccad<\/strong><\/p>\n<p>\uc2a4\ub808\ub4dc \uc548\uc804\uc744 \ud655\ubcf4\ud558\uae30 \uc704\ud574 lock\uc744 \uc0ac\uc6a9\ud560 \ub54c\uc758 \uc8fc\ub41c \ubb38\uc81c \uc911 \ud558\ub098\ub294 \uad50\ucc29 \uc0c1\ud0dc\ub97c \ud53c\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \uc989, \ub3d9\uc2dc\uc5d0 \uc5ec\ub7ec \uc2a4\ub808\ub4dc\uac00 \uacc4\uc18d\uc801\uc778 \uc2e4\ud589\uc744 \uc11c\ub85c \ub9c9\uc73c\uba74\uc11c \uc9c4\ud589\uc774 \uc774\ub8e8\uc5b4\uc9c0\uc9c0 \uc54a\ub294 \uacbd\uc6b0\uc785\ub2c8\ub2e4. \uc774 \uc0c8\ub85c\uc6b4 \uac80\uc0ac\ub97c \ud1b5\ud574 Qodana\ub294 \ub7f0\ud0c0\uc784 \uc2dc \uad50\ucc29 \uc0c1\ud0dc\ub97c \uc720\ubc1c\ud560 \uc218 \uc788\ub294 \uc0ac\uc774\ud074\uc744 \uac15\uc870 \ud45c\uc2dc\ud569\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-293018\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/1-NET-order-of-locks.png\" alt=\"\" width=\"1776\" height=\"804\"><\/figure>\n<p><strong>\uc218\uc815\ub41c \ucea1\ucc98\ub41c \ubcc0\uc218\uc5d0 \uc561\uc138\uc2a4<\/strong><\/p>\n<p>Qodana for .NET\uc740 \ubcc0\uc218\uac00 \uc678\ubd80\uc5d0\uc11c \uc218\uc815\ub418\ub294 \uacbd\uc6b0 \uc775\uba85 \uba54\uc11c\ub4dc\uc5d0\uc11c \ucea1\ucc98\ub41c \ubcc0\uc218\uc5d0 \ub300\ud55c \uc561\uc138\uc2a4\ub97c \uac10\uc9c0\ud569\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-293029\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/2-NET-access-to-modified.png\" alt=\"\" width=\"1772\" height=\"570\"><\/figure>\n<p><strong>\ub300\ub9ac\uc790\uac00 \u2018void\u2019\ub97c \ubc18\ud658\ud558\ub294 \uacbd\uc6b0 \u2018async\u2019 \ub78c\ub2e4 \uc0ac\uc6a9 \ubc30\uc81c<\/strong><\/p>\n<p>\uc774 \uac80\uc0ac\ub294 \u2018async\u2019 \ub78c\ub2e4 \uc2dd\uc758 \uc0ac\uc6a9 \uc704\uce58\ub97c \ucc3e\uc2b5\ub2c8\ub2e4. \ub78c\ub2e4\uac00 \ucc98\ub9ac\ud558\uc9c0 \uc54a\uc740 \uc608\uc678\ub294 \ud638\ucd9c\uc790 \uc2a4\ub808\ub4dc\uc5d0 \uc601\ud5a5\uc744 \ubbf8\uce58\uc9c0 \uc54a\uc73c\uba70 catch \uc808\ub85c \ud3ec\ucc29\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-293040\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/3-NET-Avoid-async-lambda.png\" alt=\"\" width=\"1766\" height=\"650\"><\/figure>\n<p><strong>\ud0c0\uc785 \uac80\uc0ac \ubc0f \ud615 \ubcc0\ud658\uc758 \ubcd1\ud569 \uac00\ub2a5<\/strong><\/p>\n<p>\uae30\uc874 \ud615\uc2dd <code>(Expression is Type)<\/code>\uc758 \ud0c0\uc785 \ud14c\uc2a4\ud2b8 <code>is<\/code> \uc5f0\uc0b0\uc790\ub294 <code>Expression<\/code>\uc758 \ub7f0\ud0c0\uc784 \ud615\uc2dd\uc774 <code>Type<\/code>\uacfc \ud638\ud658\ub418\uace0 <code>Expression<\/code>\uc758 \uacb0\uacfc\uac00 <code>null<\/code>\uc774 \uc544\ub2cc \uacbd\uc6b0\uc5d0\ub9cc <code>true<\/code>\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.<\/p>\n<p>\uc544\ub798 \uc608\uc640 \uac19\uc774 \ud615 \ubcc0\ud658 \uc804\uc5d0 \ud638\ud658\uc131\uc744 \ud655\uc778\ud558\uae30 \uc704\ud574 <code>is<\/code>\ub97c \uc0ac\uc6a9\ud558\uba74 \ucd5c\uc18c\ud55c \ub450 \uac00\uc9c0 \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud569\ub2c8\ub2e4.<\/p>\n<ul>\n<li>\uc774\uc720 \uc5c6\uc774 \ud0c0\uc785 \uac80\uc0ac\ub97c \ub450 \ubc88 \uc218\ud589\ud558\uac8c \ub418\uace0, \uc774\ub97c \ub8e8\ud504 \ub0b4\uc5d0\uc11c \uc218\ud589\ud558\ub294 \uacbd\uc6b0 \uc131\ub2a5\uc5d0 \uc601\ud5a5\uc744 \ubbf8\uce60 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><code>obj<\/code>\uac00 <code>null<\/code>\uc774\uba74 \ud504\ub85c\uadf8\ub7a8 \uc2e4\ud589\uc774 <code>if<\/code> \ubb38\uc73c\ub85c \ub4e4\uc5b4\uac00\uc9c0 \uc54a\ub294\ub2e4\ub294 \uc0ac\uc2e4\uc740 \uc774 \ucf54\ub4dc\ub97c \uc77d\ub294 \uc0ac\ub78c\ub4e4\uc5d0\uac8c \uba85\ud655\ud558\uc9c0 \uc54a\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p>Qodana\ub294 \uc774 \ubb38\uc81c\ub97c \ubc1c\uacac\ud558\uace0 Rider\uc5d0\uc11c \ubc14\ub85c \uc218\uc815\ud558\ub3c4\ub85d \uc81c\uc548\ud569\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-293051\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/4-NET-Merge-cast.png\" alt=\"\" width=\"1748\" height=\"510\"><\/figure>\n<p><strong>\ub78c\ub2e4 \uc2dd\/\uc775\uba85 \uba54\uc11c\ub4dc\uc5d0\ub294 \ud3ec\ud568\ud558\uace0 \uc788\ub294 \ucee8\ud14d\uc2a4\ud2b8\uc758 \ucea1\ucc98\uac00 \uc5c6\uc5b4\uc57c \ud569\ub2c8\ub2e4.<\/strong><\/p>\n<p>\u2018[RequireStaticDelegate]\u2019 \uc18d\uc131\uc73c\ub85c \uc5b4\ub178\ud14c\uc774\uc158\uc774 \ucd94\uac00\ub41c \ub9e4\uac1c\ubcc0\uc218\uc5d0 \uc804\ub2ec\ub41c \ub78c\ub2e4 \uc2dd\/\uc775\uba85 \uba54\uc11c\ub4dc\uc5d0\ub294 \ud799 \ud560\ub2f9\uc744 \ud53c\ud558\uae30 \uc704\ud574 \ud3ec\ud568\ud558\uace0 \uc788\ub294 \ucee8\ud14d\uc2a4\ud2b8(\ub85c\uceec \ubcc0\uc218, \ub85c\uceec \ud568\uc218, \u2018\uc774 \ub0b4\uc6a9\u2019 \ucc38\uc870)\uc758 \ucea1\ucc98\uac00 \uc5c6\uc5b4\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-293062\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/5-NET-Lambda.png\" alt=\"\" width=\"1768\" height=\"676\"><\/figure>\n<p>.NET\uc6a9 linter\ub97c \uad6c\uc131\ud558\uace0 \ubd84\uc11d\uc744 \uc2e4\ud589\ud558\ub824\uba74 <a href=\"https:\/\/www.jetbrains.com\/help\/qodana\/2022.3\/qodana-dotnet-docker-readme.html\" target=\"_blank\" rel=\"noreferrer noopener\">Qodana \ubb38\uc11c<\/a>\ub97c \ucc38\uc870\ud558\uc138\uc694.<\/p>\n<h2>Qodana for Go<\/h2>\n<p>Qodana 2022.3\uc740 GoLand\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \ubaa8\ub4e0 \uac80\uc0ac\ub97c \uc9c0\uc6d0\ud558\ub3c4\ub85d \uc124\uacc4\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc804\uccb4 \ubaa9\ub85d\uc744 \ubcf4\ub824\uba74 <a href=\"https:\/\/www.jetbrains.com\/help\/go\/code-inspections-in-go.html\" target=\"_blank\" rel=\"noreferrer noopener\">GoLand \ubb38\uc11c<\/a>\ub97c \ucc38\uc870\ud558\uc138\uc694. \ub2e4\uc74c\uc740 \ud604\uc7ac Qodana\uac00 \uc9c0\uc6d0\ud558\ub294 Go \uac80\uc0ac\uc758 \uc77c\ubd80 \uc608\uc785\ub2c8\ub2e4.<\/p>\n<p><strong>\uc790\ub9ac \ud45c\uc2dc\uc790 \uc778\uc218 \u2018d.DeletedCount\u2019\uc5d0 \uc798\ubabb\ub41c \ud0c0\uc785 \u2018int64\u2019 (%s)\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/strong><\/p>\n<p>\uc774 \uac80\uc0ac\ub294 <code>fmt.Printf<\/code>, <code>fmt.Println<\/code> \ubc0f \uc720\uc0ac\ud55c \uc11c\uc2dd \uc9c0\uc815 \ubc0f \ucd9c\ub825 \ud568\uc218\uc758 \uc798\ubabb\ub41c \uc0ac\uc6a9\uc744 \ubcf4\uace0\ud569\ub2c8\ub2e4.<\/p>\n<p>\uc11c\uc2dd \uc9c0\uc815 \ubb38\uc790\uc5f4\uc5d0\uc11c \uc11c\uc2dd \uc9c0\uc815 \ud568\uc218\ub294 <code>%s<\/code>, <code>%d<\/code>, <code>%v<\/code> \ub4f1\uacfc \uac19\uc740 \uc11c\uc2dd \uc9c0\uc815 \ub3d9\uc0ac\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n<p>\uc11c\uc2dd \uc9c0\uc815 \ub3d9\uc0ac\uac00 \uc798\ubabb \uc0ac\uc6a9\ub418\uba74 \uc11c\uc2dd \uc9c0\uc815 \ud568\uc218\uc758 \uacb0\uacfc\uc5d0 \uc624\ub958\uac00 \ud3ec\ud568\ub429\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-293073\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/6-Go-placeholder.png\" alt=\"\" width=\"1718\" height=\"548\"><\/figure>\n<p><strong>\ucc98\ub9ac\ub418\uc9c0 \uc54a\uc740 \uc624\ub958<\/strong><\/p>\n<p>\uc774 \uac80\uc0ac\ub294 <code>error<\/code> \ud0c0\uc785\uc758 \ud638\ucd9c \uacb0\uacfc\ub97c \ucc98\ub9ac\ud558\uc9c0 \uc54a\ub294 \ud568\uc218 \ubc0f \uba54\uc11c\ub4dc\uc5d0 \ub300\ud55c \ud638\ucd9c\uc744 \ubcf4\uace0\ud569\ub2c8\ub2e4.<\/p>\n<p>\uc774\ub7ec\ud55c \ud568\uc218\uc758 API\ub97c \uc2e4\ud589\ud560 \ub54c\ub294 \uc131\uacf5\uc801\uc73c\ub85c \uc644\ub8cc\ub418\uc9c0 \uc54a\uace0 \uc624\ub958\ub97c \ubc18\ud658\ud560 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc624\ub958 \uacb0\uacfc\ub97c \ucc98\ub9ac\ud558\uc9c0 \uc54a\ub294 \ud638\ucd9c\uc740 API\uc758 \uc798\ubabb\ub41c \uc0ac\uc6a9\uc744 \ub098\ud0c0\ub0bc \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-293084\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/7-Go-Unhandled.png\" alt=\"\" width=\"1718\" height=\"464\"><\/figure>\n<p><strong>\uc0ac\uc6a9\ub418\uc9c0 \uc54a\ub294 \uc885\uc18d \uc694\uc18c<\/strong><\/p>\n<p>\uc774 \uac80\uc0ac\ub294 \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \uc0ac\uc6a9\ub418\uc9c0 \uc54a\uc740 \uc885\uc18d \uc694\uc18c\ub97c \ubcf4\uace0\ud569\ub2c8\ub2e4. \ud504\ub85c\uc81d\ud2b8\uc758 \ub77c\uc774\ube0c\ub7ec\ub9ac \ud06c\uae30\ub97c \uc904\uc774\uace0 \uc720\uc9c0 \uad00\ub9ac\ub97c \ub354 \ud3b8\ub9ac\ud558\uac8c \ud574\uc8fc\ubbc0\ub85c \uc0ac\uc6a9\ud558\uc9c0 \uc54a\ub294 \uc885\uc18d \uc694\uc18c\ub97c \uc815\uae30\uc801\uc73c\ub85c \uc2a4\uce94\ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-293095\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/8-Go-unused.png\" alt=\"\" width=\"1594\" height=\"484\"><\/figure>\n<p>Qodana\uac00 \uc791\ub3d9\ud558\ub294 \ubaa8\uc2b5\uc744 \ubcf4\uace0 \uc774\ub7ec\ud55c \uc0c8\ub85c\uc6b4 \uac80\uc0ac\ub97c \uc0ac\uc6a9\ud574 \ubcf4\ub824\uba74 \uc5b8\uc81c\ub4e0\uc9c0 \ubb38\uc11c\ub85c \uc774\ub3d9\ud558\uc5ec <a href=\"https:\/\/www.jetbrains.com\/help\/qodana\/2022.3\/qodana-go-docker-readme.html\" target=\"_blank\" rel=\"noreferrer noopener\">Go<\/a>\uc6a9 linter\ub97c \uad6c\uc131\ud558\ub294 \ubc29\ubc95\uc744 \uc0b4\ud3b4\ubcf4\uc138\uc694.<\/p>\n<h2>\uc0c8\ub85c\uc6b4 \uac80\uc0ac \uae30\ub2a5<\/h2>\n<p>\uc0c8\ub85c\uc6b4 .NET \ubc0f Go\uc6a9 linter\ub97c \ucd94\uac00\ud55c \uc678\uc5d0\ub3c4 Qodana 2022.3\uc5d0\ub294 \uae30\uc874 linter\uc5d0 \ub300\ud55c 100\uac1c \uc774\uc0c1\uc758 \uc0c8\ub85c\uc6b4 \uac80\uc0ac\uac00 \uc81c\uacf5\ub429\ub2c8\ub2e4. Java, Kotlin \ubc0f Python\uc5d0 \ub300\ud55c \uac80\uc0ac \uc911 \uac00\uc7a5 \uc8fc\ubaa9\ud560 \ub9cc\ud55c \uc608\ub97c \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<h3>Java \ubc0f Kotlin \uac80\uc0ac<\/h3>\n<p>Qodana for JVM Community \ubc0f Qodana for JVM\uc5d0 40\uac1c \uc774\uc0c1\uc758 \uc0c8\ub85c\uc6b4 \uac80\uc0ac\ub97c \ucd94\uac00\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n<p><strong>DataFlowIssue<\/strong><\/p>\n<p>\uc774 \uac80\uc0ac\ub294 \ub370\uc774\ud130 \ud750\ub984 \ubd84\uc11d\uc744 \uae30\ubc18\uc73c\ub85c \ud56d\uc0c1 null \uac12 \uac00\ub2a5\uc131 \uacc4\uc57d\uc744 \uc704\ubc18\ud558\uac70\ub098 \uc608\uc678\uac00 \ubc1c\uc0dd\ud560 \uc218 \uc788\uac70\ub098 \uc911\ubcf5\ub418\ub294 \ucf54\ub4dc \uad6c\uc131\uc744 \ubcf4\uace0\ud569\ub2c8\ub2e4.<\/p>\n<p><strong>EscapedSpace<\/strong><\/p>\n<p>Java 15\uc5d0\ub294 \ud14d\uc2a4\ud2b8 \ube14\ub85d\uc758 \ud6c4\ud589 \uacf5\ubc31\uc774 \ud45c\uc2dc\ub418\ub3c4\ub85d \ud558\ub294 \ubb38\uc790\uc5f4 \uc774\uc2a4\ucf00\uc774\ud504 \uc2dc\ud000\uc2a4 s\uac00 \ub3c4\uc785\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ub300\ubd80\ubd84\uc758 \ub2e4\ub978 \ucee8\ud14d\uc2a4\ud2b8, \ud2b9\ud788 \uc815\uaddc\uc2dd\uc5d0\uc11c \uc774 \uc774\uc2a4\ucf00\uc774\ud504 \uc2dc\ud000\uc2a4\ub294 \uacf5\ubc31\uc744 \uc758\ubbf8\ud558\ub294 \uc815\uaddc\uc2dd\uc758 <code>s<\/code>\uc640 \uc27d\uac8c \ud63c\ub3d9\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. Java \ubb38\uc790\uc5f4 \ub9ac\ud130\ub7f4\uc5d0\uc11c\ub294 \ub300\uc2e0 <code>\\s<\/code>\ub85c \uc368\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<p><strong>MismatchedJavadocCode<\/strong><\/p>\n<p>\uc774 \uac80\uc0ac\ub294 \uba54\uc11c\ub4dc\uac00 \ubb38\uc790\uc5f4\uc744 \ubc18\ud658\ud560 \ub54c &#8220;returns true&#8221;\ub77c\ub294 \uc8fc\uc11d\uacfc \uac19\uc774 \uba54\uc11c\ub4dc\uc758 Javadoc\uc774 \uba54\uc11c\ub4dc \uc11c\uba85\uacfc \uba85\ubc31\ud558\uac8c \ubaa8\uc21c\ub418\ub294 \uacbd\uc6b0\ub97c \ubcf4\uace0\ud569\ub2c8\ub2e4.<\/p>\n<p><strong>Destructure<\/strong><\/p>\n<p>\uc774 \uac80\uc0ac\ub294 \uad6c\uc870\uac00 \ubd84\ud574\ub420 \uc218 \uc788\ub294 Kotlin\uc758 \uc120\uc5b8\uc744 \ubcf4\uace0\ud569\ub2c8\ub2e4.<\/p>\n<p><strong>UnresolvedRestParam<\/strong><\/p>\n<p>\uc774\uc81c Qodana\ub294 REST \uc11c\ube44\uc2a4\uc5d0\uc11c \uc77c\uad00\uc131 \uc5c6\ub294 \uba54\uc11c\ub4dc \uc120\uc5b8(\uc608: <code>@Get<\/code> \uc5b4\ub178\ud14c\uc774\uc158\uc758 \uc790\ub9ac \ud45c\uc2dc\uc790\uc640 \uc77c\uce58\ud558\uc9c0 \uc54a\ub294 <code>@PathParam<\/code> \ub9e4\uac1c\ubcc0\uc218)\uc744 \uac10\uc9c0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc120\uc5b8\uc740 \ub7f0\ud0c0\uc784\uc5d0 \uc608\uc678\ub97c \ubc1c\uc0dd\uc2dc\ud0b5\ub2c8\ub2e4.&nbsp;<\/p>\n<p><strong>ReactiveStreamsThrowInOperator<\/strong><\/p>\n<p>\uc774 \uc0c8\ub85c\uc6b4 \uac80\uc0ac\ub294 \uc9c0\uc815\ub41c \uc624\ub958 \uac12\uc744 \ubc18\ud658\ud558\ub294 \ub300\uc2e0 Reactor\/RxJava \uc5f0\uc0b0\uc790 \ucf54\ub4dc\uc5d0\uc11c <code>throw<\/code> \ubb38\uc744 \ucc3e\uc544 \uc624\ub958\uac00 \ub354 \uc774\uc0c1 \ucc98\ub9ac\ub418\uc9c0 \uc54a\ub3c4\ub85d \ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \uc774\ub7ec\ud55c \ubb38\uc744 \ubb34\uc2dc\ud558\uac70\ub098 \ub300\uccb4 \uac12\uc73c\ub85c \ubc14\uafc9\ub2c8\ub2e4.<\/p>\n<p><\/p>\n<p>\ub610\ud55c \uc774 \ubc84\uc804\uc758 Qodana\ub294 IntelliJ IDEA 2022.3 \ubc0f Android Studio \u2013 Electric Eel | 2022.1.1\uc5d0 \ub3c4\uc785\ub41c Android\uc758 \ubaa8\ub4e0 \uc0c8\ub85c\uc6b4 \uac80\uc0ac\ub3c4 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n<h3>Python \uac80\uc0ac<\/h3>\n<p>\ub610\ud55c \ud504\ub85c\ub355\uc158 \ud658\uacbd\uc5d0\uc11c \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\uae30 \uc804\uc5d0 \ubb38\uc81c\ub97c \uac15\uc870 \ud45c\uc2dc\ud558\ub294 Google App Engine\uc758 \uba87 \uac00\uc9c0 \uac80\uc0ac\ub97c Qodana for Python\uc5d0 \ucd94\uac00\ud588\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \uc774\uc81c \ub2e4\uc74c\uc744 \ucc3e\uc544\ub0bc \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<ul>\n<li>Google App Engine \uc11c\ubc84\uc5d0\uc11c \ud5c8\uc6a9\ub41c \ucffc\ub9ac\uc5d0 \ub300\ud55c \uc81c\ud55c \uc0ac\ud56d\uc744 \uc900\uc218\ud558\uc9c0 \uc54a\ub294 GQL \ucffc\ub9ac<\/li>\n<li>\uc778\ub371\uc2a4\uac00 \uc5c6\ub294 GQL \ucffc\ub9ac<\/li>\n<li>Google App Engine \uc0cc\ub4dc\ubc15\uc2a4\uc5d0 \uc758\ud574 \uc81c\ud55c\ub418\ub294 Python \uae30\ub2a5 \uc0ac\uc6a9<\/li>\n<li>CGI \ud578\ub4e4\ub7ec\uc5d0\uc11c Threadsafe\uac00 \ud65c\uc131\ud654\ub418\uc9c0 \uc54a\uc740 \uacbd\uc6b0<\/li>\n<\/ul>\n<p>\ub514\ud3f4\ud2b8 \uac80\uc0ac \ud504\ub85c\ud30c\uc77c\uc744 \uc0ac\uc6a9\uc790 \uc9c0\uc815\ud558\uac70\ub098 \uc644\uc804\ud788 \uc0c8\ub85c\uc6b4 \ud504\ub85c\ud30c\uc77c\uc744 \uc0dd\uc131\ud558\uc5ec \ubd84\uc11d \uc2dc \ud2b9\uc815 \uac80\uc0ac\ub97c \uc81c\uc678\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ud55c \ucf54\ub529 \uac00\uc774\ub4dc\ub77c\uc778\uc5d0 \uc911\uc694\ud55c \uac80\uc0ac\ub97c \uc801\uc6a9\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc790\uc138\ud55c \uc815\ubcf4\ub294 <a href=\"https:\/\/www.jetbrains.com\/help\/qodana\/qodana-yaml.html#Include+an+inspection+into+the+analysis+scope\" target=\"_blank\" rel=\"noreferrer noopener\">Qodana \ubb38\uc11c<\/a>\uc5d0\uc11c \ud655\uc778\ud558\uc138\uc694.<\/p>\n<p>Qodana 2022.3 EAP\uc5d0 \ub300\ud574 \ubaa8\ub450 \uc54c\uc544\ubcf4\uc558\uc2b5\ub2c8\ub2e4! \uc774\ubc88 \uc0c8 \ub9b4\ub9ac\uc2a4\uac00 \uc5ec\ub7ec\ubd84\uc758 \ub9c8\uc74c\uc5d0 \ub4dc\uc2dc\uae30\ub97c \ubc14\ub78d\ub2c8\ub2e4. \ud5a5\ud6c4 \ube14\ub85c\uadf8\uc5d0 \uac8c\uc2dc\ud560 \uc8fc\uc81c\ub97c \uc81c\uc548\ud558\uac70\ub098 \ube44\uc988\ub2c8\uc2a4\uc5d0 Qodana\ub97c \ud65c\uc6a9\ud560 \ubc29\ubc95\uc744 \uc54c\uc544\ubcf4\ub824\uba74 \uc774 \uac8c\uc2dc\ubb3c\uc5d0 \ub313\uae00\uc744 \ub0a8\uae30\uac70\ub098, <a href=\"https:\/\/twitter.com\/Qodana\" target=\"_blank\" rel=\"noreferrer noopener\">Twitter<\/a> \ub610\ub294 <a href=\"mailto:qodana-support@jetbrains.com\">qodana-support@jetbrains.com<\/a>\uc73c\ub85c \ubb38\uc758\ud574 \uc8fc\uc138\uc694.<\/p>\n<p>\ucf54\ub4dc\ub97c \uae54\ub054\ud558\uac8c \uc720\uc9c0\ud558\uba74\uc11c, \uc990\uac81\uac8c \uac1c\ubc1c\ud558\uc138\uc694!<\/p>\n<p><em>Qodana \ud300<\/em><\/p>\n<p><em>\uac8c\uc2dc\ubb3c \uc6d0\ubb38 \uc791\uc131\uc790<\/em><\/p>\n\n    <div class=\"about-author \">\n        <div class=\"about-author__box\">\n            <div class=\"row\">\n                <div class=\"about-author__box-img\">\n                    <img decoding=\"async\" src=\"https:\/\/secure.gravatar.com\/avatar\/?s=200&#038;r=g\" width=\"200\" height=\"200\" alt=\"\" loading=\"lazy\"  class=\"avatar avatar-200 wp-user-avatar wp-user-avatar-200 photo avatar-default\">\n                <\/div>\n                <div class=\"about-author__box-text\">\n                                                        <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n","protected":false},"author":964,"featured_media":293124,"comment_status":"closed","ping_status":"closed","template":"","categories":[5088,4113,89,907],"tags":[477],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/qodana\/299611"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/qodana"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/types\/qodana"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/users\/964"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/comments?post=299611"}],"version-history":[{"count":6,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/qodana\/299611\/revisions"}],"predecessor-version":[{"id":299624,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/qodana\/299611\/revisions\/299624"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media\/293124"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media?parent=299611"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/categories?post=299611"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/tags?post=299611"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/cross-post-tag?post=299611"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}