본문 바로가기

전체 글147

Mac 에서 VirtualBox 설치 실패 시 해결 방법 로컬에서 가상환경 구성해야 하는 일이 있어서 오랜만에 VirtualBox를 다운로드 받아서 설치하려는데 "설치에 실패했습니다" 문구가 표시되었다. 해결하는 방법은 간단했다. Mac 환경설정 > 보안 및 개인 정보 보호 탭으로 이동해서 "개발자 'Oracle America, Inc.'의 시스템 소프트웨어가 차단되어 로드할 수 없습니다" 문구 옆에 있는 허용 버튼을 눌러주면 된다. 허용 버튼을 누르고 다시 설치 시도를 하면 "성공적으로 설치되었습니다" 문구가 표시된다. 2020. 1. 28.
Oracle 순위를 반환하는 함수 (RANK, DENSE_RANK, ROW_NUMBER) 테이블에서 특정 값을 기준으로 순위를 매겨서 보고 싶을 때 ORDER BY 절을 사용합니다. 동일한 점수가 나온 경우 순위를 동일하게 하거나 또는 점수가 동일하더라도 순위를 다르게 매겨야 하는 경우가 있습니다. Oracle에서는 순위를 나타날 때 편하게 사용할 수 있도록 RANK, DENSE_RANK, ROW_NUMBER 함수를 제공합니다. 순위 함수 Oracle에서 제공하는 순위 함수는 아래와 같습니다. 해당 함수에 대한 설명보다는 실습을 통해 이해하는 것이 더 쉬울 수 있습니다. RANK : 동일한 값이면 중복 순위를 부여하고, 다음 순위는 해당 개수만큼 건너뛰고 반환한다. DENSE_RANK : 동일한 값이면 중복 순위를 부여하고, 다음 순위는 중복 순위와 상관없이 순차적으로 반환한다. ROW_NU.. 2020. 1. 23.
Github에서 Fork 한 저장소를 원본 저장소와 동기화 하는 방법 Github에서 특정 프로젝트를 Fork 하면, 원본 저장소를 자신의 저장소로 복사합니다. 이제 옮겨진 저장소에 기능을 추가하거나 내용을 수정하고 커밋을 하더라도 원본 저장소와 분리되어 있으므로 영향을 끼치지 않습니다. 어느 정도 시간을 흐르고 난 뒤, 다시 원본 저장소를 살펴보면 자신이 Fork 한 시점보다 커밋이 많이 되어 있는 것을 볼 수 있습니다. 물론 원본 저장소에서는 변경된 사항이 반영되어 있지만, Fork한 저장소는 해당 사항이 반영되어 있지 않습니다. 그래서 원본 저장소와 동기화 할 필요가 있습니다. 나중에 PR(Pull Request)를 할 때, Conflict를 줄일 수 있는 것뿐만 아니라 최신 변경된 사항을 바로 알 수 있기 때문입니다. 그래서 이번 글에서는 Fork 한 저장소를 원본.. 2020. 1. 20.
스프링 부트와 JPA 활용1,2 인프런 강의 정리 김영한님이 강의하신 인프런 스프링 부트와 JPA 활용1, 2 강좌를 학습하고 정리한 내용입니다. 소스코드는 Github를 참고해주세요 Gradle 의존관계 보기 ./gradlew dependencies --configuration compileClasspath Docker MySQL 설치 docker run -d --name test_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=admin007! mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci 엔티티 설계시 주의점 1.가급적 Setter를 사용하지 말자 2.모든 연관관계는 지연로딩(Lazy)으로 설정하자 Fetch Join, 엔티티 .. 2020. 1. 20.
Spring Security 인프런 강의 정리 백기선님이 강의하신 인프런 스프링 시큐리티 강좌를 학습하고 정리한 내용입니다. 소스코드는 Github를 참고해주세요. Prerequisites Installing MySQL 5.7 Account Info Normal User : user / 123 Admin User : admin / !@# Password Encoder 비밀번호는 평문이 아닌 단방향 알고리즘으로 인코딩해서 저장해야 한다 {id}encodePassword PasswordEncoder passwordEncoder = PasswordEncoderFactories.createDelegatingPasswordEncoder(); Password Encoder 종류 BCryptPasswordEncoder NoOpPasswordEncoder Pbkd.. 2019. 9. 5.
RSS에서 pubDate 날짜 데이터 포맷팅 RSS에서 사용하는 pubDate 타입은 다음과 같이 생겼다. 아래 이미지는 배달의민족 블로그 피드에서 가져온 내용이다. Jsoup 라이브러리를 이용해서 pubDate 값을 가져와서 SimpleDateFormat 클래스를 이용해서 포맷팅한다. String pubDate = "Thu, 18 Jul 2019 18:00:00 +0900"; SimpleDateFormat parseDateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.ENGLISH); SimpleDateFormat formatDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date parseDate = parseDat.. 2019. 7. 31.