전체 글
-
[2023.3.13] 섹션3 기술면접준비코드스테이츠 43기 2023. 3. 13. 11:45
IP 프로토콜의 한계에 대해서 설명해주세요. IP(인터넷 프로토콜)은 복잡한 인터넷 망 속 수많은 노드(하나의 서버컴퓨터)들을 지나 클라이언트와 서버가 정확하게 데이터를 전달하고 무사히 통신할 수 있게 해준다. 전송데이터를 무사히 전송하기 위해 IP주소를 컴퓨터에 부여하여 지정한 IP주소에 패킷이라는 통산단위로 데이터 전달하는 방식을 이용한다. IP패킷은 전송데이터를 무사히 전송하기 위해 출발지 IP,목적지 IP와 같은 정보가 포함되어있다. 패킷 단위로 전송을 하면 노드들은 목적지 IP에 도달하기 위해 서로 데이터를 전달한다. 이를 통해 복잡한 인터넷 망 사이에서도 정확한 목적지로 패킷을 전송할 수 있다. 서버에서 무사히 데이터를 전송받는다면 서버도 이에 대한 응답을 돌려줘야한다. 서버 역시 IP패킷을 ..
-
[TIL] 2023.3.9.(목)코드스테이츠 43기 2023. 3. 9. 22:24
OAuth 소셜 로그인 인증방식은 OAuth 2.0을 바탕으로 구현된다. 전통적으로 직접 작성한 서버에서 인증을 처리해주는 것과는 달리, OAuth는 인증을 중개해주는 메커니즘이다. 보안된 리소스에 엑세스 하기 위해 클라이언트에게 권한을 제공하는 프로세스를 단순화 하는 프로토콜이다. 이미 사용자 정보를 가지고 있는 웹서비스(네이버,카카오 등)에서 사용자 인증을 대신 해주고, 접근 권한에 대한 토큰을 발급한 후 이를 이용해 서버내 인증이 가능하다. 유저입장에서 생각하면 OAuth를 활용해 중요한 서비스(구글 등)의 ID와 Password만 기억해 놓고 해당서비스를 통해 외부 서비스로 소셜 로그인을 할 수 있다. OAuth는 보안상의 이점도 있다. 검증되지 않은 App에서 OAuth를 사용해 로그인하면, 유..
-
[TIL] 2023.3.8.카테고리 없음 2023. 3. 8. 23:44
해싱 해싱은 복호화가가능한 다른 암호화 방식들과는 달리, 암호화만 가능하다. 해싱은 해시 함수를 사용해 암호화를 진행하는데 해시함수는 다음과 같은 특징이 있다. 항상 같은 길이의 문자열을 리턴한다. 서로 다른 문자열에 동일한 해시함수를 사용하면 반드시 다른 결과값이 나온다. 동일한 문자열에 동일한 해시함수를 사용하면 같은 결과값이 나온다. 레인보우테이블과 솔트 레인보우테이블이란 해시함수를 거치기 이전의 값을 알아낼 수 있도록 기록해놓은 표이다. 유출이 되었을때 해싱을 하더라도 해싱 이전의 값을 알아낼 수 있으므로 보안상 위협이 될 수 있다, 이럴때 솔트를 이용할 수 있다. 솔트는 소금을 치듯 해싱 이전 값에 임의의 값을 더해 데이터가 유출되더라도 해싱 이전의 값을 알아내기 어렵게 만드는 방법이다. 해싱을..
-
[프로그래머스/javascript] 2개이하의 다른 비트 (꼭 다시풀기)코딩테스트 2023. 3. 8. 16:54
function solution(numbers) { var answer = []; function beat(n){ let num = n.toString(2); if(num.length 뒤에서부터 세서 가장먼저 0인수를 찾아서 01을 10으로 바꿔주기. for(let i=0;i=0;j--){ if(str[j]==="0"){ answer.push(parseInt(str.substring(0,j)+"10"+str.substring(j+2),2)) break; } } } } return answer } 다른분들의 풀이를 참고해서 푼 풀이
-
[2023.3.7.] TIL 인증/보안카테고리 없음 2023. 3. 7. 23:28
Cookie 쿠키는 서버에서 클라이언트에 영속성있는 데이터를 저장하는 방법이다. 서버는 클라이언트의 쿠키를 이용하여 데이터를 가져올 수 있다. 쿠키를 이용하는 것은 서버에서 클라이언트에 쿠키를 전송하는것, 클라이언트에서 서버로 쿠키를 다시 전송하는 것을 말한다. 서버는 클라이언트에 쿠키를 이용하여 데이터를 저장하고 특정한 데이터를 가져올 수 있지만, 아무때나 가져올 수는 없다. 특정한 조건들이 만족되어야 다시 가져올 수 있기 때문이다. 이는 http헤더를 사용해 쿠키옵션으로 표현할 수 있다. 'Set-Cookie':[ 'cookie=yummy', 'Secure=Secure; Secure', 'HttpOnly=HttpOnly; HttpOnly', 'Path=Path; Path=/cookie', 'Doami..
-
[프로그래머스/javascript] 게임맵 최단거리 (시간나면 다시풀기)코딩테스트 2023. 3. 7. 14:34
function solution(maps) { var answer = 0; const n =maps.length; const m = maps[0].length; let dy =[-1,1,0,0] let dx = [0,0,-1,1] let queue = [[0,0]] let visited = {}; let result = []; let counted = []; function dfs(current,count){ if(current[0]===n-1&¤t[1]===m-1) counted.push(count) visited[current] = true; result.push(current) for(let i=0;i=0&&nx>=0&&ny