Spring 19

백엔드 로드맵 공부

백엔드 로드맵 공부 백엔드 로드맵과 관련된 이미지인데 해당 링크를 통해 다운로드 받으실 수 있습니다. 일단 현재 대소고에서 1년간 보내며 몇 가지 시도를 해보면서 백엔드 개발을 해보기로 결정했습니다.. (물 workshop-6349.tistory.com 위 글 내용을 보안하고자 글을 하나 더 작성합니다. 위 로드맵이 있더라도 백엔드 취업과 관련하여 갈피를 못 잡고 있는 제 자신을 보며, 글도 보안할 겸 앞으로 다시 공부해야할 것들을 조금 탄탄하게 작성하기 위해 작성하였습니다. 저와 같이 갈피를 못 잡거나 정확히 분야를 정하지 못한 분들께 조금이나 도움이 되시길 바랍니다. (※필자는 자바와 스프링으로 주력으로 공부하고 있기때문에 그 위주로 작성하였습니다. 또, 신입을 기준으로 작성하였습니다. 참고해주세요...

공부/서버 2022.05.24

[괴발개발] 덕지덕지 - 기본 페이지 및 엔티티 설계

일상글에서 언급했다시피 프로젝트명을 Remote Note에서 덕지덕지로 바꾸었습니다. 포스트잇 혹은 메모지를 벽에 덕지덕지 붙인다는 말이 떠올랐고, 어감이 나름 괜찮아서 무엇보다도 Remote Note 보다는 괜찮아서 이름을 바꾸었습니다. 현재 아주 단순한 것부터 개발을 하였습니다. 먼저 엔티티부터 설계를 하였습니다. OAUTH 2.0으로만 로그인하도록 기획하였기에 이에 맞게 엔티티를 설계하였습니다. @Getter @AllArgsConstructor @NoArgsConstructor @Builder @Embeddable public class OAuth implements Serializable { @NotNull @Column(unique = true) private String email; @NotN..

Spring/괴발개발 2022.03.30

[공부/서버] 백엔드 개발자 지망생, 앞으로 공부해야할 것들

또다시 작성하는 앞으로 공부해야할 것들 시리즈입니다. 제 블로그를 자주 읽으신 분들 혹은 제 친구들은 아마 제가 백엔드 개발자를 지망하는 고등학생이라는 사실을 아마 알 것입니다. 어른들이 자주 하시는 말씀 중에는 아마 이런 말이 있었습니다. 첫 회사가 나중 회사를 좌우한다. 저는 이 말이 틀렸다고는 생각하지 않습니다. 그리고 첫 회사를 좋은 데 갈 수 있다면 가는 것이 저에게 있어 제일 좋을 것이기 때문입니다. 그래서 저는 최대한 첫 회사를 잘 가기 위해 노력을 하고자 하는 데.... 그거 어떻게 하는 건데? 저는 해본 적이 당연히 없으니 이런 고민을 하는 것이니, 제가 앞으로 준비해야 하는 것들을 알아보려면 크게 2가지 방법이 있습니다. 첫 번째는 정보의 불확실성을 안은 채, 인터넷 정보를 신뢰하는 것..

공부/서버 2022.03.28

[Spring] Spring Transaction 세부 설정 설명

※ 이 글은 이 글과 연결되어 있습니다! 참고해주세요. ※ Spring 트랜잭션에는 4가지의 세부 설정이 가능합니다. 트랜잭션 전파 격리 수준 제한 시간 읽기 전용 트랜잭션 전파 트랜잭션의 경계에서 이미 진행 중인 트랜잭션이 있거나 없을 때 어떻게 작동할 것인가를 결정하는 방식을 의미합니다. Spring이 지원하는 전파 속성은 다음의 7가지가 있습니다. REQUIRED SUPPORTS MANDATORY REQUIRES_NEW NOT_SUPPORTED NEVER NESTED 저도 자세히는 모르기때문에 간략하게만 설명하도록 하겠습니다;; 자세히 아시는 분들은 댓글 달아주시면 감사하겠습니다.. 1. REQUIRED default 속성으로 모든 트랜잭션 매니저가 지원하며, 대개 이 속성을 사용합니다. 미리 시작..

Spring 2022.02.21

[Spring] Spring Transaction 특징 및 핵심기술 설명

Transaction이란? 트랜잭션은 데이터베이스의 상태를 변화시키기 위해 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미합니다. Transaction의 특징 트랜잭션은 DB 시스템에서 병행 작업 및 회복 작업 시 처리되는 작업의 논리 단어입니다, 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변화 과정의 작업 단위입니다. 하나의 트랜잭션은 Commit 되거나 Rollback 됩니다. Transaction의 성질 Atomicity(원자성) 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다. 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수행되지 않고 어느 하나라도 오류가 발생하면 트랜잭션 전..

Spring 2022.02.20

[Spring] Spring AOP/PSA 설명

이전 포스트에서 POJO를 간단하게나마 설명하였습니다. 그중에서 IOC와 DI는 짧게라도 설명한 적이 있으나, AOP와 PSA는 없었기에 이번 기회에 포스트하고자 합니다. AOP란? Aspect Oriented Programming의 약자로 관점 지향 프로그래밍을 뜻합니다. 관점지향은 쉽게 설명하자면, 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화하겠다... 정도로 설명이 가능합니다. 한 마디로 표현하자면, 어떤 로직을 어떤 관점으로 각각 공통화된 로직이나 기능을 하나의 단위로 묶는 것 이라고 표현할 수 있습니다. 핵심관점은 보통 우리가 적용하고자하는 핵심 비즈니스 로직 등이고, 부가적인 관점으로는 핵심로직을 실행하기위해 행해지는 DB연결, 로깅, ..

Spring 2022.02.19

[Spring] Spring POJO 설명

Spring 본질이자, Spring 관련 글들을 읽으면 왠만해선 항상 나오는 POJO...이를 설명하고자 포스팅했습니다. POJO란? Plain Old Java Object의 약자로 단순한 자바 오브젝트라는 뜻입니다. 객체 지향적인 원리에 충실하면서 환경과 기술에 종속되지않고 필요에 따라 재활용될 수 있는 방식으로 설계된 오브젝트를 뜻합니다. 그러한 POJO에 어플리케이션의 핵심로직과 기능을 담아 설계하고 개발하는 방법을 POJO 프로그래밍이라고 합니다. 무엇을 POJO라고 부를 수 있나요? 1. 특정 규약에 종속되지 않는다. Java와 꼭 필요한 API외에는 종속되지 말아야합니다. EJB2와 같이 특정 규약을 따라 만들게 하는 경우는 대부분 규약에서 제시하는 특정 클래스를 상속하도록 유도하고 있습니다...

Spring 2022.02.18

[Spring] Spring Entity, Repository 설명

Spring Entity, Repository는 DB와 관련된 항목들 중 몇 가지입니다. 그 외에는 DAO, DTO, VO, Transaction 등이 있습니다. 이 글이 유용할 수도 있습니다. Repository에 대해서 참고하고 싶으시다면 참고해주세요. Entity란? Entity(엔티티)는 데이터베이스에 쓰일 필드와 여러 엔티티간 연관관계를 정의하는 역할을 합니다. 테이블에 대응하는 하나의 클래스라고 생각하시면 됩니다. Entity 어노테이션과 함께 여러 관련 어노테이션을 사용하여 설계할 수 있습니다. 모든 어노테이션들을 포스팅할 수 없으니, 링크를 걸어두겠습니다. Repository란? Repository는 기존 JPA를 한 단계 더 추상화시킨 인터페이스로서 간단하게 설명하자면, Entity에 의..

Spring 2022.02.17

[Spring] Spring DAO, DTO 설명

Spring DTO, DAO... DB와 밀접한 관계가 있는 만큼 중요한 내용이 담겨있기에 포스팅합니다. 짧고 간결하게 포스팅하겠습니다. DAO란? Data Access Object의 약자로, 데이터베이스의 데이터에 접근하기 위해 생성하는 객체입니다. 데이터베이스에 접근하기 위한 로직과 비즈니스 로직을 분리하기 위해 사용합니다. 간단하게 데이터베이스에 접속하여 데이터의 CRUD 작업을 시행하는 클래스입니다. JSP 및 Servlet페이지 내에 로직을 기술하여 사용할 수 있지만, 코드의 간결화 및 모듈화, 유지보수 등의 목적을 위해 보통 별도의 DAO 클래스를 생성하여 사용합니다. DTO란? Data Transfer Object의 약자로 계층간 데이터 교환을 위한 Java Beans를 뜻합니다. 또한 DT..

Spring 2022.02.16

[괴발개발] TODO 웹 개발 노트 - 준비과정

괴발개발 첫 번째 토이 프로젝트는 TODO 리스트 기능이 있는 간단한 웹 개발입니다. 기본적으로 갖추어야하는 기능들은 다음의 7가지가 있습니다. 회원가입과 로그인 기능 글 작성 기능 글 수정 및 삭제 기능 로그아웃 기능 글 체크 기능 회원 삭제 기능 글 조회 기능 그리고 시간이 여유롭다면 개발할 기능들은 다음의 3가지가 있습니다. 글 하트 기능 OAUTH2를 사용한 로그인 프로필 사진 기능 기본 기능 7가지, 추후 개발 기능 3가지 합하여 총 10가지의 기능을 20일안에 모두 끝맞치고 Docker에 무사히 배포하는 것까지가 목표입니다. 프론트는 SpringBoot에서 지원해주는 템플릿엔진 사용할 것입니다. (React 사용을 할 까도 생각을 하였으나, React까지 적용한다면 시간이 오래걸릴 것 같기 때..

Spring/괴발개발 2022.02.16