mjoo1106의 등록된 링크

 mjoo1106로 등록된 티스토리 포스트 수는 13건입니다.

CI/CD 도대체 뭘까..? [내부링크]

스프링하기도 벅찬데 요즘 CI/CD도 공부해야할 것 같다.. 그래서 CI/CD에 대해 정리하면서 이게 무엇인지, 툴은 무엇이 있는지 알아보도록 하자 CI/CD 개념 나무위키를 참고해보면 지속적 통합(Continuous integration, CI)과 지속적 제공(Continuous delivery, CD), 줄여서 CI/CD는 애플리케이션 개발팀이 더 자주, 안정적으로 코드 변경을 제공하기 위해 사용하는 문화와 운영 원칙, 일련의 작업 방식으로 구성하는 것이라고 되어있다. 또한, CI/CD는 데브옵스팀을 위한 권장 사항이자 애자일 방법론의 권장 사항이기도 하다. CI/CD는 통합과 제공을 자동화함으로써 소프트웨어 개발팀이 코드 품질과 소프트웨어 보안을 보장하는 동시에 비즈니스 요구사항을 충족하는 데 집중..

[Spring] JPA CASCADE [내부링크]

게시글 관련 기능을 구현하다가 질문글을 삭제했을 때 Delete, Update ~~~ Foreign error 라는 문구가 출력되었다. 왜 이런 오류가 출력되었을까?!!!! 게시글 관련 DB는 다음과 같다. 질문과 답변 테이블이 1대다 관계인 것을 확인할 수 있다. 만약, 질문 하나를 삭제할 때 답변이 달려 있는 경우 어떻게 될까?? 내가 발생했던 오류와 같이 외래키 제약조건 에러가 출력될 것이다. 해당 방법을 해결하는 방법은 크게 두 가지가 있을 것이다. 테이블 생성 시 제약조건 지정, Spring 코드 내에서 해결 첫 번째 상황을 예로 들면 # MySQL ADD CONSTRAINT [제약조건 이름] FOREIGN KEY(컬럼 명) REFERENCES [부모테이블 명](PK 컬럼 명) [ON DELET..

[JAVA] JPA 개념 및 예제 [내부링크]

저번에 spring에서 jpa를 활용하여 로그인 및 회원가입을 구현했다. 근데 jpa를 잘 모르고 쓰다보니 이게 맞는건지.. mybatis와 별 차이가 없는데? 이런 생각이 들어 강의를 찾아보았고 이에 대한 정보를 정리하고자 한다. https://mjoo1106.tistory.com/entry/JPA%EB%A5%BC-%ED%99%9C%EC%9A%A9%ED%95%9C-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%84 [Spring] JPA를 활용한 로그인 구현 https://mjoo1106.tistory.com/entry/Spring-JPA%EB%A5%BC-%ED%99%9C%EC%9A%A9%ED%95%9C-%ED%9A%8C%EC%9B%90%EA%B0%80%EC%9E%85-..

[Spring] JPA를 활용한 로그인 구현 [내부링크]

https://mjoo1106.tistory.com/entry/Spring-JPA%EB%A5%BC-%ED%99%9C%EC%9A%A9%ED%95%9C-%ED%9A%8C%EC%9B%90%EA%B0%80%EC%9E%85-%EA%B5%AC%ED%98%84 [Spring] JPA를 활용한 회원가입 구현 앞서 MyBatis를 활용해서 DB와 연결하고 Login을 구현했다. 그러나 요즘은 JPA가 대세라 무조건 한 번은 경험하고 넘어가야 한다. 그래서 JPA를 활용해서 회원가입을 구현해보고자 한다. JPA JPA는 Java P mjoo1106.tistory.com 앞서 JPA를 활용해서 DB에 INSERT하는 작업까지 수행했다. 이를 이제 조회하고자 한다. View를 따로 만들지 않고 API 통신으로 확인할 에정이다..

[Spring] JPA를 활용한 회원가입 구현 [내부링크]

앞서 MyBatis를 활용해서 DB와 연결하고 Login을 구현했다. 그러나 요즘은 JPA가 대세라 무조건 한 번은 경험하고 넘어가야 한다. 그래서 JPA를 활용해서 회원가입을 구현해보고자 한다. JPA JPA는 Java Persistence API의 약자이며 자바의 ORM을 위한 표준 기술이다. ORM(Object-Relational Mapping)이란 자바의 객체와 관계형 DB를 맵핑하는 것으로 DB의 특정 테이블이 자바의 객체로 맵핑되어 SQL문을 일일이 작성하지 않고 객체로 구현할 수 있도록 하는 프레임워크를 말한다. 특히, JPA의 장점을 뽑자면 SQL 위주의 Mybatis 프로젝트와 비교하여 쿼리를 하나하나 작성할 필요도 없어 코드 볼륨이 적고 객체 위주로 코드가 작성되다 보니 가독성도 좋다...

[Spring] MyBatis를 활용한 Login 구현 - 2 [내부링크]

https://mjoo1106.tistory.com/entry/Spring-MyBatis%EB%A5%BC-%ED%99%9C%EC%9A%A9%ED%95%9C-Login-%EA%B5%AC%ED%98%84-1 [Spring] MyBatis를 활용한 Login 구현 - 1 앞시간에 REST API를 맛만보았다. 원래 프로그래밍을 가장 처음하면 Hello World를 출력하는 것으로 시작한다. 그렇다면 웹에서 시작은 무엇일까? 바로 로그인이다. 이것도 매우 간단하기 때문에 후 mjoo1106.tistory.com 지난번에 mysql 설치를 진행했고 login table을 하나 만들었다. 이를 mybatis를 사용하여 불러와 로그인 페이지를 직접 구현해보고자 한다. login page login page는 진짜 간..

[Spring] MyBatis를 활용한 Login 구현 - 1 [내부링크]

앞시간에 REST API를 맛만보았다. 원래 프로그래밍을 가장 처음하면 Hello World를 출력하는 것으로 시작한다. 그렇다면 웹에서 시작은 무엇일까? 바로 로그인이다. 이것도 매우 간단하기 때문에 후딱하고 다음 단계로 넘어가야겠다. 시작하기 앞서 DB를 활용하기 위해 사용하는 MyBatis와 JPA에 대해 소개하고자 한다. MyBatis vs JPA(Java Persistence API) 인프런 강의나 최근 자료들을 보면 MyBatis를 사용하지말고 JPA를 사용하라는 것을 많이 봤을 것이다. 실제로 JPA를 사용하는 비율이 압도적이다. MyBatis는 SQL Mapper의 종류 중 하나이고 JPA는 OBM 기술로 분류된다. 그렇다면 OBM이 뭐길래 사람들이 열광을 하는 것일까? ORM(Object..

[Spring] JWT 실습 - 1 [내부링크]

이 때까지 Spring에서 로그인 실습을 많이 다루어보았다. 그래서 이번에는 간단한 로그인 실습이 아닌 JWT를 활용한 정식 로그인을 개발해보는 것으로 결정했다. 그러므로 JWT란 무엇이고 어떻게 사용하는지 숙지할 필요가 있다. JWT 란? Json Web Token 약자로 모바일이나 웹의 사용자 인증을 위해 사용하는 암호화된 토큰이다. 쉽게말해 웹 상의 정보를 Json 형태로 주고 받는 것인데 이 때 표준규약에 따라 생성한 암호화된 토큰으로 복잡하고 읽을 수 없는 String 형태로 저장되어 있다. JWT 구성 JWT는 헤더(header), 페이로드(payload), 서명(signature)로 구성되어 있다. (아래 그림 참고) 헤더 (Header) 어떠한 알고리즘으로 암호화 할 것인지, 어떠한 토큰을..

[JAVA] JPA 연관관계 매핑 [내부링크]

https://mjoo1106.tistory.com/entry/JAVA-JPA-%EC%8B%A4%EC%8A%B5Create-table-and-PKFK-%EC%84%A4%EC%A0%95 [JAVA] JPA 실습(Create table and PK/FK 설정) https://mjoo1106.tistory.com/entry/JAVA-JPA-%EA%B0%9C%EB%85%90-%EB%B0%8F-%EC%98%88%EC%A0%9C [JAVA] JPA 개념 및 예제 저번에 spring에서 jpa를 활용하여 로그인 및 회원가입을 구현했다. 근데 jpa를 잘 모르.. mjoo1106.tistory.com 앞서 실습시간에 만들었던 예제를 바탕으로 이번에는 연관관계 매핑을 할 예정이다. 현재 테이블에서는 다대다 관계는 없고 ..

[JAVA] JPA 실습(Create table and PK/FK 설정) [내부링크]

https://mjoo1106.tistory.com/entry/JAVA-JPA-%EA%B0%9C%EB%85%90-%EB%B0%8F-%EC%98%88%EC%A0%9C [JAVA] JPA 개념 및 예제 저번에 spring에서 jpa를 활용하여 로그인 및 회원가입을 구현했다. 근데 jpa를 잘 모르고 쓰다보니 이게 맞는건지.. mybatis와 별 차이가 없는데? 이런 생각이 들어 강의를 찾아보았고 이에 대한 정보 mjoo1106.tistory.com 앞서 JPA의 기본 개념과 예제를 통해 간략하게 실습하는 시간을 가져보았다. 이번 시간에는 거기에 조금 더 나아가고자 한다. 데이터베이스 설계 국민 예제로 유명한 수강신청 시스템 DB를 간략하게 설계해보자. 진짜 데이터베이스 설계는 아니고 이런 형을 쓸 것이다 그..

[Spring] REST API 맛보기 [내부링크]

앞의 게시물에서 스프링을 사용하기 위한 환경을 구축했다. 그럼 이제 실행이 성공적으로 되는지 테스트를 해야겠다! 그래서 제일 무난한 REST API를 통해 스프링이 정상 작동하는지 보자!! Spring Project 생성 https://start.spring.io/ spring을 사용하기 위해 위 사이트에 접속한다. 그리고 jdk 11을 다운받았다면 다음과 같이 설정해준다. 가장 처음 Project에서 Maven, Gradle 중에 선택해야 한다. 둘은 빌드 관리 도구로 Maven으로 설정하게 되면 porm.xml에서 의존성, 라이브러리 등을 선언하여 관리한다. 반면 Gradle은 groovy 언어로 선언하여 관리하는데 안드로이드에서 주로 사용했었다. 둘 중에 고민하다 구글링했을 때 자료가 많은 것은 M..

[Spring] jdk, Intellij 설치 [내부링크]

Node js의 express를 사용해서 주로 API를 구축했었는데, 취업을 앞둔 상황에서 자바 왕국인 코리아에서 자바 스프링을 사용하지 못하는 것은 치명적인 단점이라 생각했다. 그래서 새로 노트북을 산 김에 나의 개발 스택도 변경했다... jdk install 1. jdk download https://www.oracle.com/java/technologies/downloads/ 위의 링크로 들어가서 자신이 원하는 version을 다운받으면 된다. 사용하기 위해 반드시 oracle 계정이 있어야한다. 처음에는 최신 버전을 다운받았는데 뭔가 안되어서 11 version을 설치했다. 11은 아래로 스크롤를 내려서 다운받으면 된다. 2 install check 쭉 진행해서 다운을 완료했다면 java --ve..

[Spring] Google Login API 사용하기 [내부링크]

현재 프로젝트를 진행하고 있는데 회원 가입 부분에서 많은 시행착오를 겪었다. 그래서 이번에는 진짜 간단하게 google login api를 연동하는 방법에 대해 소개하고자 한다. (나의 시행착오를 바탕으로..) 흐름 많은 블로그에서 로그인 flow를 알려주기 보다는 oauth2 flow를 알려주곤 한다. 여기서 이해한다고 굉장히 많은 시간을 사용했다.. 그래서 정말 쉽게 어떻게 로그인이 되는지에 대해 그림으로 나타내보겠다. 이게 끝이다. 모든 과정을 거치게 되면 자신이 원하는 정보를 쏘옥~ 빼서 사용하면 된다. 가장 많이 사용하는 정보는 아마 이메일일 것이다. 왜냐하면 이메일을 통해 가입 또는 로그인 시킬 것이기 때문이다. 예를 들어 4번 과정을 통해 킹명주@gmail.com 이라는 계정을 얻어왔다고 하..