{"componentChunkName":"component---node-modules-narative-gatsby-theme-novela-src-templates-article-template-tsx","path":"/android-accessibility","result":{"pageContext":{"article":{"id":"c6c4753e-33c5-5426-af20-555bff4a97ad","slug":"/android-accessibility","secret":false,"title":"Android Accessibility","author":"Reno Kim","date":"June 5th, 2020","dateForSEO":"2020-06-05T00:00:00.000Z","timeToRead":1,"excerpt":"우아한 형제들의 Android Accessibility 적용 방식에 대한 글을 간단히 요약","canonical_url":null,"subscription":true,"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Android Accessibility\",\n  \"author\": \"Reno Kim\",\n  \"date\": \"2020-06-05T00:00:00.000Z\",\n  \"hero\": \"./images/hero.png\",\n  \"excerpt\": \"우아한 형제들의 Android Accessibility 적용 방식에 대한 글을 간단히 요약\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"android-accessibility\"\n  }, \"Android Accessibility\"), mdx(\"p\", null, \"[\", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"http://woowabros.github.io/experience/2020/01/30/app-for-everyone.html\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"\\uC6B0\\uC544\\uD55C\\uD615\\uC81C\\uB4E4 \\uAE30\\uC220 \\uBE14\\uB85C\\uADF8\"), \"]\"), mdx(\"h2\", {\n    \"id\": \"1-대체-텍스트\"\n  }, \"1. \\uB300\\uCCB4 \\uD14D\\uC2A4\\uD2B8\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"contentDescription \\uC740 \\uB208\\uC73C\\uB85C \\uC77D\\uD788\\uB294 \\uBAA8\\uB4E0 \\uC815\\uBCF4\\uB97C \\uC74C\\uC131\\uC73C\\uB85C \\uC77D\\uC5B4\\uC904 \\uC218 \\uC788\\uB294 \\uB300\\uCCB4 \\uD14D\\uC2A4\\uD2B8\\uB97C \\uD45C\\uD604 \\uD55C\\uB2E4\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Button \\uACFC ClickListner \\uAC00 \\uBD99\\uC740 ImageView \\uC5D0\\uB294 \\u201C\\u3147\\u3147 \\uBC84\\uD2BC\\u201D \\uC774\\uB77C\\uACE0 \\uC77D\\uC5B4\\uC900\\uB2E4\")), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-xml\"\n  }), \"<!-- for example -->\\n<ImageView\\n    android:id=\\\"@+id/userPhotoImageView\\\"\\n    android:layout_width=\\\"match_parent\\\"\\n    android:layout_height=\\\"match_parent\\\"\\n    android:contentDescription=\\\"@string/cd_profile_image_change\\\"\\n    android:src=\\\"@drawable/bg_user_thumbnail_pressed_selector\\\" />\\n\")), mdx(\"h2\", {\n    \"id\": \"2-상세히-설명하기\"\n  }, \"2. \\uC0C1\\uC138\\uD788 \\uC124\\uBA85\\uD558\\uAE30\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"AccessibilityNodeInfoCompat (api level 22 \\uBD80\\uD130 \\uC9C0\\uC6D0) \\uC0AC\\uC6A9\\uD558\\uAE30\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"hintScript\"), \" \\uB97C \\uD1B5\\uD574 \\uC6D0\\uD558\\uB294 \\uB0B4\\uC6A9\\uC744 \\uBCC0\\uACBD\")), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-kotlin\"\n  }), \"fun setAccessibilityClickActionHintScript(\\n    view: View, \\n    hintScript: String?\\n) {\\n    if (isTalkbackOn) {\\n        view.setAccessibilityDelegate(object : View.AccessibilityDelegate() {\\n            override fun onInitializeAccessibilityNodeInfo(\\n                host: View, \\n                info: AccessibilityNodeInfo\\n            ) {\\n                super.onInitializeAccessibilityNodeInfo(host, info)\\n                val infoCompat = AccessibilityNodeInfoCompat.wrap(info)\\n                val clickAction = AccessibilityActionCompat(\\n                    AccessibilityNodeInfoCompat.ACTION_CLICK, \\n                    hintScript\\n                )\\n                infoCompat.addAction(clickAction)\\n            }\\n        })\\n    }\\n}\\n\")), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\uD2B9\\uC815\\uAC12\\uC774 \\uBCC0\\uACBD\\uB418\\uC5C8\\uC744\\uB54C, \\uBCC0\\uACBD \\uC5EC\\uBD80\\uB97C \\uC720\\uC800\\uC5D0\\uAC8C \\uC54C\\uB824\\uC8FC\\uB824\\uBA74 AccessibilityEvent \\uB97C announce \\uB85C \\uC124\\uC815\\uD55C \\uD6C4 \\uC804\\uC1A1\")), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-kotlin\"\n  }), \"fun sendAccessibilityEvent(text: String?) {\\n    if (isTalkbackOn) {\\n        val e = AccessibilityEvent.obtain()\\n        e.eventType = AccessibilityEvent.TYPE_ANNOUNCEMENT\\n        e.className = context.javaClass.getName()\\n        e.packageName = context.packageName\\n        e.text.add(text)\\n        manager.sendAccessibilityEvent(e)\\n    }\\n}\\n\")));\n}\n;\nMDXContent.isMDXComponent = true;","hero":{"full":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAAsTAAALEwEAmpwYAAABD0lEQVQoz2P4jwP8+ff/3/////79//sPl5L/DFhFIRqefv73+ts/OJcozRClBx/9UZ/52WrR15tv/+LSj6IZrmDS6Z9cPZ9sF3/Rm/1ZYtLnzbd//wd7Aa9msHTNwR9iEz8lbP4269yPCYc/ha79Ijbh08LLvyABgVMzRK5073eZKZ9tpr+48OTH3tvfLSY/k+h63XvyJ0jBX0Kad937DdTM2/1hy43vs05+5m18ptz3+srL35g+x+Lsjz/+mc3/LDXlS9uhr2Xb3ot3vvJe+gFi579/eEMbYnbB7m8cXR/Upr5X7n/F0fKq9/hXTDdj0Qwx+tXXvyee/gahx79OPf316ec/5LggkEhwJyoUAAD0/mFgCmWLhwAAAABJRU5ErkJggg==","aspectRatio":1.7744360902255638,"src":"/static/0f445eb807a8005754f385f726cc21cd/6ba37/hero.png","srcSet":"/static/0f445eb807a8005754f385f726cc21cd/5b37e/hero.png 236w,\n/static/0f445eb807a8005754f385f726cc21cd/49058/hero.png 472w,\n/static/0f445eb807a8005754f385f726cc21cd/6ba37/hero.png 512w","srcWebp":"/static/0f445eb807a8005754f385f726cc21cd/e4e36/hero.webp","srcSetWebp":"/static/0f445eb807a8005754f385f726cc21cd/77392/hero.webp 236w,\n/static/0f445eb807a8005754f385f726cc21cd/1f177/hero.webp 472w,\n/static/0f445eb807a8005754f385f726cc21cd/e4e36/hero.webp 512w","sizes":"(max-width: 512px) 100vw, 512px"},"regular":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAAsTAAALEwEAmpwYAAABD0lEQVQoz2P4jwP8+ff/3/////79//sPl5L/DFhFIRqefv73+ts/OJcozRClBx/9UZ/52WrR15tv/+LSj6IZrmDS6Z9cPZ9sF3/Rm/1ZYtLnzbd//wd7Aa9msHTNwR9iEz8lbP4269yPCYc/ha79Ijbh08LLvyABgVMzRK5073eZKZ9tpr+48OTH3tvfLSY/k+h63XvyJ0jBX0Kad937DdTM2/1hy43vs05+5m18ptz3+srL35g+x+Lsjz/+mc3/LDXlS9uhr2Xb3ot3vvJe+gFi579/eEMbYnbB7m8cXR/Upr5X7n/F0fKq9/hXTDdj0Qwx+tXXvyee/gahx79OPf316ec/5LggkEhwJyoUAAD0/mFgCmWLhwAAAABJRU5ErkJggg==","aspectRatio":1.7717391304347827,"src":"/static/0f445eb807a8005754f385f726cc21cd/6ba37/hero.png","srcSet":"/static/0f445eb807a8005754f385f726cc21cd/078a8/hero.png 163w,\n/static/0f445eb807a8005754f385f726cc21cd/e56da/hero.png 327w,\n/static/0f445eb807a8005754f385f726cc21cd/6ba37/hero.png 512w","srcWebp":"/static/0f445eb807a8005754f385f726cc21cd/e4e36/hero.webp","srcSetWebp":"/static/0f445eb807a8005754f385f726cc21cd/ac59e/hero.webp 163w,\n/static/0f445eb807a8005754f385f726cc21cd/7660b/hero.webp 327w,\n/static/0f445eb807a8005754f385f726cc21cd/e4e36/hero.webp 512w","sizes":"(max-width: 512px) 100vw, 512px"},"narrow":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAAsTAAALEwEAmpwYAAABD0lEQVQoz2P4jwP8+ff/3/////79//sPl5L/DFhFIRqefv73+ts/OJcozRClBx/9UZ/52WrR15tv/+LSj6IZrmDS6Z9cPZ9sF3/Rm/1ZYtLnzbd//wd7Aa9msHTNwR9iEz8lbP4269yPCYc/ha79Ijbh08LLvyABgVMzRK5073eZKZ9tpr+48OTH3tvfLSY/k+h63XvyJ0jBX0Kad937DdTM2/1hy43vs05+5m18ptz3+srL35g+x+Lsjz/+mc3/LDXlS9uhr2Xb3ot3vvJe+gFi579/eEMbYnbB7m8cXR/Upr5X7n/F0fKq9/hXTDdj0Qwx+tXXvyee/gahx79OPf316ec/5LggkEhwJyoUAAD0/mFgCmWLhwAAAABJRU5ErkJggg==","aspectRatio":1.78125,"src":"/static/0f445eb807a8005754f385f726cc21cd/502b1/hero.png","srcSet":"/static/0f445eb807a8005754f385f726cc21cd/f2e6d/hero.png 114w,\n/static/0f445eb807a8005754f385f726cc21cd/4ddba/hero.png 229w,\n/static/0f445eb807a8005754f385f726cc21cd/502b1/hero.png 457w,\n/static/0f445eb807a8005754f385f726cc21cd/6ba37/hero.png 512w","srcWebp":"/static/0f445eb807a8005754f385f726cc21cd/15384/hero.webp","srcSetWebp":"/static/0f445eb807a8005754f385f726cc21cd/31fce/hero.webp 114w,\n/static/0f445eb807a8005754f385f726cc21cd/e3e25/hero.webp 229w,\n/static/0f445eb807a8005754f385f726cc21cd/15384/hero.webp 457w,\n/static/0f445eb807a8005754f385f726cc21cd/e4e36/hero.webp 512w","sizes":"(max-width: 457px) 100vw, 457px"},"seo":{"src":"/static/0f445eb807a8005754f385f726cc21cd/6ba37/hero.png"}}},"authors":[{"authorsPage":true,"bio":"Hi, I'm Reno.\nI am an Android developer and love to play games and cook and kickboard.\nMy favorite word is that it's not over until the end.\n","id":"3e9ccc1b-53d9-552d-a736-92a82c29fb2a","name":"Reno Kim","featured":true,"social":[{"url":"https://www.linkedin.com/in/renovatio0424"},{"url":"https://github.com/renovatio0424"}],"slug":"/authors/reno-kim","avatar":{"small":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGQABAAIDAAAAAAAAAAAAAAAAAAIDAQQF/8QAFgEBAQEAAAAAAAAAAAAAAAAAAwEE/9oADAMBAAIQAxAAAAGnauhF47BBtkFsmLl//8QAGxABAQACAwEAAAAAAAAAAAAAAgEDEQATIjP/2gAIAQEAAQUCxmimLeb6ZGQe3Yd27zHfcEt//8QAGhEAAgIDAAAAAAAAAAAAAAAAAREAAgMQM//aAAgBAwEBPwEYyQ4lK89f/8QAFxEBAAMAAAAAAAAAAAAAAAAAEAERMf/aAAgBAgEBPwGydP/EABwQAAICAgMAAAAAAAAAAAAAAAABESECEDFBcf/aAAgBAQAGPwKcbIaUaUK+iU7XKGxay9P/xAAcEAEAAgIDAQAAAAAAAAAAAAABABEhUTFBYfD/2gAIAQEAAT8hZlpqJo1LxDSDqOtju2phdh8p70xtZcRQekbk+E//2gAMAwEAAgADAAAAEEPYP//EABgRAQADAQAAAAAAAAAAAAAAAAEAEBFR/9oACAEDAQE/EOfMUsaldn//xAAYEQACAwAAAAAAAAAAAAAAAAAAARARIf/aAAgBAgEBPxDDFUn/xAAeEAEBAAICAgMAAAAAAAAAAAABEQAhMUFRcYGRwf/aAAgBAQABPxA6LCB2F558Y7umvO8P3jPtAP3CQECNBq4qvew9vjGdI0h1jiVCwuJg8g3smR0SQNARn//Z","aspectRatio":1,"src":"/static/fd36d5b8be98b6b35c5ea46e0a863cf4/fa1ea/reno-profile.jpg","srcSet":"/static/fd36d5b8be98b6b35c5ea46e0a863cf4/afb2b/reno-profile.jpg 13w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/7c20e/reno-profile.jpg 25w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/fa1ea/reno-profile.jpg 50w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/03612/reno-profile.jpg 75w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/61cdf/reno-profile.jpg 100w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/1920d/reno-profile.jpg 1080w","srcWebp":"/static/fd36d5b8be98b6b35c5ea46e0a863cf4/e7b2c/reno-profile.webp","srcSetWebp":"/static/fd36d5b8be98b6b35c5ea46e0a863cf4/58718/reno-profile.webp 13w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/74aad/reno-profile.webp 25w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/e7b2c/reno-profile.webp 50w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/ed320/reno-profile.webp 75w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/66016/reno-profile.webp 100w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/4c77b/reno-profile.webp 1080w","sizes":"(max-width: 50px) 100vw, 50px"},"medium":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGQABAAIDAAAAAAAAAAAAAAAAAAIDAQQF/8QAFgEBAQEAAAAAAAAAAAAAAAAAAwEE/9oADAMBAAIQAxAAAAGnauhF47BBtkFsmLl//8QAGxABAQACAwEAAAAAAAAAAAAAAgEDEQATIjP/2gAIAQEAAQUCxmimLeb6ZGQe3Yd27zHfcEt//8QAGhEAAgIDAAAAAAAAAAAAAAAAAREAAgMQM//aAAgBAwEBPwEYyQ4lK89f/8QAFxEBAAMAAAAAAAAAAAAAAAAAEAERMf/aAAgBAgEBPwGydP/EABwQAAICAgMAAAAAAAAAAAAAAAABESECEDFBcf/aAAgBAQAGPwKcbIaUaUK+iU7XKGxay9P/xAAcEAEAAgIDAQAAAAAAAAAAAAABABEhUTFBYfD/2gAIAQEAAT8hZlpqJo1LxDSDqOtju2phdh8p70xtZcRQekbk+E//2gAMAwEAAgADAAAAEEPYP//EABgRAQADAQAAAAAAAAAAAAAAAAEAEBFR/9oACAEDAQE/EOfMUsaldn//xAAYEQACAwAAAAAAAAAAAAAAAAAAARARIf/aAAgBAgEBPxDDFUn/xAAeEAEBAAICAgMAAAAAAAAAAAABEQAhMUFRcYGRwf/aAAgBAQABPxA6LCB2F558Y7umvO8P3jPtAP3CQECNBq4qvew9vjGdI0h1jiVCwuJg8g3smR0SQNARn//Z","aspectRatio":1,"src":"/static/fd36d5b8be98b6b35c5ea46e0a863cf4/61cdf/reno-profile.jpg","srcSet":"/static/fd36d5b8be98b6b35c5ea46e0a863cf4/7c20e/reno-profile.jpg 25w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/fa1ea/reno-profile.jpg 50w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/61cdf/reno-profile.jpg 100w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/59538/reno-profile.jpg 150w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/fd013/reno-profile.jpg 200w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/1920d/reno-profile.jpg 1080w","srcWebp":"/static/fd36d5b8be98b6b35c5ea46e0a863cf4/66016/reno-profile.webp","srcSetWebp":"/static/fd36d5b8be98b6b35c5ea46e0a863cf4/74aad/reno-profile.webp 25w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/e7b2c/reno-profile.webp 50w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/66016/reno-profile.webp 100w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/d9b14/reno-profile.webp 150w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/6b183/reno-profile.webp 200w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/4c77b/reno-profile.webp 1080w","sizes":"(max-width: 100px) 100vw, 100px"},"large":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGQABAAIDAAAAAAAAAAAAAAAAAAIDAQQF/8QAFgEBAQEAAAAAAAAAAAAAAAAAAwEE/9oADAMBAAIQAxAAAAGnauhF47BBtkFsmLl//8QAGxABAQACAwEAAAAAAAAAAAAAAgEDEQATIjP/2gAIAQEAAQUCxmimLeb6ZGQe3Yd27zHfcEt//8QAGhEAAgIDAAAAAAAAAAAAAAAAAREAAgMQM//aAAgBAwEBPwEYyQ4lK89f/8QAFxEBAAMAAAAAAAAAAAAAAAAAEAERMf/aAAgBAgEBPwGydP/EABwQAAICAgMAAAAAAAAAAAAAAAABESECEDFBcf/aAAgBAQAGPwKcbIaUaUK+iU7XKGxay9P/xAAcEAEAAgIDAQAAAAAAAAAAAAABABEhUTFBYfD/2gAIAQEAAT8hZlpqJo1LxDSDqOtju2phdh8p70xtZcRQekbk+E//2gAMAwEAAgADAAAAEEPYP//EABgRAQADAQAAAAAAAAAAAAAAAAEAEBFR/9oACAEDAQE/EOfMUsaldn//xAAYEQACAwAAAAAAAAAAAAAAAAAAARARIf/aAAgBAgEBPxDDFUn/xAAeEAEBAAICAgMAAAAAAAAAAAABEQAhMUFRcYGRwf/aAAgBAQABPxA6LCB2F558Y7umvO8P3jPtAP3CQECNBq4qvew9vjGdI0h1jiVCwuJg8g3smR0SQNARn//Z","aspectRatio":1,"src":"/static/fd36d5b8be98b6b35c5ea46e0a863cf4/ec46e/reno-profile.jpg","srcSet":"/static/fd36d5b8be98b6b35c5ea46e0a863cf4/a2637/reno-profile.jpg 82w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/15203/reno-profile.jpg 164w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/ec46e/reno-profile.jpg 328w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/b69a5/reno-profile.jpg 492w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/23a36/reno-profile.jpg 656w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/1920d/reno-profile.jpg 1080w","srcWebp":"/static/fd36d5b8be98b6b35c5ea46e0a863cf4/5a48e/reno-profile.webp","srcSetWebp":"/static/fd36d5b8be98b6b35c5ea46e0a863cf4/2d087/reno-profile.webp 82w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/29d87/reno-profile.webp 164w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/5a48e/reno-profile.webp 328w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/42f2e/reno-profile.webp 492w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/dec03/reno-profile.webp 656w,\n/static/fd36d5b8be98b6b35c5ea46e0a863cf4/4c77b/reno-profile.webp 1080w","sizes":"(max-width: 328px) 100vw, 328px"}}}],"basePath":"/","permalink":"https://reno-blog.netlify.app/android-accessibility/","slug":"/android-accessibility","id":"c6c4753e-33c5-5426-af20-555bff4a97ad","title":"Android Accessibility","canonicalUrl":null,"mailchimp":"","next":[{"id":"d185a6f0-7113-512e-ab4e-8038b721956d","slug":"/hashmap-vs-hashtable","secret":false,"title":"HashMap vs HashTable","author":"Reno Kim","date":"February 27th, 2020","dateForSEO":"2020-02-27T00:00:00.000Z","timeToRead":1,"excerpt":"HashMap 과 HashTable 스터디하면서 정리한 글","canonical_url":null,"subscription":true,"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"HashMap vs HashTable\",\n  \"author\": \"Reno Kim\",\n  \"date\": \"2020-02-27T00:00:00.000Z\",\n  \"hero\": \"./images/hero.jpg\",\n  \"excerpt\": \"HashMap 과 HashTable 스터디하면서 정리한 글\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"hashmap--hashtable-참고했던-영상\"\n  }, \"HashMap & HashTable \", mdx(\"a\", _extends({\n    parentName: \"h1\"\n  }, {\n    \"href\": \"https://img.youtube.com/vi/KyUTuwz_b7Q/0.jpg\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"(\\uCC38\\uACE0\\uD588\\uB358 \\uC601\\uC0C1)\")), mdx(\"p\", null, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://www.youtube.com/watch?v=KyUTuwz_b7Q\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), mdx(\"img\", _extends({\n    parentName: \"a\"\n  }, {\n    \"src\": \"https://img.youtube.com/vi/KyUTuwz_b7Q/0.jpg\",\n    \"alt\": \"Reference\"\n  })))), mdx(\"h2\", {\n    \"id\": \"hashing-algorithm\"\n  }, \"Hashing Algorithm\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Hash\"), \" \\uB780 \\uD574\\uC26C \\uD568\\uC218\\uB97C \\uC0AC\\uC6A9\\uD574 \\uC785\\uB825\\uB41C \\uAC12\\uC744 \\uACC4\\uC0B0\\uD574 \\uD574\\uC26C\\uAC12\\uC744 \\uB9CC\\uB4DC\\uB294 \\uAC83\\uC744 \\uB9D0\\uD55C\\uB2E4. \"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, mdx(\"em\", {\n    parentName: \"strong\"\n  }, \"\\uC989, \\uD574\\uC26C \\uAC12\\uC744 \\uD574\\uC26C \\uD568\\uC218\\uB97C \\uD1B5\\uD574 \\uC54C\\uAC8C \\uB41C \\uC784\\uC758\\uC758 \\uAC12\\uC744 \\uD1B5\\uD574 \\uC6D0\\uB798 \\uAC12\\uC744 \\uCC3E\\uC744 \\uC218 \\uC788\\uB2E4.\")), \"  \"), mdx(\"p\", null, \"\\uC608\\uB97C \\uB4E4\\uC5B4\\uC11C Mia \\uB77C\\uB294 \\uAC12\\uC744 \\uB9F5\\uC5D0\\uC11C \\uCC3E\\uACE0 \\uC2F6\\uC744 \\uB54C\\n\\uAE30\\uC874 Map \\uC5D0\\uC11C\\uB294 Mia \\uAC00 \\uC788\\uB294 Key \\uB97C \\uC54C\\uC544\\uC57C\\uB9CC Mia \\uB97C \\uCC3E\\uC744 \\uC218 \\uC788\\uB2E4.\\n\\uD558\\uC9C0\\uB9CC \\uD574\\uC26C\\uB9F5\\uC744 \\uC0AC\\uC6A9\\uD55C\\uB2E4\\uBA74 Mia \\uC758 \\uD574\\uC26C\\uAC12\\uC744 \\uD1B5\\uD574 \\uBC14\\uB85C \\uB9F5\\uC5D0\\uC11C Mia \\uB97C \\uCC3E\\uC744 \\uC218 \\uC788\\uB2E4.\\n\\uC544\\uB798\\uCC98\\uB7FC \\uB9D0\\uC774\\uB2E4. \"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"1. Mia \\uB97C \\uCC3E\\uACE0 \\uC2F6\\uB2E4\\n2. Mia \\uC758 \\uD574\\uC26C\\uAC12\\uC744 \\uCC3E\\uB294\\uB2E4\\n\\n    M = 77\\n    i = 105\\n    a = 97 \\n    total = M + i + a = 279 \\n    hash = 279 % 11 = 4\\n\\n3. hash \\uAC12\\uC73C\\uB85C \\uC6D0\\uD558\\uB294 \\uAC12\\uC744 \\uC785\\uB825 \\uB610\\uB294 \\uCC3E\\uB294\\uB2E4\\n\")), mdx(\"h2\", {\n    \"id\": \"collisions-이란\"\n  }, \"Collisions \\uC774\\uB780?\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, mdx(\"em\", {\n    parentName: \"strong\"\n  }, \"\\uD558\\uC9C0\\uB9CC \\uD574\\uC26C\\uAC12\\uC774 \\uAC19\\uC9C0\\uB9CC \\uAC12\\uC774 \\uB2E4\\uB978 \\uACBD\\uC6B0\\uC5D0\\uB294 \\uC5B4\\uB5BB\\uAC8C \\uB420\\uAE4C?\"))), mdx(\"p\", null, \" \\uC774\\uB7F0 \\uACBD\\uC6B0\\uB97C Collisions \\uC774\\uB77C \\uD558\\uBA70\\nCollision \\uC774 \\uBC1C\\uC0DD\\uD558\\uB294 \\uBE44\\uC728\\uC744 \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Load Factor\"), \" (\\uC800\\uC7A5\\uB41C \\uC544\\uC774\\uD15C\\uC758 \\uCD1D \\uAC2F\\uC218 / \\uBC30\\uC5F4\\uC758 \\uD06C\\uAE30 => load factor \\uAC00 \\uC791\\uC744 \\uC218\\uB85D \\uD6A8\\uC728\\uC774 \\uC88B\\uB2E4)\\uB77C \\uD55C\\uB2E4\\n\\uB2F9\\uC5F0\\uD788 collision \\uC774 \\uC5C6\\uB294 \\uACBD\\uC6B0\\uB97C \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Best Case\"), \",\\ncollision \\uC774 \\uB9CE\\uC740 \\uACBD\\uC6B0\\uB97C \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Worst Case\"), \" \\uB77C \\uD55C\\uB2E4.\"), mdx(\"h2\", {\n    \"id\": \"collision-해결법\"\n  }, \"Collision \\uD574\\uACB0\\uBC95\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Open Addressing\", mdx(\"ul\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Linear probing\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"plus 3 rehash\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"quadratic probing (failed attempt)^2\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Double hashing \"))), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Closed Addressing\")), mdx(\"h2\", {\n    \"id\": \"해쉬-함수의-요구-사항\"\n  }, \"\\uD574\\uC26C \\uD568\\uC218\\uC758 \\uC694\\uAD6C \\uC0AC\\uD56D\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"collision \\uCD5C\\uC18C\\uD654\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\uC77C\\uC815\\uD558\\uAC8C \\uBD84\\uBC30\\uB41C \\uD574\\uC26C \\uAC12\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\uC26C\\uC6B4 \\uACC4\\uC0B0\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\uC5B4\\uB5A4 collision \\uC774\\uB4E0 \\uD574\\uACB0\\uC774 \\uB418\\uC5B4\\uC57C\\uD568\")), mdx(\"h2\", {\n    \"id\": \"summary\"\n  }, \"Summary\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\uB9CE\\uC740 \\uC591\\uC758 \\uB370\\uC774\\uD130\\uB97C \\uC778\\uB371\\uC2F1\\uD560 \\uB54C \\uC0AC\\uC6A9\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\uAC01 \\uD0A4\\uB4E4\\uC5D0 \\uB300\\uD55C \\uC8FC\\uC18C\\uB294 \\uD0A4\\uC5D0 \\uC758\\uD574 \\uACC4\\uC0B0\\uB41C\\uB2E4\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Collision \\uC740 open or closed addressing \\uC744 \\uD1B5\\uD574 \\uD574\\uACB0 \\uD560 \\uC218 \\uC788\\uB2E4. \"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\uD574\\uC2F1\\uC740 \\uB370\\uC774\\uD130\\uBCA0\\uC774\\uC2A4 \\uC778\\uB371\\uC2F1, \\uCEF4\\uD30C\\uC77C\\uB7EC, \\uCE90\\uC2F1, \\uBE44\\uBC00\\uBC88\\uD638 \\uC778\\uC99D \\uB4F1\\uB4F1 \\uC5D0\\uC11C \\uC0AC\\uC6A9\\uB41C\\uB2E4. \"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\uC0BD\\uC785, \\uC0AD\\uC81C, \\uC81C\\uAC70 \\uAC00 \\uAC19\\uC740 \\uC2DC\\uAC04 \\uC548\\uC5D0 \\uCC98\\uB9AC\\uB41C\\uB2E4. (\\uB370\\uC774\\uD130\\uAC00 \\uB9CE\\uB4E0 \\uC801\\uB4E0)\")));\n}\n;\nMDXContent.isMDXComponent = true;","hero":{"full":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAABAABA//EABYBAQEBAAAAAAAAAAAAAAAAAAQAA//aAAwDAQACEAMQAAABEkSLXLnMD//EABkQAQEBAAMAAAAAAAAAAAAAAAEAAhESQf/aAAgBAQABBQLJdDhyReN//8QAGBEAAgMAAAAAAAAAAAAAAAAAAgQQESL/2gAIAQMBAT8BaLFR/8QAGBEAAgMAAAAAAAAAAAAAAAAAAQMQESL/2gAIAQIBAT8BQN3H/8QAFhABAQEAAAAAAAAAAAAAAAAAMQAg/9oACAEBAAY/AmZx/8QAGRABAAMBAQAAAAAAAAAAAAAAAQARIRAx/9oACAEBAAE/IQTTDVVlrxyLCbn/2gAMAwEAAgADAAAAELQP/8QAFhEBAQEAAAAAAAAAAAAAAAAAAQBB/9oACAEDAQE/EECNYG//xAAXEQEAAwAAAAAAAAAAAAAAAAABEBFB/9oACAECAQE/ELUsI//EAB4QAAICAQUBAAAAAAAAAAAAAAABESHRMUFRYcHw/9oACAEBAAE/EEOzGjTwJQSOnX3hi94HfJC3sStn/9k=","aspectRatio":1.873015873015873,"src":"/static/b6d7e1db8309418fcf63710a8b260ec0/494d7/hero.jpg","srcSet":"/static/b6d7e1db8309418fcf63710a8b260ec0/e0f30/hero.jpg 236w,\n/static/b6d7e1db8309418fcf63710a8b260ec0/86afd/hero.jpg 472w,\n/static/b6d7e1db8309418fcf63710a8b260ec0/494d7/hero.jpg 558w","srcWebp":"/static/b6d7e1db8309418fcf63710a8b260ec0/92432/hero.webp","srcSetWebp":"/static/b6d7e1db8309418fcf63710a8b260ec0/77392/hero.webp 236w,\n/static/b6d7e1db8309418fcf63710a8b260ec0/1f177/hero.webp 472w,\n/static/b6d7e1db8309418fcf63710a8b260ec0/92432/hero.webp 558w","sizes":"(max-width: 558px) 100vw, 558px"},"regular":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAABAABA//EABYBAQEBAAAAAAAAAAAAAAAAAAQAA//aAAwDAQACEAMQAAABEkSLXLnMD//EABkQAQEBAAMAAAAAAAAAAAAAAAEAAhESQf/aAAgBAQABBQLJdDhyReN//8QAGBEAAgMAAAAAAAAAAAAAAAAAAgQQESL/2gAIAQMBAT8BaLFR/8QAGBEAAgMAAAAAAAAAAAAAAAAAAQMQESL/2gAIAQIBAT8BQN3H/8QAFhABAQEAAAAAAAAAAAAAAAAAMQAg/9oACAEBAAY/AmZx/8QAGRABAAMBAQAAAAAAAAAAAAAAAQARIRAx/9oACAEBAAE/IQTTDVVlrxyLCbn/2gAMAwEAAgADAAAAELQP/8QAFhEBAQEAAAAAAAAAAAAAAAAAAQBB/9oACAEDAQE/EECNYG//xAAXEQEAAwAAAAAAAAAAAAAAAAABEBFB/9oACAECAQE/ELUsI//EAB4QAAICAQUBAAAAAAAAAAAAAAABESHRMUFRYcHw/9oACAEBAAE/EEOzGjTwJQSOnX3hi94HfJC3sStn/9k=","aspectRatio":1.8735632183908046,"src":"/static/b6d7e1db8309418fcf63710a8b260ec0/494d7/hero.jpg","srcSet":"/static/b6d7e1db8309418fcf63710a8b260ec0/3a5ce/hero.jpg 163w,\n/static/b6d7e1db8309418fcf63710a8b260ec0/05730/hero.jpg 327w,\n/static/b6d7e1db8309418fcf63710a8b260ec0/494d7/hero.jpg 558w","srcWebp":"/static/b6d7e1db8309418fcf63710a8b260ec0/92432/hero.webp","srcSetWebp":"/static/b6d7e1db8309418fcf63710a8b260ec0/ac59e/hero.webp 163w,\n/static/b6d7e1db8309418fcf63710a8b260ec0/7660b/hero.webp 327w,\n/static/b6d7e1db8309418fcf63710a8b260ec0/92432/hero.webp 558w","sizes":"(max-width: 558px) 100vw, 558px"},"narrow":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAABAABA//EABYBAQEBAAAAAAAAAAAAAAAAAAQAA//aAAwDAQACEAMQAAABEkSLXLnMD//EABkQAQEBAAMAAAAAAAAAAAAAAAEAAhESQf/aAAgBAQABBQLJdDhyReN//8QAGBEAAgMAAAAAAAAAAAAAAAAAAgQQESL/2gAIAQMBAT8BaLFR/8QAGBEAAgMAAAAAAAAAAAAAAAAAAQMQESL/2gAIAQIBAT8BQN3H/8QAFhABAQEAAAAAAAAAAAAAAAAAMQAg/9oACAEBAAY/AmZx/8QAGRABAAMBAQAAAAAAAAAAAAAAAQARIRAx/9oACAEBAAE/IQTTDVVlrxyLCbn/2gAMAwEAAgADAAAAELQP/8QAFhEBAQEAAAAAAAAAAAAAAAAAAQBB/9oACAEDAQE/EECNYG//xAAXEQEAAwAAAAAAAAAAAAAAAAABEBFB/9oACAECAQE/ELUsI//EAB4QAAICAQUBAAAAAAAAAAAAAAABESHRMUFRYcHw/9oACAEBAAE/EEOzGjTwJQSOnX3hi94HfJC3sStn/9k=","aspectRatio":1.8688524590163935,"src":"/static/b6d7e1db8309418fcf63710a8b260ec0/eaa58/hero.jpg","srcSet":"/static/b6d7e1db8309418fcf63710a8b260ec0/5a3ee/hero.jpg 114w,\n/static/b6d7e1db8309418fcf63710a8b260ec0/41f8f/hero.jpg 229w,\n/static/b6d7e1db8309418fcf63710a8b260ec0/eaa58/hero.jpg 457w,\n/static/b6d7e1db8309418fcf63710a8b260ec0/494d7/hero.jpg 558w","srcWebp":"/static/b6d7e1db8309418fcf63710a8b260ec0/15384/hero.webp","srcSetWebp":"/static/b6d7e1db8309418fcf63710a8b260ec0/31fce/hero.webp 114w,\n/static/b6d7e1db8309418fcf63710a8b260ec0/e3e25/hero.webp 229w,\n/static/b6d7e1db8309418fcf63710a8b260ec0/15384/hero.webp 457w,\n/static/b6d7e1db8309418fcf63710a8b260ec0/92432/hero.webp 558w","sizes":"(max-width: 457px) 100vw, 457px"},"seo":{"src":"/static/b6d7e1db8309418fcf63710a8b260ec0/494d7/hero.jpg"}}},{"id":"82fb1271-f5c0-5de7-8cf5-890bfd9e7ef8","slug":"/webviewclient-sslerror","secret":false,"title":"WebViewClient SslError 관련 경고 대응했던 이야기","author":"Reno Kim","date":"February 27th, 2020","dateForSEO":"2020-02-27T00:00:00.000Z","timeToRead":1,"excerpt":"WebViewClient.onReceiveSslError() 사용시 주의할점","canonical_url":null,"subscription":true,"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"WebViewClient SslError 관련 경고 대응했던 이야기\",\n  \"author\": \"Reno Kim\",\n  \"date\": \"2020-02-27T00:00:00.000Z\",\n  \"hero\": \"./images/hero.png\",\n  \"excerpt\": \"WebViewClient.onReceiveSslError() 사용시 주의할점\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h3\", {\n    \"id\": \"사건-발생\"\n  }, \"\\uC0AC\\uAC74 \\uBC1C\\uC0DD\"), mdx(\"p\", null, \"\\uCD5C\\uADFC\\uC5D0 \\uACF5\\uC9C0\\uC0AC\\uD56D \\uAE30\\uB2A5\\uC744 \\uAD6C\\uD604\\uD55C \\uC801\\uC774 \\uC788\\uB2E4.\\n\\uAE30\\uB2A5 \\uAD6C\\uD604\\uD558\\uBA74\\uC11C WebViewClient \\uAC1D\\uCCB4\\uC5D0 \\uB300\\uD574\\uC11C \\uAC04\\uB2E8\\uD788 \\uACF5\\uBD80\\uD558\\uACE0 \\uAD6C\\uD604\\uD588\\uC5C8\\uB294\\uB370\\n\\uC5BC\\uB9C8 \\uC9C0\\uB098\\uC9C0 \\uC54A\\uC544 \\uAD6C\\uAE00\\uC5D0\\uC11C \\uACBD\\uACE0 \\uBA54\\uC77C\\uC774 \\uC654\\uB2E4. \"), mdx(\"p\", null, mdx(\"img\", _extends({\n    parentName: \"p\"\n  }, {\n    \"src\": \"./images/google%20request%20email.JPG\",\n    \"alt\": \"google issue screenshot\"\n  }))), mdx(\"p\", null, \"\\uB0B4\\uC6A9\\uC740 \\uB2E4\\uC74C\\uACFC \\uAC19\\uB2E4\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \" \\uC571\\uC5D0\\uC11C \\uC0AC\\uC6A9\\uC790\\uB97C\\uC704\\uD55C \\uBCF4\\uC548 \\uCDE8\\uC57D\\uC810\\uC774 \\uD3EC\\uD568 \\uB41C \\uC18C\\uD504\\uD2B8\\uC6E8\\uC5B4\\uB97C \\uC0AC\\uC6A9\\uD558\\uACE0 \\uC788\\uC2B5\\uB2C8\\uB2E4. \\n\\uC774\\uB7EC\\uD55C \\uCDE8\\uC57D\\uC810\\uC774\\uC788\\uB294 \\uC571\\uC740 \\uC0AC\\uC6A9\\uC790 \\uC815\\uBCF4\\uB97C \\uB178\\uCD9C\\uD558\\uAC70\\uB098 \\uC0AC\\uC6A9\\uC790\\uC758 \\uAE30\\uAE30\\uB97C \\uC190\\uC0C1\\uC2DC\\uD0AC \\uC218 \\uC788\\uC73C\\uBA70 \\n\\uC545\\uC131 \\uD589\\uB3D9 \\uC815\\uCC45\\uC744 \\uC704\\uBC18\\uD558\\uB294 \\uAC83\\uC73C\\uB85C \\uAC04\\uC8FC \\uB420 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4. \\n\\n[SSL Error Handler]\\nWebView SSL Error Handler \\uACBD\\uACE0\\uB97C \\uD574\\uACB0\\uD558\\uB294 \\uBC29\\uBC95\\uC5D0 \\uB300\\uD55C \\uC790\\uC138\\uD55C \\uB0B4\\uC6A9\\uC740 \\uC774 Google \\uB3C4\\uC6C0\\uB9D0 \\uC13C\\uD130\\uB97C \\uCC38\\uC870\\uD558\\uC2ED\\uC2DC\\uC624\\n\")), mdx(\"h3\", {\n    \"id\": \"문제-파악\"\n  }, \"\\uBB38\\uC81C \\uD30C\\uC545\"), mdx(\"p\", null, \"\\uADF8\\uB798\\uC11C \\uB098\\uB294 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://support.google.com/faqs/answer/7071387\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"\\uD574\\uB2F9 \\uB9C1\\uD06C\"), \"\\uB85C \\uC774\\uB3D9\\uD574\\uC11C \\uC6D0\\uC778\\uC744 \\uC54C\\uC544\\uBCF4\\uC558\\uB2E4.\"), mdx(\"p\", null, \"\\uB9C1\\uD06C \\uB0B4\\uC6A9\\uC744 \\uC694\\uC57D\\uD558\\uBA74 \\uB2E4\\uC74C\\uACFC \\uAC19\\uB2E4 (\", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"http://theeye.pe.kr/archives/2721\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"\\uCC38\\uACE0\"), \")\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"WebViewClient.onReceiveSslError()\"), \" : webview load \\uC2DC ssl \\uC778\\uC99D \\uC5D0\\uB7EC \\uBC1C\\uC0DD\\uC744 \\uCC98\\uB9AC\\uD558\\uB294 callback \\uD568\\uC218\\uC774\\uB2E4\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\uC6D0\\uC778\"), \" : \\uD574\\uB2F9 \\uCF5C\\uBC31 \\uD568\\uC218\\uC5D0\\uC11C handler.proceed() \\uD560 \\uACBD\\uC6B0 ssl \\uC624\\uB958\\uB97C \\uBC1C\\uC0DD\\uC2DC\\uD0A4\\uC9C0 \\uC54A\\uACE0 \\uB2E4\\uC74C \\uB3D9\\uC791\\uC744 \\uC2E4\\uD589\\uD568 => \\uBCF4\\uC548 \\uC774\\uC288\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\uD574\\uACB0\\uBC95\"), \" : \\uD574\\uB2F9 \\uC774\\uC288 \\uBC1C\\uC0DD\\uC2DC \\uC720\\uC800\\uC5D0\\uAC8C \\uC5D0\\uB7EC\\uAC00 \\uBC1C\\uC0DD\\uD588\\uC74C\\uC744 \\uC54C\\uB9AC\\uACE0 \\uADF8\\uB798\\uB3C4 \\uC2E4\\uD589\\uD560\\uC9C0\\uB97C \\uBB3C\\uC5B4\\uBCF4\\uB294 \\uD31D\\uC5C5\\uC744 \\uB744\\uC6C0\")), mdx(\"p\", null, \"\\uD558\\uC9C0\\uB9CC \\uD574\\uB2F9 \\uD504\\uB85C\\uC81D\\uD2B8\\uC758 onReceiveSslError() \\uD568\\uC218\\uB97C \\uD655\\uC778\\uD588\\uB294\\uB370 \\uAD6C\\uD604\\uB418\\uC5B4 \\uC788\\uC9C0 \\uC54A\\uC558\\uB2E4.\"), mdx(\"p\", null, \"\\uADF8\\uB798\\uC11C \\uB2E4\\uB978 \\uB77C\\uC774\\uBE0C\\uB7EC\\uB9AC\\uC5D0\\uC11C \\uD638\\uCD9C\\uD558\\uC9C0 \\uC54A\\uC558\\uC744\\uAE4C \\uD558\\uB294 \\uC758\\uC2EC\\uC774 \\uB4E4\\uC5C8\\uB294\\uB370 \\uC5B4\\uB5BB\\uAC8C \\uD655\\uC778\\uD574\\uC57C\\uD560\\uC9C0 \\uAC10\\uC774 \\uC7A1\\uD788\\uC9C0 \\uC54A\\uC558\\uB2E4\"), mdx(\"p\", null, \"\\uC774\\uB54C \\uD300\\uC7A5\\uB2D8 \\uC648\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"\\u201CAPK Analyzer \\uB85C \\uD655\\uC778\\uD574\\uBD10\\u201D\")), mdx(\"h4\", {\n    \"id\": \"여기서-apk-analyzer-란-android-developer\"\n  }, \"\\uC5EC\\uAE30\\uC11C APK Analyzer \\uB780? (\", mdx(\"a\", _extends({\n    parentName: \"h4\"\n  }, {\n    \"href\": \"https://developer.android.com/studio/build/apk-analyzer\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"Android Developer\"), \")\"), mdx(\"p\", null, \"\\uC548\\uB4DC\\uB85C\\uC774\\uB4DC \\uC2A4\\uD29C\\uB514\\uC624\\uC5D0\\uC11C \\uC81C\\uACF5\\uD558\\uB294 \\uAE30\\uB2A5\\uC774\\uBA70 \\uB2E4\\uC74C\\uACFC \\uAC19\\uC740 \\uAE30\\uB2A5\\uB4E4\\uC744 \\uC81C\\uACF5\\uD55C\\uB2E4. \"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\uD30C\\uC77C \\uBC0F \\uD06C\\uAE30 \\uC815\\uBCF4 \\uBCF4\\uAE30\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"AndroidManifest.xml \\uBCF4\\uAE30\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"DEX \\uD30C\\uC77C \\uBCF4\\uAE30\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"DEX \\uD30C\\uC77C \\uD2B8\\uB9AC \\uBCF4\\uAE30 \\uD544\\uD130\\uB9C1\\uD558\\uAE30\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"ProGuard \\uB9E4\\uD551 \\uB85C\\uB4DC\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\uBC14\\uC774\\uD2B8 \\uCF54\\uB4DC \\uD45C\\uC2DC, \\uC0AC\\uC6A9\\uBC95 \\uCC3E\\uAE30 \\uBC0F Keep \\uADDC\\uCE59 \\uC0DD\\uC131\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\uCF54\\uB4DC\\uC640 \\uB9AC\\uC18C\\uC2A4 \\uD56D\\uBAA9 \\uBCF4\\uAE30\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"APK \\uD30C\\uC77C \\uBE44\\uAD50\")), mdx(\"p\", null, \"\\uC5EC\\uAE30\\uC11C DEX \\uD30C\\uC77C \\uBCF4\\uAE30 \\uAE30\\uB2A5\\uC744 \\uC0AC\\uC6A9\\uD574\\uC11C \\uB2E4\\uB978 \\uB77C\\uC774\\uBE0C\\uB7EC\\uB9AC\\uC5D0\\uC11C WebViewClient.onReceiveSslError() \\uAC00 \\uC788\\uB294\\uC9C0 \\uD655\\uC778\\uC744 \\uD574\\uBCF4\\uC558\\uB2E4. \"), mdx(\"p\", null, \"\\uCD1D 2\\uAD70\\uB370\\uC5D0\\uC11C \\uD574\\uB2F9 \\uD568\\uC218\\uAC00 \\uC0AC\\uC6A9\\uB418\\uC5C8\\uC74C\\uC744 \\uBC1C\\uACAC\\uD588\\uB294\\uB370 \"), mdx(\"p\", null, \"\\uD558\\uB098\\uB294 Admob \\uB77C\\uC774\\uBE0C\\uB7EC\\uB9AC\\uC600\\uACE0 \\uB2E4\\uB978 \\uD558\\uB098\\uB294 \\uC911\\uAD6D \\uAD11\\uACE0 SDK \\uC600\\uB2E4\"), mdx(\"p\", null, \"\\uB458 \\uC911\\uC5D0 \\uC5B4\\uB5A4 \\uB77C\\uC774\\uBE0C\\uB7EC\\uB9AC\\uC5D0\\uC11C \\uC77C\\uC5B4\\uB09C \\uC77C\\uC778\\uC9C0 \\uACE0\\uBBFC\\uD558\\uB2E4\\uAC00 google play console \\uC5D0 \\uBCF4\\uACE0\\uB41C \\uC774\\uC288\\uAC00 \\uC5C6\\uC5C8\\uB294\\uC9C0 \\uD655\\uC778\\uD588\\uC5C8\\uB2E4.\"), mdx(\"p\", null, \"\\uB2E4\\uD589\\uD788\\uB3C4 \\uC911\\uAD6D \\uAD11\\uACE0 SDK \\uC5D0\\uC11C webview \\uC758 \\uD2B9\\uC815 \\uD568\\uC218\\uB97C \\uD638\\uCD9C\\uD558\\uB294 \\uAC83\\uC744 \\uD655\\uC778\\uD588\\uACE0 \"), mdx(\"p\", null, \"\\uD574\\uB2F9 \\uAD11\\uACE0 \\uD50C\\uB7AB\\uD3FC\\uC744 \\uB2E4\\uB978 \\uAD11\\uACE0 \\uD50C\\uB7AB\\uD3FC\\uC73C\\uB85C \\uBCC0\\uACBD\\uD588\\uC5C8\\uB2E4.\"), mdx(\"h3\", {\n    \"id\": \"결론\"\n  }, \"\\uACB0\\uB860\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\uC548\\uB4DC\\uB85C\\uC774\\uB4DC \\uC2A4\\uD29C\\uB514\\uC624\\uC758 \\uC720\\uC6A9\\uD55C \\uAE30\\uB2A5 (APK Analyzer)\\uB97C \\uC54C\\uAC8C \\uB418\\uC5B4 \\uC774\\uC640 \\uBE44\\uC2B7\\uD55C \\uC0C1\\uD669\\uC774 \\uC0DD\\uACBC\\uC744 \\uB54C \\uC720\\uC6A9\\uD558\\uAC8C \\uC0AC\\uC6A9\\uD560\\uAC83 \\uAC19\\uB2E4.\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"ssl \\uBCF4\\uC548 \\uC774\\uC288\\uC5D0 \\uB300\\uD574 \\uACF5\\uBD80\\uD558\\uAC8C \\uB418\\uB294 \\uACC4\\uAE30\\uAC00 \\uB418\\uC5C8\\uB2E4. \"))));\n}\n;\nMDXContent.isMDXComponent = true;","hero":{"full":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABNElEQVQoz2NgQAWMeAEDHkBAGqQCr2Z2dnYODg5WFjhgZmVhY2flZWfjZmfjZWRkwaKNiYkJSGZlZq1cuXLu3Llbt27dtWvX7t279u49uGnb/BkrXCYv8Jq3ziM2xQhsBzabt23btnbt2s7OzosXL/7////Xr59///x/8+nktrN2qw6EbDrjOmOFIxMDNxavMjMzb968eenSZQsXLly3bt3x48d//vwB1Hz/2eGdRy1PbVU9cUh35vJoNhZulNCBsID+O3z4MFA/0OUbNmzYvXv3iZPHjx05df/liev31V/vkHz/uGHN7ix0zXBQWlIyb968qVOnzpo1a8aMGbNmzZw6ZeaSFRP75ph09Zv0z3NLyjJhYGDDGeDMTEzMcMDEBHQOOH7YGBiBepjAiNx4JpgOSAAAtY13fBTKCusAAAAASUVORK5CYII=","aspectRatio":1.7744360902255638,"src":"/static/a8ea89127849181fe80eb9993d69b0ba/8c332/hero.png","srcSet":"/static/a8ea89127849181fe80eb9993d69b0ba/5b37e/hero.png 236w,\n/static/a8ea89127849181fe80eb9993d69b0ba/49058/hero.png 472w,\n/static/a8ea89127849181fe80eb9993d69b0ba/8c332/hero.png 600w","srcWebp":"/static/a8ea89127849181fe80eb9993d69b0ba/fc91b/hero.webp","srcSetWebp":"/static/a8ea89127849181fe80eb9993d69b0ba/77392/hero.webp 236w,\n/static/a8ea89127849181fe80eb9993d69b0ba/1f177/hero.webp 472w,\n/static/a8ea89127849181fe80eb9993d69b0ba/fc91b/hero.webp 600w","sizes":"(max-width: 600px) 100vw, 600px"},"regular":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABNElEQVQoz2NgQAWMeAEDHkBAGqQCr2Z2dnYODg5WFjhgZmVhY2flZWfjZmfjZWRkwaKNiYkJSGZlZq1cuXLu3Llbt27dtWvX7t279u49uGnb/BkrXCYv8Jq3ziM2xQhsBzabt23btnbt2s7OzosXL/7////Xr59///x/8+nktrN2qw6EbDrjOmOFIxMDNxavMjMzb968eenSZQsXLly3bt3x48d//vwB1Hz/2eGdRy1PbVU9cUh35vJoNhZulNCBsID+O3z4MFA/0OUbNmzYvXv3iZPHjx05df/liev31V/vkHz/uGHN7ix0zXBQWlIyb968qVOnzpo1a8aMGbNmzZw6ZeaSFRP75ph09Zv0z3NLyjJhYGDDGeDMTEzMcMDEBHQOOH7YGBiBepjAiNx4JpgOSAAAtY13fBTKCusAAAAASUVORK5CYII=","aspectRatio":1.7717391304347827,"src":"/static/a8ea89127849181fe80eb9993d69b0ba/8c332/hero.png","srcSet":"/static/a8ea89127849181fe80eb9993d69b0ba/078a8/hero.png 163w,\n/static/a8ea89127849181fe80eb9993d69b0ba/e56da/hero.png 327w,\n/static/a8ea89127849181fe80eb9993d69b0ba/8c332/hero.png 600w","srcWebp":"/static/a8ea89127849181fe80eb9993d69b0ba/fc91b/hero.webp","srcSetWebp":"/static/a8ea89127849181fe80eb9993d69b0ba/ac59e/hero.webp 163w,\n/static/a8ea89127849181fe80eb9993d69b0ba/7660b/hero.webp 327w,\n/static/a8ea89127849181fe80eb9993d69b0ba/fc91b/hero.webp 600w","sizes":"(max-width: 600px) 100vw, 600px"},"narrow":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABNElEQVQoz2NgQAWMeAEDHkBAGqQCr2Z2dnYODg5WFjhgZmVhY2flZWfjZmfjZWRkwaKNiYkJSGZlZq1cuXLu3Llbt27dtWvX7t279u49uGnb/BkrXCYv8Jq3ziM2xQhsBzabt23btnbt2s7OzosXL/7////Xr59///x/8+nktrN2qw6EbDrjOmOFIxMDNxavMjMzb968eenSZQsXLly3bt3x48d//vwB1Hz/2eGdRy1PbVU9cUh35vJoNhZulNCBsID+O3z4MFA/0OUbNmzYvXv3iZPHjx05df/liev31V/vkHz/uGHN7ix0zXBQWlIyb968qVOnzpo1a8aMGbNmzZw6ZeaSFRP75ph09Zv0z3NLyjJhYGDDGeDMTEzMcMDEBHQOOH7YGBiBepjAiNx4JpgOSAAAtY13fBTKCusAAAAASUVORK5CYII=","aspectRatio":1.78125,"src":"/static/a8ea89127849181fe80eb9993d69b0ba/502b1/hero.png","srcSet":"/static/a8ea89127849181fe80eb9993d69b0ba/f2e6d/hero.png 114w,\n/static/a8ea89127849181fe80eb9993d69b0ba/4ddba/hero.png 229w,\n/static/a8ea89127849181fe80eb9993d69b0ba/502b1/hero.png 457w,\n/static/a8ea89127849181fe80eb9993d69b0ba/8c332/hero.png 600w","srcWebp":"/static/a8ea89127849181fe80eb9993d69b0ba/15384/hero.webp","srcSetWebp":"/static/a8ea89127849181fe80eb9993d69b0ba/31fce/hero.webp 114w,\n/static/a8ea89127849181fe80eb9993d69b0ba/e3e25/hero.webp 229w,\n/static/a8ea89127849181fe80eb9993d69b0ba/15384/hero.webp 457w,\n/static/a8ea89127849181fe80eb9993d69b0ba/fc91b/hero.webp 600w","sizes":"(max-width: 457px) 100vw, 457px"},"seo":{"src":"/static/a8ea89127849181fe80eb9993d69b0ba/8c332/hero.png"}}}]}},"staticQueryHashes":["1143375668","1491088328","1921650733","2068910035","2444214635"]}