개발(27)
-
[Way to PM] 백엔드(스프링부트) - MVC
Over View 해당 글은 스프링부트 프레임워크의 핵심 개념들 중 MVC에 대해 다룹니다. 자바를 이용한 웹어플리케이션 구축을 더 용이하게 해주기 위한 프레임워크인 '스프링'은 MVC라는 일종의 디자인 패턴을 수용하고 있습니다. MVC란? 프로그램의 처리 역할을 나눠서 프로그램을 작성하는 방법으로, 스프링에서는 Model(M), View(V), Control(C)로 분리합니다. Model: -시스템에서 비즈니스 로직을 담당하며, 해당 로직을 처리한 후의 작업 처리 결과를 Model이라고 합니다. 여기서 비즈니스 로직은 '시스템의 코어' 혹은 '시스템의 목적을 처리하는 부분'을 의미합니다. 예시 1. 입력한 아이디의 중복 확인 -사용자가 입력한 아이디 값을 메모리(변수로) 가지고 있다가 회원 DB에서 같..
2024.03.09 -
[Way to PM] 백엔드(스프링부트) - IoC, DI, Bean
Over View 해당 글은 스프링부트 프레임워크의 핵심 개념들 중 IoC, DI, Bean에 대해 다룹니다. 자바를 이용한 웹어플리케이션 구축을 더 용이하게 해주기 위한 프레임워크인 '스프링'은 IoC(제어의 역전), DI(의존성 주입), Bean 등의 핵심 개념을 감싸고 있습니다. 이를 이해하기 위해 간단한 예제를 구축해보았습니다. @RestController public class MemberController { @Autowired private MemberService memberService; // 빈 주입 @GetMapping("/members") @ResponseBody public List getAllMembers() { return memberService.getAllMembers();..
2024.03.08 -
[Way to PM] 백 엔드(스프링부트) - WAS, SERVLET, TOMCAT
Over View 해당 글은 스프링부트 프레임워크 사용시 작동하는 WAS, SERVLET, TOMCAT에 대한 내용을 다룹니다. 스프링부트는 자바를 이용한 웹서버 구축을 위해 여러가지 편의를 지원하는 프레임워크입니다. 클라이언트로부터 요청을 받고, 응답을 보내는 당연하지만 복잡한 일련의 과정 또한 스프링부트에서 지원해줍니다. 사용자의 다양한 요청을 처리하기 위한 여러가지 비즈니스 로직이 모여있는 집합을 서버라고 할 수 있는데, 이러한 과정을 거쳐야하는 동적인 웹어플리케이션을 자바로 프로그래밍하기 위한 기술을 Servlet이라고 합니다. 하지만 이러한 Servlet기술을 실행하기 위해선 이를 실행할 환경인 Servlet Container가 필요하고, 이 Servlet Container를 구현한 것이 WAS..
2024.03.05 -
[Way to PM] 백 엔드 - Spring Boot 호환성 해결
Over View 해당 글은 Spring Boot 시작 시 Gradle의 버전과 java버전이 호환되지 않는 문제 해결에 대해 다룹니다. Spring Boot Initializer를 통해 스프링부트를 다운받고 프로젝트 파일을 오픈한 후, SpringAppication클래스의 run메서드를 실행하면 아래와 같은 에러를 마주했습니다. 스프링부트 Gradle의 버전과 java의 버전이 호환이 안되어 생기는 오류입니다. 이는 Gradle이 내부적으로 사용하는 자바 API나 특성들이 특정 자바 버전에서만 사용 가능하기 때문입니다. 예를 들어, Gradle의 새로운 버전은 최신 JDK 버전을 요구할 수 있으며, 이전 버전의 JDK에서는 사용할 수 없는 새로운 자바 기능을 사용할 수 있습니다. 따라서 인텔리제이에서 ..
2024.02.28 -
[Way to PM] SQL - 데이터 조회(그룹화 및 정렬)
Over View 해당 글은 postgreSQL에서 데이터조회 시 그룹화 및 정렬 기능을 다룰 때 각 기능에 대한 구분에 대해 다룹니다. 기본적으로 데이터를 조회하고 조건을 붙일 때 SELECT 열 FROM 테이블 WHERE 필터조건 위와 같은 과정을 거칩니다. 여기서 같은 값을 가진 행끼리 하나의 그룹으로 뭉치는 기능이 그룹화입니다. 그룹화는 다양한 기준으로 데이터를 분석할 수 있어 핵심 기능 중 하나입니다. 다음과 같은 테이블이 있다고 가정했을 때, (WHERE) 나이가 29세 이상인 학생만 필터링 (GROUP BY) 주소를 기준으로 그룹핑 (HAVING) 학생 수가 2명 이상인 그룹만 필터링 (ORDER BY) 학생 수가 많은 순서대로 정렬 다음과 같은 결과를 출력할 수 있습니다. address c..
2024.02.27 -
[Way to PM] 개발 도구 - IntelliJ에서 github연동하기
Over View 해당 글은 IntelliJ에서 프로젝트를 github에서 연동하는 방법과 그 과정에서 마주한 간단한 문제 및 의문점(clone, share)에 대한 해결을 다룹니다. *오류 발견 시 피드백 부탁드립니다! 인텔리제이 GUI에서 프로젝트 파일을 생성하고 github로 연동하려고 할 때 기존 CLI와 약간의 차이가 있다. github에 repository를 만들고나면 나오는 echo "# asd" >> README.md git init git add README.md git commit -m "first commit" git branch -M main git remote add origin https://github.com/sjh101111/asd.git git push -u origin m..
2024.02.27