TechNote. 354

AWS(Amazon Web Services) 인스턴스에 ssh 로 접속하기 (PuTTY)

얼마 전 알게된 클라우드 서비스는 정말 나에게 신세계를 가져다 주었다.이전에 클라우드라고하면 네이버 N drive나 Dropbox 뭐 이런 서비스들을 생각하고 있었고, Amazon에서 Cloud 서비스를 한다고 하길래 뭐 비슷한걸 하나보다 라고 생각했다. 전혀 다른 클라우드 서버 호스팅을 할 줄이야.. 어찌되었건 Free tier 권한을 얻어서 어찌어찌하여 AWS Instance를 만들게 되었다. [Status 가 running으로 잘 돌아가고 있다.] 우선 메뉴를 보면서 따라가며 인스턴스를 만들기는 했는데 이 서버 console에 어떻게 접속하면 될까..... AWS Console (ssh) 접속하기 with PuttyPutty를 이용해 Windows에서 접속하는 방법은 크게 다음과 같다. 1. AWS..

Android - 권한 정보 (Permission) 확인 및 권한 제거

Google Play에 올려진 앱을 선택해 보면 해당 앱의 권한 정보를 확인할 수 있다. 아래의 앱의 경우 권한 정보를 눌렀을 때 아래와 같은 팝업창을 확인할 수 있다. 별다른 권한(permission) 추가 없이 기본 프로젝트 생성으로 만들더라도 위와 같이 사진/미디어/파일, 기기 ID 및 통화 정보가 추가되는 것을 확인하였다. 사실 위의 권한은 앱에서 필요없는 부분인데 어떻게 제거할 수 있을까? 권한(Permission) 제거 아래 AndroidManifest.xml을 보면 uses-permission 항목이 있다.아래와 같이 WRITE_EXTERNAL_STORAGE, READ_PHONE_STATE, READ_EXTERNAL_STORAGE가 추가되어 있는데 이를 삭제해 주면 된다. AndroidMan..

Android 2016.02.19

Cloud 서비스 기본 최저 스펙 가격 비교.

가장 최저 스펙 Cloud 서비스를 위해 각 사의 Cloud 서비스를 사용할 경우 비용이 어떻게 될지 계산해 보았다. 단순히 간단한 데이터 서비스를 위한 서버를 운용한다면 각 사에서 제공하는 최소 스펙의 서비스를 이용해도 사실 충분하다. 개인 개발자가 부담없는 수준에서 운용해 볼만한 Cloud를 알아보기 위해서 비교해 보았다. 서비스 비교-. 서버를 위한 공인 IP 1개 필수.-. 동일 스펙을 비교한게 아니라 선택가능한 최소 서비스 선택.-. 2016.02.13 기준 각 서비스 요금 계산기 이용하여 산출한 내용. KT uCloud biz, gabia gCloud, Amazon Web Service, Microsoft Azure 비교 아래 계산 내용을 보기 전에 유의 사항-. 각 사에서 제공하는 최저 스펙..

카테고리 없음 2016.02.15

Physical Server, Virtual Server, 그리고 Cloud

몇년 전 서버를 구축할 때 까지만 해도 서버를 하나 구입해서 거기에 리눅스를 올리고, 원하는 서버를 올려서 구축했던 기억이 있다. 이게 2000년대 초 였으니, 십여년도 지난 일이고, 서버에 대한 나의 마지막 기억이기도 하다. 시간이 흘러 서버에 관해서 호스팅, 가상 서버, 유틸리티 컴퓨팅, 클라우드 등 다양한 개념이 생겨나고, 점점 이해를 못하고 있다는 것을 깨닳았다. 이에 자체적으로 학습하고 정리해 보았다. 개념의 등장 순서에 따라 나열해 보았다. 1. Physical Server (물리 서버)태초에 서버-클라이언트 구조가 만들어졌을 때, 개발자들은 서버는 서버대로 구축하여야만 했다. 이말인 즉은, 서버 하드웨어를 구입해서 자신만의 서버를 구축해야 했음을 의미한다. 이렇게 구입한 서버에 서버 OS를 ..

Products & Services 2016.02.12

게임패드로 가능한 안드로이드 게임 종류.

샤오미 게임 패드를 구입했던 건 휴대폰(안드로이드)에서 돌아가는 게임들을 게임패드로 해보려고 하였기 때문이었다. [샤오미 게임패드 후기] 그런데 이게 웬걸인가.... 웬만한 게임은 대체로 안된다.;;오히려 되는 게임을 찾는게 더 어려운듯하다. 구입한 이후 게임패드로 가능한 게임을 정리해 보았다. 1. Asphalt 8 - 에어본 (아스팔트)게임패드로 가능한 게임 중 대표적인 게임이다.찾아보기에 Gameloft사의 게임은 대체로 게임패드로 잘된다고 하는데, 그 대표작인 아스팔트의 최신작으로 게임패드 정상여부 확인해 보니 잘된다. 오히려 게임패드 키패드 조작 방법까지 화면에 띄워주고 있었다. 2. 에율레이터다음으로 게임패드로 가능한 대표적인 게임은 에뮬레이터 게임들이다. 다양한 에뮬들이 존재하지만 나같은 경..

Products & Services 2016.02.08

스마트폰 게임을 TV로 하기 - Screen Mirroring(스크린 미러링)

Wi-Fi 기술을 사용하여 TV나 기타 Display로 화면을 확장하려는 시도는 계속되고 있다. DLNA, AllShare, Wi-Fi Display, Screen Mirroring, Miracast, AirPlay, WiDi, Chromecast 기술도 많은 만큼, 이해도 안되고, 기술들 상호간에 어떤 연관성이 있는지도 모르겠다. 이번 Article에서는 기술들간의 이해보다는 사용자의 관점에서 스마트폰 게임을 TV로 하는 방법에 대해 알아보려고 한다. 휴대폰을 신규로 바꾸면서 집에는 사용하지 않는 스마트폰(Galaxy S3)이 하나가 늘게 되었다. 쓰면서 점점 느려져서 안되겠다 싶어서 새것으로 바꾸었는데, 막상 새 스마트폰을 사고난 후 공장 초기화를 하고나니 아직 쓸만한게 아닌가....! 아무래도 이 ..

Products & Services 2016.02.07

중국으로부터의 Wii Remote(리모컨) 그리고 Nunchuck(눈차크)

구매한지 거진 10일 만에 wii 리모컨+눈차크가 도착했다. 무려 중국으로 부터 해외직구로 왔다 싼가격이 살짝 의심되기는 하지만 이래저래 싼가격에 구매하게 되었다.. ....................... Total Value 10.61...................will 마크도 없다. 배송비+마진이 물건값보다 더 나간다. -_-;;;total value를 보니 갑자기 잘 동작할지도 의심스럽다.. 박스도 없이 저 얇은 비닐안에서 고장 안나고 왔을지 의심스럽다. -_-;; 케이스 있음, 모양 똑같음, 색 구림, 정품보다 가벼움( 뭐가 덜들어간거니..)뭐 어찌되었건 Wii에 연결해보자. 잘되는지는 확인해봐야지. Wii 본체와 Wii 리모컨 연결세명이서 추억의 마리오게임을 할려고 샀다.wii 본체와 ..

Products & Services 2016.02.06

Android - Dialog 내의 EditText Padding, Margin 조절하기

환경 정보Android API 23 (Android 6.0)Android Studio 1.5.1. 이 글의 목표는 아래와 같이 유난히 긴 EditText를 상위 Text와 같이 align을 맞춰 줄여주는 것이다. . EditText의 길이가 짧아졌다.[Before] [After] Dialog에 EditText를 추가하는 코드를 구해서 코드에 추가하였다. AlertDialog.Builder alert = new AlertDialog.Builder(CategoryActivity.this); alert.setTitle("Add Box"); // Set an EditText view to get user input final EditText input = new EditText(CategoryActivity.t..

Android 2016.02.01

Android Studio 그리고 adb

기본적으로 android studio를 설치하게 되면 android sdk를 깔거나 기존 것을 사용하게 된다. 이 말은 android sdk 내에 있는 adb를 사용할 수 있다는 이야기이다. Android studio를 이용해 application을 만들어 device에서 실행하는 경우를 보아도 adb를 이용해 install하고 실행하게 된다. 그래서 android studio 가 설치된 컴퓨터에서 command로 adb 를 사용하려고 했더니 이거 웬걸 안된다. 그렇다면 android studio에서 사용하는 adb는 대체 무엇이란 말인가. android studio에서 사용하는 sdk의 위치를 확인해 볼 필요가 있다. 1. Android Studio > Menu > File > Settings... 선..

Android 2016.01.30

샤오미 블루투스 게임패드 후기

최근에 S6와 기어VR을 구입한 김에 제대로 VR게임을 해보고자 게임패트 구매를 알아보았다. 사실 부가적인 기능들은 별로 필요없고, 호환성등에만 문제가 없으면 되었기 때문에 (싼 가격 포함) 결론적으로..... 샤오미 블루투스 게임패트를 구입하였다. 지마켓에서 사긴 했는데, 공식적으로 수입하는 것 같지는 않고, 중국 직구라고한다.대체 중국에서 오면 얼마나 걸리는 것인가..... 설명에는 중국에서 출발하면 2~3일 걸린다고 되어 있는데, 이건 정말 2일밖에 안걸렸다. 배송을 인천서부터 시작하는걸 보니 배를 타고 왔나 보다. 아.. 익히 들어서 알고는 있었지만 구성품 및 포장이 생각보다 중국 제품 같지 않게 깔끔하고, 제품 자체 마감도 굉장히 훌륭해 보인다. 상표만 가리면 일제나 미제라고 생각할지도... [..

Products & Services 2016.01.30

Android - Toolbar icon 추가/생성하기

Android App을 보면 상단에 Toolbar를 흔히 볼수 있다. (간혹 없는 App들도 있지만 대체로 다 있다.) 그렇다면 저 bar에는 어떻게 icon을 추가하고 해당 icon에서 발생하는 touch event를 처리할 수 있을까? [Icon이 없는 Toolbar] [Icon을 생성한 Toolbar] 다른 여타 layout과 같이 xml 파일에 추가해 주면 된다. res\menu\main.xml Icon은 전 article에 포스팅한 방법으로 확보하였다. 해당 Icon을 클릭 하였을 때 event는 다음 코드에서 처리할 수 있다. public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItem..

Android 2016.01.29

Android - Widget (위젯) 기본 생성

기본적으로 Activity를 사용해서 APP을 구현한 적은 있지만 Widget 구현은 처음이라 어디 부분의 코드를 추가해 주어야 하는 건지, 어느 부분에 이미지를 넣어줘야 하는 건지 감이 오질 않았다. 기본 환경 : Android Studio 1.5.1 기본 widget을 추가하는 방법은 클릭 몇번으로 끝났다. 1) 메뉴에서 New > Widget > App Widget 선택 2) Widget Class Name 설정 후 Finish완료 되었다. 위의 과정이 모두 끝나게 되면 아래와 같이 Example 용 Widget을 설치할 수 있게 된다.

Android 2016.01.27

티스토리 - 메타블로그

메타블로그란 무엇인가... 블로그를 하는 사람들을 보면 자신의 블로그를 메타블로그에 등록하는 것을 볼 수 있다.메타블로그란 무엇이기에 등록을 하고 왜 등록을 하는 것일까? 네이버 백과에서 메타블로그의 정의를 찾아보면 다음과 같다. 개별 블로그를 하나로 묶기 위한 일종의 블로그 포털 사이트. 블로거가 글 연결 주소(RSS)를 등록하면 블로그에 새 글을 작성할 때마다 메타 블로그에 새 글 목록으로 추가되는 형태로 특정 블로그를 알지 못해도 여러 블로그의 글을 한 곳에서 볼 수 있다.[네이버 지식백과] 메타 블로그 [meta blog] (IT용어사전, 한국정보통신기술협회) 위의 정의와 같이 메타블로그들에 들어가보면 여러 블로그들이 실시간으로 포스팅되는 것을 볼수 있다.여기에도 글의 링크가 발생해 사람들이 들어..

카테고리 없음 2016.01.27

CharSequence과 String, StringBuffer, CharBuffer 비교

여기서는 String, StringBuffer, CharBuffer 각각의 차이점보다 CharSequence와 다른것들과의 차이를 알아보고자 한다. public interface CharSequence public final class String extends Object implements Serializable CharSequence Comparable public final class StringBuffer extends Object implements Serializable Appendable CharSequence public abstract class CharBuffer extends Buffer implements Appendable CharSequence Comparable Readabl..

Language/Java 2016.01.27

Skype 부팅시 자동 실행 제거

Windows Update 를 하고 났더니 부팅할 때 마다 skype가 계속 자동으로 실행된다. [Windows Update 이력을 보면 skype가 업데이트된 것을 확인할 수 있다.] [부팅시 자동으로 실행되어 버린 skype] [Skype option을 보아도 부팅시 실행 중지 항목 같은 것은 보이지 않는다.] 그렇다면 어떻게 부팅시 skype가 뜨지 못하도록 할까. 1. Windows key + R 를 누르면 [실행] 창이 뜨는데 거기에 "msconfig"를 입력하고 Enter를 친다. 2. 그러면 [시스템 구성]창이 뜨게되는데 여기서 "시작 프로그램"을 선택한다. 원하는 프로그램, 여기서는 "Skype"의 Checkbox를 제거한다. 3. 재부팅해서 실행되는지 확인해 보면 자동으로 실행되지 않는 ..

카테고리 없음 2016.01.27

티스토리 - SyntaxHighlighter 3.0.83

티스토리 글들을 보다 보면 syntaxhighlighter를 설치해서 코드를 더 깔끔하게 보여주는 블로그들이 많이 있다. 어떻게 하면 syntaxhighlighter 를 설치해서 더 깔끔하게 보일지 알아보자 1. SyntaxHighlighter 3.0.83 다운로드[SyntaxHighlighter Download] 를 클릭하여 Syntax Highlighter를 Download 받는다. 2. 압축을 풀어 티스토리에서 필요한 파일을 골라냅니다. syntaxhighlighter_3.0.83\stylesshCore.cssshThemeRDark.css syntaxhighlighter_3.0.83\scripts 전체 3. 골라낸 파일을 티스토리에 업로드한다. [티스토리 관리 > HTML/CSS 편집] 선택. [파..

카테고리 없음 2016.01.26

티스토리 - 카테고리(Categories) 자동 펼치기

티스토리의 사이드바에 있는 카테고리는 기본적으로 접혀져 있다. 하지만 사람들이 들어왔을 때 이 사이트에는 어떤 종류의 카테고리가 있는지 한번에 보여주고 싶다. 이럴 때는 아래의 script를 추가해주면 된다. Categories 위의 코드를 적용해 주면 아래와 같이 자동으로 확장되어서 보인다. [Before] [After] 위 코드를 넣는 방법은 다음과 같다. 카테고리 자동 확장을 위한 코드 삽입 방법 1. Tistory 관리 페이지에 들어가서 [HTML/CSS 편집을 선택한다.] 2. HTML 부분을 선택해 준다. 3. _category_ 를 찾기한 후 아래의 위치에 코드를 삽입해준다. Categories

카테고리 없음 2016.01.26

pip 그리고 python library 설치.

python으로 코딩하거나 기존에 구현된 python script를 가져다 쓰다보면 import error가 발생하는 경우가 있다. 그 이유는 사용하고자 하는 python library가 설치되어 있지 않았기 때문이다. 그렇다면 원하는 python library를 설치하는 방법에 대해 예를 들어 보며 확인해 보자. >>> import hexdumpTraceback (most recent call last): File "", line 1, in ImportError: No module named hexdump>>> "No module named hexdump" .... 여기서는 hexdump library가 없다는 에러 메세지이다.hexdump로 package search를 해보았지만 별다르게 포함하고 있..

Language/Python 2016.01.25

Android - 이미지 저장 및 변경 on Project.

Google의 Material Icon 을 download 받았다. 나같은 경우 Content - Add를 다운로드 받았는데, 다운로드 후 압축을 풀어보니 다음과 같은 내용물이 풀렸다. Material Design을 어디까지 지원할 의도인지는 모르겠으나, ios 용도 들어 있고, web 용도 들어 있다. 뭐 어쨌든 나의 경우는 Android App에 사용할 것이기 때문에 drawable-hdpi, drawable-mdpi, drawable-xhdpi, drawable-xxhdpi, drawable-xxxhdpi 폴더를 넣어야 한다. 하지만 기본 project 생성 후 res에 존재하는 drawable 관련 폴더는 drawable, drawable-v21밖에 없다. 그냥 위 폴더들을 app\src\main..

Android 2016.01.24

Android - Material Design of Google.

Material Design 에 대해 쉽게 설명해 놓은 페이지 (한글)http://blog.bsk.im/2015/08/18/introducing-android-design-support-library/ Material Design 사용시 사용할만한 Icon 다운로드 받을수 있는 페이지 (영문, Google)https://design.google.com/icons/ 사용관련해서 CC-BY license를 따른다고 한다.Feel free to use, remix, and re-share the icons in your products. The icons are available under the CC-BY license. We'd love attribution in your app's "about" scre..

Android 2016.01.24

Adsense - [용어] 페이지 RPM

Adsense를 가입하고 홈 화면을 보면 다른 단어들은 대략 이해가 가는데 보다보면 "페이지 RPM"이라는 단어가 보인다. 페이지 RPMAdsense 도움말 페이지에 정의는 "1000회 노출당 수익"로 되어 있다.예상 수입을 페이지 조회, 노출 또는 검색이 발생한 횟수로 나눈 다음 1000을 곱한 값이다. 여기서 오해하지 말아야 하는 것은 "1000회 노출당 수익"인데 확정 수익이 아니라 예상되는 수익이라는 점이다. 페이지 RPM은 높을 수록 좋은 것인가 낮을 수록 좋은 것인가?사실 이 질문이 의미가 크게 없는게 예상되는 수익이라 확정 수익이 아니라는 점이다.그래도 현재까지의 노출, 클릭등을 바탕으로 1000회 기준을 예상한 것이라 페이지 RPM 이 높다는 의미는 웹페이지를 방문한 사람들이 광고를 많이 ..

Android - Back key 무시

일반적으로 안드로이드에서 back key를 누르게 되면 back stack에서 activity가 pop 되면서 이전의 activity로 돌아가게 된다. back key의 주요 동작이 이와 같은데 간홀 이 동작 말고 다른 동작을 원할때가 있다. 예를 들면 back key를 누르면 처음 한번째에는 warning을 띄워 주고, 다음 back key를 누를 경우 app을 종료시키는 것과 같은 루틴이다. 이 말고도 back key를 아예 무시하도록 할 수도 있다. 아래 코드와 같이 back key를 누르게 되면 onBackPressed 함수가 호출되게 되고, 해당 함수내에서 super.onBackPressed()가 실제 이전 activity로 복귀하는 곳이다. 이전 activity로 복귀를 원하지 않으면 해당 s..

Android 2016.01.20

Android - 더블탭(double tap), 더블클릭, 더블터치

안드로이드 앱을 개발하다 보면 touch, back key 등 말고도 두번 터치(정확한 명칭은 함수상 이름으로 보면 double tap 인데 사실 함수명 보기 전에는 더블 클릭, 더블 터치등으로 검색했었다.) 뿐만 아니라 fling (슬라이드)등이 있다. 이 추가적인 동작들은 일반적인 event 함수 외에 GestureDetector Class를 통해 인지해 낼 수 있다. GestureDetectorDetects various gestures and events using the supplied MotionEvents. The GestureDetector.OnGestureListener callback will notify users when a particular motion event has occu..

Android 2016.01.19

Android - TextView 그리고 EditText View 전환

메모장 같은 프로그램을 보면 일반 TextView였다가 edit 버튼을 누르면 EditText View로 변경되고,save 버튼을 누르면 다시 TextView로 전환되는 광경을 볼 수 있다. 하나의 view를 가지고 속성을 변경해 가면서 사용하는 것인가...아니면 2개의 view를 가지고 전환해 가면서 사용하는 것인가... 여러 가능성을 열어두고 구글링을 해 본 경과, TextView, EditText를 각각 구현해 놓고 전환해가능 방법이 사용된다는 것을 확인했다. 우선 layout xml에 다음과 같이 선언한다. 여기서 관심있게 보아야 하는 부분은 android:visibility 이다. 수정이 필요할때는 EditText 를 visible하게 하고, 수정이 필요 없을 때는 TextView를 visibl..

Android 2016.01.19

Android - ListView 갱신 with CursorAdapter.

ListView에 CursorAdapter를 연결해서 사용하게 될 경우 Database에 변화가 있을 경우 다시 select하여 해당 결과를 업데이트해주어야 한다. 이 때는 ListView를 건드릴 필요 없이, 중간의 매개체인 Adapter의 changeCursor를 호출해 주면 ListView가 갱신된다. [developer.android.com 출처]public void changeCursor (Cursor cursor)Added in API level 1Change the underlying cursor to a new cursor. If there is an existing cursor it will be closed.ParameterscursorThe new cursor to be used 실제..

Android 2016.01.18

Android - Activity 화면 전환 효과

Google Play에서 설치한 app을 쓰다보면 아무런 효과 없이 Activity가 전환되는 app들도 있지만, Activity 전환시 신규 Activity가 오른쪽에서 왼쪽으로 나타난다거나, 자연스럽게 fade in/out 된다거나 하는 app들이 있다. 자세한 구현 방법을 알기 전, 아무런 기반 지식이 없는 상태에서 생각하기론 flash를 사용하나라고 추측만 했었다. 아무래도 animation 효과를 code 상으로 구현한다고는 감이 오지 않았기 때문이다. 이 효과의 주인공은 다음과 같다.public void overridePendingTransition (int enterAnim, int exitAnim) Added in API level 5 Call immediately after one of ..

Android 2016.01.18

Android - Application Class

sqlite를 사용하는 코드를 짜다 보니 여러 Activity 에서 sqlite를 호출해야 하는 경우가 있었다. 이럴 경우 그렇다면 Activity가 onPuase 될 때 마다 close하고 onResume 될 때 마다 open 해야 하는 것인가. 아니면 Main Activity에서 open해 놓고, open 당시 생성된 sql handler를 인자로 넘겨서 사용할 수 있을 것인가. 생각지도 않은 곳에서 막혀서 헤매이고 있을 때, 구글께서 그럴때는 Application class를 사용하도록 하여라라고 말씀해주셨다.;; 나도 이번에 처음 접한 개념인데 app이 동작하는 동안 공통적인 부분에대해 구현해 놓는, 다시 말하자면 global하게 모든 routine에서 가져다가 쓸수 있는 그런 것들을 선언하거나 ..

Android 2016.01.18

Android - Cursor

Database cursor 우선 cursor의 의미를 명확히할 필요가 있다. 우리가 흔히 아는 cursor는 컴퓨터 화면에 깜빡거리는 막대기가 아니던가. 영어사전에 cursor를 찾아 보아도 그냥 한글로 커서라고만 나온다. 그래서 dictionary.com에 찾아보니 정의가 아래와 같다. noun1.Computers. a movable, sometimes blinking, symbol that indicates the position on a CRT or other type of display where the next character entered from the keyboard will appear, or where user action is needed, as in the correction o..

Android 2016.01.15