본문 바로가기

분류 전체보기130

스프링부트: 시큐리티(1) 시큐리티 인증과 인가를 쉽게 다룰수 있게 도와주는 스프링 디펜던시. 인증을 받고 권한을 부여하는 과정을 대신해준다. 덕분에 각종 공격 및 해킹에 대한 방어를 사용자가 일일이 구현하지 않아도 된다. 루트 매핑("/")이 자체적인 로그인 화면으로 변한다. 이후 어떤 url을 요청하건 간에 자체적인 로그인 화면만 나오게 되는데, 이때 id는 username, 비밀번호는 스프링부트를 실행할때 나오는 일련의 숫자가 된다. 만약 본인이 원하는 비밀번호와 아이디로 바꾸고 싶다면 apllication.property 를 통해 설정해줘야만 한다. # security # defallt username/password spring.security.user.name=user # id설정 spring.security.user... 2023. 2. 20.
프로젝트 근황 보고 최근 글을 쓰지 못했다. 새롭게 배운 내용이 없을 뿐더러, 너무 바빴기 때문이다. 약 2주 전부터 쇼핑몰을 만드는 간단한 프로젝트에 돌입했는데, 예상치 못한 문제가 터지면서 정신없이 바쁜 시간을 보내고 있다. 이제 관리자 페이지는 다 만들었고 슬슬 사용자 화면과 db를 연동시켜 실제 서비스가 가능한 수준으로 구현해보려고 한다. 코드를 짜면서 배운게 많지만 죄다 지엽적이고 테크닉적인 부분이라 따로 정리하기가 마땅치않다. 언제 시간이 나면 정리를 해 보겠다. 2023. 2. 20.
DTO/ DAO/ VO의 개념 정리 DTO/DAO/VO는 모두 객체, 즉 클래스이다. MVC와 비슷한 개념이 많아 햇갈려서 이해하는데 시간이 좀 걸렸다. 둘 모두 프로그램 설계와 관련된 개념이나 차이점이 존재한다. 기본개념 1.DTO(Data Transfer Object) 이름을 직역하면 데이터 변환 오브젝트로, 실제로 이름 그대로의 역할을 수행한다. 이에 대해 검색해보면 대부분 "각 계층간 데이터 교환을 위한 객체"라는 설명과 레이어 계층 사진을 넣고 설명을 끝낸다. 그러나 나는 최대한 이해하기 쉽게 정리하려고 한다. 때문에 개념을 완벽하게 이해하는데 있어 약간의 미흡함이 존재할지는 모르나, 무슨 역할을 하는 객체인지는 이해할수 있을 것이다. DTO란 쉽게 이해하자면 DB에서 가져온 데이터 중, 필요한 정보만 빼온 객체를 따로 만든 것이.. 2023. 1. 29.
스프링부트: Junit을 이용해 테스트 하기 Test란? 개인이 간단하게 어떤 서비스를 구현한다고 하면 코드는 길어봐야 수천줄 정도 나오겠지만, 회사의 서비스는 만줄은 우습게 넘어갈 정도로 방대한 양의 코드가 동작한다. 헌데 긴 코드에 무턱대고 새로운 코드를 끼워넣으면, 그 코드가 어떻게 작동하는지 확인하기 위해 재실행하는데 리소스가 많이 들 뿐만 아니라, 오류가 발생할 경우 원인이 무엇인지 찾기도 어려워진다. 이런 일을 방지하기 위해 프로그램을 작은 단위로 쪼개서 옳바르게 동작하는지 미리 확인하는 것이 바로 Test다. 과거에는 개발자들이 직접 테스트 환경을 만들어야 했으나, 테스트를 필요로하는 개발자들이 늘어남에 따라 스프링부트에서는 테스트 환경이 내장되어 있기에 따로 할일은 없다. 방법(인텔리제이에서 만드는 방법) 1. 테스트하고 싶은 클래스.. 2023. 1. 27.