기타
-
[ESLint] ReactJS(+TypeScript)에 맞게 설정하기기타 2022. 11. 1. 00:58
ReactJs(+TypeScript)에 맞는 ESLint 설정하기 ! 우선, 아래 npm 모듈들을 install 한 후, "eslint": "^8.25.0", "eslint-config-prettier": "^8.5.0", "eslint-import-resolver-alias": "^1.1.2", "eslint-import-resolver-typescript": "^3.5.1", "eslint-plugin-import": "^2.26.0", "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-react": "^7.31.10", "eslint-plugin-react-hooks": "^4.6.0", 아래와 같이 설정해서 사용했다. 자세한 내용은 주석 참고. { "env..
-
[AWS] EC2 - 웹 콘솔 접속해서 사용하기기타 2022. 9. 1. 13:27
1. EC2 인스턴스로 진입 2. 콘솔을 사용하고자 하는 인스턴스를 선택, 연결 클릭 3. EC2 인스턴스 연결에서 오른쪽 하단에 있는 연결 버튼을 클릭 4. 웹 콘솔창이 열립니다. 성공! 사담. 웹 콘솔 사용했던 이유 이번에 서울시에서 진행하는 해커톤 본선에 참가해 대회장에서 AWS서버에 putty로 접속하는데 timed out 에러가 계속 발생했다. 집에서 할 때는 문제없이 됐었고, 컴퓨터도 그대로 였다. 바뀐 것은 인터넷 환경 뿐이었는데, 이 때 대회측에서 제공하는 wifi접속 방법은 접속해서 wifi를 연결하는 방식이었다. 그래서 팀원의 핫스팟에 연결해 테스트해보니 서버 접속이 아주 잘 되었다. 그래서 대회진행사 측에 문의하니, aws면 웹 콘솔을 사용하면 될 거라고하면서 방법을 알려주셨다. 아무..
-
[Web] JWT (Json Web Token) 기본 개념과 회고기타/WEB 2022. 6. 29. 15:00
Json Web Token 이란? 선택적 서명 및 선택적 암호화를 사용하여 데이터를 만들기 위한 인터넷 표준(RFC7519 표준)으로, 페이로드는 몇몇 클레임(claim) 표명(assert)을 처리하는 Json을 보관하고 있다. 토큰은 비공개 시크릿 키 또는 공개/비공개 키를 사용하여 서명된다. JWT는 헤더, 페이로드, 서명의 구조로 되어있으며, 각 부분은 Base64url으로 인코딩되어 '.' 기호를 사용하여 하나의 토큰으로 연결된다. const token = base64urlEncoding(header) + '.' + base64urlEncoding(payload) + '.' + base64urlEncoding(signature) 구조의 각 부분 설명 클라이언트에서 사용자가 로그인을 하면 서버는 아..
-
[프로그래머스] 오픈채팅방 - javascript기타/코딩테스트 2022. 6. 26. 01:12
문제 모든 유저는 [유저 아이디]로 구분한다. 채팅방에서 닉네임을 변경하는 방법은 다음과 같이 두 가지이다. 채팅방을 나간 후, 새로운 닉네임으로 다시 들어간다. 채팅방에서 닉네임을 변경한다. 닉네임을 변경할 때는 기존에 채팅방에 출력되어 있던 메시지의 닉네임도 전부 변경된다. 나의 풀이 function solution(record) { let messages = [], answer = []; const member = {}; const content = (data) => { const typeMsg = data[0] == "Enter" ? "들어왔습니다." : "나갔습니다."; return `${member[data[1]]}님이 ${typeMsg}`; }; record.forEach((v, i) => ..
-
[프로그래머스] 없는 숫자 더하기 - javascript기타/코딩테스트 2022. 6. 22. 21:54
문제 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 나의 풀이 function solution(_numbers) { // 0~9 까지 더한숫자 = 45 return 45 - _numbers.reduce((preVal, curVal) => preVal + curVal, 0); } 배열에 없는 수를 모두 더한다고 했을 때 reduce를 사용해서 계산해 보아야지 라는 생각이 들었다. 그런데 그를 위해서는 없는 숫자를 배열로 만들어야했다. 그래서 0~9라는 숫자를 배열에 넣어놓고 numbers를 for문으로 돌리면서 숫자를 찾아 sli..
-
[프로그래머스] [1차] 비밀지도 - javascript기타/코딩테스트 2022. 6. 21. 12:51
문제 1. _n : 정사각형의 한 변의 길이 2. 지도에는 공백 " "(0) 또는 벽 "#"(1) 이 표시되어 있음 3. 전체 지도는 지도 1과 지도 2를 겹쳐서 얻을 수 있음 4. 지도 1과 지도 2중 "#"이 있는 칸은 전체 지도에서 벽(#) 5. 지도 1과 지도 2에서 모두 공백인 부분은 전체 지도에서 공백( ) 6. 1 = #, 0 = ' ' 나의 풀이 function solution(_n, _arr1, _arr2) { const answer = []; for (let i = 0; i < _n; i++) { const map1 = _arr1[i].toString(2).padStart(_n, "0"); const map2 = _arr2[i].toString(2).padStart(_n, "0"); c..
-
[프로그래머스] 로또의 최고 순위와 최저 순위 - javascript기타/코딩테스트 2022. 6. 21. 00:45
문제 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 당첨이 가능했던 최고 순위와 최저 순위를 알아보고 싶어졌습니다. 당첨 가능한 최고 순위와 최저 순위를 차례대로 배열에 담아서 return 하도록 solution 함수를 완성해주세요. 나의 풀이 function solution(_lottos, _winNums) { // 모르는 번호 개수 let coverCnt = 0; _lottos.forEach((v, i) => { const winIdx = _winNums.findIndex((e) => e == v); if (winIdx > -1) _winNums..
-
[프로그래머스] 키패드 누르기 - javascript기타/코딩테스트 2022. 6. 16. 20:55
문제 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다. 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다. 1. 엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당 2. 왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용 3. 오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용 4. 가운데 열의 4개의 숫자 2, 5, 8, 0을 입력할 때는 두 엄지손가락의 현재 키패드의 위치에서 더 가까운 엄지손가락을 사용 4-1. 만약 두 ..