본문 바로가기

전체 글

(81)
[CI/CD] CI/CD란? CI(Continuous Integration)/CD(Continuous Deploy)란? 쉽게 요약하면, 배포를 자동화하는 것이 가장 큰 목적. CI(Continuous Integration) CI는 지속적인 통합을 의미한다. 즉, 개발자가 개발한 소스 코드들은 지속적으로 코드베이스에 통합되어야 하며, 이때 자동으로 빌드 및 테스트가 진행되어야 한다. 예를 들어, 개발자가 기능을 개발하면, 그 코드들은 기존 코드와 병합(merge)된다. 병합될 때 컴파일이나 배포 빌드 과정이 정상적으로 실행되는지 확인해야 한다. 개발된 코드가 기존 코드에 부작용(side effect)이 없는지 확인하기 위해서는 테스트 과정이 필요하다. 이런 배포 빌드 테스트 과정을 지속적이고 자동으로 계속할 수 있도록 구축된 시스템이..
[Spring] Spring 비밀번호 암호화 SHA-256 ~ BCryptPasswordEncoder(MessageDigest, SHA-256, BCryptPasswordEncoder) [Spring] Spring 비밀번호 암호화 SHA-256 ~ BCryptPasswordEncoder(MessageDigest, SHA-256, BCryptPasswordEncoder) 개인의 비밀번호는 매우중요하다. 사람의 습관은 쉽게 잊혀지지 않고, 항상 익숙한 패턴을 생활한다. 즉, 비밀번호도 개인마다 정형화 되어 있다는 뜻이다. 만약, 내가 개발한 서비스에서 비밀번호를 암호화 하지않고 DB에 저장하였다가, DB가 털리게 된다면? 다른 몇몇 사이트 사이트에서 그 비밀번호로 해당 유저를 이용하여 해킹에 위험에 노출되게 된다. 그래서 비밀번호 암호화는 항상 중요하다. 인증(Authentication) 과 해시(Hash) 인증 (authentication) 자신이 누구라고 주장하는 주체(principal..
[Spring] JPA 사용시 Entity Class Setter 메서드에 대한 고찰 [Spring] JPA 사용시 Entity Class 에 대한 고찰(Setter, Wapper Class) https://myeongdev.tistory.com/16 예전에 공부하면서 Entity클래스에 대해서 생각해보고 글을 남긴적이 있다. 하지만, 예전에는 지식과 경험이 부족하여 매우 단순한 지식만 탐구하고 넘어가고 글을 써놓았다. 지금에 와서 다시 배우고 학습하며, 궁금증이 들어 글을 다시 작성하려고 한다. Entity Class란? 실제 DB의 테이블과 매칭되는 클래스이다. 즉, DB의 테이블과 가장 유사하다고 볼 수 있다. 참고문서 hibernate reference docs 그렇다면 Entity Class 는 Data Access Object 로서, Spring MVC 패턴 중 Persiste..
[MyBatis] org.apache.ibatis.binding.BindingException: Parameter 'userName' not found. Available parameters are [arg1, arg0, param1, param2] MyBatis 에러 [MyBatis] org.apache.ibatis.binding.BindingException: Parameter 'userName' not found. Available parameters are [arg1, arg0, param1, param2] MyBatis 에러 [org.apache.ibatis.binding.BindingException:](org.apache.ibatis.binding.bindingexception:) Parameter 'userName' not found. Available parameters are [arg1, arg0, param1, param2] 갑자기 잘 쓰던 문법에서 에러가 나타났다. ** BoardMapper.interface ** in..
[Spring] Spring MockMvc 정리 (REST API 테스트, Multipart/form-data 테스트) [Spring] Spring MockMvc 정리 (REST API 테스트, Multipart/form-data 테스트, 예외처리) MockMvc란? 실제 객체와 비슷하지만 가짜 객체를 만들어 애플리케이션 서버에 배포하지 않고 Spring MVC 동작을 재현 할 수 있게 해주는 클래스이다. pom.xml org.springframework spring-test test org.junit.jupiter junit-jupiter test org.hamcrest hamcrest-all 1.3 test org.glassfish jakarta.el 3.0.4 org.mockito mockito-core 4.5.1 test org.assertj assertj-core 3.21.0 Controller TestCode ..
[JavaScript] Javascript 세계 코로나 현황판(공공 데이터 API, XMLHttpRequest, Js Simple Pagination ,Google Chart) [JavaScript] Javascript 세계 코로나 현황판(공공 데이터 API, XMLHttpRequest, Js Simple Pagination ,Google Chart) 제목이 좀 길다. 공부하며 사용했던것들을 정리함과 동시에 나중에 필요할 경우 다시 찾아보기 위해 길게 작성하였다. 공공 데이터 API 신청하기 공공데이터포털 위의 사이트에 들어가면 각종 공공데이터 API를 사용할 수 있다. 간단한 회원가입을 진행 후, 필요한 데이터 API를 검색 후 신청을 하면 된다. 위의 사진과 같이 필요한 데이터 API에 들어가 활용신청을 한다. 위와 같이 간단하게 활용 목적등을 작성하게 되면 신청은 간단하게 완료된다. 신청 후 약 2시간 뒤에 Service Key가 발급이 된다. 해당 서비스 키는 마이페이지..
[SpringBoot] IntelliJ Thymeleaf 자동 리로드(Live reload) [SpringBoot] IntelliJ Thymeleaf 자동 리로드(Live reload) 공부하다가 발견했는데 신세계다..... 왜 진작 이걸 몰랐을까 application.properties 설정 spring.thymeleaf.cache=false Edit Configuration 이미지와 같이 IntelliJ 상단 RUN > Edit Configuration(구성편집....) 클릭 위의 이미지와 같이 빨간 박스 부분 클래스 및 리소스 업데이트로 변경 후 적용 위와 같이 간단하게 진행하면 Spring 애플리케이션을 재시작 하지 않아도 해당 창을 새로고침으로 확인 가능하다. html or Thymeleaf 작업으로 몇번씩 재시작 할때의 짜증이 사라진다. 물론, 개인의 컴퓨터 성능과 작업의 차이가 있기..
[Spring Boot] Spring Data JPA 기초(코드로 배우는 스프링 부트 웹 프로젝트 ) [Spring Boot] Spring DATA JPA 기초 (코드로 배우는 스프링 부트 웹 프로젝트 ) 해당 글은 코드로 배우는 스프링 부트 웹 프로젝트 - 구멍가게 코딩단(남가람북스)의 책을 참고하여 공부한 것을 정리한 글입니다. JPA(Java Persistence API)는 Java 언어를 통해 데이터베이스와 같은 영속 계층을 처리하고자 하는 API이다. JPA를 이해하기 위해서 우선저으로 ORM(Object Relational Mapping)이라는 기술을 알아야 한다. ORM 이란? ORM(Object Relational Mapping)이란 객체지향 패러다임을 관계형 데이터베이스에 보존하는 기술이다. 패러다임 입장에서 생각하자면 객체지향 패러다임을 관계형 패러다임으로 매핑(mapping)해주는 개..

728x90
반응형