전체 글
-
C/C++ 콘솔창에서 커서를 변경해보자 (GetConsoleScreenBufferInfo, SetConsoleCursorPosition)프로그래밍/C/C++ 2023. 1. 19. 09:40
콘솔창에서 메뉴 입력을 받는 영역을 만들고 커서를 제어하여 특정 위치에서 입력을 받게 하고자했다. 위에 이미지와 같이 이미 명령어를 소개하고, 입력값을 소개 테이블 안에서 작성을 하고 싶었다. 일반적으로 콘솔 커서 관련 키워드로 찾아보다가 다음과 같은 코드를 찾을 수 있었다. COORD Cur; CONSOLE_SCREEN_BUFFER_INFO a; // 현재 커서 정보를 가져온다 GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &a); Cur.X = a.dwCursorPosition.X; Cur.Y = a.dwCursorPosition.Y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), C..
-
Spring Boot 테스트코드 동작시 CommandLineRunner 중복 문제프로그래밍/Spring Boot 2023. 1. 9. 22:54
Spring Boot 에서 테스트코드를 작성하다가 다음과 같은 문제가 발생했다. 테스트 코드 내, @SpringBootTest, @ContextConfiguration 을 사용하여, 테스트코드를 작성해야하는 상황이 생겼는데, 이때 CommandLineRunner의 구현체를 만들어서 @Component 와 함께 사용하는 코드들이 있었다. 이 코드들을 그대로 다 @Component 를 주석처리 해주기에는 너무 부담이였다. 그래서 자료를 찾아봤는데 다음과 같은 레퍼런스를 찾을 수 있었다. https://www.baeldung.com/spring-junit-prevent-runner-beans-testing-execution 방법은 간단하다, CommandLineRunner의 구현체 부분에, @Profile("..
-
C/C++ Struct Memory Padding프로그래밍/C/C++ 2022. 12. 28. 10:53
C언어 기반으로 Struct를 사용하여 구조체를 생성 했을 경우 다음과 같은 문제를 본적이 있을 것이다. 일반적으로 내가 할당한(할) 타입의 메모리 크기를 보기위해 다음과 같은 코드를 작성한다.#include struct MyStruct { char ch; // 1바이트 char * pCh; // 4바이트 int integer; // 4바이트};int main(){ struct MyStruct custom_type; size_t size = sizeof(custom_type); printf("Size [%d]Byte ", size);}구조체를 만들고 해당 구조체의 크기를 알아보기 위해 sizeof(struct MyStruct) 또는 sizeof(c..
-
<Tistory API Wrapper> 내 블로그의 글 목록 조회 API 테스트 해보기토이프로젝트/Tistory API Wrapper 2022. 12. 24. 23:49
본문만 보고 해보고자 하시는 분들은 아래 내용을 순서대로 확인 해보세요 ! https://kjm99d.tistory.com/9 Tistory 서비스 등록하기 Tistory API 를 사용하는 방법에 대해서 우선적으로 작성합니다. https://www.tistory.com/guide/api/manage/register TISTORY 나를 표현하는 블로그를 만들어보세요. www.tistory.com 위에 링크로 들어가 App 등록을 진행 kjm99d.tistory.com https://kjm99d.tistory.com/10 Authentication Code 사용하여 Access Token 발급 받기 이전 포스팅에서 티스토리 서비스 등록과 Authentication Code를 발급 받았습니다. 사용자의 티스..
-
<Tistory API Wrapper> Authentication Code 사용하여 Access Token 발급 받기토이프로젝트/Tistory API Wrapper 2022. 12. 24. 15:16
이전 포스팅에서 티스토리 서비스 등록과 Authentication Code를 발급 받았습니다. 사용자의 티스토리의 데이터 접근을 위해서 사용자에게 티스토리 인증요청을 합니다. Access Token 은 Get 방식으로 필요한 파라미터를 전달하면, ResponseBody 부분에 Access Token 값을 전달 해줍니다. GET https://www.tistory.com/oauth/access_token? client_id={client-id} &client_secret={client-secret} &redirect_uri={redirect-uri} &code={code} &grant_type=authorization_code 위에와 같이 요청을 해봅시다. PostMan 을 통해 테스트를 해본결과 다음과 ..
-
<Tistory API Wrapper> Tistory 서비스 등록하기토이프로젝트/Tistory API Wrapper 2022. 12. 24. 13:03
Tistory API 를 사용하는 방법에 대해서 우선적으로 작성합니다. https://www.tistory.com/guide/api/manage/register TISTORY 나를 표현하는 블로그를 만들어보세요. www.tistory.com 위에 링크로 들어가 App 등록을 진행합니다. 다음과 같은 창이 뜨면 아래 내용에 맞춰서 작성해주세요. 유형 값 서비스명 원하는 내용으로 작성, 필수아님 설명 로고등록 서비스 URL 본인의 Tistory 주소 입력 EX) https://kjm99d.tistory.com/ 서비스형태 웹서비스 서비스 권한 읽기,쓰기 CallBack 서비스 URL과 동일하게 작성 이후 등록을 누르면 다음과 같이 나타납니다. 본인의 App ID와 Secret Key를 노출시키지 않게 조심해..
-
JPA 타임스탬프(TimeStamp) 자동저장 하는 방법프로그래밍/JPA 2022. 12. 23. 23:05
JPA를 사용하는 중에 필요한 기능으로, DB상에 저장된 시간을 기록하고 싶었다. (훗날, 히스토리를 갖고 원하는 날짜의 데이터를 찾을 방법이 이것뿐 .. ) 하지만 몇몇 자료를 찾았으나 제대로 나오는건 없어 제대로 나온걸 기록한다. @Column @CreationTimestamp @Temporal(TemporalType.TIMESTAMP) Date createTime; @Entity 어노테이션이 작성된 클래스의 필드변수에 다음과 같이 사용한다. 반환 타입은 Json인 변수를 만들고, 해당 변수는 DB상의 컬럼으로 등록하기 위해 @Column 어노테이션을 사용한다. @Temporal 어노테이션을 사용하여 해당 데이터가 타임스탬프를 저장한다는 것을 의미한다. 해당 어노테이션은 java.util.Data, ..