본문 바로가기

Category List118

[210529] 자바 문제 리딩 Compare() 지금껏 풀면서 가장 어려운 문제를 만났다 ;; 문제 4개의 항목이 있는 csv(쉼표로 구분) 파일을 읽어들여 지정된 순서로 정렬하여 표시하는 프로그램을 만드세요. 4개 항목 날짜 최고기온 최저기온 평균기온 표시순서 최고 기온이 높은 순 최저 기온이 높은 순 평균 기온이 높은 순 날짜가 오래된 순 4개의 순서에 대한 우선순위로 표시할 때 열 순서는 같습니다. 로드하는 파일은 data.csv이며 정렬 순서 구분을 하기 위해 Temperature Comparator 클래스 정렬을 사용합니다. 우선...weather클래스를 만들었다. 13-14 버퍼로 감싼 파일리딩을 했고 17 읽어온 파일을 한줄씩 String msg 변수에 담았다. 18 그 한줄을 (,) 단위로 잘라 String[] msgs 변수에 담았고 1.. 2021. 5. 29.
[책] 존 윌리엄스 <스토너> 스토너 생일 선물로 받은 책이다. 스토너는 의 주인공이다. 농부의 아들로 태어나 대학에 입학했고 영문학에 빠져 교수가 되어 살다가, 죽는다. 누구나 그렇듯이. 이렇게 평범한 이야기가 소설이 될 수 있을까? 좀 더 세심하게 스토너의 삶을 들여다보고 느껴보면 그의 삶은 위대한 소설이된다. 책이 처음 출판되었을 때, 아무도 관심을 가지지 않다가 면밀한 독자들에 의해 50년 만에 역주행 베스트셀러가 된 이유도 거기에 있을 것 같다. 주의깊게 보면 달라진다. 마지막 장을 넘기기 전까지는 무無였던 것들이 책을 덮고나면 몰려왔다. 끝이라는 게 그런가보다. 스토너는 임종 직전 이런 물음을 한다. '무엇을 기대했는가'. 스토너의 인생은 기대와 실망을 왔다갔다하며 인내하는 삶이었다. 불의와 고난에 대해 꾹 입을 다물고 참.. 2021. 5. 27.
[무조건 따라하기] 트랜잭션 📌 트랜잭션 Transaction 최종 결과를 내기까지 하나의 작업 단위를 의미. Oracle DataBase는 개발자가 전달한 insert, update, delete 문을 메모리상에서만 수행하고 디스크에 반영하지 않음(테이블생성,삭제는 자동 디스크 반영됨)=> 실수로 인한 데이터의 유실을 막기 위함. 데이터 베이스를 조작하는 작업이 완료되고 모두 정상적으로 되었아면 이를 디스크에 반영해야함. 작업이 시작되고 디스크에 반영될 때까지의 작업의 단위 = 트랜잭션. COMMIT : 트랜잭션을 완료하고 디스크에 반영. 복구 불가 ROLLBACK : 트랜잭션을 취소 SAVEPOINT : RALLBACK의 단위를 지정. 지정 시, SAVEPOINT [세이브포인트이름] / 호출 시, ROLLBACK TO [세이브포.. 2021. 5. 26.
[무조건 따라해보기] CONSTRAINT 제약조건 📌 CONSTRAINT 제약조건 : 테이블의 데이터를 저장 혹은 수정할 때 컬럼의 값에 대한 조건을 설정하는 것 설정된 조건에 위배되는 값을 컬럼에 저장할 수 없으며 데이터의 무결성을 위한 구문 참고 : NOT NULL 오류시에는 정확한 오류 원인을 알 수 있지만, 그 외 제약조건에서 오류가 발생하면 불분명하다.제약조건이 만들어질때 DB안에서 랜덤으로 이름이 만들어지기 때문에개발자는 오류발생시 그 이름을 보고 어떤 제약조건에서 발생한 오류인지 파악하기 힘들다.따라서 NOT NULL 제약조건 이외의 제약조건을 만들때, 반드시 이름을 붙여줘야한다.* 제약조건쿼리 컬럼명 데이터타입 CONSTRAINT (제약조건명) 제약조건 * 제약조건명 [테이블명]_[컬럼명]_[제약조건약어] NOT NULL: 컬럼에 NULL.. 2021. 5. 26.
[무조건 따라해보기] TABLE TABLE CREATE TABLE 테이블명(컬럼명 자료형 제약조건, 컬럼명 자료형 제약조건) CHAR(SIZE) : 고정 길이 문자열 타입 VARCHAR2(SIZE) : 가변 길이 문자열 타입 NUMBER : 최고 40자리까지 저장할 수 있는 숫자 타입 DATE : 날짜 LONG : 가변 길이 문자열 타입, 최대 2Gbyte CREATE TABLE EMP ( EMPNO NUMBER(10) CONSTRAINT EMPNO_PK PRIMARY KEY, ENAME VARCHAR2(20), JOB VARCHAR2(20), MGR NUMBER(10), HIREDATE DATE default sysdate, SAL NUMBER(10), COMM NUMBER(10), DEPTNO NUMBER(10) ); 📍 서브쿼리로.. 2021. 5. 26.
[무조건 따라하기] INSERT, UPDATE, DELECT 📌 DML(Data Manipulation Language(데이터 조작어)) INSERT : 테이블에 새로운 로우를 추가하는 구문INSERT INTO 테이블명 (컬럼명) VALUES (값) INSERT INTO EMP01 (EMPNO, ENAME, JOB) VALUES(222,'김제니','개발'); INSERT INTO EMP01 (EMPNO, ENAME, JOB) VALUES(223,'로제','인사'); INSERT INTO EMP01 (EMPNO, ENAME, JOB) VALUES(224,'지수','생산'); --컬럼목록을 생략하는 경우 (모든 컬럼에 DATA 넣을때만!) INSERT INTO EMP01 VALUES(225,'리사','개발'); --컬럼 목록에 모든 컬럼에 있지 않을 경우 (JOB에 .. 2021. 5. 26.