분류 전체보기 (TOOL) Octotree 2019. 11. 25. 13:29 Octotree란 무엇인가? Github을 intelij나 eclipse와 같이 계층형 구조로 보기 쉽게 관리할 수 있도록 도와주는 Google Applicaion 설치방법 1. 구글 웹 스토어에서 octotree 검색후 설치 2. 깃헙에 octotree 계정으로 로그인 후 이용 가능 (JAVA) 디폴트 생성자(default constructor) 2019. 11. 24. 22:52 class Parent { private int money; private String name; public Parent(int money, String name) { this.money = money; this.name = name; } } class Child extends Parent{ public Child(int money, String name) { } } 다음 코드는 정상적인 코드인가? answer) 다음 코드를 실행하면 컴파일 오류가 발생한다. 이유는 무엇일까? 부모 클래스에 디폴트생성자가 선언되어있지 않기 때문 디폴트생성자는 선언 안해줘도 컴파일 시 자동으로 생성해준다고 하지않나? 그건 오버로딩을 하지 않았을 때의 말이다. 특정 파라미터를 포함하는 생성자를 오버로딩하였을때 디폴트 생성자.. (LINUX) 리눅스 명령어 정리 2019. 11. 22. 15:19 리눅스/유닉스 명령어 grep 시 찾고자하는 명령어에 특수문자가 포함되어 있을때 : grep -Fe "4******390" ascii_*.sam >> grep_lasting_11007.txt 삭제할 데이터 건수가 많을 때 묻지 않고 삭제하고 싶을때(현재 디렉토리의 파일에 해당) rm -f choi*.* 하위에 특정 문자가 포함된 파일 경로를 찾고 싶을 때 find . -print | xargs grep '대량매출' -> 한글은 '' find . -print | xargs grep choijw 현재날짜 구하는 명령어 *"$(date +%Y%m%d).log" Putty 명령어 붙여넣기 : shift + insert 복사하기 : ctrl + c 문자지우기 : shift + (ORACLE) 테이블 Random 엑세스 부하 2019. 11. 19. 22:05 인덱스의 두 얼굴 1. 인덱스를 효과적으로 활용했을 때 성능dms up 2. 대량의 데이터를 인덱스를 통해 엑세스할때 성능은 down 메인 메모리 DB vs 오라클 DB 메인 메모리 DB : 모든 데이터를 메모리에 로드해 놓고 메모리를 통해서만 I/O 수행 디스크를 경유한 데이터 입출력은 디스크의 액세스 암(Arm)이 움직이면서 헤드를 통해 데이터를 읽고 쓰기 때문에 느린 반면, 메모리를 통한 입출력은 전기적 신호에 불과하기 때문에 디스크를 통한 I/O에 비해 비교할 수 없을 정도로 빠르다. 오라클 또한 버퍼 캐시 히트율(물리적인 디스크 읽기 가 아닌 곧바로 메모리에서 블록을 찾는 비율) 을 99% 사용한다. 그럼 오라클이 왜 느린 걸까? 메인 메모리 DB는 오라클 처럼 디스크 상의 주소 정보를 담는게 .. 오브젝트와 의존관계(일반적인 IOC version02) 2019. 11. 13. 09:59 제어의 역전(IOC) : 프로그램의 제어 흐름 구조가 뒤바뀌는 것 일반적인 프로그램 흐름 : 능동적으로 각 오브젝트는 프로그램 흐름을 결정 main() 에서 사용할 오브젝트 결정 결정한 오브젝트 생성 만들어진 오브젝트의 메소드 호출 다음에 사용할 것을 결정하고 호출 제어의 역전 : 이러한 흐름을 완전히 바꾸는 것 오브젝트가 자신이 사용할 오브젝트를 스스로 선택하지 않는다.(생성도 안함) 자신도 어떻게 만들어지고 어떻게 사용되는지 알 수 없다. 모든 오브젝트는 제어 권한을 갖는 특별한 오브젝트에 의해 결정되어지고 만들어진다. 이전 : ConnectionMaker의 구현 클래스를 결정하고 오브젝트를 만드는 제어권은 UserDao 리펙토링이후 : 해당 권한은 DaoFactory에 있다. DaoFactory의 .. (SPRING) 오브젝트와 의존관계 (일반적인 IOC version01) 2019. 11. 13. 09:56 관심사의 분리 항상 변경이 일어날 것을 염두해 두고 설계를 진행 관심이 같은 것들 끼리 한곳에 모으면 변화가 일어났을시 변화한 관심만을 수정할 수 있다.(관심의 분리) 중복 코드의 메소드 추출 상속을 통한 확장 클래스의 분리 인터페이스의 도입 관계설정 책임의 분리 중복 코드의 메소드 추출 : 중복된 코드를 분리하는 과정 public class UserDao{ public void add(User user){ Connection c = getConnection(); .... } public User get(String id){ Connection c = getConnection(); } public Connection getConnection(){ //DB 연결 코드 작성 return //Connectio.. (ORACLE) 인덱스 구조 2019. 11. 12. 01:08 인덱스란? 대용량 테이블에서 필요한 데이터만을 빠르게 찾아서 실행할 목적으로 사용하는 객체이다. 키값으로 정렬 되어있는 것이 특징. 범위스캔 : 인덱스의 이러한 특징을 이용하여 검색 조건에 일치하지 않는 값을 만났을때 멈출 수있는 특징 (단, 키값이 같다면 rowid로 우선순위를 판별한다.) 인덱스의 기본구조 1. 브랜치 블록 (root포함) : 하위 노드 블록을 찾아가기위한 data block address를 갖는다 2. 리프블록 : 인덱스 key column, rowid 포함 ※lmc(LeftMostChild) : 키 값을 가진 첫 번째 엔트리보다 작은 값 오라클은 인덱스 구성 컬럼이 모두 null인 레코드는 저장하지 않는다. 1) 리프 노드상의 인덱스 레코드와 테이블 레코드 간에는 1:1관계 2) .. (JAVA8) Java8 개요 2019. 11. 11. 15:22 자바8을 사용해야하는 이유 자연어에 가까운 간단한 방식으로 코드 구현 가능 병렬 실행 환경의 새롭고 단순한 방식을 지원 예1. 스트림 처리 리눅스 or 유닉스의 경우 cat file1 fil2 | tr "A-Z" "a-z" |sort| tail -2 sort는 여러행의 스트림을 입력받아 병렬로 처리한다. (->여러행의 스트림을 출력) cat, tr, sort, tail은 모두 병렬로서 처리된다. 이처럼 자바8의 스트림 API는 한번에 처리하던 기존방식을 탈히여 병렬로 처리하게끔 도와준다.(스레드 사용X) 예2. 메세지에 코드 전달하기 sort를 처리하는 메서드를 통으로 파라미터로 전달하기 예3. 간결화된 코드(like ::) /*예시코드(파일 경로 찾기)*/ File[] hiddenFiles = new .. 이전 1 ··· 24 25 26 27 다음