본문 바로가기

전체 글

(115)
백준 14500 - 테트로미노 import java.io.*; import java.util.*; public class Main { static int data[][], row, column; static int xMove[] = {0, 0, 1, -1}, yMove[] = {1, -1, 0, 0}, max = 0; static boolean checked[][]; // 백준 14500 - 테트로미노 public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer rowColumn = new StringToke..
백준 1436 - 영화감독 숌 import java.io.*; public class Main { // 백준 1436 - 영화감독 숌 public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); int n = strToInt(bufferedReader.readLine()), seriesNum = 666, cnt = 0; while(true) { int num = seriesNum; while(num >= 666) { // 세 수가 연속적으로 6인 경우 cnt 증가 if(num % 10 == 6 && num / 10 % 10 == 6 &&..
백준 1018 - 체스판 다시 칠하기 import java.io.*; import java.util.StringTokenizer; public class Main { static boolean colors[][]; // 백준 1018 - 체스판 다시 칠하기 public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer tokenizer = new StringTokenizer(bufferedReader.readLine()); int row = strToInt(tokenizer.nextToken()), column = s..
백준 2231 - 분해합 import java.util.Scanner; public class Main { // 백준 2231 분해합 - 완전탐색 public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int nunmber = scanner.nextInt(); System.out.println(findGenerator(nunmber)); } public static int findGenerator(int number) { // 1에서부터 분해합을 찾아나간다. for(int i = 1; i 0) { digitSum += n % ..
AJAX와 Axios 안에 있는 것 XmlHttpRequest 크롬에서 F12를 누르면 나오는 검사 탭에는 네트워크라는 탭이 있다. 그리고 네트워크 탭에는 또 Fetch/XHR이라는 토글버튼이 있다. 그리고 개발 중에는 이 XHR 탭에서 ajax나 axios를 통해 보낸 요청을 확인할 수 있다. 이 XHR은 XMLHttpRequest의 약자이다. 이 XHR을 사용하면 페이지를 새로고침하지 않고 URL로부터 데이터를 받아올 수 있다. XML 외에도 모든 종류의 데이터를 받아올 수 있고, HTTP, HTTPS, FTP, FILE 등의 다양한 프로토콜을 지원한다. JS 코드를 통해 XHR을 조금 더 살펴보자~ const xhr = new XMLHttpRequest(); const url = 'https://api.hnpwa.com/v0/news..
Spring Boot Project 생성 Spring Boot Project는 Spring initializr를 사용하여 쉽게 생성할 수 있다. 먼저 해당 사이트에 있는 옵션들을 살펴보겠다. Maven vs Gradle Maven → Gradle로 넘어가는 추세이다. Spring Boot version 안정된 버전을 사용해야 한다. 특히 snapshot이라고 명시된 버전은 사용금지이다. Dependencies 적당히 필요한 Dependency를 설정해줘야 한다. 다음은 거의 필수로 들고 가는 라이브러리들이다. Spring web 톰캣 서버 내장, Spring MVC, RESTFUL API 포함 Spring Data JPA JPA 라이브러리(하이버네이트) DB 관련 Dependency lombok .gitIgnore 다 만들고 나서 git rep..
Bulk 연산 한 번에 많은 행을 삭제하거나 수정하는 연산을 Bulk 연산이라고 한다. 이번 글에서는 Bulk 연산을 하는 법과 주의점에 대해서 살펴보겠다. Bulk 연산하기 String query = "update Student s set s.age = s.age + 1"; int updatedDataSize = em.createQuery(query).executeUpdate(); System.out.println("updatedDataSize = " + updatedDataSize); 로그 Hibernate: update Student set age=age+1 updatedDataSize = 3 executeUpdate()를 통해 delete나 update 쿼리를 날릴 수 있다. 또한 executeUpdate()는..
JPQL 엔티티 조회 github 전체코드 주소(branch: jpql/entity) JPQL에서는 PK(식별자)가 아닌 엔티티 자체를 사용해 데이터를 조회할 수 있다. JPQL에서 엔티티를 직접 사용하면 SQL에서는 해당 Table의 PK 값을 사용한다. 음~~~ 별 거 아니니까 바로 살펴보도록 하겠다. #JPQL: 엔티티를 직접 사용 select count(s) from Student s #SQL: 엔티티의 PK를 사용 select count(s.id) as cnt from Student s 연관 엔티티를 그대로 사용하면 어떻게 될까? JpaMain.java - 조회로직 String query = "select s from Student s where s.club = :club"; List students = em.cre..