본문 바로가기
반응형

전체 글904

@Transactional annotation spring에서 사용하는 annotation 중 하나인 이 Transactional annotation에 대해 소개하려고 한다. 사용은 메서드 상단에 설정을 해준다. 예제는 아래와 같다. @Transactional public void interal() { serviceA.transactionalTest(); serviceA.transactionalTest(); serviceA.transactionalTest(); throw new ExceptionEx("errr"); } 이미 검색을 하고 들어온 순간부터 Transactional 이라는 애가 뭘 하는 애인지는 알거라 생각하지만 간단히 설명하면 스프링 내에서 AOP 원리로 동작을 하며 Transactional 로 묶어둔 메서드가 시작부터 종료할때까지 모든.. 2023. 7. 10.
Git Tag 란? git 태그(Tag)란? git에서 tag란 우리가 알고 있는 것처럼 무언가 표시를 해두기 위한 태깅 기능을 위한 것이다. 즉, 특정 commit을 tag해 두는 것으로 commit과 tag의 차이점이라고 한다면 commit의 경우 checkout 하여 내용을 수정할 수 있으나, tag는 수정이 불가능 하며, 따라서 읽기전용 commit같은 개념이다. git tag 라는 명령어를 사용하면 현재 적용된 tag 리스트를 볼수가 있다. 만약 원하는 태그명을 조건으로 검색하려면 git tag -l v1.0 처럼 사용이 가능하다. 그리고 원격으로 올릴시에는 commit 처럼 똑같이 push 를 해주면 된다. 해당 내용은 아래 참고 포스팅 참고 바란다. 참고 포스팅 https://thenicesj.tistory.c.. 2023. 7. 9.
git commit message 수정하기 git을 사용하면 commit message를 작성하여 추후 history 관리를 하면서 어떤 작업을 했는지, 혹은 누가 어떤 작업을 했는지 확인이 가능하다. 여기서 잘못 입력된 message에 대해서는 수정하는 방법을 소개할것이다. 먼저 상황이 아직 local 상황이라면 git commit --amend 위와 같이 amend 를 이용하면 가장 마지막에 commit 한 내용을 수정할 수 있다. git commit --amend 를 사용하고 커밋을 수정할 수 있는 창이 뜨면, 수정을 완료한 후 esc -> :wq(저장 + 창 닫기) 를 해주면 된다. 그리고 만약 이미 remote에 올라간 상황이라면 force를 통해 강제로 push를 더 하면된다. 하지만 github 공식 문서에 따르면 force push.. 2023. 7. 8.
Git merge 아래 참고 포스팅에서 merge 에 대한 내용을 다룬적이 있었다. 이번 포스팅에서는 어떻게 사용을 하는지 실습을 담아보았다. 실습을 위해 IDE는 이클립스에서 진행을 하였고, 설명은 간단하다. 일단 현재 합쳐질 브랜치로 이동을 한다. 이동은 아래 사진에서 switch To로 하여 create branch 를 하든, 특정 브랜치로 옮기면 된다. 그리고 나서 Merge 버튼을 누른후 합칠 브랜치를 선택하면된다. 결론은 A에 B 브랜치를 합치려면 A에서 merge B 브랜치를 하면된다. 참고 포스팅 https://thenicesj.tistory.com/510 git rebase와 merge 차이 Git에서 한 브랜치에서 다른 브랜치로 합치는 방법은 Merge와 Rebase가 있다. 둘을 실행해보게 되면 Mer.. 2023. 7. 7.
Cannot construct instance of Dto 에러 API 호출시 requestBody 를 통해서 DTO를 받아올때. Cannot construct instance of TestDto 이라는 에러가 발생하면서 DTO가 생성이 안되었다. 내부적으로 데이터를 구성할때 필요한 생성자가 없어서 생기는 에러. @NoArgsConstructor 를 설정 해주면 해결 된다. NoArgsConstructor 만 설정할 경우 빈 생성자만 생성이 가능하여. 나는 AllArgsConstructor 도 같이 설정을 해주곤 한다. 이 설정을 하려면 lombok이 필요한데, 아래 참고 포스팅에서 lombok 관련 내용 참고 바란다. 참고 포스팅 https://thenicesj.tistory.com/52 [java] lombok 사용법 mvc 패턴을 사용하다 보면 dto나 vo에 .. 2023. 7. 6.
git 강제 push / 강제 pull git에 대해서나 push/pull에 대한 내용은 아래 참고 포스팅을 참고 바란다. git은 여러 개발자가 동시에 개발을 하면서 많은 branch전략을 가지고 코드의 형상을 관리하는데, 그러면서 다양하게 merge 문제가 발생한다. 그럴때 상황에 따라 어떤 한 개발자의 피시에서 강제 push나 pull을 해야하는 경우가 있다. 그럴때 사용하는 명령어이다. 강제 push 기존명령: git push -u origin master 강제명령: git push -u origin master --force 이클립스를 사용하는 경우라면 git push를 할때 아래 표시된 부분을 체크하면 자동으로 적용이 된다. 강제 pull git fetch --all git reset --hard origin/master git p.. 2023. 7. 5.
ping / telnet / traceroute / curl 차이점 특정 서버와 방화벽 작업등이 정상적으로 이루어졌나 확인시 네트워크 연결 체크할수 있는 명령어 ping, telnet, traceroute, curl ping : 목적지 서버를 통하는 네트워크 상태를 체크 -> ping은 도메인이나 IP 주소로 ICMP(Internet Control Message Protocol) 패킷을 보내고 다시 돌려받는 명령어이다. 특정 IP로부터 응답을 받을 수 있는지, 응답에 얼마나 걸리는지 확인할 수 있다. telnet : 목적지 서버의 해당 어플리케이션까지 살아 있는 지 확인 -> telnet의 기본 개념은 원격 로그인 서비스이다. 그러나 현재는 서버와 클라이언트의 통신이 가능한지 확인하는 용도로 가장 많이 사용된다. traceroute : 출발지와 목적지 사이의 라우터를 모.. 2023. 7. 4.
ObjectUtil.isEmpty String / Integer / Dto / Entity / List 어떤것이 와도 null인지 체크 public class ObjectUtils { public static boolean isEmpty(Object o) { if (ㅐ == null) { return true; } if ((o instanceof String) && (((String)o).trim().length() == 0)) { return true; } if (o instanceof Map) { return ((Map)o).isEmpty(); } if (o instanceof List) { return ((List)o).isEmpty(); } if (o instanceof Object[]) { return (((Object[])o.. 2023. 7. 3.
Manifest 파일 매니패스트 파일에 대해서 알아볼 것이다. 먼저 위키백과에서의 정의는 아래와 같다. 매니페스트 파일(manifest file)은 컴퓨팅에서 집합의 일부 또는 논리정연한 단위인 파일들의 그룹을 위한 메타데이터를 포함하는 파일이다. 예를 들어, 컴퓨터 프로그램의 파일들은 이름, 버전 번호, 라이선스, 프로그램의 구성 파일들을 가질 수 있다. 이 용어는 화물 목록(ship manifest)이 선원 및 화물을 나열하는 화물 수송 절차로부터 가져온 것이다. https://ko.wikipedia.org/wiki/%EB%A7%A4%EB%8B%88%ED%8E%98%EC%8A%A4%ED%8A%B8_%ED%8C%8C%EC%9D%BC 매니페스트 파일 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 매니페.. 2023. 7. 2.
반응형