내일배움캠프 14

Node.js 숙련주차 240911

1. 인증, 인가인증은 해당 서비스를 사용하려는 사용자가 검증된 사람이 맞는지 검증하는 작업이고인가는 이미 인증된 사용자가 특정 작업 혹은 리소스에 접근할 때 해당 권한이 있는지를 검증하는 작업을 의미한다.2. 액세스 토큰, 리프레시 토큰액세스 토큰은 사용자의 인증이 완료된 후 해당 사용자를 인증하는 용도로 발급하는 토큰이다.리프레시 토큰은 액세스 토큰을 발급받기 위한 목적으로 사용되는 토큰이다.액세스 토큰은 인증에 필요한 모든 정보를 담고 있기 때문에 토큰 탈취에 대한 피해를 최소화하기 위하여리프레시 토큰을 사용한다.3. 트랜잭션작업의 완전성을 보장해주기 위해 사용되는 개념이다.특정한 작업을 실행할 때 해당 작업을 전부 처리하거나 전부 실패하게 만들어 데이터의 일관성을 보장해주는 기능이다.A데이터의 일..

OSI모델의 7계층 240829

1. OSI model1) What is it?: - OSI 7 계층(Layers)이라고 알려져있는 네트워크 구조 모델이다. Physical, Data Link, Network, Transport, Session, Presentation, Application으로 순서대로 1부터 7까지의 layer가 존재한다. 국제 표준화 기구 (ISO)에서 1970년대에 정립된 가이드라고 한다. L1 부터 L3 까지를 네트워크 지원 계층, L5~L7을 사용자 지원 계층이라고 한다. 2) How does it work?: - Layer 1 (Physical, 물리 계층): 물리적인 연결과 전기 신호 변환을 담당한다. 다양한 하드웨어 기술이 접목되어 가장 복잡하다고 여겨지는 계층이라고 한다. - Layer 2 (Data ..

컴퓨터 세계의 서버와 클라이언트, 웹 애플리케이션 서버와 게임 서버의 공통점 및 차이점 240827

1. 컴퓨터 세계에서 서버와 클라이언트는 무엇인가?컴퓨터 세계에서의 서버와 클라이언트를 알기 전에 각 단어의 기본 뜻에 대해 알고 가봅시다.서버는 무언가를 제공하는 의미를 가진 serve에 ~하는 것을 뜻하는 er이 붙어 무언가를 제공하는 주체가 되고client는 그 해당 제공을 받는 고객을 의미한다는 걸 대략적으로 알 수 있다 물론 각각 컴퓨터 세계에서는 별도의 독립적 언어로 불리기 때문에 절대적인 비교가 되지는 않지만이것을 통하여 대략적인 의미는 알고 갈 수 있다. 서버는 무언가를 제공하고, 클라이언트는 그 무언가를 받는 쪽이라는 걸. 그럼 컴퓨터 세계에서의 서버와 클라이언트는 그게 어디서 일어나는가?네트워크를 통해 요청 및 제공을 합니다. 예시를 통해서 알아보자면웹 브라우저라는 클라이언트를 통해 U..

개인 과제 구현하기 240822

개인 과제를 하면서 그냥 코드를 만지면 초심자 입장에서는 전혀 진행이 안되고 있다보니 알고리즘 강의에서 들은 방법을 기초로 삼아서 의사 코드를 작성한다는 느낌으로 주석과 메모를 많이 작성하는 방식으로 기조를 잡았다. 지금 현재 상태의 전투 코드인데const battle = async (stage, player, monster) => { let logs = []; while (player.hp > 0) { console.clear(); displayStatus(stage, player, monster); logs.forEach((log) => console.log(log)); console.log(chalk.green(`\n1. 공격한다 2. 도망간다.`)); const ch..

JS 문법 종합 2주차 240814

오늘은 2주차 숙제를 진행하는데 - 문제 설명 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다 - 제한 조건strings는 길이 1 이상, 50이하인 배열입니다.strings의 원소는 소문자 알파벳으로 이루어져 있습니다.strings의 원소는 길이 1 이상, 100이하인 문자열입니다.모든 strings의 원소의 길이는 n보다 큽니다.인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다.처음 문제를 보고 대충 어떻게 나..

JS 문법 종합 1주차 240813

1주차 숙제를 하는데 문제 설명대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다.예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다. 제한 사항문자열 s의 길이 : 50 이하의 자연수문자열 s는 알파벳으로만 이루어져 있습니다.해당 구문을 푸는데 어떤 방식을 쓸까 고민하다가.내가 아는 문자열 확인 방식중에 해당 문자가 뭔지 확인할 수 있나? 를 생각하다가split을 쓰기로 생각했다. split을..

[TIL] 2024/08/09

SQL 강의를 모두 완료하고 뭘 해볼까 하다가 SQL 코드카타를 해봤는데 뭔가 기존에 하던 방식으로도 query작성이 됐지만 작성 하던 도중 막힌 부분에서 해답을 보다가 limit과 having을 봤는데 컬럼에서 동일한 값을 가지는 경우만 출력하는 query를 작성하는데select NAME, cnt_namefrom(SELECT NAME, count(NAME) cnt_namefrom ANIMAL_INSgroup by NAME) awhere cnt_name >= 2order by NAME이게 내가 작성했던 방식이다. 근데 sub를 사용해서 작성해야할 만큼 카타가 많이 진행된건가? 싶어서 해답을 좀 찾아보다가SELECT name, count(*) as 'COUNT'from ANIMAL_INSwhere NAME..