전체 글

IT, 인프라, Java, C# 개념정리 블로그입니다.
자바 컬렉션 프레임워크란 Java에서 데이터를 저장하는 자료구조들을 한 곳에 모아 편리하게 관리하고 사용하기 위해 제공하는 것입니다. (ex_ List, Set, Map) List 인터페이스와 Set 인터페이스를 설명하기 이전에 알고 넘어가야 할 점은, 컬렉션은 기본 데이터형이 아닌, 참조 데이터 형만 저장이 가능하다는 것입니다. 따라서 Collection에서의 데이터는 Object 타입의 객체로서 저장이 되는 것인데, 그렇다면 여기서 기본 데이터형은 어떻게 저장하고 관리할 수 있을까? 기본 데이터 형은 Wrapper 클래스를 이용하여 Boxing 시켜주거나, (Integer num = new Integer(5); 와 같은 코드로 구현 가능합니다. 📌List 동일한 데이터의 중복을 허용한다 데이터 저장 ..
1. 아이템 선정 전반적인 웹에 기본 틀인 CRUD 게시판을 먼저 만들어 놓고, 기능을 하나씩 추가해 나갈 것입니다. 2. 개요 프로젝트 명칭 : UsedShop 개발인원 : 1명 개발 기간 2022.11.06~ 2023.01.06 주요 기능 게시판 - CURD 기능, 조회수, 페이징 및 검색처리 ( CREATE 부분에서 상품을 등록할 때 사진도 함께 등록하는 기능 추가) 사용자 - JWT토큰을 이용한 유효성 검사 댓글 - CURD 기능 개발 언어 : JAVA 11 개발 환경 : SpringBoot 2.7.0, gradle, JPA, 데이터베이스 : MySQL 형상관리 툴 : GitHub 간단한 소개 : 중고품을 거래하는 게시판 3. 요구사항 분석 1. 회원가입 페이지 유효성 검사 닉네임은 최소 2~8자..
객체지향의 5원칙(SOLID) 단일 책임 원칙(Single responsibility principle) : SRP 개방 폐쇄 원칙(Open/closed principle) : OCP 리스코프 치환 원칙(Liskov substitution principle) : LSP 인터페이스 분리 원칙(Interface segregation principle) : ISP 의존관계 역전 원칙(Dependency inversion principle) : DIP 📌단일 책임의 원칙 : SRP (Single Responsibility Principle) 모든 클래스는 각각 하나의 기능만 가진다는 의미입니다. 해당 클래스가 제공하는 모든 서비스는 단 하나의 책임을 수행하는데 집중 되어야 한다는 원칙입니다. SRP 원칙을 적용..
DI(Dependency Injection) DI(Dependency Injection) 이란 스프링이 다른 프레임워크와 차별화 되어 제공하는 의존 관계 주입 기능이다. 객체를 직접 생성해주는 것이 아닌 외부에서 생성을 한 후에 객체를 주입 시켜주는 방식이다. DI(의존성 주입)를 통해서 모듈 간의 결합도가 낮아지고 유연성이 높아진다. 위의 그림에서 보여주는 [방법1]은 A객체가 B와 C 객체를 new 생성자를 통하여 직접 생성하는 방법이고 [방법2]는 외부에서 생성한 객체를 A객체에 주입하는 방식이다 위의 [방법2]가 의존성 주입의 예시이다. A 객체 에서 B,C 객체 를 사용(의존) 할때 A객체 에서 직접 생성하는 것이 아니라 외부(IOC컨테이너 에서 생성된 B,C 객체 를 조립(주입) 시켜 sett..
Spring Bean 이란 Spring 에서 POJO(plain, old java object)를 "Beans"라고 부른다. Beans는 애플리케이션의 핵심을 이루는 객체이며, Spring IoC(Inversion of Control) 컨테이너에 의해 인스턴스화, 관리, 생성된다. Beans는 우리가 컨테이너에 공급하는 설정 메타 데이터(XML 파일)에 의해 생성된다. 컨테이너는 이 메타 데이터를 통해 Bean의 생성, Bean Life Cycle, Bean Dependency(종속성) 등을 알 수 있다. 애플리케이션의 객체가 지정되면, 해당 객체는 getBean() 메서드를 통해 가져올 수 있다. Spring Bean 정의 일반적으로 XML 파일에 정의한다. 🔻주요속성 class(필수) : 정규화된 자..
Lombok 정리 개념 Java에서 자주 반복되는 코드(Getter, Setter, 생성자 등등)들을 어노테이션을 통해 자동으로 생성해주는 라이브러리 Lombok 어노테이션은 한마디로 말해서, 지저분해지는 코드들은 전부 간편하게 자동 생성해준다. 기존에 썼던 것들은 간편화 해주는 것이기 때문에 lombok을 사용해도 어떻게 사용되는지 알아야 한다. @Getter, @Setter ⚠️ 사용하기 전 코드 ---------------------------------------------------- public class Post { private String title; private String content; private String author; public void setTitle(String ti..
전 포스팅에서 AWS를 사용하여 서버를 구축하고 githup action을 통하여서 자동배포를 만들어 줬습니다. 그리고 오늘부터 올리는 프로젝트는 계속 깃허브에 커밋할 예정입니다. 확인하실분은 확인해주세요. --수정-- 제가 계속 react를 통해서 view단을 만드려고 했는데, 아직 제가 프론트 부분이 너무 부족해서 구현이 힘들어서 spring boot의 툴인 thymleaf를 사용하도록 하겠습니다 ㅠ 일단 JWT 토큰 형식으로 로그인 하는것 보다 spring security 를 통해 로그인을 한 후 나중에 JWT 토큰 형식으로 변경 하겠습니다. 일단 디렉터리 구조는 이렇게 간단하게 작성했습니다. 일단 코드를 올려드리고 설명 드리겠습니다. @Controller @AllArgsConstructor pub..
원래 개인 프로젝트를 하나 해보려고 준비하고 있었는데 학교에서 개인프로젝트를 하나 만들어 보라고 해서 시작했습니다. 부족한 실력이기 때문에 많은 구글링과 많은 레퍼런스를 도움 받으려고 합니다. 우선 사용할 기술은 JDK 11버전, MySQL, Spring Boot(gradle), react.js 사용할 예정입니다. IDEA 는 intellij를 사용할 예정입니다. 학생들은 학교계정만 있으면 Ultimate 기능이 사용가능하니 참고 바랍니다. 저는 기본적으로 개인프로젝트를 한 것을 올리는 것이기 때문에 springboot를 다운받는것이나 기본적인 프로젝트 설계단계는 기록하지 않을 예정입니다. 제가 만들 개인프로젝트는 [중고거래 쇼핑몰] 입니다. 필요한 기능들은 - 회원가입, 로그인 기능 - 게시판 조회,수..
recordYoo
천천히 꾸준하게