썸네일 GitHub에서 Release Tag 자동화하기 (+ ArgoCD) Git Flow 나의 경우 아래와 같이 깃 플로우를 설정하고 개발을 해왔었다. Main 브랜치는 출시 가능한 프로덕션 코드를 모아두는 브랜치이며, 배포된 각 버전을 Tag를 이용해 표시한다. Develop 브랜치는 다음 버전 개발을 위한 코드를 모아두는 브랜치로 개발이 완료되면 Main 브랜치로 merge된다. Feature 브랜치는 하나의 기능을 개발하기 위한 브랜치로, Develop 브랜치에서 분기되며, 기능이 개발 완료되면 다시 Develop 브랜치로 merge된다. Release 브랜치는 소프트웨어 배포를 준비하기 위한 브랜치 Develop 브랜치에서 배포될 준비가 됐다면 Release 브랜치로 merge된다. Release Tag 자동화 하기 내가 선택한 과정을 다음과 같다! Dev barnch..
[Git] 원격 저장소 연결 및 끊기 git remote -v git remote remove origin git remote add origin [http url]
썸네일 [Error] class java.lang.String cannot be cast to class org.springframework.security.core.userdetails.User 문제 코드 문제의 코드는 아래와 같다. 해당 에러의 경우 (UserDetails) 처럼 바로 강제 형변환을 해서 발생한 것 같았다.. 하지만 UserDetails의 경우 강제 형변환 대신 String.valueOf()를 사용할 수 없다. public class SecurityUtil { public static String getLoginUsername(){ UserDetails user = (UserDetails) SecurityContextHolder.getContext().getAuthentication().getPrinciPal(); return user.getUsername(); } } 수정 public class SecurityUtil { public static String getLoginU..
썸네일 [Git] 커밋 후 푸쉬한 내역을 되돌리는 방법 문제 상황 작업 후 나의 브랜치에 커밋 → 푸쉬해둔 상황! 하지만 커밋 메세지 내역이 마음에 들지 않아 커밋을 취소하고 싶었음 해결 Git push origin 내브랜치 -- force --force를 사용하면 과거 커밋 내역과 상관없이 지금 현재 커밋내용으로 덮어씌워 버리는데 git reset HEAD^를 통해 맘에 들지 않았던 커밋 메세지를 삭제한 이후에 위의 명령어를 실행 시켜주었더니 잘 동작하였음 git reset HEAD^ git add . git commit -m "커밋 내용 다시 작성" git push origin 내브랜치 --force
넘 유용해서 남겨놓는 링크들.. https://perfectacle.github.io/2018/01/16/jackson-local-date-time-serialize/ (Jackson) LocalDate, LocalTime, LocalDateTime 뽀개기 - Serialize 잭슨은 JSON -> Java 클래스로 Deserialize, Java 클래스 -> JSON으로 Serialize 할 때 매우 유용한 라이브러리다. 하지만 잭슨이 나온 이후에 자바 8이 나왔는지 모르겠는데 LocalDate, LocalTime, LocalDateTime 등등의 perfectacle.github.io https://dublin-java.tistory.com/51 JPA - One To Many 단방향의 문제점 주변에서 One To Many 단방향에..
썸네일 [Error] JPA 테이블 drop table if exists order ... 문제 다음과 같은 에러가 발생했다. 대체 왜????라고 생각하다가.. 아무래도 Character < 단어의 문제인것 같았다 . 예약어에 Character가 있겠다고 생각해서 테이블 이름을 변경해주었다! 기존 코드 @Getter @NoArgsConstructor @Entity public class Character { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(nullable = false) private String name; @Column(nullable = false) private String message; } 해결 @Getter @NoArgsConstructor @Entity @Table(na..
2022 1회차 정보처리기사 실기 후기 2022년 5월 7일 (토) 정처기 실기 시험을 보러갔다! 1. 공부기간 및 교재 공부기간은 2주정도 매일 2시간 정도 투자했다. 공부시간이 나지 않았고 정처기 외에도 해야할 일이 너무 많았기에,, 밤을 새면서 2주 정도 투자했다. 교재는 시나공 2021년도를 사용하였다. 친구가 교재를 기부해주었기에 굳이 2022년도 시나공을 사용하지 않았다. 또한 전공자이였기에 프로그래밍과 SQL 부분은 전혀 보지 않고 시험장에 들어갔다. 2. 공부방법 프로그래밍과 SQL 부분은 전혀 보지 않았기에 공부방법을 공유할 수는 없지만.. 프로그래밍은 흐름을 이해하는 것이 중요하고, SQL은 키워드 중심으로 외워야할 것 같다. 또한 공부를 할 때 Notion을 이용했는데, 표를 만들어서 모르는 부분만 개념-설명을 작성하여 그..
썸네일 [Error] Web server failed to start. Port 8080 was already in use. 이 에러는 포트가 이미 실행 중인데 스프링 부트를 run하면 발생하게 된다 해결방법! lsof -n -i -P | grep 8080 kill -9 123123
썸네일 [Error] Error creating bean with name 'xxxx' defined in class path resource ... 다음과 같은 에러가 발생했다. 잘 읽어보면 Post 맵핑 경로가 중복되었다는 것을 볼 수 있다.. 내 코드를 살펴보니 역시 @PostMapping("/add")가 두 개였다 ㅎㅎ
썸네일 [스프링 MVC 1편] 서블릿 정리
썸네일 [스프링 MVC 1편] 웹 애플리케이션 이해 정리 웹 서버, 웹 애플리케이션 서버 ✔ 서블릿 (Servlet) → 의미 있는 비즈니스 로직을 제외한 모든 기능을 지원해준다! → TCP/IP연결, HTTP 요청 파싱, 응답 ... @WebServlet(name = "helloServlet", url = "/hello") public class HelloServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) { //애플리케이션 로직 } } → http://localhost:8080/hello 의 URL이 호출되면 서블릿 코드(service)가 실행 → 개발자는 HttpServletRequest 객체..
썸네일 [Error] SpringBoot 2.6.X 에서 swagger 3.0 사용법 org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException 와 같은 에러가 자꾸 발생해서 여러 가지 해결 방법을 모아서 정리해 보았다. 방법 1 ) 이 블로그를 참조해보세요! https://jackyee.tistory.com/24 SpringBoot 2.6에서 swagger 3.0 사용 환경 : 인텔리제이 jdk1.8 SpringBoot 2.6.1 gradle Swagger 3.0.0 SwaggerUI 3.0.0 swagger를 적용하는 방법은 구글 검색하면 다른 분들이 ..