본문 바로가기

TIL56

TIL내일배움캠프 try-with-resources 오늘의 키워드try-with-resources오늘의 내용try-with-resources란?자원을 명시적으로 닫은 필요 없이 자동으로 닫아주는 구조는 제공하는 기능이다. 주로 파일 입출력과 DB연결에 사용되며 자원을 할당하고 해제하는 코드가 더 간결하고 안전해지는 장점이 있다try (BufferedReader br = new BufferedReader(new FileReader("path/to/file.txt"))) { String line; while ((line = br.readLine()) != null) { System.out.println(line); }} catch (IOException e) { e.printStackTrace();}다중 자원 사용 시 예제t.. 2024. 7. 29.
TIL내일배움캠프 15주차 Spring Scheduler 오늘의 키워드Spring Scheduler오늘의 내용Spring Scheduler는 일정한 시간 간격이나 특정 시간에 코드를 실행할 수 있도록 하는 기능으로 @Scheduled 어노테이션을 사용하여 작업을 예약할 수 있고 Spring Scheduler를 설정하고 사용하는 방법은 다음과 같다Application 클래스에 @EnableScheduling 추가:@EnableScheduling@SpringBootApplicationpublic class SchedulerApplication { public static void main(String[] args) { SpringApplication.run(SchedulerApplication.class, args); }}스케줄링 작업을 위.. 2024. 7. 23.
TIL내일배움캠프 15주차 Spring Boot로 REST API와 AOP를 활용한 코드 실행 및 로그 기록 오늘의 키워드 Spring BootREST APILoggingAOP (Aspect-Oriented Programming)오늘의 내용AOP를 사용해 메서드 실행시간을 측정코드를 입력받고 실행시키는 Controller 구현//예시코드@RestControllerpublic class CodeExecutionController { @PostMapping("/execute") public ResponseEntity executeCode(@RequestBody String code) { String result = runCode(code); return ResponseEntity.ok(result); } private String runCode(String code) .. 2024. 7. 22.
TIL내일배움캠프 14주차 최종프로젝트 실시간 채팅 오늘의 키워드실시간 채팅WebSocketSTOMP오늘의 내용실시간 채팅 API 명세엔드포인트POST /chat/send: 채팅 메시지를 보내기 위한 엔드포인트GET /chat/receive: 채팅 메시지를 받기 위한 엔드포인트WebSocket 엔드포인트/ws/chat: WebSocket 연결을 위한 엔드포인트STOMP 엔드포인트/app/sendMessage: 메시지를 보내기 위한 STOMP 엔드포인트/topic/messages: 구독된 클라이언트들에게 메시지를 전달하기 위한 엔드포인트Request 및 Response 형식Request (sendMessage)json코드 복사{ "from": "사용자 이름", "text": "메시지 내용" }Response (receiveMessage)json코드 복사{ .. 2024. 7. 19.
TIL내일배움캠프 14주차 KPT 회고 심화주차 프로젝트가 끝나도 작성한 KPT회고입니다- 개인적으로 프런트엔드를 처음 접하고 백엔드와 연동시키는 것이다 보니 모든 기능을 구현하지 못해 아쉬운 프로젝트였고 또 한편으로는 처음 하는 건데 이 정도면 괜찮지 않나라는 생각도 드는 프로젝트였다. 내일부턴 최종 프로젝트가 진행되는데 어떤 분과 팀원이 되고 어떤 프로젝트를 진행할지 걱정반 기대반....Keep - 현재 만족하고 있는 부분프로젝트 작업을 GitHub Issues를 통해 작업을 체계적으로 관리하였다. 각 이슈를 통해 팀원 간의 작업 분담과 진행상황 파악 등 협업을 하는데 도움이 되었다.매일 아침, 점심, 저녁 회의를 통해 진행 상황을 공유하며 진척도 파악이 용이했다. 필요한 경우 추가적인 회의를 통해 피드백하며 문제를 해결하였다.각 기능을 .. 2024. 7. 16.
TIL내일배움캠프 13주차 Spring Boot와 React 통합 오늘의 키워드Spring Boot와 React 통합분리된 저장소 방식단일 저장소(모노레포) 방식Full Stack Application BundlingDocker 및 컨테이너화오늘의 내용Spring Boot와 React 통합 방법1. 분리된 저장소 방식구조: 백엔드(Spring Boot)와 프론트엔드(React)를 각각 독립적인 저장소에서 관리한다통합 방법: RESTful API를 통해 통신하고 React에서 Axios 같은 HTTP 클라이언트를 사용하여 Spring Boot 백엔드와 통신한다배포: 각각 독립적으로 Heroku, AWS 등 클라우드 플랫폼에서 배포한다2. 단일 저장소(모노레포) 방식구조: 백엔드와 프론트엔드 프로젝트가 하나의 저장소에서 관리해 루트 디렉터리에 backend와 fronten.. 2024. 7. 13.
TIL내일배움캠프 13주차 CommonResponse 오늘의 키워드CommonResponse 기능API 응답 일관성오늘의 내용CommonResponse 기능CommonResponse는 API 응답의 일관성을 유지시켜 주는 클래스이다. 다양한 API응답을 통일된 형태로 제공해 클라이언트와 서버 간의 상호작용을 명확하게 해 주고 유지보수성을 높여준다. CommonResponse를 사용하면 클라이언트가 예측 가능하게 응답을 처리할 수 있어 디버깅이 용이해준다. 주요 필드 및 설명:requestId: 요청 ID로, 요청이 성공한 경우에만 전달된다returnCode: 반환 코드로, 요청이 성공하면 0, 실패하면 0 이외의 값이 전달된다returnMessage: 반환 메시지로, 요청이 성공하면 success, 실패하면 실패 이유가 전달된다CommonResponse 클.. 2024. 7. 11.
TIL내일배움캠프 13주차 JPA심화 JPA 자동 쿼리 생성 오늘의 키워드JPA 자동 쿼리 생성JpaRepository 쿼리 기능Spring Data JPAOptional 처리메서드명 간소화비즈니스 로직 통합오늘의 내용테이블 객체로 자동 쿼리 생성JpaRepository 쿼리 기능Spring Data Common의 CRUDRepository + PagingAndSortingRepository 쿼리 기능 제공.Repository는 Marker Interface로 특별한 기능은 없음.Repository ~ JpaRepository는 @NotRepositoryBean이 붙어있는 인터페이스.JpaRepository를 사용하면 SimpleJpaRepository 구현체 빈이 등록됨.2. 쿼리 실습 코드기본List findByNameAndPassword(String name.. 2024. 7. 10.