최근 회원가입 기능 구현 수업을 진행하면서 주소 검색기능을 구현했습니다. 당시에는 강사님께서 txt파일을 csv 파일로 변환해주셨고 그 파일로 진행했습니다. 집에와서 똑같이 세팅하려 했더니 csv파일은 없고 txt파일의 링크만 있어서 txt 파일을 다운받아서 db 구축을 진행했습니다. 대략적인 진행과정입니다. 1) 데이터 파일의 인코딩 처리. >> 원본 데이터 자체를 UTF-8형식으로 저장한 뒤에 임포트를 진행하는 편이 편합니다. 2) 테이블 선 생성. >> 너무나 당연한 얘기지만 테이블을 먼저 생성해놓고, 임포트를 진행해야 합니다. (테이블 안 만들고 데이터 임포트 시도해서 왜 안되지 했었다는...;) 3) 특정 컬럼 제외 임포트. >> roadcode 라는 사용하지 않을 컬럼이 있어서 이걸 제외해야 ..
더 나은 효율을 위해 편리한 환경을 구성하는 건 중요한 일입니다. Project Explorer와 Git Repository를 좌측에 위아래로 두고, 우측에 Console과 Server, Git Staging 등을 두고 가운데에서 코드 작성하는 게 현재까지 취향입니다. 문제는 새 프로젝트를 열 때마다 Perspective가 바뀌여서 ㅠㅠ 매우 불편했습니다. 새 프로젝트를 만들 때 Perspective를 변경하지 않도록 설정하는 곳을 드디어 발견했습니다. Windows - Preferences 에서 pers 라고 검색하면 나오는 화면에서 설정 가능합니다. 제가 찾던 설정은 아래입니다. Open the associated perspective when creating a new project >> 새 프로젝..
제작기간 3주 제작 인원 5명 사용 기술 : Java Swing, Oracle Database 주요 기능 : 로그인, 회원가입, 쪽지, 귓속말, Socket을 이용한 채팅, 그림 그리기. 정처기 필기 시험으로 인해 프로젝트 발표 직후 진행하지 못했던 코드리뷰를 2주가 지나서 드디어! 5명이 모여서 코드리뷰를 2시간 가량 진행했다. 코드리뷰하며 헷갈렸던 점 정리 더보기 11) 서버가 클라이언트를 낚아채서 핸들러와 짝궁 지어줄 때 list의 주소값을 주는 것이기 때문에 해당 리스트에 추가되는 값, 제거되는 값이 동일하게 적용된다. 만들어진 list 객체를 넘겨주는 게 아니라 list객체가 있는 곳(주소)을 알려주는 것이다! 2) 최초 입장 메시지 처리 시에 dto에서 닉네임 값을 꺼내서 필드에 선언해둔 ni..
덧셈을 통한 String의 결합 charAt() 메소드를 통한 String의 특정값 추출 length()를 통한 스트링 길이 구하기 위의 3가지를 이용해 String, int, char를 오가며 자료를 굴리는 연습이었다. 의외의 복병은 BufferedWriter 였는데... 지금까지 모든 문제는 StringBuffer 객체를 출력했기에 몰랐다. BufferedWriter의 write 메소드의 경우 여러 타입의 파라메타를 받도록 오버로딩 되어있는데, int 값을 넣을 경우 single character 를 write 한다. 따라서 String 값으로 변환해줘야 한다. 지저분하고 복잡한 풀이결과이지만.. 아직은 결과를 만들어내는 것에 집중하는 것이 더 나은 효율을 보이는 구간에 있다는 판단이다. 1 2 3 ..
rownum만 쓸 땐 hidden column으로 이미 만들어져 있으니 바로 사용 가능 rownum을 가공하여 재처리 후에 쓸 땐 만든 뒤에 inline으로 활용해야 사용 가능 CREATE 만 써도 되지만 이미 존재할 경우 에러발생. 없으면 만들고 있으면 대체하라 는 의미에서 CREATE OR REPLACE 라고 작성. with read only를 문장 맨 뒤에 넣으면 view를 통해서는 수정 불가 with check option을 문장 맨 뒤에 넣으면 VIEW 를 통해서 접근 가능한 데이터만 수정 가능 subquery SELECT ~ FROM table WHERE (SELECT ~) inline SELECT ~ FROM (SELECT ~) ceil 올림 ceil(rownum/3) as page 를 통한..