목록전체 글 (69)
jeongwon
나의 답안 : import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; String[] arr = new String[Integer.parseInt(br.readLine())]; for(int i=0; i
선택한 데이터베이스에 맞는 물리적 표를 만드는 단계. 이 단계에서 중요한 것은 성능이다. 성능 향상에 대한 고민이 필요하다. 데이터가 많아짐에 따라 생기는 병목 지점을 찾고(find slow query) 해결책을 찾는 일. 최후의 보루는 이상적으로 정규화 된 표에 손을 대는 일, 즉 역정규화 / 반정규화 이다. 1. index 우선 고려해볼 만한 것. 행에 대한 읽기 성능을 향상시키지만, 쓰기 성능을 떨어뜨린다. 쓰기를 할 때마다 기존의 인덱스에 관한 정리정돈의 연산과정이 필요하다. 시간, 저장공간 문제가 발생한다. 그럼에도 정리정돈을 잘하는 만큼 비약적으로 읽기 성능을 향상시킨다. 2. cache 데이터베이스를 이용하고 있는 Application 영역에서 캐시, 즉 임시 저장소를 사용하는 방법을 고려해..
나의 답안: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; class Main{ public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); String [] arr = new String[Integer.parseInt(bf.readLine())]; for(int i=0; i
1. Mapping Rule ERD > 관계형 데이터베이스 형식으로 전환할 때 사용해볼 수 있는 방법론. (오픈소스. 설치하는 게 좀 까다로운 툴) http://ermaster.sourceforge.net/ ER Master ermaster.sourceforge.net ※ 도메인을 설정한다 = 컬럼에 대한 영역을 설정/제한한다. (길이 등) Entity 와 Attribute 의 표현 1:1과 1:N 관계의 표현 Relationship을 PK와 FK로 표현함에 있어 따져볼 것은 Cardinality(카디널리티)이다. 1:1 에서 고민할 것은 누구에게 Primary Key를 줄 것인가 혹은 그러므로 누가 Foreign Key를 갖는가 이다. dormant(휴면) 저자의 경우 author(저자)에 의존적인 존..
모델이란 뭘까? 어떤 목적을 가지고 진짜를 모방한 것 아닐까. 그러니 좋은 모델은 목적에 부합하는 모방일 것이다. 문제는 무한히 거대하고 복잡한 현실을 정보로 만들어서 표에 담는 것은 너무나 어려운 일이라는 점이다. 그 문제에 관한 방법론이 데이터 모델링. 복잡한 현실을 컴퓨터로 이사시키는 이삿짐 센터가 되어 보자. -egoing *현실의 복잡한 문제를 컴퓨터에게 잘 설명해내기. 1. 업무파악 하려는 일이 무엇인가? 의뢰인과의 협력을 통해 알아낸다. 말의 기능을 불신하자. 대신 의뢰인과 함께 그려나갈 UI의 모습을 정립해 보자. (카카오 오븐을 사용한 기획서 구상의 예: https://youtu.be/rWEaUh4DjUo) 2. 개념적 데이터 모델링 내가 하려는 일에 어떤 개념이 있고, 각 개념들은 어떻..
예제가 길어 문제는 링크로 대체 : https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 틀린 답안 : import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main{ public static void main(String[] args) throws ..
결국 풀지 못한 문제이다. 참고 답안 1) package practice; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); boolean[] arr = new boolean[42]; for(int i=0; i
JOIN을 할 때는 기준을 꼭 제시해줘야 한다. select * from topic--topic 테이블을 LEFT JOIN author --왼쪽으로 하여 author 테이블을 붙임 ON topic.author_id=author.id; --topic 테이블의 author_id과 id가 같다는 것을 기준으로 결과: AUTHOR_ID 열(컬럼)까지가 topic 테이블, 나머지가 author 테이블이다. 중복되는 id 열을 보기 좋게 가져와 보자. id는 어떤 테이블의 id인지 구분이 쉽도록 '별명' 으로 TOPIC_ID 를 지정해준다. SELECT topic.id TOPIC_ID, title, name -- id, title, name 컬럼을 가져오되 id를 TOPIC_ID 라는 이름으로 출력 FROM top..