제임스딘딘의
Tech & Life

2017/05 8

[안드로이드] 펜딩인텐트 (Pending Intent)

안드로이드의 펜딩인텐트 (Pending Intent) 펜딩인텐트 (Pending Intent) 는 인텐트의 일종이다. 그러면 일반 인텐트와의 차이점은 무엇인지 알아보는 것부터 시작해보자. 컴포넌트에서 다른 컴포넌트에게 작업을 요청하는 인텐트를 사전에 생성시키고 만든다는 점과 "특정 시점"에 자신이 아닌 다른 컴포넌트들이 펜딩인텐트를 사용하여 다른 컴포넌트에게 작업을 요청시키는 데 사용된다는 점이 차이점이다. 수행시킬 작업 및 인텐트(실행의도)와 및 그것을 수행하는 주체를 지정하기 위한 정보를 명시 할 수 있는 기능의 클래스라고 보면 된다. 이해하기 쉽게 말하자면, 아래와 같이 하고 싶을때 사용할 수 있는 것이다. A한테 이 B인텐트를 C시점에 실행하라고 해. 지금은 실행하지 말고. 이 클래스의 인스턴스는..

[안드로이드] 안드로이드 Wi-Fi를 앱에서 소스 코드(API)로 끄고 켜는 방법

안드로이드 Wi-Fi를 코드(API)로 끄고 켜는 방법종종 앱을 개발하다보면, Wi-Fi를 앱에서 프로그램으로 제어 하고 싶을 때가 있다.안드로이드 장치의 Wi-Fi를 사용자의 터치 입력이 아니라, 자신이 개발중인 앱의 소스 코드 상에서, API호출을 하여 끄거나 켜는 방법을 알아보자. 우선, 아래와 같이 Wi-Fi 관련 권한들을 매니페스트 파일(AndroidManifest.xml)에 선언해야 한다. 이제 간단히 예제를 만들어 보겠다.Enable 및 Disable 기능을하는 2개의 버튼을 가진 간단한 샘플 앱을 만들 것이다. 우선, 간단히 아래와 같이 xml을 통해 Layout을 만든다. 파일이름은 activity_main.xml 으로 했다. 그리고 AndroidManifest.xml 은 아래와 같이 했..

[안드로이드] 안드로이드 Activity

안드로이드 액티비티란?Activity는 일종의 애플리케이션 구성 요소로서, 사용자가 전화 걸기, 사진 찍기, 이메일 보내기 또는 지도 보기 등의 일을 하기 위해 상호작용할 수 있는 화면을 제공한다.액티비티마다 창이 하나씩 주어지며, 안드로이드 앱 개발자는 이곳에 UI(사용자 인터페이스)를 구현하게된다. 이 창은 일반적으로 화면을 가득 채우지만, 작은 창으로 만들어 다른 창 위에 띄울 수도 있다. 하나의 애플리케이션은 보통 여러 개의 액티비티가 느슨하게 서로 묶여 있는 형태로 구성된다. 통상 한 애플리케이션 내에서 하나의 액티비티가 "Main" 액티비티로 지정되며, 사용자가 이 애플리케이션을 처음 실행할 때 이 "Main"으로 지정된 액티비티가 사용자에게 최초로 보여지게 된다. 각각의 액티비티는 여러 가지..

[독서] 아키텍트 이야기

아키텍트 이야기 지은이 : 야마모토 케이지출판사 : 인사이트출판년 : 2007년 나는 10년후에 개발자로 살아남기 위해선 아키텍트가 되어야 된다는 말에 공감이간다.최고 개발자로서 시스템을 전반적으로 다루며 문제의 근원을 해소하고 프로젝트를 기술적으로 이끌어나가는이상적인 개발자로서의 모델이 될수 있다. 아직 현실에서는 그 사람의 능력보다는 이력을 중시 여기지만 점점 효율과 효과를 중시하는 분위기로 가고 있기때문에 능력을 갖추고 준비해 나간다면 충분한 가능성이있다. 아키텍트가 되기위해선 두가지 능력이 선행되어야 한다.. 소프트웨어의 설계, 프로그래밍 능력이다. 이두가지는 단시간내에 끌어올릴수 있는 능력이 아니다.많은 프로젝트의 경험과 자기 수양이 뒷받침되어야한다.그러기 위해선 지금 주어진 일에 안주하지 말고..

NULL ptr/ NULL ptr 2017.05.10

기발하고 어려운 구글의 면접시험 문제들

기발하고 어려운 구글의 면접시험 문제들 미국의 비즈니스 잡지 중 하나인 ‘비즈니스 인사이더(Business Insider)’는 구글의 면접 질문 중 답이 있는 질문들에 대해 모범답안을 제시했다. 다음은 그 중 일부이다. 질문의 의도가 무엇이고 면접자의 어떤 능력을 보려고 한 것인지에 대한 설명(☆)과 함께 모범답안(→)을 예시했다. Q: A나라 사람들은 모두 아들을 극단적으로 선호해서 아들을 가질 때까지 계속해서 아이를 낳습니다. 아들을 가지면 아이 낳기를 중단하고, 딸을 낳으면 아들을 가질 때까지 계속 아이를 낳습니다. 이 나라에서 아들과 딸의 비율은 어떻게 될까요? ☆상당한 논란을 낳을 수 있는 질문입니다. 그러나 논리적 절차에 따라 비율을 계산하면 의외로 간단합니다. →답은 50대 50으로 같습니다..

NULL ptr/ NULL ptr 2017.05.10

[네트워크/프로토콜] BOOTP 에 대해서. BOOTP 패킷 형식(BOOTP Packet Format)

BOOTP 에 대해서. BOOTP 패킷 형식(BOOTP Packet Format) 위의 BOOTP 특성에서 알아봤듯이, BOOTP에서 정보를 교환한다는 것은 클라이언트가 보낸 요청과 서버가 보내는 답장 쌍을 이루는 것이다.BOOTP도 일반적인 다른 '요청 / 응답 프로토콜'들과 마찬가지로 요청 및 응답에 사용되는 공통된 메시지 형식을 정의해서 사용하고 있다. 구현하기 나름이겠지만, 일반적으로 클라이언트는 요청메시지의 크기만큼의 메모리 공간을 모두 0으로 초기화 하는 것 부터 시작한다.그런 다음 이전 항목에서 보았던 것처럼 각각의 메시지 필드를 채운 다음 요청을 서버로 보낸다. 사실 역시 구현하기 나름이겠지만, 일반적으로 서버측은 메세지를 처음부터 다시 작성하지 않고, 클라이언트로 부터 받은 요청을 메모리..

[네트워크/프로토콜] BOOTP 에 대해서. BOOTP 클라이언트/서버의 메세지전송과 주소설정 방법

BOOTP 에 대해서: BOOTP 클라이언트/서버의 메세지전송과 주소설정BOOTP는 다양한 장치에 사용할 수 있지만, 최초 개발의 주된 동기 중 하나는 저장 장치가 없는 "멍청한"장치를 자동으로 구성하는 방법을 제공하는 것이었다.대부분 이러한 멍청한 장치들은, 비교적 제한된 기능만을 가지고 있기때문에, 근사한 부팅 프로토콜을 지원하도록 요구하는 것은 사실 말이 되지않았다.따라서 BOOTP는 복잡한 개념이나 근사한 개념 혹은 근사한 구현 요구사항 없이, 호스트 구성을 수행하는 복잡하지 않은 프로토콜이다. BOOTP 클라이언트 및 서버다른 많은 TCP / IP 프로토콜과 마찬가지로 BOOTP는 실제로 클라이언트 / 서버이다.프로토콜의 작동은 BOOTP 클라이언트와 BOOTP 서버 간의 단일 메시지 교환으로 ..

1