목록분류 전체보기 (718)
쌓고 쌓다
임의로 생성한 테이블은 다음과 같다. CREATE TABLE inquiry ( id BIGINT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), title VARCHAR(255), content VARCHAR(255), reg_date DATETIME DEFAULT NOW() ) 앞전에 게시판 만들때는 서버(자바)에서 현재 시간을 MVC패턴의 서비스단에서 다음의 코드로 갱신을 시켜줬었다. poster.setRegdate(LocalDateTime.now()); 이번에는 reg_date 컬럼의 값은 DEFAULT로 DB에서 현재 시간을 넣어주는 방식을 생각했다. 아래의 JSON 데이터를 전송하여 서버에서 JPA를 사용하여 저장할 것이다. {"title": "title!",..
노출되면 안되는 값을 local.properties에 저장하고 사용하고 싶다. 그럼 다음과 같이 사용하자. local.properties serverAddress = "10.0.2.2" 먼저 local.properties에 Key와 Value로 작성해주자. 이제 build.gradle.kts에 다음과 같은 내용들을 추가해줘야한다. import java.io.FileInputStream import java.util.Properties; var properties = Properties() properties.load(FileInputStream("local.properties")) properties를 사용하기 위한 과정이다. android { defaultConfig { ... // 읽기 과정 - Bu..
앱과 통신을 위한 REST API 서버를 만드는중이다.! UPDATE를 수행하는 메서드를 만들었다. 다음과 같다. @Service public class UserService { ... public User updateUser(Long id, User userInfo) { User user = userRepository.findById(id).get(); // Optional 수정 필요 String name = userInfo.getName(); int age = userInfo.getAge(); user.setName(name); user.setAge(age); return user; } } 아니!! find는 쿼리가 잘 날라가는데 아래의 엔티티 변경시 UPDATE 쿼리가 안날라간다. 문제는 트랜잭션내..
빌드하고 aws ec2에서 java -jar xxx.java 시 ERROR가 뜬다... sudo mysql -u root -p 작성하여 mysql에 접속하여 비밀번호를 변경해주자. 기존의 비밀번호는 영어 소문자로 8자 이상이였는데 특수문자, 대문자, 소문자를 포함하여 비밀번호를 설정해줘야한다. alter user 'root'@'localhost' identified with mysql_native_password by '바꿀비밀번호'; 이제 ERROR 없이 실행이 잘된다!
서비스를 만드는데 API 서버를 외부에서 접속이 가능하게 원해서 AWS EC2를 통해 REST API 서버를 만들어보고싶었다. 인스턴스 생성후 매번 ssh -i "키페어 경로(private key)" hostname@ip 로 접속하기 번거롭다. 다음과 같은 과정을 거쳐 ssh myec2로 접속을 바로 해보자. cd ~/.ssh/ 위의 경로로 이동한다. 그리고 이 경로에 key.pem를 옮기자. chmod 600 lsm-server.pem chmod를 통해 권한을 설정하자. 권한 설정에 대한 이야기는 https://non-stop.tistory.com/83 에 했다! vi config 그리고 config를 생성하여 다음과 같이 작성하자. Host myec2 HostName "public ip" User "..
https://school.programmers.co.kr/learn/courses/30/lessons/140107#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 점 찍을 수 있는 x 좌표를 돌며 해당 x 좌표에서 찍을 수 있는 최대 y 좌표를 구한다. 최대 y좌표가 7이 나왔다고해서 0, 1, 2, ..., 7을 찍을 수 있는건 아니다. k의 배수만 찍을 수 있으므로 최대 y 좌표에서 k로 나눈 몫만큼 찍을 수 있다. 단, 나누기에서 y좌표가 0인 경우는 포함되지 않으므로 나눌때마다 +1을 해주어야 한다. x의 좌표는 0부터 k배수만 ..
https://school.programmers.co.kr/learn/courses/30/lessons/159993#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 최단거리를 구하는 문제이다. DFS를 구하는 경우 모든 경로를 탐색해야하기에 시간초과가 날 수 있다. (물론 중간에 break를 걸면 될듯하다.) BFS로 최단 경로를 구하는 순간 그만 탐색하면 된다. 문제의 풀이 방법은 간단하다. 레버까지의 최단 거리를 구하고 레버로부터 다시 EXIT까지 최단 거리를 구하여 두개를 더해주면 된다. 전체 코드 #include #include #..
https://school.programmers.co.kr/learn/courses/30/lessons/12905 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 board[i][j]에 만들 수 있는 가장 큰 정사각형 크기를 저장하는 방식으로 풀어나간다. 예를 들어 2x2 크기의 board가 있다고 하자. (1,1)의 위치에 만들 수 있는 가장 큰 정사각형의 변의 길이를 저장할 것이다. 이때, board[i][j]에 들어갈 값은 좌상단 대각선, 좌, 상단의 값중 제일 작은 값에 +1한 값이다. 3x3 board가 있다고 하자. (2,2) 위치에서..