본문 바로가기
반응형

전체 글361

알고리즘 피보나치 수열 ●피보나치 수열 개념 - 첫 번째 항의 값이 0이고 두 번째 항의 값이 1일때, 이후의 항들은 이전의 두 항을 더한 값으로 이루어지는 수열을 말한다. [출처] 피보나치수열 [Fibonacci sequence ] | 네이버 백과사전 ●피보나치 수열은 재귀호출(Recursive Call)을 사용해서 구하면 편리하다. ●문제 - 첫항과 둘째항이 1, 1인 경우에, 20번째 피보나치 수열의 값을 구하여라. #include int fino(int n) { if(n==1 || n==2){ return 1; } else{ return fibo(n-1) + fibo(b-2); } } void main(){ int a; scanf("%d", &a); printf("%d", fibo(a)); } 2012. 3. 26.
java script 문법 정리 3 ●window 오브젝트의 주요 프로퍼티와 메서드. 자기 자신의 창에 대해서는 'window.프로퍼티명'이나 window.매서드명'의 'window.'부분을 생략할 수 있다. ex) 프로퍼티 기능 document Document 오브젝트를 참조한다. history History 오브젝트를 참조한다. location Location 오브젝트를 참조한다. frames Frame 오브젝트의 연상 배열을 참조한다. closed 창이 닫혀있는지를 참조한다. opener 자기 자신을 오픈한 창을 참조한다. innerWidth 창 안쪽의 너비를 참조 설정한다. innerHeight 창 안쪽의 높이를 참조 설정한다. outerWidth 창 바깥쪽의 너비를 참조 설정한다. outerHeight 창 바깥쪽의 높이를 참조 .. 2012. 3. 22.
java script 문법 정리 2 ●문자열과 수치를 연결하면 수치가 문자열로 변환된다. ex) a="ab"; b=5; c=a+b; ●수치와 논리값을 연결하면 논리값이 수치로 변환된다. true는 1, flase는 0 ex) a=5; b=true; c=a+b; //c는 6 ●문자열+논리형 은 논리형이 문자열(true,false)로 변환된다. ●형 변환하기 - parseInt() - 문자열을 정수로 변환 ex) a = "123"; num = parseInt(a); - parseFloat() - 문자열을 소수로 변환 ex) a = "11.11"; num = parseFloat(a); - toString() - 여러가지형을 문자열로 변환한다. ex) a = 222; b=true; str = a.toString(); bool = b.toStrin.. 2012. 3. 21.
java script 문법 정리 1  ●자바스크립트는 인터프리터형 언어이다. 클라이언트측 스크립트이다. ●클라이언트 스크립트는 마우스나 키오드의 조작에 의해 표시 내용이 바귀는 웹페이지에 많이 이용한다. 웹브라우저에서 실행되기 때문에 기볹거으로 통신이 발생하지 않기 때문에 서버측에 부하를 주지 않는다. ●클라이언트 스크립트는 서버에 데이터를 보존하거나 다른 사용자와 데이터를 공유할 수 없다. ●주석 - ' /* ~~~ */ ' , ' //~~ ' 를 쓴다. ●웹디자인할때 태그보다는 css를 쓰는게 좋다. ●문자열 표시 - window.documnet.write() 사용한다. ex) ●window는 생략가능하다. ●'' 쓰는 이유 - 자바 스크립트를 처리하는 브라우저에서는 '//-->'이게 적용되서 주석 기호 무시하고 처리를 한다. 자바스.. 2012. 3. 21.
mySQL 페이징 쿼리문 ●limit 문 limit 0, 10 //1번째에서 10개 limit 10, 10 //11번째에서 10개 limit 20, 10 //21번째에서 10개 ●페이징 쿼리문 select * from freeboard order by idx desc limit 0,10 보통 " limit 0, 10 " 부분에서 0부분에 임의의 변수 offset을 넣어 사용한다. offset은 0,10,20...으로 증가한다. 2012. 3. 18.
jsp 기본 문법 정리4  ●${} - EL, 익스프레션랭귀지, 표현언어 ●EL식에 포함된 데이터이름은 기본적으로 어트리뷰트이름으로 해석한다. ex) request.setAttribute("R", ~~); 2012. 3. 12.
jsp 기본 문법 정리3  ●DB연동 - 자바와 DBMS를 이어주는 JDBC 드라이버를 WEB-INF밑 lib에 넣어준다. ex) Class.forName("con.mysql.jsbc.Driver"); //JDBC드라이버 로드."con.mysql~~"은 JDBC드라이버의 클래스 이름이다. Connection conn = DriverManager.getConnection("jdbc:mysql://111.111.111.111:3306/db이름", "ID", "password"); conn.close(); //DB연결 끊기 ●DB데이터 읽기 ex) Statement stmt = conn.createStatement(); //conn은 getConnection메서드가 리턴한 Connection의 객체이다. ResultSet rs = .. 2012. 3. 12.
jsp 기본 문법 정리2 ●쿠키 - 전달할 데이터를 웹브라우저에 저장했다가 웹서버 쪽으로 되돌려 받는 방법 ●세션 - 전달할 데이터를 브라우저가 아닌 웹서버에 저장해 놓고 데이터를 전달하는 방법 ●쿠키 입력 - Cookie 클래스의 객체를 만들고 addCookie 메서드를 호출한다. ex) Cookie cookie = new Cookie("A", "1"); // A는 임의의 쿠키 이름이고 1은 임의의 쿠키에 저장한 값이다 //둘다 string타입이다. response.addCookie(cookie); ●쿠키는 html 문서 앞에 쓰는게 좋다. ●쿠키 조회 - 웹브라우저가 웹서버로 url을 보낼때마다 그 url에 포함된 웹서버의 주소에 해당하는 모든 쿠키를 찾아서 웹서버로 보낸다. 쿠키를 받는 일은 getCookies메서드를 이용.. 2012. 3. 11.
jsp 기본 문법 정리1 ●JSP는 HTML문서 사이에 JSP문법코드가 삽입된 형태로 작성된다. ● - 스크립트릿, 이 안에 자바 코드 쓸수 있다. ● - 익스프레션, 자바식 출력 ● - 지시자, 웹컨테이너가 jsp 페이지를 처리할 때 필요한 정보를 기술 ● - 선언부, 변수선언이나 메서드를 선언 ●&{ } - 익스프레션 언어(EL) ●, - 액션 태그 ●서블릿 - 장점 : 복잡한 프로그램 구현에 적합하다. 컴파일 결과만 설치해도 되므로 소스코드 유출 보호 - 단점 : HTML 문서의 디자인이 바뀔때 마다 서블릿 클랫를 수정/컴파일/설치 해야하고 웹서버를 재기동하는 일을 되풀이 해야한다. 설치과정이 복잡하다. ●JSP - 장점 : HTML중심의 코드구조이므로 디자인 작업에 바로 사용가능하다. 그리고 그 일이 끝나면 바로 프로그램.. 2012. 3. 11.
JSP 프로젝트 시작하기 & DB 연결하기 ●DB연결하기 ①이클립스 하단 Data Source Explorer에서 Database Connetions를 오른쪽 버튼클릭하고 new를 누른다 ②연결할 DB를 선택한다. ③아래 그림에서 빨간색 네모안에 있는 버튼을 클릭한다. ④Name/Type에서 DB 버전을 선택한다. ⑤JAR List 에서 목록을 선택 후 먼저 'Remove Jar/Zip'버튼을 눌러 없엔다. 그리고 'Add JAR/Zip'버튼을 눌러 해당 버전에 맞는 jar를 추가해 준다. ⑥Properties에서 각 Value값을 설정해준다. 설정하고 ok버튼을 누른다. ⑦Test Connection을 누르면 제대로 연결이 되었는지 안되었는지 확인할수 있다. 제대로 연결이 되었으면 finish버튼을 누른다. ●프로젝트 시작하기 ①Project .. 2012. 3. 10.
JSP 이클립스 개발 환경 구축(세팅) 1. JDK 설치하기 2. 환경변수 설정하기 3. 톰캣 설치하기 4. 이클립스 설치하기 5. 톰캣과 이클립스 연동 ------------------------------------------------------------------------------------------------ 1. JDK 설치하기 ① http://java.sun.com 에 들어간다 ② 상단 Download에서 java se, jdk를 다운 받아 설치한다. 2. 환경변수 설정하기 ①내 컴퓨터 -> 시스템 속성 -> 고급 -> 환경변수 ②변수이름 Path에다가 jdk설치경로에 있는 bin디렉토리 경로명을 제일 앞에 추가 하고 ' ;(세미콜론) '을 붙여준다. ③잘 되었는지 확인하려면 cmd 창에서 'javac -version' .. 2012. 3. 10.
c# 기본 문법 정리5 ●using 지시어 - 뒤에 지정한 네임스페이스를 이용한다는 것을 선언 ex) using System; ●Console클래스는 System 네임스페이스에 속한다. ●스트림 - 파일의 읽기 및 쓰기에 대한 데이터의 흐름을 스트림이라 한다. C#에서는 스트림 전용 클래스에서 생성한 객체를 사용한다. 스트림 클래스를 이용하려면 'using System.IO;'를 선언해야 한다. ●예외처리 ex) try{ 예외가 발생할지도 모르는 처리 } catch(예외클래스명 변수명){ 예외 발생시 실행하는 처리 } finally{ 뒷 마무리 작업 } ●문자 읽기 ①파일 열기 - FileStream클래스를 사용하여 스트림을 만들고 StreamReader라는 읽기용 클래스에 전달 ex) FileStream fs = newStr.. 2012. 3. 8.
c# 기본 문법 정리4 ●추상클래스 - 추상메서드를 가진 클래스이다. ●추상메서드 - 처리를 명시하지 않고 호출한 쪽만 정의한 메서드 ex) abstract class A{ public abstract void Add(); // '{}'안쓰고 ';'으로 끝난다. } ●추상클래스를 상속하여 객체를 생성하려면 다음과 같이 override붙인 멤버를 준비한다. ex) abstract class A{ public abstract void add(); } class B : A{ public override void add(){ ~~ } } ●인터페이스 - 추상메서드, 추상속성, 추상인덱서, 이벤트만 멤버로 가질 수 있다. ex) interface A{ public abstract void a(); public abstract int b.. 2012. 3. 8.
c# 기본 문법 정리3 ●속성 - 객체 안에 있는 필드의 값을 취득 또는 설정하는 메서드이다. 필드를 반환하는 get엑세서와 필드에 값을 대입하는 set엑세서로 구성된다. 자바에서 setter, getter랑 비슷한 개념이다 ex) usting System; class A{ public int a; public int sok{ get{ return a; } set{ a=value; } } } A a=new A(); a.sok = 3; //따로 set, get을 표시하지 않고 그냥 입력 or 출력하면 된다. Console.Write(a.sok); ●인덱서(indexer) - 객체를 배열처럼 취급하고자 할 때 사용한다. 속성과 같이 get, set으로 구성 ex) using System; class A{ int []a = new .. 2012. 3. 7.
c# 기본 문법 정리2 ●if문 if (조건) { 내용 } else if(조건){ 내용 } else{ 내용 } ●for문 int i; for(i=0; i 2012. 3. 7.
c# 기본 문법 정리1 ●C#은 객체지향 언어이다. ● .NET Framework(닷넷 프레임워크)라는 실행환경과 조화되어 움직인다. .NET Framework가 준비되어 있으면 OS와 관계없이 동작시킬 수 있다. 자바가 JavaVM상에서 동작하는 것과 비슷한 원리이다. ●C#언어 이용 -콘솔 어플리케이션 -windows 어플리케이션 -웹어플리케이션 - C#을 웹에 이용한 것이 'asp.net'이다. ●확장자로 ' .cs ' 사용 ●C# 기본구조 ex) using System; namespace abc{ class Hello{ public static void Main(){ Console.WriteLine("HelloWorld"); } } } ●문자열 표시-Console.Write(), Console.WriteLine() 사용.. 2012. 3. 4.
프로그래밍 프로젝트 팀 구성원 ●회사와 팀마다 약간의 명칭이 다를 수 있다. 프로젝트와 회사 규모에 따라 한 팀에 수명에서 수십,수백명이 있을 수 있고, 한명이 여러개의 직무를 할 수도 있다. ①프로젝트 관리자, 프로젝트 매니저, Project Manager, PM - 프로젝트 시작부터 끝가지 프로젝트를 이끌어 간다. 프로젝트 명세서를 작성하고, 일정을 관리하고, 중요한 결정과 처리를 하고, 고객을 만나 고객 요구사항을 관리한다. ②아키텍트(Architect), 시스템 엔지니어 - 소프트웨어를 위한 전반적인 시스템 구조나 설계를 검증한다. ③프로그래머, 개발자, 코더 - 소프트웨어 코드를 작성하고 디버깅한다. ④테스터, QA(품질 보증) - 소프트웨어의 문제점과 버그를 찾아내고 보고하는 업무를 수행한다. ⑤기타 - 소프트웨어 디자이.. 2012. 3. 4.
안드로이드 액티비티의 화면 구성하기-레이아웃(layout) ●안드로이드 어플리케이션의 화면을 구성하는 뷰는 위젯(Widget)과 레이아웃(Layout)으로 나뉜다. 위젯에는 텍스트를 표시하는 TextView, 그림을 표시하는 ImageView, Button, CheckBox, RadioButton, EditText 가 있다. 위젯은 사용자의 입력을 받거나 화면에 데이터를 표시한다. 레이아웃은 위젯들을 화면에 어떻게 배치할지 결정하는 컨테이너 역할을 한다. 레이아웃은 뷰를 상속받은 위젯을 포함할 수 있기 때문에 뷰그룹(ViewGroup)이라고도 한다. ●일반적으로 윈도우 응용 어플리케이션의 경우 레이아웃을 작성할 때는 구성요소를 마우스로 끌어 드로그앤 드롭으로 원하는 좌표에 놓는 방식으로 화면을 구성하는데, 안드로이드는 주로 상대적인 위치를 지정하여 레이아웃을 지.. 2012. 3. 1.
안드로이드 인텐트(intent) 개념 정리 ●인텐트(intent) 개념 - 어플리케이션 구성요소를 호출하거나 메시지를 보낼 때 사용하고, 정보의 형태에 따라 명시적 인텐트(Explicit Intent)와 암시적 인텐트(Implicit Intent)로 나뉜다. ●인텐트가 포함할 수 있는 정보의 종류 ① 컴포넌트의 이름 - 호출할 액티비티, 서비스나 메시지를 보낼 브로드캐스트 리시버 등의 이름을 포함한다. 이때 인텐트를 받을 대상 컴포넌트의 이름을 직접 입력하면 명식적 인텐트이다. ② 액션(Action) - 인텐트를 통해 수행할 동작을 지정하거나 브로드캐스트 메시지일 경우 특정 상태를 의미한다. 안드로이드의 기본 액션 외에 사용자가 액션을 만들어 사용할 수도 있다. 인텐트는 하나의 액션만을 가진다. ex) 액션 대상 컴포넌트 의미 android.in.. 2012. 2. 26.
안드로이드 매니페스트(manifest) ●매니페스트(AndroidManaifest.xml) - 매니페스트는 어플리케이션의 각종 정보를 저장하고 있는 신분증같은 역할을 한다. ●메티페스트의 구성 ① 태그 - 어플리케이션에 대한 전반적인 정보들을 포함한다. xmlns:android는 항상 다음과 같은 네임스페이스를 지정해야한다. packpge는 어플리케이션의 패키지 이름을 지정한다. android:versionCode는 어플리케이션의 버전코드이다. android:versionName는 어플리케이션 버전이다. ex) ② 태그 - 어플리케이션의 이름, 아이콘등을 정의한다. android:icon은 어플리케이션의 아이콘을 지정한다. android:label은 어플리케이션의 이름을 지정한다. 태그는 아휘요소로 어플리케이션의 구성요소(액티비티, 서비스, .. 2012. 2. 25.
안드로이드 액티비티(Activity)  ●액티비티 - 액티비티는 어플리케이션의 한 화면을 뜻한다. 액티비티는 보통 하나의 소스코드만으로 구성되지 않고 액티비티의 화면을 구성하는 것은 레이아웃 파일에서, 액티비티의 동작을 처리하는 것은 소스코드에서 이루어 진다. ●액티비티의 상태(Activity State) ①활성(Active) - 액티비티가 현재 화면에 표시되고 있는 상태이며, 사용자와 상호작용이 가능하다. ②일시정지 - 액티비티가 화면에 표시되고 있지만 사용자와 상호작용은 하지 못하는 상태이다. ③정지 - 홈화면으로 나가거나 다른 액티비티에 의해 가려져서 화면상에서 아예 보이지 않게 된 상태이다 ●액티비티 생애주기(Activity Lifecycle) - 안드로이드에서는 액티비티의 효율적인 관리를 위해 액티비티의 상태 변화가 일어날 때마다.. 2012. 2. 23.
안드로이드 리소스(Resources) ●리소스 - 어플리케이션에 사용하는 소리, 이미지, 레이아웃, 문자열 등이다. 리소스는 소스코드와는 별도로 존재하며 각각을 수정해도 서로에게 영향을 미치지 않는다. 리소스의 종류에 따라 저장 위치가 다르다. ●소스코드에서 리소스 참조하기 - 프로젝트에 리소스를 추가하면 각 리소스의 id가 자동으로 생성된다. " R.리소스종류.리소스이름 " 를 사용하여 참조할 수 있다. -프로젝트 내의 리소스 외에도 시스템마다 통일성을 유지하기 위해 " android.R.리소스종류.리조스이름 "으로 안드로이드 시스템을 참조할 수 있다. ex) R.string.abcd //이름이 abcd인 문자열 R.layout.main //이름이 main인 레이아웃 R.id.text //id가 text인 리소스 android.R.id.t.. 2012. 2. 23.
안드로이드 어플리케이션 구성 요소(개발 환경 관점)  ●자바코드 ① src - 액티비티, 서비스, 콘텐트 프로바이더,브로드캐스트 리시버 등 어플리케이션 구성요소와 어플리케이션에서 사용되는 클래스의 코드가 저장되는 곳이다. ② gen - 그림, 음악,문자열 등 여러 리소스를 자바 코드에서 사용하려면 해당 리소스를 참조할 수 있는 주소가 있어야 한다. 이클립스 플러그인인 ADT에서는 리소스를 참조할 수 있는 주소를 생성한 후, 이 값들을 리소스 종류에 따라 나누어 R.java로 생성해 준다. R.java는 리소스가 바뀔때 마다 ADT가 자동으로 생성하는 파일이므로, 개발자가 직접 수정할 필요는 없다. ●리소스 - 리소스는 음악, 그림, 문자열 등으로 리소스 이름은 영어 소문자, 숫자, 밑줄(_), 마침표(.)만 사용가능 ①drawable - 어플리케이션에서.. 2012. 2. 22.
안드로이드 어플리케이션 구성요소(이론적 관점) ●액티비티(Activity) - 어플리케이션의 한 화면을 의미한다. 액티비티는 액티비티의 상태와 액티비티의 생애주기에 따라 생성되거나 소멸된다. 그래서 액티비티의 상태와 생애주기에 대해 잘 알고 있어야만 빠르고 효율적인 어플리케이션을 만들 수 있다. ●서비스(Service) - 화면에 표시되는 액티비티와 달리 서비스는 백그라운드에서 실행된다. 예를 들어 화면이 꺼지거나 다른 어플을 띄워도 계속 재생되는 음악같은게 있다. 음악 재생 부분을 서비스에 구현해야 액티비티의 동작과 상관없이 음악을 계속 재생할 수 있다. 서비스는 자신의 동작 여부를 알림 메시지나 토스트를 통해 사용자에게 알린다. ●알림 메시지(Notification) - 알림 바, 알림 패널, 소리, 진동,led점멸 등을 통해 사용자에게 특정 이.. 2012. 2. 22.
안드로이드 가상 단말기 만들기(에뮬레이터와 avd 설정) 1. Opens the Android Virtual Device Manager 클릭 2. new 버튼 클릭후 필요한 정보 입력후 create AVD 버튼 클릭 - name에는 avd 이름 입력 - target에는 avd에서 사용할 sdk 버전 지정 - sd card에는 에뮬레이터에서 사용할 가상의 sd카드 설정 - built-in에는 단말기의 해상도 설정 - hardware에는 avd의 하드웨어 특성을 지정(카메라 지원, gps지원 여부 등) 3. AVD 실행 - avd를 실행하는 방법은 크게 두 가지이다. 하나는 SDK and AVD Manager(또는 Android Virtual Device Manager)에서 실행하는 것, 다른 하나는 어플리케이션을 작성한 후 run 메뉴를 통해 실행하는 것이다. .. 2012. 2. 21.
An error occurred while collecting items to be installed 'Installing software' has encountered a problem. An error occurred while collecting items to be installed 이클립스 상단 메뉴 'help -> install new software'에서 안드로이드 adt설치할때 나타난 오류입니다. 이때는 Available Software Site클릭하고 Available Software Sites 탭을클릭해서 설치할 항목만 남기고 모두 체크를 해제하고 ok버튼누르고 다시 설치하면 됩니다 2012. 2. 20.
c++ 기본 문법 정리4 ●템플릿 함수 - 인수나 반환값의 형을 모호한 상태로 정의하는 함수. 템플릿 함수의 기능을 사용하면, 복수의 형에 대응하느 함수를 만들 수 있다. 컴파일러는 템플릿 함수를 호출하는 부분을 발견하면, 이것들을 구체적인 함수로 만든다. ex) template T Aaa(T a, T b){ //템플릿 인수(T) 부분에 int형이나 double등 자료형이 치환된다. T buf; ~~ } int a=100, b=200, c; c=Aaa(a, b); //템플릿 인수가 int로 치환 ●템플릿 함수의 이용 - 템플릿 함수를 이용하면 내용은 거의 동일하지만 형이 다른 함수를 하나로 만들 수 있다. ●템플릿 클래스 - 사용하는 형을 모호한 상태로 정의하는 클래스. 템플릿 클래스 기느을 사용하면 복수의 형에 대응하는 클래스.. 2012. 2. 17.
c++ 기본 문법 정리3 ●new 연산자 - 오브젝트를 동적으로 생성할 때 사용 ex) A *a; a=new A; A *a=new A; ●delete 연산자 - new연산자로 확보한 메모리는 delete연산자로 해체해야한다. ex) A *a=new A; delete a; ●new, delete를 이용해서 int형 등의 메모리 확보, 해체 ex) int *a=new int; delete a; //malloc,free를 쓸경우 int *a=(itn *)malloc(sizeof(int)); free(a); ●malloc()함수보다 new연산자를 사용하는 것이 간단하기 때문에 권장 ●new연산자를 이용한 배열용 메모리 확보, 해체 ex) a=new[10]; //[]안에 숫자 적어야 함 delete []a; //delete뒤에 '[]'기.. 2012. 2. 17.
c++ 기본 문법 정리2 ●c언어에서는 배열사이즈를 정의할 때 상수선언을 #define으로 했지만, c++에서는 const로 할 수 있다. 가능한 const를 사용하는게 좋다 ex) c언어 #define B 10 int main(){ int b[B]; } c++ int main(){ const int B; int b[B]; } ●함수의 디폴트 인수 설정 - 거의 매번 같은 값을 가지지만 가끔씩 변경해야할 경우에 사용하면 편리 ex) 프로토 타입에서 설정 double A( int a=1, double b=3.1); 함수 정의에서 설정 double A( int a=1, int b=3.1){ ~~ } ●디폴트 인수 설정된 함수 호출 ex) double area; area=A(); //아무 것도 없으면 디폴트인수로 된다 area=A(1.. 2012. 2. 16.
c++ 기본 문법 정리1 ●c++은 객체지향 프로그래밍 언어이다 ●확장자는 '.cpp' 사용 ●c++ 기본구조 ex) #include int main(){ std::cout 2012. 2. 16.
반응형