프로그래밍 201

[Spring] Configuration Module

코어 컨테이너 - 그림에서 가장 아래쪽에 위치하는 것이 스프링의 코어 컨테이너이다. 이것은 스프링의 기본 기능을 제공한다. 이 모듈에 있는 BeanFactory는 스프링의 기본 컨테이너이자 스프링 DI의 기반이다. 애플리케이션 컨텍스트 모듈 - 스프링의 애플리케이션 컨텍스트는 코어 컨테이너 위에 올라간다. 코어 모듈의 BeanFactory가 스프링을 컨테이너로 만들어 준다면, 컨텍스트 모듈은 스프링을 프레임워크로 만들어 준다. 국제화(I18N) 메시지, 애플리케이션 생명주기 이벤트, 유효성 검증 등을 지원하고, 이메일, JNDI 액세스, EJB 통합, 리모팅, 스케줄링 등 여러가지 엔터프라이즈 서비스를 제공한다. 또한 벨로시티(Velocity)나 프리마커(FreeMarker) 같은 템플릿 프레임워크와의 ..

이클립스 주요 단축키

기본적으로 Preference > General > Keys에서 대부분(모든)의 단축키 확인 가능합니다. Ctrl+Shift+L : 단축키 보기 Hint [거의 달고 사는 단축키] ctrl + s : 저장 및 컴파일 ctrl + i : 소스 깔끔 정리(인덴트 중심의 자동구문정리) ctrl + space : 어휘의 자동완성(Content Assistance) ctrl + 1 : Quick Fix(Rename에 주로 사용) ctrl + shift + M : 캐럿이 위치한 대상에 필요한 특정클래스 import ctrl + shift + O : 소스에 필요한 패키지의 자동 임포트 ctrl + / : 한줄 또는 선택영역 주석처리/제거 ctrl + Q : 마지막 편집위치로 가기 ctrl + L : 특정줄번호로 가기..

토드 데이터그리드에서 바로 업데이트 팁

간만에 개발자용 팁 하나.. 뭐 토드 많이 쓰는 사람들은 거의 다 알고 있겠지만 토드를 처음 써보거나 이런 기능을 몰라서 토드가 오렌지보다 불편하다고 하는 사람들을 위해... SELECT * FROM 테이블 이런 식으로 하면 밑에 그리드가 나오는데 수정 불가능한 그리드이고 업데이트를 하려면 귀찮은 짓을 해야한다 하지만 SELECT rowid, A.* FROM 테이블 A 이런 식으로 조회하면 하단에 빨간색 불이 녹색으로 바뀌면서 테이블 내용을 바로 수정할 수 있게 된다 이렇게 수정했을 때,,, insert 권한이 없는 테이블에 수정이 되는 경우도 봤다!!! ㅋㅋ 여러 모로 유용한 다양한 토드 팁들~ ㅎㅎ

오라클 join설명

Why Join ? DB를 설계할 때 정규화(Normalization)가 기본 개념이듯이, SQL에서는 서로 다른 테이블들에 흩어져 있는 데이터를 주어진 조건에 의해 연결하는 조인(Join)이 기본 개념이라 할 수 있다. 예를 들어, 서울에 위치한 부서명과 소속된 사원명을 출력하라는 쿼리가 있을 때에 부서명은 DEPT 테이블에 있고, 사원명은 EMP 테이블에 있다. 따라서 조인이 필요할 것이고, 조인에 사용되는 연결조건은 소속관계이므로 DEPT 테이블의 부서번호와 EMP 테이블의 부서번호가 동일하다는 조건이 될 것이다. SELECT d.dname, e.ename FROM dept d, emp e WHERE d.loc = ‘서울’ AND d.deptno = e.deptno ß 조인조건 Join Order ..

Net8 configuration Assistant로 오라클 네트워크 서비스 생성

이제 직접 오라클 클라이언트에서 서버에 접속하기 위해서 Net8 Configuration Assistant를 이용해서 서비스를 하나 생성하겠습니다. 윈도우 시작메뉴에서 프로그램 -> Oracle -> Network Administration -> Net8 Configuration Assistant 를 실행 시킵니다. 1. Net8 Configuration Assistant 시작 화면 Net8 Configuration Assistant를 시작하면 아래와 같은 화면이 나옵니다. 로컬네트 서비스 이름 구성을 선택하고서 다음 버튼을 클릭 합니다. 2. 네트워크 서비스 이름 관리 화면 추가 버튼을 클릭해서 새로운 서비스를 생성 합니다. 수정은 기존의 서비스를 수정하고, 삭제를 누르면 서비스가 삭제 됩니다. 3. ..

리스너(LISTENER)와 listener.ora, tnsnames.ora파일

오라클 클라이언트에서 서버에 접속하기 위해서는 오라클 서버에 리스너(LISTENER)가 실행되어 있어야 됩니다. ◈ 리스너(Listener)란? - 오라클 리스너는 네트워크를 이용하여 클라이언트에서 오라클 서버로 연결하기 위한 오라클 네트워크 관리자 입니다. - 오라클에서 네트워크를 통한 연결은 모두 리스너가 담당하며 리스너와 연결되기 위해서는 클라이언트에 오라클 NET8이 설치되어 있고 이를 통해 오라클 서비스명이라는 것을 만들어 접속해야 합니다. - 오라클 서버에서 리스너를 시작시켜줘야 클라이언트들이 접속할 수 있습니다. - lsnrctl명령어로 리스너를 관리 할 수 있습니다. -- 리스너 시작하기 C:\>lsnrctl LSNRCTL for 32-bit Windows: Version 8.1.6.0.0..

객체지향 분석 설계(OOA&D) 개발방법

1. 여러분의 소프트웨어가 고객이 원하는 기능을 하도록 하세요. 2. 객체지향의 기본원리를 적용해서 소프트웨어를 유연하게 하세요. 3. 유지보수와 재사용이 쉬운 디자인을 위해 노력하세요. 고객은 프로그램이 동작할 때 만족스러워 합니다. 고객은 프로그램이 계속 잘 동작할 때 만족스러워 합니다. 고객은 프로그램이 업그레이드가 가능할 때 만족해 합니다. 프로그래머는 자신의 프로그램이 재사용될 수 있을 때 만족스러워 합니다. 프로그래머는 자신의 프로그램이 유연할 때 만족스러워 합니다.

응집도(cohesion)란 ?

응집도란 한 클래스 또는 모듈이 특정 목적 또는 역할을 얼마나 일관되게 지원하는지를 나타내는 척도라고 할 수 있다. 어떤 모듈 또는 클래스의 응집도가 높다는 것은 일련의 서로 연관된 기능이 묶여있다는 것을, 응집도가 낮다는 것은 서로 상관 없는 기능들이 묶여있다는 것을 뜻한다. 사실 응집도는 단일 역할 원칙에서만 쓰이는 용어는 아니고, 좀더 광범위한 용도로 쓰이는 용어다. 하지만 그 둘은 서로 밀접하게 연관되어 있다. 이 원칙(단일 역할 원칙)을 잘 따르는 클래스는 두 개 이상의 역할을 맡고 있는 클래스에 비해 응집도가 높고, 관리하기도 더 용이한 편이다. ★이 포스트가 유용하셨다면 javaiyagi블로그를 구독하세요

개발(설계,디자인) 할 때 유의사항

070731 ① 문제를 해결하면서 새로운 문제를 만들지 말자. ② 두번째 단계(객체지향설계)로 가기전에 첫번째 단계(고객의 요구사항 구현)를 끝내는 것이 왜 그렇게 중요한가? : 프로그램이 제대로 동작하게 만들려면 그 프로그램을 여러 번 수정하게 될 것이다. 기본 기능을 구현하기 전에 설계에 너무 신경을 쓰면 쓸데 없는 시간 낭비가 될 수 있다. 왜냐하면 클래스들과 메소드들에 새로운 기능을 추가할 때다 설계의 많은 부분이 바뀌어야 하기 때문이다. 070801 ① 중복 코드를 볼 때마다 캡슐화 할 곳이 있는지를 찾아보라 !