CS

로그인과 회원가입을 구현할 때 알아야 할 중요한 개념 중 하나가 인증과 인가이다. 하지만 둘의 개념은 혼동하기 쉽기 때문에 간단한 예시와 함께 이해해 보려고 한다.  1. 인증(Authentication) vs 인가(Authorization)인증과 인가 서비스를 제공하는 authO에 둘의 개념이 잘 나와 있다. 1. 인증(Authentication)인증은 사용자의 신원을 확인하는 것이다. 두 가지 예시를 보자. 은행 창구에 가서 돈을 인출하려고 하면 직원은 신원을 확인하기 위해 신분증을 요구한다. 비행기에 탑승하기 전에도 여권을 통해 신원을 확인해야만 비행기에 탑승할 수 있다. 위 예시 모두 우리의 신원을 확인하기 위해 어떤 절차를 걸치며 이를 인증이라고 한다. 2. 인가(Authorization) 인가..
· CS
팀 미팅 시간에 캐시(cache)에 대해 팀원분과 얘기를 나누게 됐다. 데일리 퀴즈에서 나왔던 문제를 cache를 사용해서 푸는 방법과 리액트의 Virtual DOM이 일종의 cache라는 것을 알게됐는데, 여러 가지들을 알게돼서 너무 재밌었다ㅋㅋㅋ 또 cache를 한 번 짚고 넘어가는게 좋을 것 같아 블로그 포스팅을 작성하려 한다.  1. 캐시(cache)란?cache는 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소를 말한다. 아래 그림은 저장공간의 계층 구조를 나타낸 그림인데, 그림을 보면 캐시는 저장공간이 작고 비용이 비싼 대신 빠른 성능을 제공한다. 캐시는 다음과 같은 경우에 사용하면 좋다. 1. 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경..
· CS
1. 렌더링이란? HTML, CSS, 자바스크립트 등 개발자가 작성한 문서가 브라우저에서 출력되는 과정을 말한다. 2. 클라이언트 사이드 렌더링(CSR)클라이언트인 브라우저가 렌더링을 처리하는 방식이다. 즉, 서버에서 받은 데이터를 통해 클라이언트인 브라우저가 화면(View)를 그리는 주체가 되는 것이다. 2.1. CSR의 동작 과정(1) : 초기 화면 수행사용자가 홈페이지를 접속한 경우(최초 접속) 클라이언트는 이를 확인하고 서버로 요청한다.서버는 빈 페이지(HTML, CSS)를 클라이언트에게 전달한다. (해당 페이지에는 JS 링크가 포함되어 있다.)전달받은 클라이언트에서 해당 화면을 그려주고 스크립트를 다운로드하여서 최종적인 화면을 사용자에게 보여준다. (해당 부분에서 사용자에게 보여준 뒤 JS를 로..
· CS/C
C에서는 정수나 문자열 외에도 다양한 데이터 타입이 정의되어 있다. 또한 각 타입에 맞는 형식 지정자를 통해 적절한 포맷으로 출력하고, 다양한 연산자를 통해 조건문을 설정하거나 데이터 값을 계산할 수 있다. 데이터 타입 아래 목록은 변수의 데이터 타입으로 사용할 수 있는 것들이다. bool: 불리언 표현, (예) True, False, 1, 0, yes, no char: 문자 하나 (예) 'a', 'Z', '?' string: 문자열 int: 특정 크기 또는 특정 비트까지의 정수 (예) 5, 28, -3, 0 long: 더 큰 크기의 정수 float: 부동소수점을 갖는 실수 (예) 3.14, 0.0, -28.56 double: 부동소수점을 포함한 더 큰 실수 * int는 대략 40억까지 셀 수 있기 때문..
· CS/C
목차 1. 증감 연산자 2. 후위 연산자 (Postfix Operator) 3. 전위 연산자 (Prefix Operator) 1. 증감연산자 증가연산자 ++ 감소연산자 -- 로 나뉜다. 전위 ++n 와 후위 n++ 로 나뉜다. 증감 연산자만 단독으로 사용할 때는 큰 차이가 없지만 다른 변수에 할당할 때는 위치에 큰 차이가 난다. 2. 후위 연산자 (Postfix Operator) n++; n--; #include int main() { int num1 = 2; int num2 = 2; int num3; int num4; num3 = num1++; // num1의 값을 num3에 할당한 뒤 num1의 값을 1 증가시킴 num4 = num2--; // num2의 값을 num4에 할당한 뒤 num2의 값을 1..
· CS/C
C는 오래된 언어라 저장하고자 하는 변수의 종류를 꼭 알려주어야 한다. counter라는 변수에 숫자를 저장해보자 int counter = 0; 여기서 int 는 변수가 정수(integer)라는 것을 알려주는 것이고, counter는 변수의 이름, 0은 그 값에 0을 저장(초기화)하는 것이다. 또한 코드의 마지막에 세미콜론(;)을 붙여주어야 한다. 여기서의 등호(=)는 같다의 의미가 아닌, 오른쪽에 있는 값을 왼쪽에 할당한다는 의미이다. 변수의 값을 1씩 증가시켜보자 counter = counter + 1; 위 코드는 counter에 1을 더한 값을 다시 counter에 저장(할당)한다는 의미가 된다. 이를 더 간단하게 아래 두 가지 방식으로 수행할 수 도 있다. counter += 1; counter+..
· CS/C
C는 오래된 언어이기 때문에 변수가 저장하는 데이터의 종류를 아주 정확하게 명시해줘야 한다. 만약 저장하고자 하는 값의 종류가 문자열(string)이라면 컴퓨터에게 이를 알려야 한다. 이때 string을 형식 지정자라고 하며 형식지정자는 string 이외에도 여러가지 종류가 있다. *형식 지정자 모음 형식지정자 -> 표현하는것 -> 대응되는 자료형 %d -> 10진수 정수 (4바이트) -> int %ld -> 10진수 정수 (8바이트) -> long %f -> 실수형 (4바이트) -> float %lf -> 실수형 (8바이트) -> double %c -> 문자 -> char %s -> 문자열 -> char* %o -> 8진수 -> int %x -> 16진수 -> int %p -> 주소값 -> void* ..
· CS/C
1. C 언어 #include int main(void) { printf("hello, world\n"); }위 코드를 한 줄 씩 살펴보자 #include 는 “stdio.h”라는 이름의 파일을 찾아서 “printf” 함수에 접근할 수 있도록 해준다. int main(void)는 '시작한다'의 의미를 가지고 있다. printf("hello,world\n")는 스크래치의 "'hello, world'라고 말하기" 블록과 같은 역할을 한다. 주의할 점은 글자나 단어, 문장을 적을 때는 언제나 텍스트에 " " 쌍따옴표로 감싸야 한다. 또한 문장 끝에 세미콜론(;)을 붙여야 한다. 또한 우리가 Word로 문서를 저장했을때 "문서.docx"와 같이 .docx가 붙는 것 처럼, C로 작성한 코드는 "파일이름.c"로 ..
1.알고리즘 숫자, 글자, 색깔 등을 컴퓨터가 이해할 수 있는 2진법으로 표현하는 것은 입력(input)이다. 그렇다면 어떻게 입력에서 출력을 얻을 수 있을까? 정답은 알고리즘이라는 과정을 통해 출력할 수 있다. 즉, 알고리즘은 입력(input)에서 받은 자료를 출력(output) 형태로 만드는 처리 과정이다. 다시말해 입력값을 출력값의 형태로 바꾸기 위해 어떤 명령들이 수행되어야 하는지에 대한 규칙들의 순서적 나열이다. 또한 같은 출력값이라도 알고리즘에 따라 출력 하기까지의 시간이 다를 수 있기 때문에 제대로 된 알고리즘을 짜는 것이 중요하다. 2. 정확한 알고리즘 알고리즘을 평가할 때는 정확성, 효율성이 중요하다. 여기서 효율성의 의미는 작업을 완료하기까지 얼마나 시간과 노력을 덜 들일 수 있는 지에..
1. 문자의 표현 컴퓨터는 스위치는 ON/OFF 하면서 숫자를 표현한다. 그렇다면 문자는 어떻게 표현할까? 바로 문자를 숫자로 표현할 수 있는 약속(표준)이 있다. 그 중 하나는 ASCII(아스키코드/American Standard Code for Information Interchange)이다. ASCII는 총 128개의 부호로 정의되어 있고 알파벳 A는 10진수 기준으로 65, 알파벳 B는 66로 되어있다. 이외에도 Unicode라는 표준에서는 더 많은 비트를 사용하여 좀 더 다양한 다른 문자들을 표현할 수 있다. 예시로 Unicode는 😂(기쁨의 눈물) 이런 이모티콘 까지 표현할 수 있게 해준다. 이 이모티콘은 10진법으로 128,514이다. 2진법으로는 11111011000000010 인데 만약 ..
Rynn
'CS' 카테고리의 글 목록