-
[Programmers] K 번째수 (Java)
📌 문제 : K 번째수 📖 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를... Read More
-
함수형 프로그래밍이란? - Java
프로그래밍 패러다임 프로그래머에게 프로그래밍의 관점을 갖게 해주는 역할을 하는 개발 방법론이다. 어떤 언어는 특정한 패러다임을 지원한다. (ex: 자바=객체지향, 하스켈=함수형) 여러 패러다임을 지원하는 언어도 존재한다. (ex: 파이썬, C++, 자바스크립트) 자바는 jdk 1.8부터 함수형 프로그래밍 패러다임을 지원하기 위해 람다식, 생성자 레퍼런스 메서드 레퍼런스를 도입했고, 선언형 프로그래밍을 위해 스트림 같은 표준 API들도 추가하였다. 프로그래밍 패러다임은 크게 아래와 같이 나뉜다. 선언형 -> 함수형 명령형 -> 객체지향형, 절차지향형 함수형 프로그래밍 함수형 프로그래밍의 특징... Read More
-
[Programmers] 주식가격 (Java)
📌 문제 : 주식가격 📖 문제 설명 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,000 이하인 자연수입니다. prices의 길이는 2 이상 100,000 이하입니다. 입출력 예 prices return [1, 2, 3, 2, 3] [4, 3, 1, 1, 0] 입출력 예 설명 1초 시점의 ₩1은 끝까지 가격이 떨어지지 않았습니다. 2초 시점의 ₩2은 끝까지 가격이 떨어지지... Read More
-
[Programmers] 프린터 (Java)
📌 문제 : 프린터 📖 문제 설명 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다. 3. 그렇지 않으면 J를 인쇄합니다. 예를 들어, 4개의 문서(A, B, C, D)가 순서대로 인쇄 대기목록에 있... Read More
-
[Spring] 단위 테스트 JPA metamodel must not be empty!
✅ 문제발생 및 원인 Controller 단위 테스트를 진행하려고 @WebMvcTest 어노테이션을 실행 시켰더니 아래와 같은 에러가 발생했다. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaAuditingHandler': Cannot resolve reference to bean 'jpaMappingContext' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreation... Read More
-
[Programmers] 폰켓몬 (Java)
📌 문제 : 폰켓몬 2023-02-11 기준 풀이 📖 문제 설명 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마... Read More
-
MySQL replace 함수사용하여 일괄 변경하기
예전에 작업했던 이미지 사진이 날라가버렸다… 구글 드라이브에 이미지를 넣어 주소를 뽑아서 MySQL 테이블에 주소값으로 넣어두었는데 사진이 날라가버렸다… OAuth2.0으로 회원가입을 진행한 회원들은 해당 벤더에서 사진주소를 가져와서 DB에 저장하기때문에 남아있고 일반으로 회원가입한 유저는 위에 12가지 기본이미지를 랜덤으로 배정받게되는데 보는거처럼 사진 원본파일이 구글드라이브에서 날라가서 표시가안되는 모습이다. 처음했던 프로젝트이기도하고 사진관리하는 방법이 너무 miss인 것 같다. 우선 데이터베이스에 회원으로 가입되어있는 멤버가 100명정도 가입되어있는데 해당 데이터를 조작하기위해서 Replace... Read More
-
Nginx 에러 조치 , Failed to start A high performance web server and a reverse proxy server.
https 관련 설정을 만지다가 nginx를 실행하는데 아래와 같은 에러가 발생했다. $ sudo service nginx start Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xeu nginx.service" for details. 터미널에 나온대로 systemctl status nginx.service를 입력하여 로그를 확인해봤다. $ systemctl status nginx.service × nginx.ser... Read More
-
Oracle Cloud 외부 접속 설정
오늘은 Oracle Cloud 서버에 nginx에 클라이언트를 배포해 외부에서 접속하고 WorkBench를 이용해 mysql을 접속하려한다. 외부접속관련해 설정을 정리해보려한다. 📌 UFW vs iptables iptables를 이용해 방화벽 설정을 할 수 있다. sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT 와 같이 입력해주면 설정이 가능하다. UFW는 이를 좀더 쉽게m 설정할 수 있도록 해주는 명령어이고 수준높은 방화벽 구성에는 iptables를 사용해야한다. 📌 UFW 활성/비활성 1). UFW 활성화 sudo ufw enable ... Read More
-
[Spring] MailAuthenticationException 문제 해결
오늘은 회원가입시 이메일 전송 로직을 확인중 org.springframework.mail.MailAuthenticationException와 같은 예외를 만났고 해당관련 해결방법을 적어가보려한다. ✅ 작업환경 Spring Boot 2.7.7 Java 11 macOs Monterey 12.6 버전 로컬환경에서 테스트 진행 📌 에러 확인 및 해결 첫번째로 Spring 에서 지원하는 mail 서비스를 이용해보려한다. 메일을 보내는 주체는 Google의 gmail을 이용하려한다. implementation 'org.springframework.boot:spring-boot-starter-mail... Read More