Memorizing53
-
[C] 왜 scanf에서는 주소값을 인자로 받는가 ?
Python, Java를 하던 사람 입장에서는 메모리와 상호작용을 직접적으로하는 저수준 언어인 C에서 생소한 개념 혹은 직관적으로 와닿지 않는 부분이 여러가지 있다. 그 중 첫 번째로 만나게 되는 것은 scanf 이다.scanf란 ? scanf는 scan formatted의 약자로 정해진 타입으로 standard input을 통해서 입력받는 함수이다. 아래와 같이 쓴다.int a;scanf"%d", &a;왜 scanf에서는 포인터를 쓰는가?C에서는 변수를 먼저 메모리에 할당하여 쓰게된다. 우리는 scanf 함수를 호출하여 std in을 받으면 그 값이 a라는 int형 변수에 할당되길바란다. 따라서 아래와 같이 사용하면 된다고 직관적으로 생각할 수 있다.int a;scanf"%d", a;하지만 이렇..
2024.07.27 -
[C] int 그리고 음수의 표현에 대한 이해
만약 아래와 같이 프로그램을 작성하면 결과가 원하는대로 나오지 않는다. #includeint mainvoid{ unsigned int a; a = 4294967295; printf"%d\n", a; a = -1; printf"%u\n", a; return 0;}첫 번째 a에는 -1이, 두 번째 a에는 4294967295이 찍히는데, 그 이유가 뭘까 ? C에서 int형은 4바이트만큼 메모리를 차지하게 되는데, usigned int는 0~2^32 - 1 만큼의 숫자를 표현할 수 있고, int는 -2^31 ~ 2^31 -1만큼의 숫자를 표현할 수 있다. 부호가 있는 int형의 경우, 첫 번째 비트는 부호비트로 1이면 음수, 0이면 양수를 나타낸다. 4294967..
2024.07.27 -
[QueryDSL] 최신! 환경설정
본 포스팅은 QueryDSL-JPA의 환경설정을 다룹니다. 문제 상황 김영한님 QueryDSL 강의 듣고 있는데, 강의에서 제공해준 메뉴얼대로 아래와 같이 gradle을 작성했는데 빌드가 제대로 안됨. plugins { id 'java' id 'org.springframework.boot' version '3.2.0' id 'io.spring.dependency-management' version '1.1.4' } group = 'study' version = '0.0.1-SNAPSHOT' sourceCompatibility = '17' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral..
2024.03.06 -
스웨거로 작업한 API를 html 문서로 저장하기
본 포스팅은 스웨거로 작업한 API를 html 문서로 저장하는법을 다룹니다. 1단계 http://localhost:8080/swagger-ui/index.html#/ 로 접속해 제목 아래에 있는 링크로 접속한다. 2단계 출력되는 json을 저장한다. 3단계 https://editor.swagger.io/로 접속해 방금 만든 json 파일을 import한다. 4단계 html로 export한다. 에러발생 간혹가다 export가 안되는 경우가 있는데, 그때는 requestdto, responsedto쪽 Schema 어노테이션을 수정하면 된다!
2024.03.06 -
[Java] 초간단! 쿠키, 세션, 토큰
본 포스팅은 클라이언트와 서버가 인증, 인가하는 방식인 쿠키, 세션, 토큰에 대해 다룹니다. HTTP의 특성 웹 클라이언트와 서버는 HTTP라는 프로토콜을 이용하여 통신합니다. HTTP는 비연결성과 무상태성의 특징을 가지고 있습니다. 비연결성 비연결성은 서버와 클라이언트가 항상 연결되어있지는 않다는 것입니다. 무상태성 무상태성은 서버가 클라이언트의 상태를 저장하지 않는다는 것입니다. HTTP가 두 가지 특징을 가지고있기 때문에 서버의 부하를 줄일 수 있지만, 유저 로그인과 같이 인증된 유저는 기억하고 있어야하는 경우 비연결성과 무상태성 때문에 이 정보를 기억하지 못할 수 있습니다. 따라서 유저 로그인과 같은 정보를 유지시키는 과제를 풀어야하는데, 그 과정에서 쓰이는 것이 쿠키, 세션, 토큰입니다. 쿠키 ..
2024.02.29 -
[Spring] Web server failed to start. Port 8080 was already in use.
포트 번호를 이미 사용하고 있어서 웹 서버를 구동할 수 없다는 에러입니다. 윈도우에서는 아래와 같이 포트 번호 확인 후 사용하지 않는 다면 이전에 실행한 포트번호의 프로세스를 삭제하여 해당 포트 번호를 다시 사용할 수 있습니다. netstat -ano | findstr 8080 taskkill /F /PID 8080
2024.02.20