분류 전체보기
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtXS8S%2FbtrNvh9f3oA%2FaKZs25pX6649qpOQZ7Bzy0%2Fimg.png)
VsCode(Visual Studio Code) 키 십힘, Vim모드, VsCode INSERT 해결방법
환경 : Mac Os monterey 12.6 IDE : Visual Studio Code Visual Studio Code를 사용하다 보면, shift나 control, command 키를 누르거나, comment + c , comment + v (복사, 붙여넣기) 등을 사용하였을 때, 키가 입력이 안되는 경우가 있습니다. 이 때, insert MODE insert를 눌러야 다시 입력할 수 있는 불편함이 있었습니다. 몇달동안 키워드도 찾지 못하고 삽질 하다가 원인을 알아냈습니다. 원인은 Visual Studio Code Extension의 Vim이 깔려있어 적용 된것이였습니다. Vim Extension으로 인해 Vim 모드로 입력창 모드가 설정되어 있어서, 특수문자나 화면 밖을 나가면 INSERT MO..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0qFJU%2FbtrNxeiSKy8%2FLIBi5R18WRsmu1ppk5Mjtk%2Fimg.jpg)
JPA 프로그래밍 스터디 6장 정리
6장 다양한 연관관계 매핑 엔티티의 연관관계를 매핑할 때는 다음 3가지를 고려해야 한다. 다중성 단방향, 양방향 연관관계의 주인 연관관계가 있는 두 엔티티가 일대일 관계인지, 일대다 관계인지 다중성을 고려해야 한다. 두 엔티티 중 한쪽만 참조하는 단방향 관계인지, 서로 참조하는 양방향 관계인지 고려해야 한다. 양방향 관계면 연관관계의 주인을 정해야 한다 (mappedBy) 정리하자면, 연관관계가 있는 두 엔티티를 고려할 때는, 다중성, 단방향 양방향, 연관관계의 주인(외래키 관리)를 정해야 한다. 다중성 다대일(@ManyToOne) 일대다(@OneToMany) 일대일(@OneToOne) 다대다(@ManyToMany) 보통 실무에서는 다대다(N:M) 관계는 잘 사용하지 않고, 다대일(N:1)과 일대다(1:..
Java interface 사용 이유, interface의 장단점.
들어가기전에 interface는 객체지향의 SOLID 5원칙과도 연관성이 많다고 생각한다! 개인적으로 같이 연관지어서 생각해보면 이해가 조금은 더 잘 되었다. interface 사용 이유 인터페이스(interface) 자바에서 클래스들이 구현해야 하는 모든 기능을 추상화로 정의만 하고 구현은 하지 않은 자료형을 의미. interface Car { // 인터페이스 선언 void move(); // 추상화하고 구현은 하지않음. void start(); // 추상화하고 구현은 하지않음. } 구현한 클래스에서 특정 기능(메소드)을 구현하도록 강제 할 수 있는 기능을 제공한다. 다형성이 가능하도록 기능을 제공한다. 추상 클래스는 수직적이지만, 수평적 구조를 제공한다. 하나의 클래스가 여러 인터페이스를 상속받을 수..
Redirect VS Forward (리다이렉트와 포워드의 차이 )
Redirect VS Forward의 차이 포워딩(Forwarding)과 리다이렉트(Redirect)는 JSP 환경에서 페이지에서 다른 페이지로 이동하는 페이지 전환 기능들이다. Redirect Redirect : 사전적 의미 : 우편물이나 문서 등을 다른 주소나 방향으로 연결해 보내는것 re(다시) + direct(지시하다, 보내다) 에를들어, 웹 브라우저가 www.naver.com/post/abcd 라는 url로 요청을 웹서버로 보냈을때, 다른 url을 지시하는것을 리다이렉트라 한다. 클라이언트는 서버로 부터 받은 응답 값이 상태코드 302라는 것을 보고 서버가 리다이렉트를 시킨거라는걸 알 수 있다. 여기서 보통 클라이언트는 웹 브라우저라고 생각하면 된다. 웹 브라우저가 302 코드를 보고 리다이렉트..
CI / CD란 ?
CI/CD란 매번 개발자가 코드를 수정하고 빌드와 테스트를 하고 배포까지 한다면 상당히 많은 시간이 소요된다. 그러나 빌드와 테스트, 배포과정을 개발자가 직접하는것이 아니라면 쓸데없는 시간을 단축시키고 개발에 더 많은 시간을 투자할 수 있다. CI/CD는 애플리케이션 개발팀이 더 자주, 안정적으로 코드 변경을 좀 더 효율적이고 빠르게 사용자에게 제공하기 위해 사용한다. CI/CD의 개념만으로는 자동화와 직접적으로 관련이 있지는 않다. 그럼에도 자동화라는 키워드는 CI/CD라는 단어에 거의 항상 따라붙는다. 또한 CI/CD는 DevOps 엔지니어의 핵심 업무라고 불리기도 한다. 이 부분을 도와주는 CI / CD의 개념에 대하여 정리하고자 한다. CI (Continuous integration, CI) : ..
컴파일(Compile), 빌드(Build), 배포(Deploy) 용어 관련 정리
컴파일 (Compile) 이란? 개발자(사용자)가 작성한 소스 코드를 컴퓨터가 이해할 수 있는 언어로 번역하는일. Java, C, Kotlin와 같은 고급 언어로 작성된 코드를, 컴퓨터가 이해할 수 있게 기계어로 변환하는 과정 컴파일을 해주는 프로그램을 컴파일러라고 한다. 예) Java 파일 컴파일 과정 Java 파일 생성시 .java 확장명을 가진 파일이 생성. 해당 .java파일을 컴파일 시 .class 파일이 생성 해당 클래스명을 확장자를 제거하고 입력시 해당 파일이 실행된다. IDE를 사용하여 실행(run)시 해당 .java 파일은 컴파일되어 .class 파일을 생성하고 해당 파일을 실행시킨다. 빌드 (Build) 란? 컴파일된 코드와 파일들을 컴퓨터가 실행할 수 있는 상태로 변환하는것 소스 코드..
JPA 프로그래밍 스터디 5장 정리
5장 연관관계 매핑 기초 연관관계 매핑을 이해하기 위한 핵심 키워드 관계를 가지고 있다는 의미는, 다른 엔티티를 자기 필드로 가지고 있다는 뜻이라고 생각해도 된다. 회원과 팀의 관계 회원과 팀이 있다고 가정. 한 회원은 한 팀만 가질 수 있고, 한 팀은 여러 회원을 가질 수 있다고 가정하면 회원 : 팀 N : 1 = 다대일 관계라고 표현 팀 : 회원 1 : N = 일대다 관계라고 표현 방향(direction) 단방향관계 : 회원이 팀을 필드로 가지고 있고, 팀은 회원을 필드로 가지고 있지 않는 경우가 있듯이 둘 중 한쪽만 참조하는 관계 보통 외래키가 있는 쪽은 무조건 관계를 가지고 있다. 양방향관계 : 회원이 팀을 필드로 가지고있고, 팀도 회원을 필드로 가지고 있는 경우. 둘 다 서로 참조하는 관계 방향..
JPA 프로그래밍 스터디 4장 정리
4 엔티티 매핑 4.1 @Entity 4.2 @Table 4.3 다양한 매핑 사용 4.4 데이터베이스 스키마 자동 생성 4.5 DDL 생성 기능 4.6 기본 키 매핑 4.7 필드와 컬럼 매핑 : 레퍼런스 JPA는 다양한 어노테이션을 지원한다. * 객체와 테이블 매핑 : @Entity, @Table * 기본키 매핑 : @Id * 필드와 컬럼 매핑 : @Column * 연관관계 매핑 : @ManyToOne, @JoinColumn, @OneToMany ... 4.1 @Entity 관계형 데이터베이스의 테이블과 매핑할 클래스는 @Entity 어노테이션을 클래스 위에 필수로 붙여줘야 한다. @Entity(name = "") public class Member { ... public Member() {} // ..
# Java 그룹화, 그룹화 하고 정렬. Stream groupby, groupingBy, sorting Lists after groupingBy
Java Stream groupby, groupingBy, sorting Lists after groupingBy Java 8 Stream을 이용하여 특정 키값으로 벨류 값 (Value List) 들을 모으는 방법과 그 요소들을 정렬 하는 방법 Java 8 grouping, sorting Lists after groupingBy Java 8 Stream을 이용하여 특정 키값으로 벨류 값 (Value List) 들을 모으는 방법입니다. Map 특정 key 값으로 특정 key에 대응하는 요소 리스트를 Map으로 만들 수 있다. 또한, 요소 리스트를 특정 프로퍼티의 속성에 맞게 정렬 할 수 있습니다 간단한 예제로, 게시물을 예제로 들어보겠습니다. 게시물 들의 값으로, 해당하는 값의 게시물들을 뽑아와야 하는 요..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbU7cNw%2FbtrLBeLpcTB%2Fs1R9zNtUXRDUAqzkHBGK0K%2Fimg.png)
[Springdocs ]Swagger Error - Failed to fetch.
[Springdocs ]Swagger Error - Failed to fetch. 환경 개요 및 원인 해결 방법 여러 Server를 추가하여 요청 처리 환경 springboot 2.6.7 swagger - springdoc - openapi-ui 1.6.6 dependencies { implementation 'org.springdoc:springdoc-openapi-ui:1.6.6' } 개요 및 원인 Spring Boot 애플리케이션의 docs로 Swagger를 사용하던 중 다음과 같은 에러가 발생했습니다. Failed to fetch. Possible Reasons: CORS Network Failure URL scheme must be "http" or "https" for CORS request...