전체 글(117)
-
[우리FIS아카데미/5기] 클라우드 서비스 개발 9주차 회고
💡 이번 주에 배운 것은? 핵심 내용과 인사이트 이번 주차에는 다음과 같은 부분을 학습하였다.소켓, 스레드 풀링 모델JPA 1. 소켓이란? 서블릿 기술조차 없었을 때, 네트워크 프로그램을 구현하기 쉽게 추상화시켜 놓은 것을 "소켓"이라고 한다. 네트워킹, 즉 클라이언트 프로그램과 서버 프로그램이 서로 통신을 하기 위해서는 내부적으로 OS까지 내려가야 한다. 자바에서는 이 과정을 쉽게 해줄 수 있는 소켓 API를 제공하고 있다. 연결할 서버의 IP주소, PORT 번호new ServerSocket(port) 서버 정보를 통해 소켓 객체 생성socket.accept() 클라이언트의 요청을 대기위 과정을 통해서 클라이언트와 서버가 연결한다. 실제 통신하는 과정을 보면, 여러 개의 클라이언트와 여러 개의 ..
2025.08.31 -
12. JPA에서 지연로딩과 N+1번 문제
1. 주제 선정실제 개발 프로젝트를 하면서 마주치는 “지연로딩” 과 “N+1 문제” 해결하기 JPA 파트를 마치면서, 실제로 이 JPA를 사용하면서 마주하는 이슈에 대해서 찾아보았다. 그 중 지연로딩 N+1 문제에 대해서 자주 마주친다고 한다. 그래서 각각의 주제에 대해서 어떤 것인지 알아보고, 실제로 발생하는 상황을 한번 재현해보고자 한다.2. 문제 정의(1) 로딩 전략 (참고자료)JPA에서의 로딩 전략이란 연관된 엔티티를 언제 데이터베이스에서 불러올지를 결정하는 방식입니다지연 로딩즉시 로딩각각의 전략은 장단점이 존재한다. 필요한 상황에 맞추어 전략을 선택적으로, 그리고 신중하게 적용해야 한다.(1)-1. 지연로딩관계가 있는 엔티티를 실제로 **사용할 때까지 로딩을 지연**하는 전략이다.지연로딩 전략을..
2025.08.29 -
10. 스레드 풀링 2025.08.27
-
6. 데이터베이스 개요
DataBase, DB란?단어, 숫자, 이미지 등 모든 유형의 데이터가 전자적으로 저장되고 있다. 모든 데이터를 체계적으로 모아둔 하나의 집합을 바로 데이터베이스(DB)라고 말한다. 해당 데이터베이스는 데이터베이스관리시스템(Database Management System, DBMS)에 의해서 제어된다. 이처럼 가장 기초적인 데이터, 데이터를 모아두는 데이터베이스, 데이터베이스를 관리하기 위한 데이터베이스 관리 시스템 등 관련된 모든 응용 프로그램을 합쳐 DB라고 부를 수 있다. 우리는 어떤 애플리케이션이든 데이터 없이는 큰 의미가 없기 마련이다. 사용자가 원하는 데이터를 어떻게 효율적으로 보여주고 관리할지 고민하고, 그 체계를 구축하고 게발하는 것이 바로 우리 개발자의 역할이기 때문이다. 따라서 DBMS..
2025.08.22 -
[우리FIS아카데미/5기] 클라우드 서비스 개발 8주차 회고
💡 이번 주에 배운 것은? 핵심 내용과 인사이트 8주차에는 학습했던 부분은 크게 2가지로 나누어 볼 수 있다 !커넥션 풀링데이터 모델링, 트랜잭션서블릿(Servlet) 1. 커넥션 풀링이란? 지난 주차에 배웠었던 JDBC에서 더 나아가서, 커넥션을 연결하는 2가지 전략에 대해서 배울 수 있었다. 매 요청마다 커넥션 객체를 생성하기커넥션 객체를 2개 이상 미리 만들어 둔 후에 재사용하기 -> 커넥션 풀링이전까지는 매 요청시에 커넥션 객체를 생성해서, DB와 연결하는 방식으로 실습을 해 보았었다면 이번 시간에는 커넥션 객체를 여러 개 만들어두고 사용하는 "커넥션 풀링" 방법에 대해서 배우고 직접 실습해 볼 수 있었다. 간단하게 코드로 살펴보면 다음과 같다. List 자료구조를 활용해서 여러 개의 커넥션..
2025.08.22 -
[우리FIS아카데미/5기] 클라우드 서비스 개발 7주차 회고
0811. 자바 프로그램을 테스트하는 방법은? Junit과 Mokito에 대해서7주차 첫 시간에는 간단히 백엔드를 시작하면서, 자바 프로그램을 테스트하는 방법에 대해 학습했다.JUnit과 Mokito에 대해서 직접 찾아서 적용해보았다. 나는 특히나 JUnit을 직접 적용해서 수업시간에 실습한 코드에 적용을 해 보았는데, 프론트엔드헤서 마지막쯤에 학습했던 테스트코드와 비슷했다. 그때 생각이 나면서, 역시 프로그램의 끝은 테스트라는 것도 다시한번 느낄 수 있었다 ! 특히나 신기하고 유용했던 것은, 테스트코드를 실행하면 시각적으로 성공과 실패한 점을 보여준다는 것이다.이후에는 커버리지를 직접 코드에서 볼 수 있다고 하기에 다음 시간이 기대됐다 ~!! 0812. 자바 프로그램을 패키징해주는 Maven Proj..
2025.08.17