Connecting Life and Technology

기술과 일상 사이를 잇는 워킹맘 기획자의 큐레이션( A Working Mom's Curation)

Study(아카이브) 87

안드로이드 서비스

* 서비스: 유저와 상호작용없이 장시간동안 백그라운드로 동작하는 애플리케이션 컴포넌트 각 서비스 클래스는 패키지의 AndroidManifest.xml에 자신과 일치하는 태그가 있어야 한다. 서비스는 Context.startService()나 Context.bindService()로 시작할 수 있다. * 비활성 액티비티보다 더 높은 우선순위를 갖는다. * 서비스의 시작과 종료는 다른 서비스, 액티비티, 브로드캐스트 수신자를 포함한 다른 애플리케이션으로부터 조작이 가능 * 인텐트 오브젝트를 받을 수 있는 시점: onStart(), onBind(), onUnbind() Service Lifecycle Changes 안드로이드 플랫폼과 Service 간 상호작용시 서비스가 정상 종료되지 않고 백그라운드에 남아 ..

누가 소프트웨어의 심장을 만들었는가?

광야의 외침: 선지자의 시대 Alan Turing(1911~1954) : 현대 컴퓨팅의 아버지 컴퓨터의 실체가 존재하지 않았던 20세기 초반, 대부분의 사람들은 특정한 일이나 계산을 자동으로 수행하는 기계를 만들려면 매번 그에 맞는 새로운 기계가 필요하다고 생각했다. 그리고 그들을 동작시키려면 기계 외부의 스위치나 버튼, 선, 천공 카드 등을 조작하여 기계에게 명령을 내려야 한다고 가정하였다. 1930년대, 겨우 20대였던 앨런 튜링은 현대 컴퓨터와 프로그램이 동작하는 원리가 설명된 추상적인 수학 모델을 세상에 내놓았다. 그것이 바로 '튜링 머신(Turing Machine)'이다. 그 결과 존 폰 노인만(John von Neunman)을 비롯한 과학자들은 수많은 계산 방식을 자동으로 수행하는 디지털 컴퓨..

Study(아카이브) 2011.03.02

컴파일, 오브젝트 파일, 링킹, 재배치: C 프로그램 빌드 프로세스 정리

본 문서는 C 프로그램이 실행 파일로 생성되는 과정을 GNU C Compiler(gcc)를 기준으로 정리한 자료입니다. 1. 컴파일 과정 (Build Process)C 코드가 실행 파일로 변환되기까지 다음과 같은 단계를 거칩니다.1.1 전체 빌드 흐름test.c → (전처리) → test.i → (컴파일) → test.s → (어셈블) → test.o → (링킹) → test (실행 파일)1.2 각 단계 설명전처리(Preprocessing): #include, #define 지시문을 처리하여 결과 파일(.i)을 생성합니다.컴파일(Compilation): 전처리된 코드를 어셈블리 코드(.s)로 변환합니다.어셈블(Assembly): 어셈블리 코드를 기계어로 변환하여 오브젝트 파일(.o)을 생성합니다.링킹(L..

운영체제가 있는 경우의 main() 호출과정

C코드를 컴파일하면 실행파일이 생성 >> 생성된 실행 파일은 하드디스크(HDD)에 저장 실행파일 시작 >> 실행 파일의 헤더를 읽어서 실행 파일의 종류를 파악 & 사용할 핸들러를 결정함 * 핸들러 : 각 섹션에 대한 정보를 해석, 필요한 데이터들을 RAM에 로드 프로그램 코드와 상수가 있는 Text 세션 >> Text 세그먼트로 초기화된 데이터가 있는 data 세션 >> data 세그먼트로 로드 오브젝트 파일은 코드나 데이터의 종류 별로 영역을 나누어 관리 >> 이 영역을 섹션이라고 함 프로그램이 실행될 때는 실행 가능한 오브젝트 파일의 섹션들이 RAM에 로드 됨 이때 RAM에 로드된 각 메모리 영역을 세그먼트라고 함. Data 세그먼트를 할당한 다음 bss세그먼트를 할당 초기화되지 않은 전역 데이터들은..

Generic

 JDK1.5가 발표되면서 언어 자체의 기본 문법적인 부분에서 몇가지 기능이 추가됐다. Generics는 Collection Framework와 관련된 기능으로 Collection에 저장하는 객체의 타입을 컴파일시에 체크하기 때문에 객체의 타입 안정성을 높이고 꺼낼 때는 자동으로 형변환해주기 때문에 편리하다. 참고) 타입안정성을 높인다는 것은 의도하지 않은 타입의 객체를 저장하는 것을 막고, 저장된 객체를 꺼내올 때 원래의 타입과 다른 타입으로 형변환되어 발생할 수 있는 오류를 막아준다는 뜻 Collection에 저장할 객체의 타입을 지정하기 위해 아래와 같이 한다. - Collection에 저장할 수 있는 객체는 지정한 타입의 객체뿐이다. Collection Class = new CollectionC..

Java Callback Function

Native 계층에서 Java 계층에게 뭔가를 요청할 때 쓰인다. jni_send_str(const char * text) Java에게 문자열 메시지를 보낸다(주로 디버깅을 목적으로 함) 이 함수는 우선 현재 스레드를 Java VM에 붙인다. JNI Native 구현 바깥의 C 함수에서 JNI를 호출하려면 이러한 스레드 부착 단계가 꼭 필요하다. 그런 다음에는 Java 클래스 opengl.jni.Natives.java를 적재하고 opengl.jni.Natives.OnMessage(String) Method 를 호출한다.

728x90
반응형