2월, 2022의 게시물 표시

[React] dangerouslySetInnerHTML 사용하여 문자열 html 출력하기

이미지
태그와 문자열이 함께 저장되어있는 JSON 데이터를 받아와 화면에 출력하려고 했다. HTML 태그와 문자열을 포함하는 json 데이터 컴포넌트에 json 데이터 출력 json 데이터 출력 결과 우리가 상상하는것과 다르게 태그가 문자열 그대로 출력된다. React 공식 문서에 따르면 일반적인 코드에 HTML 코드를 삽입하는것은 Cross-Site Scripting(XSS)에 취약하다고 한다. 사용자가 임의로 웹페이지에 스크립트를 적용할 수 있어 이러한 문제점을 차단하기위해 무조건 텍스트로만 출력되게 설정되어있다고 한다. 그래서 우리가 상상하던데로 출력되지않고 문자열 그대로 태그가 출력 되는것이었다. React 공식 문서에 따르면 DOM에 innerHTML을 사용하려면 즉, 태그를 포함한 문자열 데이터를 태그가 적용되어 출력되게 하기위해서는 대체 방법인 dangerouslySetInnerHTML 을 사용하라고 나와있다. dangerouslySetInnerHTML 속성명을 보면 알 수 있듯이 개발자에게 위험하다는것을 한번더 상기시키기 위해서  dangerously라는 단어가 포함되어있는  dangerouslySetInnerHTML을 사용해서 출력하게 한다는것이다. 사진과 같이 __html을 객체의 키로 전달하고 value값으로 태그가 포함된 문자열 데이터를 전달하면 우리가 상상하던것과 같이 출력된다. dangerouslySetInnerHTML  출력 결과  

웹뷰(WebView) 모바일 가상 키보드 inputmode

이미지
  input 태그에 type 속성과는 별개로 inputmode 속성 값을 작성하면 모바일 웹뷰에서 속성값에 따라 특화된 가상 키보드가 활성화 된다.   none 가상 키보드를 사용하지 않는다. 가상 키보드를 직접 구현하는 경우 사용한다.       text (기본값) 사용자의 현재 위치에 맞는 표준 가상 키보드를 제공한다.       decimal 사용자의 위치에 따라 소숫점( , 또는 . )을 제공하는 숫자형 가상 키보드를 제공한다. 사용자의 장치에 따라 음의 부호( - )를 제공할 수도 있고 안할 수도 있다.     numeric 숫자형 가상 키보드를 제공한다. 소숫점은 없으며 사용자의 장치에 따라 음의 부호( - )를 제공할 수도 있고 안할 수도 있다.   tel 전화번호 가상 키보드를 제공한다. 숫자 0 ~ 9, +, *, # 를 포함한다.    search 검색 입력에 최적화된 가상 키보드를 보여준다. 사용자의 장치에 따라 Enter / 제출 키가 검색 아이콘이나 레이블을 가질 수 있다. email 이메일 입력에 최적화된 가상 키보드를 보여준다. @ 키를 제공한다. url URL 입력에 최적화된 가상 키보드를 제공한다.  / 와 .com 과 같은 키를 제공한다.

VSCode 설정 동기화하기

이미지
예전에 컴퓨터를 새로 구매하면서 VSCode 설정을 동기화 해본 경험이 있다. 하지만 최근 주니어 개발자로 취업하고 회사에서 업무용으로 지급받은 맥에도  VSCode 설정도 동기화 해야했는데 자주하는 경험이 아니다보니 또다시 찾아보게되어 추후에도 쉽게 찾아볼 수 있도록 블로그에 작성하게 되었다. VSCode 설정을 동기화 하는 방법은 2가지가 있다.  1. VSCode에 내장되어있는 Syncs 기능 사용하기 2. VSCode Extensions에 있는 Settings Sync 사용하기 나의 경우 회사에서는 개인적으로 사용하는 계정을 일체 사용하지 않을것이기 때문에 2번 방법을 사용했다. 1번 방법의 경우 동일한 github 계정을 사용해여야 동기화가 가능하다. 1번. Settings Sync 익스텐션 설치하기 https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync 2번. Github에서 Personal Access Token 생성하기 Settings -> Developer Settings -> Personal access tokens -> Generate new token -> Note(식별 내용 작성) -> Expriration 설정하기(원하는 만료기간 설정) -> gist 체크 박스 체크 -> Generate token 클릭 주황색으로 가려진 토큰은 복사해서 보관해둬야 한다. 발급된 토큰은 한번만 확인할 수 있다. 새로 고침시 비공개처리 된다. 3번. gist 접속해서 Create sercret gist 생성하기 구글에 gist 글 검색한다. 들어가서 생성버튼을 누르고 제목, 내용? 양식은 없으며 본인이 알아볼 수 있는 식별 내용 작성하고 Create sercret gist 클릭 생성한 gist를 눌러보면 URL Params 끝에 Gist Id 가 작성되어있다.  4번. VScode에서 Shift + Option + U를 눌러 설정 업로드하