비투즈의 노트르담

분류 전체보기 (58)

  1. 2013.04.05 레이아웃(Layout) & 패널(Panel)

    레이아웃 BoardLayout 보시는 그림이랑 똑같습니다. Panel p = new Panel(); p.setLayout(new BorderLayout()); p.add(new Button("Okay"), BorderLayout.SOUTH); GridLayout 밑에 그림과 같이 행과 열이 똑같이 나눠진 형태입니다. FlowLayout 이것은 좌에서 우로 컴포넌트 배열하다가, 폭이 모자라면 줄을 바꿔서 배열하는 레이아웃입니다. Content pane을 Layout으로 설정하는 방법은 다음과 같습니다. [ ] --> Flow, Grid, Board [ ]Layout layout = new [ ]Layout(내용); contentPane.setLayout(layout); ex) FlowLayout layou..

  2. 2013.04.05 이벤트 & 그래픽

    이벤트 리스너(Listener, 청취자 라는 뜻을 가진 단어) 인터페이스는 리스너(사용자)와 이벤트 소스(버튼)을 연결해주는 다리 역할을 합니다. 리스너로써의 역할은 인터페이스를 구현하고 버튼을 등록하고 이벤트 처리 코드를 제공합니다. 이벤트 소스는 리스너로부터 등록을 받고, 사용자로부터 이벤트를 받고 리스너 이벤트 처리 메소드를 호출합니다. 이벤트 객체로써 이벤트 콜백 메소드에 대한 인자고, 이벤트에 대한 데이터를 리스너한테 돌려주는 역할을 합니다. JFrame frame = new JFrame(); //Gui창을 만들 때, 사용 frame.getContentPane().add(button); // 위젯(번튼, 텍스트 필드 등)을 추가할 때 사용 frame.setSize(300, 300); // 크기 ..

  3. 2013.04.05 변수표기법

    같이 개발해야 하므로, 변수를 맞추는 것도 중요하다고 생각해서 올립니다. ~ Camel표기법 , Pascal표기법이 실무에서 자주 쓰인다고 책에서 그렇다는 군요. 닷넷에서도 헝가리안 표기법 대신 Camel표기법과 Pascal표기법을 사용할 것을 권장하고 있습니다. 헝가리안 표기법이란 무엇이냐면, API를 공부하다가 안 사실입니다. lpfn 구지나 포인터 변수를 함수형 포인터, 문자열 포인터, 구조체 포인터를 나눠서 표기하는 이유는 나중에 프로그래머가 데이터타입 캐스팅(=데이터 형변환)을 할때 혼동하지 않고, 편리하게 쓰려고 하기 때문에 붙이는 것입니다. 요즘시절이야 인텔리센스가 떠서 쉽게 볼 수 있지만... 예전엔 안그랬으니 이렇게 하는 방법은 획기적이었죠. 참고로 이런 코드 명명법을 헝가리안 코드라고 ..

  4. 2013.04.05 스타일

    네이버에 프로그래밍 소스를 보다가 문뜩 든 생각이 좀더 알아보기 쉽게 프로그램을 짜는 방법이 없을까 해서 책을 찾아보고 많은 깨닮음을 얻어서 알려드립니다. 이 책은 The Practice of Programming 이라는 책인데, 프로그래밍 자기만의 스타일보다는 누구도 알아보기 쉽게 프로그램을 짜라고 충고를 해줍니다. 이 책에서는 프로그래밍 좋은 코드 와 나쁜 코드를 예를 들어가면서 스타일의 규칙을 설명하면서 예를 들어갑니다. 제가 가장 중요하다고 생각하는 것 몇개만 적겠습니다. ㅎ "전역변수에는 서술적인 이름을, 지역변수에는 짧은 이름을 붙이라. "고 했는데요. 예를 들어 위에 꺼보다 밑에꺼가 더 알기 쉽습니다. for(theElementIndex = 0; theElementIndex < numberO..

  5. 2013.04.05 자바 파일 입출력 3 - 문자스트림

    문자스트림 앞에서 말하는 것과 마찬가지로 파일입출력부분은 개념을 알고들어가야 되는 것같습니다. 문자스트림에 앞서서 바이트스트림과 문자스트림이 차이점을 알아야됩니다. "난 정말 자바 XX" 에 설명이 잘나와있습니다. 736페이지에 나와있습니다. 이 설명을 말하자면, 자바는 유니코드 기반으로 되어있는데, Windows자체에서 실행되는 응용프로그램들은 Windows만의 인코딩 방식이 있을 것입니다. 그러므로, Windows의 문자표현 방식으로 문자를 저장할려고하면, 문자 A를 1바이트 정수 65, 문자 B를 정수 66으로 표현합니다. 이런식으로 인코딩 방식을 알아야합니다. 이런 불편한 요소를 해결하기위해 자동으로 인코딩을 해주는 문자스트림을 만들었습니다. 문자단위의 파일 입력스트림과 출력스트림은 FileRea..

  6. 2013.04.01 자바 파일 입출력 2 - Filter Stream

    자바 파일 입출력 (I / O) - Chapter : 2 필터 스트림 자바에서는 스트림 앞에 달수 있는 다양한 필터스트림을 제공합니다. 즉, 필터스트림은 가공하는 도구라고 생각하면 이해하기 쉽습니다. 난 정말 자바 XX가 설명이 잘 되어 있어 이 책의 내용을 참고해서 말할려고 합니다. 예를 들면 "int형 정수 하나를 읽어 들이는 코드를 작성할려고 한다." 예전 방식으로 하면, ex) InputStream in = new FileInputStream("Hci.bin"); byte[] buf = new byte[4]; is.read(buf); 이런 식으로하면, byte라는 배열에 담긴거지 int형 변수라고 애기할 수 없는 것들은 다 아실 겁니다. 그러므로, 이런 방식으로 사용하면, 정수로 활용하기 곤란합니..

  7. 2013.04.01 자바 파일 입출력

    파일 입출력(File I / O) 먼저 자바 파일 입출력에 들어가기 앞서서 개념을 정확히 들어가야 됩니다. 파일 입출력의 대상의 Consol, 키보드와 모니터, 하드디스크에 저장되어 있는 파일, USB, 프린터 등등이 있는데, 입출력 대상의 형태가 다양하듯이 파일에서의 입출력 형태도 다른데요. 자바에서는 두가지가 네트워크 입출력 기본방식을 편안하게 해준다고 생각합니다. 1. 입출력의 기본 방식이 동일합니다. 2. 네트워크 상에서의 데이터를 송수신하기위해서 I / O클래스들의 잘 정의되어 있습니다. 그러므로, 자바네트워크 프로그래밍은 좋다 라고 말할 수 있습니다. I/O 의 핵심은 스트림(Stream)을 이해하는데 있는데, 자바에서는 1) 데이터의 흐름을 형성해 주는 통로, 2) 파일 또는 각종 I/O장치..

  8. 2013.03.20 옵티마이저와 실행계획

    모든 공부를 할 때 영어는 중요하다 optimize를 검색하면 "..을 최대한 좋게 만들다" 라고 나온다. "select * from 테이블명" 우리는 이렇게 SQL문을 작성하지만 자바와 C언어와 달리 어떤 조건에 해당하는 레코드를 찾아달라고 하지 처리과정에 대해서는 기술하지 않는다. 그러므로 내가 요구하는 조건을 찾는 실행방법은 다양할 수 있는데 그 방법 중 최적의 실행 방법을 결정하는 것이 옵티마이저의 역할이다 이런 최적의 실행방법을 찾는 방식은 1.규칙기반 옵티마이저와 2.비용기반 옵티마이저로 구분한다. 현재 관계형 데이터베이스는 비용기반 옵티마이저만 제공하고 규칙기반옵티마이저는 버전 호환성을 위해서만 남아 있지만 규칙기반 옵티마이저의 규칙은 보편 타당성에 근거하므로 공부하면 옵티마이저의 최적화 작..