GitFlow

아래 브랜치를 활용하여 변경점을 관리한다.masterdevelopfeaturereleasehotfix실제 고객에게 릴리즈되는 브랜치모든 변경사항은 결국 master로 최종 반영되어야 함.실제 개발의 중심이 되는 브랜치모든 기능 추가, 버그 수정 후 고객에게 배포 가능한

2022년 6월 30일
·
0개의 댓글
·

Git 태그

특정 시점의 소스코드 정보프로젝트 진행 중 의미있는 시점의 커밋을 태깅한 것버전명과 같은 태그명만 남기는 태그Git 데이터베이스에 태그를 만든 사람의 이름, 이메일, 태그 생성날짜, 태그 메시지 등을 저장한 태그Lightweight 태그 생성$ git tad 태그명An

2022년 6월 29일
·
0개의 댓글
·

깃 브랜치 실습 - 1

브랜치는 목적에 따라 분기할 수 있다.브랜치 분기 전략은 조직에 따라 달라진다master 브랜치로부터 feature-login 브랜치를 생성하고 싶을 때$ git branch feature-login

2022년 6월 28일
·
0개의 댓글
·

깃 브랜치(branch)

본래의 소스코드로부터 파생된 독립적인 잡업공간최신 커밋을 가리키는 일종의 포인터이다.$ cd ~/gittest$ mkdir branch-test$ git initGit은 기본적으로 master브랜치를 생성한다.현재 작업중인 브랜치를 확인하는 명령어$ git branch

2022년 6월 28일
·
0개의 댓글
·

Git 실습 - 기본 플로우 3

$ git add TestService.java스테이징 영역에 추가$ git commit -m "Commit 2 for TestService" 인라인으로 커밋 생성$ git log -u커밋 내용과 함께 변경점을 보여줌.$ git log -u 'commit ID'$ gi

2022년 6월 27일
·
0개의 댓글
·
post-thumbnail

Git 실습 - 기본 플로우 2

스테이징 영역에 의미있는 변경점들이 쌓이면 최종적으로 Commit을 통해 저장한다.커밋의 단위는?회사마다, 조직마다, 개인마다 다르다기능 1개, 이슈 1개, 파일 1개, 스프린트 주기마다 등커밋의 단위가 너무 크면 다른 개발자들이 변경점을 확인하는 게 쉽지 않고 충돌이

2022년 6월 27일
·
0개의 댓글
·
post-thumbnail

Git 실습 - 기본 플로우 1

Clone 하기로컬저장소 생성 -> 초기화(git init) -> 원격저장소 연결(git remote add)$ git status현재 폴더 내 상태를 확인한다. 아무것도 안했을 때 아래 결과가 나온다.On branch masterNo commits yetnothing

2022년 6월 27일
·
0개의 댓글
·

GitLab 실습 - 저장소 생성

$ cd ~/gittest$ mkdir my_project$ cd my_projectgittest 폴더로 이동하고, my_project 저장소 생성 후 이동$ ls -la현재 위치 폴더 하위에 어떤 디렉토리 or 파일이 있는지 보여줌$ git initGit의 가장 핵심

2022년 6월 27일
·
0개의 댓글
·

Git 실습 - 기본환경 설정

$ git config --global user.name "이름"$ git config --global user.email "이메일주소" $ git config --global --list$ git config --global core.editor vimvi ~/.gi

2022년 6월 27일
·
0개의 댓글
·

Spring 인터셉터

모든 요청에서 반드시 거쳐야하는 서블릿 필터와 유사Servlet Filter와는 다름인터셉터는 컨트롤러 요청에만 적용됨Bean Container 로딩 후 적용되므로 Bean 사용 가능로그인 요청이 들어옴LogIntercepter에서 preHandle을 통과MainCon

2022년 6월 27일
·
0개의 댓글
·

예외처리

끝단(DAO와 Service)에서 발생된 예외는 앞단(Controller)로 모여짐.스프링은 Controller에서 예외처리 하는 것을 권장하고 있다. Controller에서 @ExceptionHandler와 @ControllerAdvice를 사용해 예외를 처리Syst

2022년 6월 24일
·
0개의 댓글
·

트랜잭션

스프링은 선언적 트랜잭션 방식을 사용한다어노테이션을 이용한 방식AOP를 이용한 방식프로그램에 의한 방식트랜잭션은 주로 Service 메서드를 대상으로 한다.@root-context.xml에 Transaction Manager를 설정트랜잭션이 필요한 클래스나 메서드에 @

2022년 6월 24일
·
0개의 댓글
·

PointCut 표현식

AspectJ 포인트컷 표현식은 포인트컷 지시자를 이용해 작성가장 대표적 지시자 : execution()execution() 문법: execution(접근제한자 패턴 타입패턴 타입패턴 이름패턴 (타입패턴|"..",...)execution() 예시execution(\*

2022년 6월 24일
·
0개의 댓글
·

AOP(Aspect Oriented Programming)

애플리케이션에서의 관심사의 분리(기능의 분리) 즉, 핵심적인 기능에서 부가적인 기능을 분리한 부가기능을 Aspect라는 독특한 모듈형태로 만들어서 설계하고 개발하는 방법핵심기능과 부가기능을 분리시켜 핵심기능만 작성하고 부가기능을 별도로 작성해서 런타임 시에 이를 결합시

2022년 6월 21일
·
0개의 댓글
·

MyBatis 동적 SQL

검색조건에 따라 검색해야 하는 SQL문이 달라지기 때문에 이를 처리하기 위해서 사용MyBatis의 표현식iftrim(where, set)choose(when, otherwise)foreachDynamic SQL 작성 시 유의사항MyBatis 구문을 이용하여 SQL문이

2022년 6월 21일
·
0개의 댓글
·

MyBatis Mapper XML 파일

MyBatis의 가장 큰 장점은 매핑 파일SQL 문을 저장하는 존재를 매핑파일이라고 함JDBC 코드에 비하면 코드 수가 95% 이상 감소하기도 함SQL 작성에 집중할 수 있도록 만들어짐DAO 클래스에서 XML Mapper를 사용하게 됨DAO의 SQL문이 Database

2022년 6월 21일
·
0개의 댓글
·
post-thumbnail

MyBatis

MyBatis MyBatis는 자바 오브젝트와 SQL문 사이의 자동 Mapping 기능을 지원하는 Object Mapper이다 ORM 기술은 아니다! SQL을 별도의 파이로 분리해서 관리하게 해준다. Hibernate나 JPA처럼 새로운 DB 프로그래밍 패러다임을 익혀

2022년 6월 21일
·
0개의 댓글
·

Context 분리와 전략

Spring에서 애플리케이션을 개발할 때 Container에서 빈을 DI와 DL을 통해 프로그래밍을 진행하게 된다. 이 때 Container를 두 가지로 분리해 사용하는 경우가 일반적이다.DispatcherServlet - 웹의 요청을 최초로 접수DispatcherSe

2022년 6월 20일
·
0개의 댓글
·

Spring-Data Access

Business 서비스와 로우 레벨의 데이터 엑세스 작업을 분리Database와의 작업(CRUD)은 DAO라는 별도의 클래스를 만들어서 사용데이터베이스와 비지니스 레이어 가운데 위치CRUD 작업 수행JDBCJava에서의 관계형 데이터베이스 접속 기술JDK 레벨에서 지원

2022년 6월 16일
·
0개의 댓글
·

JUnit을 이용한 테스트

JUnit은 보이지 않고 숨겨진 단위 테스트를 끌어내 정형화시켜 단위테스트를 쉽게 해주는 Java에서 지원해주는 프레임워크단위테스트 : 모든 함수와 메소드에 대한 테스트케이스를 작성하는 절차. 소스코드의 특정 모듈이 의도된 대로 정확히 작동하는 지 검증Assert 메서

2022년 6월 16일
·
0개의 댓글
·