Presentation from #andevcon by Anna Schaller
Peter van der Linden, Android Technology Evangelists from the Developer Platforms and Services team at Motorola Mobility. More info at http://developer.motorola.com
커넥티드 앱을 개발하는 가장 완벽한 플랫폼 RAD Studio XE8의 새로운 기능들을 정리한 발표자료입니다.
iOS 유니버셜 앱, 비콘, Box2D 등 소프트웨어 개발자라면 요즘 가장 많은 관심을 가지고 있을 IT기술들이 RAD Studio에 어떻게 적용되었는지 확인해보세요.
모든 게임 서비스에는 공통으로 구현해야 할 기능들이 있습니다. 대표적으로 채팅과 로그인, 접속 대기열 등이 있습니다. 시리즈 #2에서는 이런 기능들을 AWS의 서버리스 서비스로 구현하는 방법을 알아보겠습니다. 새 게임을 개발할 때마다 중복으로 구현하지 않고, 마이크로 서비스 아키텍처를 활용하는 방법들도 이론과 실습을 통해 알아봅니다.
1부: [Amazon ElasticCache, AWS Lambda, AWS IoT-Core] 게임채팅을 AWS에서 구현해보자!
2부: [Amazon SQS, Amazon Cognito, AWS Dynamo DB] AWS에서 대규모 로그인과 접속 대기열을 구현해보자!
Presentation from #andevcon by Anna Schaller
Peter van der Linden, Android Technology Evangelists from the Developer Platforms and Services team at Motorola Mobility. More info at http://developer.motorola.com
커넥티드 앱을 개발하는 가장 완벽한 플랫폼 RAD Studio XE8의 새로운 기능들을 정리한 발표자료입니다.
iOS 유니버셜 앱, 비콘, Box2D 등 소프트웨어 개발자라면 요즘 가장 많은 관심을 가지고 있을 IT기술들이 RAD Studio에 어떻게 적용되었는지 확인해보세요.
모든 게임 서비스에는 공통으로 구현해야 할 기능들이 있습니다. 대표적으로 채팅과 로그인, 접속 대기열 등이 있습니다. 시리즈 #2에서는 이런 기능들을 AWS의 서버리스 서비스로 구현하는 방법을 알아보겠습니다. 새 게임을 개발할 때마다 중복으로 구현하지 않고, 마이크로 서비스 아키텍처를 활용하는 방법들도 이론과 실습을 통해 알아봅니다.
1부: [Amazon ElasticCache, AWS Lambda, AWS IoT-Core] 게임채팅을 AWS에서 구현해보자!
2부: [Amazon SQS, Amazon Cognito, AWS Dynamo DB] AWS에서 대규모 로그인과 접속 대기열을 구현해보자!
MONTHLY HANDS는 스마트TV 산업의 동향을 공부하고 분석하여 엮어내는
handstudio의 월간 정기 간행물입니다.
바야흐로 ‘터치의 시대’ 이지만, TV는 터치 하기엔 ‘가까이 하기엔 너무 먼 당신’ 입니다.
현재 스마트TV 시장의 양대 산맥인 삼성과 LG의 고민 중,
적어도 ‘어떻게 더 편리하게 컨트롤할까?’ 가 포함되어 있는 것만은 확실합니다.
MONTHLY HANDS 4월호에서는
스마트TV 입력장치의 변화와
이를 활용한 애플리케이션의 소식들을 고루 담았습니다.
MOTHLY HANDS와 함께 기쁘고, 유익한 봄날 되셨으면 좋겠습니다.
감사합니다.
The document discusses Android's Sensor Manager and how it works with sensors. It covers the SensorManager class, which allows apps to access sensor data, and the SensorEventListener interface that apps must implement to receive sensor updates. It also lists some of the different types of sensors available on Android devices like accelerometers, gyroscopes, and light sensors.
This document discusses BroadcastReceivers in Android. A BroadcastReceiver is an intent-based publish-subscribe system that allows apps to receive system events like SMS messages. BroadcastReceivers can receive and react to system broadcasts, broadcasts from other apps, and initiate broadcasts to other apps. They are registered either dynamically in code or statically in the AndroidManifest.xml file. Broadcasts are sent using the sendBroadcast or sendOrderedBroadcast methods and an Intent. Ordered broadcasts are executed in a defined order while normal broadcasts run asynchronously. The BroadcastReceiver object is only valid during the onReceive method call.
1. The document discusses the Android application lifecycle and how activities can transition between different states like onCreate, onStart, onResume, onPause, onStop, and onDestroy.
2. It also covers the activity lifecycle methods and how they relate to different states, as well as how to save and restore activity instance states.
3. Additionally, it provides comparisons between the Android and Windows lifecycles and messaging systems, and introduces concepts like handlers, loopers, threads, and the context class in Android.
This document provides an overview of cloud computing fundamentals. It defines cloud computing as on-demand access to configurable computing resources over the internet. The document discusses key cloud concepts like deployment models (private, public, hybrid, community clouds), service models (IaaS, PaaS, SaaS), and requirements for cloud services. Popular cloud providers like AWS, Azure, Google Cloud are presented for each service model. Benefits of cloud computing are also highlighted such as reduced costs, flexibility, and global access to resources.
This document summarizes the analysis of bias for a BJT (bipolar junction transistor) circuit. It includes:
1. An overview of different BJT amplifier configurations - common emitter (CE), common base (CB), and common collector (CC).
2. A description of the bias point as the quiescent operating point in the active mode.
3. An analysis of the bias for a CE amplifier using a Thevenin equivalent circuit and equations for the base-emitter loop and collector-emitter loop to solve for collector current and CE voltage.
4. Guidelines for selecting resistor values in the bias network, including RB being greater than 10kΩ, RE being
This document discusses the different cloud service models of Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). IaaS provides basic computing resources like servers and storage. PaaS provides development tools and platforms for building applications. SaaS provides complete software solutions that are accessed via the internet. Popular providers for each service model are also mentioned.
1. The document discusses different cloud deployment models including private, public, community, and hybrid clouds.
2. Private clouds can be either on-premise or outsourced to a third party, and provide a high level of security but have constraints around budget and SLAs.
3. Public clouds are highly scalable and affordable but have challenges around security, data privacy, and organizational autonomy.
This document discusses cloud computing architecture and concepts. It covers the different layers of a cloud architecture including the user/client layer, network layer, cloud management layer, hardware resource layer, and components including applications, platforms, infrastructure, virtualization, and physical hardware. It also discusses public cloud access and networking, the drawbacks of traditional web applications compared to cloud applications, and key features of cloud computing such as elasticity.
1. 1
2017 Mid-term Examination (100)
Architecting Smart Devices
Date: 2017-10-19
1. 요즘 Voice UX (음성 사용자 경험)를 채택한 다양한 Smart Device가 출시되고 있다.
기술 개발이 진행 중인 Voice UX의 장단점을 논리적으로 쓰시오. (20)
- 장점: 특별한 사용법 학습 없이 대화를 통해 장치를 제어할 수 있음, 사용자 의도를
종합하여 가장 적절한 장치 반응을 생성할 수 있음, 장치를 개인 비서 형태로 사용할
수 있음
- 단점: 음성을 매개로 장치를 제어하기 때문에 소음이 크거나 여러 사람이 있는 경우
는 사용이 어려움, 음성을 넘어선 문맥 이해가 필요하지만 현재 기술력이 이를 따라가
지 못함
2. Android OS 기능을 이용해 아래 작업을 할 수 있는 Code를 작성하시오. Code는 짧
을수록 가산점 반영; Permission은 고려하지 말 것. (30)
1) SMS 기능을 직접 사용하여 “010-1234-5678” 전화번호로 “Hello, world.” 문자열 전
송
SmsManager.getDefault().sendTextMessage(“010-1234-5678”, null, “Hello, world.”, null,
null);
2) “010-1234-5678”로 직접 전화 걸기
startActivity(new Intent(Intent.ACTION_CALL, Uri.parse(“tel:010-1234-5678”)));
3) 연락처 정보를 선택할 수 있는 Activity 띄우기
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setData(ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
startActivityForResult(intent, 1234);
2. 2
3. BroadcastReceiver에 대해 다음을 답하시오. Code는 짧을수록 가산점 반영. (30)
1) BroadcastReceiver에서 IntentFilter를 사용하는 이유를 논리적으로 설명하시오. (10)
BroadcastReceiver는 다양한 종류의 Global Message를 수신할 수 있어, CPU와 Battery
사용에 불리한 점으로 작용할 수 있다. 이를 효과적으로 해결하려면 우리가 필요로 하
는 Intent만 선별적으로 수신해야 한다. 따라서 Intent Filtering 기능을
BroadcastReceiver에 적용하는 것이 효율적이다.
2) MyBroadcastReceiver가 이미 정의된 경우, “SMS_SENT” Action을 수신할 수 있는
BroadcastReceiver를 등록(Register)하는 Code를 작성하라. (20)
MyBroadcastReceiver myRx;
myRx = new MyBroadcastReceiver;
registerReceiver(myRx, new IntentFilter(“SMS_SENT”));
4. Button을 누르면 음성 인식하여 다음 기능을 실행하는 Code를 작성하라: “통화”란 명
령에는 sNumber로 직접 전화, “문자”란 명령에는 sNumber로 sText 문자를 직접 발송.
Button의 ClickListener는 이미 구성되어 있다고 가정하라. Code는 짧을수록 가산점 반영.
(20)
protected Button btRecog;
protected String sNumber = “010-1234-5678”, sText = “I am H.”;
protected void onCreate(Bundle savedInstanceState) {
…
btRecog = (Button) findViewById(R.id.btRecog);
btRecog.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.KOREAN);
startActivityForResult(intent, 1234);
3. 3
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1234 && resultCode == RESULT_OK && data != null) {
ArrayList<String> result = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
String sCom = result.get(0);
if (sCom == “통화”)
startActivity(new Intent(Intent.ACTION_CALL, Uri.parse(“tel:” + sNumber)));
else if (sCom == “문자”)
SmsManager.getDefault().sendTextMessage(sNumber, null, sText, null, null);
}
}