Q) 오븐의 사용법만 배우고 음식 재료만 있으면 누구나 요리가 가능한가? A) 요리법을 알아야 한다. 문제를 풀기 위하여 컴퓨터가 수행하여야 할 단계적인 절차를 알고리즘(algorithm)이라고 한다. (예) 전화번호부에서 친구인 “박철수”의 전화번호를 찾는 문제 빵을 만드는 알고리즘 ① 빈 그릇을 준비한다. ② 이스트를 밀가루, 우유에 넣고 저어준다. ③ 버터, 설탕, 계란을 추가로 넣고 섞는다. ④ 따뜻한 곳에 놓아두어 발효시킨다 ⑤ 170~180도의 오븐에서 굽는다 알고리즘의 기술 순서도(flow chart): 프로그램에서의 논리 순서 또는 작업 순서를 그림으로 표현하는 방법 순서도의 예 프로그램 작성 과정 프로그램 작성 단계 편집 (edit) 에디터를 이용하여 원하는 작업의 내용을 기술..
논리적 쉬프트 (logical shift) : 레지스터내의 데이터 비트들을 왼쪽 혹은 오른쪽으로 한 칸씩 이동 좌측 쉬프트(left shift) 모든 비트들을 좌측으로 한 칸씩 이동 최하위 비트(A1)로는 0 이 들어오고, 최상위 비트(A4)는 버림 우측 쉬프트(right shift) 모든 비트들이 우측으로 한 칸씩 이동 최상위 비트(A4)로 0이 들어오고, 최하위 비트(A0)는 버림 쉬프트 레지스터 (shift register) 쉬프트 연산 기능을 가진 레지스터 순환 쉬프트(circular shift) 순환 쉬프트(circular shift) : 회전(rotate)이라고도 부르며, 최상위 혹은 최하위에 있는 비트를 버리지 않고 반대편 끝에 있는 비트 위치로 이동 순환 좌측-쉬프트(ci..
Spring JDBC 6-1 Spring JDBC 기초 Template Method 패턴 Spring DAO는 Template Method 패턴으로 구성되어 있음 알고리즘을 캡슐화해서 사용하는 패턴 알고리즘의 구조는 그대로 유지하면서 특정 작업 부분만 변경할 수 있음 알고리즘의 순서가 있는 경우 템플릿메서드를 제공하여 그곳에서 알고리즘의 순서를 정의하고 그 순서대로 실행할 수 있도록 하는 패턴 abstract class Printer{ public abstract void open(); public abstract void print(); public abstract void close(); public void printLogic() { open(); for(int i=0; I < 5; i++){ pr..
INSERT INSERT INTO 테이블명 (COLUMN_LIST)VALUES (COLUMN_LIST에 넣을 VALUE_LIST); ▶ INSERT INTO 테이블명VALUES (전체 COLUMN에 넣을 VALUE_LIST); INSERT INTO PLAYER VALUES ('2002010','이청용','K07','','BlueDragon','2002','MF','17',NULL, NULL,'1',180,69); 1개의 행이 만들어졌다. UPDATE UPDATE 테이블명 SET 수정되어야 할 칼럼명 = 수정되기를 원하는 새로운 값; 선수 테이블의 백넘버를 일괄적으로 99로 수정한다. UPDATE PLAYER SET BACK_NO = 99; 480개의 행이 수정되었다. ..
자바 캡슐화 /상속 /클래스의 객체 레퍼런스변수/ 캡슐화 (Encapsulation) : 객체에 관한 내용들을 캡슐로 싸서 그 내부를 보호하고 볼수 없게하는것. 필요한 일부만 외부에 노출. (즉 클래스 내에 있는 필드/메소드들(객체의 내용들)을 private로 선언해서 외부에서 접근을못하게함. (이때 필요한 일부만 외부에 노출시키기 위해 Get Set 접근메소드들을 선언해서 사용가능하게함) 상속 : 상속을 통해 부모클래스의 속성을 자식클래스가 물려받는 개념으로 부모클래스 내에서 이미 만들어진 필드와 메소드들을 자식 클래스에서 물려받게 함으로써 자바코드의 중복작성을 방지하여 생산성을 높인다.(즉 코드의 재사용성 향상) -클래스 사이의 멤버 중복 선언 불필요 -필드와 메소드 재사용으로 클래스 간결화 -클래스..
Java언어와 C++ 언어를 비교하여 차이점과 장단점을 논하라 두 언어는 상당히 비슷한데 그 이유는 자바를 설계할 때 C++개발자들이 쉽게 배울 수 있도록 만들었기 때문이다. 성능이 중요한 경우는 C++이 유리(특히 로우레벨 엑세스)하다, 그러나 이식성, 보안, 개발 속도등이 중요한 경우는 자바 (혹은 C#)이 유리하다. Java는 C++에 기반하고 있지만 규모가 더 작고, 단순하며 신뢰성을 갖추도록 설계됨 바인딩 C++은 정적 바인딩 / Java는 동적 바인딩을 기본으로 사용 문법 C++은 프로그래머에의한 메모리관리 제어기능이 가능, java는 가비지 컬렉션을 사용 JAVA는 C++의 연산자 오버로딩이나 다중상속 등을 지원하지 않는다 java배열은 클래스의 인스턴스이다. C++은 기본 자료형 사이에 암..
Android Query A쿼리 사용하기[라이브러리 등록 셋팅] android-query.0.25.10.jar (다운받아)가져다사용 (나는 갖다쓰기만하면되 할떄는 풀[툴즈?포함안된거로 다운받아도댐]) (libs에 추가) 추가후 프로젝트 우클릭- 빌드패스 - 컨피그 빌드패스 - 라이브러리스탭에서 Add Jars ->내프로젝트에 libs에 넣은 android-query.0.25.10.jar 선택후 oK (그래야 쓸수 있음) -> Order and Export 탭에서 (android-query.0.25.10.jar체크 해줘야 나중에 apk들어감 쓸수있음) AQuery 개념,내용들 (AqueryProjectt) 참고하면 도움될 내용 : http://code.google.com/p/android-query/wi..
round(x, n) 소수점 n자리에서 반올림 rev(x) 역순으로 정렬 sort(x) 오름차순 정렬, 내림차순은 rev(sort(x)) rank(x) 랭크 log(x, base) 밑이 base인 로그값 계산 pmin(x, y, …) x[i], y[i], … 중 최솟값 pmax(x, y, …) x[i], y[i], … 중 최댓값 cumsum(x) x[1]부터 x[i]까지의 합 cumprod(x) x[1]부터 x[i]까지의 곱 cummax(x) x[1]부터 x[i]까지의 최댓값 match(x, y) x와 같은 값을 갖는 y의 위치 표시. 같은 원소가 없으면 NA which(x == a) x == a가 TRUE인 인덱스 표시 choose(n, k) 조합 nCk table(x) 서로 다른 값을 갖는 x의 수를..