파이썬에 있는 리스트조건 제시법(list comprehension)은 필터링하거나 함수를 적용하여 한 리스트를 다른 리스트로 변환하는 편리한 방법이다. 리스트 조건 제시법은 다음과 같다. [expression for variable in list] 또는: [expression for variable in list if condition] 예를들어 설명하면 l1 = [1, 2, 3, 4, 5, 6, 7, 8, 9] print [v*10 for v in l1 if v>4] 은 다음과 같은 리스트를 출력한다. 리스트 조건제시법은 전체 리스트에 또는 일부 나쁜 항목을 제거할 때 함수를 제공하는 꽤나 깔끔한 방법이다. 딕셔너리를 생성하는 dict생성자를 사용하여 활용할 수도 있다. l1 = [1, 2, 3, 4,..
순수 가상 메소드(pure virtual method)는 다음과 같이 선언한다. virtual void a() = 0; 순수 가상 메소드가 선언된 클래스에서는 실제 코드는 없이 단지 메소드의 이름만 존재하며, 실제 상속받은 클래스에서 새로 정의하여 사용한다. 추상 클래스(Abstract Class)는 이러한 순수 가상 메소드를 하나 이상 가지고 있는 클래스를 말하며, 추상 클래스라는 이름과 같이 실제 메모리에 인스턴스화 되어 저장되는 것이 아니기 때문에 이를 구현하려면 자식(파생)클래스를 이용해 구체화 하는 작업이 필요하다. 따라서 추상 클래스를 사용해 직접 객체를 생성하려고 하면 바로 컴파일 오류가 발생한다. 참고: Do it! bada 모바일 프로그래밍 by 여인춘
2011-07-24 두 단계 생성자(2-phase consstruction) - 메모리 누수를 막기 위함 동적메모리의 할당과 해제 - 메소드 이름 뒤에 N이 붙어있으면 그 메소드는 내부에 동적할당을 한다. 예외처리 - result 타입 - GetLastResult()함수 이용 인터페이스 - 클래스의 첫번째 문자가 I로 시작 e.g. IActionEventListener - 인터페이스클래스는 추상클래스 이기 때문에 메소드들은 순수 가상 메소드이다. 2011-08-15 크게 Form과 Panel을 상속받아 class를 만들 수 있음 panel에서는 list관련 이벤트리스너를 상속받을 수 없음 보통 여러개의 폼을 가진 프로그램을 만들 때, mainform을 두고 mainform에서 다른 폼들을 관리해야함. 폼..
바다 플랫폼에서 앱의 실행과정이다. 앱이 시작될때는 프로젝트 이름으로 된 파일(e.g. 프로젝트가 TestApp 일 때 src/TestApp.cpp)내에 OnAppInitializing()함수를 호출한다. 바다 플랫폼에서 앱이 종료되는 경우는 다음과 같다. - 바다 앱의 코드 내에서 Application::Terminate() 함수를 호출하는 경우. 이 경우는 앱 자체에서 자신의 종료를 알고 시스템에 자신의 앱 종료를 요청하는 경우이다. Terminate()> - 앱이 포그라운드 상태에 있는데, 사용자가 END키를 눌러 실행중인 앱을 종료하는 경우. - (바다 SDK1.2.1의 경우 아직 멀티태스킹지원이 안됨) 어떤 앱이 실행중일 때 다른 앱을 실행시키면 첫번째 실행중인 앱이 종료되고, 두번째 앱이 실행..
객체 지향 언어가 아닌 C언어만 아는 상태라면 static const와 const의 차이점에 대해 잘 모를 수 있다. static const는 객체 지향 언어에 해당하는 C++과 같은 프로그래밍 언어에서 자주 사용하는 상수 선언 방법이다. 그렇다고 일반적으로 C언어에서 사용하는 const를 사용하지 않는것은 아니다. const도 사용하고 static const도 사용한다. 이 두 상수선언방법에는 여러가지 차이점이 있는데, 가장 대표적인 차이점은 C++에서 const를 사용하면, 해당 클래스 내부에서만 인식할 수 있다는 점이다. 예를들어, People이라는 클래스에서 const int height = 180 을 선언했다면 이 height 멤버변수는 오직 People클래스 내부에서만 인식할 수 있다. 그럼 ..
임베디드 프로그램을 개발하기 위해서는 반드시 크로스컴파일러가 필요하다. 크로스 컴파일러는 프로그래밍 소스코드를 개발대상 임베디드 시스템에 맞게 컴파일해서 바이너리 파일로 만들어주는 역할을 한다. 윈도우가 설치되어 있는 PC에서 사용하는 C컴파일러는 크로스 컴파일러라고 표현하지 않는다. 즉 MS의 Visual Stuidio.NET은 크로스 컴파일러 도구가 아니다. 크로스 컴파일을 해야 하는 이유는 우리가 소스코드를 개발하기 위해 사용하는 윈도우가 설치된 컴퓨터와 실제 개발된 실행파일이 실행될 임베디드 시스템은 확연히 다른 기계이기 때문이다. 따라서 임베디드 시스템을 위한 프로그래밍을 하기 위해서는 임베디드용 컴파일러를 별도로 설치해야 하는데, 이러한 컴파일러를 크로스 컴파일러라고 한다. 예륻들어 설명하면 ..
컴파일(compile)이란 개발자들이 특정한 프로그래밍언어(예를들어 C, C++, Object-C등)을 사용해서 컴퓨터가 이해할 수 있는 기계어 코드(이진코드)로 변환하는 작업을 일컫는다. 좀더 정확하게 말하면, 컴퓨터와 그 컴퓨터에 설치되어 있는 운영체제가 이해할 수 있는 기계어 코드로 변환하는 일이다. 따라서 동일한 컴퓨터라 할지라도 윈도우가 설치되어 있는 컴퓨터와 리눅스가 설치되어 있는 컴퓨터는 같은 애플리케이션이라도 컴파일된 결과물은 다르다. 또한, 컴파일해서 생성된 기계어코드만으로 바로 컴퓨터에서 실행될 수는 없다. 그 이유는 대부분의 애플리케이션들은 사용자가 프로그래밍한 소스 코드도 있지만, 상당히 많은 부분들이 라이브러리 형태로 제공되기 때문이다. 예를들어, C프로그래밍을 할 때 키보드를 누..
- Total
- Today
- Yesterday