노무현 대통령 배너

Double-J's World

blog logo image

Double-J's World » Search » Results » Articles

My life와 관련된 글 60개

  1. 2010.04.29 선택권(Selectability)과 앱스토어... 를 읽고 / Double-J
  2. 2010.03.28 [Shows] 뮤지컬 '오페라의유령(The Phantom of the Opera)' 를 보다!! / Double-J
  3. 2010.02.25 안드로이드폰 메모리에관한 문제점이 대두!! / Double-J
  4. 2010.02.22 Wii 를 하다!! / Double-J
  5. 2010.01.24 Android Developer Labs World Tour 가 시작되는군요 2 / Double-J
  6. 2010.01.05 [Terms] MSL (Max Segment Lifetime) 2 / Double-J
  7. 2010.01.04 [Tips] Google Calendar Sync ( "You seem to have outdated time zone information." ) 에러 4 / Double-J
  8. 2009.11.19 [Tips] Visual Studio 2008 Prof.(Kor) 설치시 DefFactory.dat 문제 2 / Double-J
  9. 2009.11.05 To create a status bar notification / Double-J
  10. 2009.10.31 Example ProgressDialog with a second thread / Double-J

Double-J's World » monologue

선택권(Selectability)과 앱스토어... 를 읽고

Double-J | 2010. 4. 29. 13:33


예병일의 경제노트에 있는 '선택권(Selectability)과 앱스토어...' 를 읽고 곰곰히 생각해보았습니다.

수많은 어플리케이션의 선택권이란 참으로 매력적인 것임에는 분명합니다.
자신이 원하는 기능을 어디서든지 사용한다는 것은 아주 사소한 일들을 편하게 바꿔주거든요..

하지만 앱스토어 저변에는 좀더 성공할 수 밖에 없었던 다른 이유가 있는 것 같습니다.
요즘에 대두되고있는 UX(User eXperience) 입니다. 

아이폰(혹은 아이팟터치나 아이패드)를 사용해보신분은 알겠지만 사용자(User)에게 노출되는 입력방법은 극히 제한되어있습니다. 물리적 버튼은 물론이거니와 터치화면도 그렇지요. 자세한 것은 모르지만 아이폰에적용되는 
모바일플랫폼의 정책은 적절한 제한디폴트 옵션(Default Option) 이 아닐까합니다.

제가 생각하기에 국내 많은 기업이 오해하고 있는부분은 '유용하고 많은 기능을 Spec 이 좋은 H/W에 탑재' 한다면 사용자들이 사고 싶어할 것이라 생각한다는 것입니다. 물론 기기 조작을 잘 할수있는사람들은 소위, 스펙이 높은 기기를 좋아합니다. 하지만 그 대상을 넓혀 보았을때(성별관계없이 아이부터 노인까지).. 

나의 편의를 위해 사용하는 기기인데 그것을 위해 또다른 공부로 스트레스를 받는 것은 
소비자가 원하는 것이 아닌것은 확실합니다.

단적인 예로, 아이폰은 사용자 설명서가 없기로 유명하죠. 눈에 보이는대로 누르면 바로되고 직접 몇번만 사용해보면 실행의 개념이 머리에 잘 잡히게 됩니다. 이것은 적절한 제한과 디폴트 옵션 으로 가능해졌다고 생각합니다.
물론 플러스적인 요인으로 지금까지 축적되어있던 앱스토어의 많은 양의 어플과 디바이스 자체의 디자인도 큰 몫을 차지합니다.

실제 조작에서의 편리성(적절한 제한 + 디폴트 옵션) 과 그 기기를 가지고 내가 응용할수 있는 응용성(앱스토어의 많은 어플) 그리고 외적인부분(터치감, 디자인등) 까지.. 소비자의 마음을 잘 읽었다고 할 수 있겠습니다.

저는 국내의 상황을 보면서 현재는 단지 국내기업(삼성, LG등..) 과 애플만의 경쟁이라고는 생각하지 않습니다.
모바일플랫폼 정책이 크게 작용할 것이라 생각하는데요. MS, Google, Apple 이렇게 3파전이죠.

국내의 기업중에 정말 눈이 번쩍뜨이는 모바일 플랫폼(삼성이 시도하고있는 '바다'같은..지켜봐야겠죠)이 나오지 
않는 이상 아직까진 MS나 Google 이 만든 플랫폼을 어떻게 커스터마이징해서 소비자의 마음을 끄느냐의 문제가 될 것 같습니다.






(go to top)

Double-J's World » Favorites/Shows

[Shows] 뮤지컬 '오페라의유령(The Phantom of the Opera)' 를 보다!!

Double-J | 2010. 3. 28. 01:58


4대 뮤지컬중 하나인 '오페라의 유령'을 보고 왔습니다.
오페라의 유령 전용 극장이라는데요... 상당한 볼거리가 있습니다.

경황중에 사진은 마땅히 찍은게 없어서 공연에 심취하든 공연에만 몰두하다가 왔어요.

사실 이 작품은 사전에 정보를 얻고 갔으면 더 좋았을것이라는 생각을 했어요.
그리고 이 작품은 책과 영화로도 있는데 둘다 보고 싶어졌습니다. 시간내서 꼭 책도 읽고 영화도 봐야겠습니다.
노래의 가사를 잘 새겨들어야 하는데 간간히 안들리는 부분이 있어서 엄청 집중을 해야하는 어려움이있었습니다^^;
물론 좀더 가까운 자리였다면 더 잘들렸겠죠?

약간의 줄거리가 간간히 담긴 내용을 아래 적도록 하겠습니다. 네타가 있을지 모르니
공연이나 영화를 보실생각이 있으신분들은 클릭하지마세요.^^;



공연의 전반적인 분위기는, 정말 잘 짜여진 뮤지컬 다운 뮤지컬을 본 느낌이었습니다.
배우들의 열연과 그에 걸맞는 음악,.. 플러스 알파로 눈요기가 되는 무대 효과..
보는내내 어떤 순간에도 다른 생각은 안들고 뮤지컬의 흐름에만 저의 정신은 빠져들고 말았습니다.^^

뮤지컬을 좋아하시는 분이라면 강추!!드려요.^^






(go to top)

Double-J's World » Programming/Android

안드로이드폰 메모리에관한 문제점이 대두!!

Double-J | 2010. 2. 25. 10:00

안드로이드폰을 사용하지 않아서 몰랐던 문제였지만
애플리케이션을 기본 메모리에만 저장하도록 하는 문제가 언급되는 기사가 떴네요.
그러면 그전에 인터넷에선 왈가왈부 계속 말이 많았겠군요.. 

개인 핸드폰을 2개를 만드는 한이 있더라도 안드로이드폰은 한번 구입해보고싶었었는데
지금까지 꾹꾹 참아온것이 어찌보면 다행이라고 생각합니다.


역시 1세대로 나오는 기기들은 한번 지켜봐야하는 것일까요?

이번 문제는 구글측에서 안드로이드 플랫폼 자체를 애플리케이션을 받을경우 외장메모리에는 안되게 자체적으로 
이러한 제한을 걸어둔것 같네요.

기사에 언급된 내용을보면 넥서스원도 같은 문제가 있다고하는데.. 이로서 안드로이드 열풍이 주춤하는게 아닌가 싶기도 합니다. (무언가 대책이 나오긴 하겠죠?)

먼저 모토로이 폰을 산 분들의 원망이 참 많을 것 같습니다.







(go to top)

Double-J's World » monologue

Wii 를 하다!!

Double-J | 2010. 2. 22. 16:23

얼마전 회사 창립 10주년 기념으로 닌텐도위(Wii)를 선물 받았습니다.
어렸을적 게임을 좋아했던 추억이 아른 거리는데요.

닌텐도라는 회사는 고객의 니즈(Needs)를 참 잘 파악하는 회사라는 생각이 듭니다.
Wii 와 NDS 의 모토가 게임을 하기위해 공부를 해야하고 또 스트레스를 받는다는 것을 잘 파악한 닌텐도는
'누구나 쉽게 즐길 수 있는 게임(기)' 를 만들려고 노력하였고, 그 첫번째 결과물이 NDS와 Wii 입니다.

제가 성격이 급한지라 박스를 찬찬히 뜯으며 사진을 찍으며 개봉기는 적지 못하고, 간단히 설치 화면과 구입한
게임 타이틀만 소개를 할까 합니다.

위의 사진은 TV옆에 본체만 살짝 찍은 사진입니다. 받침대는 기본 Wii 세트에 포함이 되어있지만 쿨러가 되는 스탠드를 따로 구입하였습니다. 파란색 LED도 같이 켜져서 은근 분위기가 있더군요. TV가 최신 와이드 TV였으면 더욱 좋았겠지만 오래전 산 TV를 꽤나 쓰고있어서 아직 바꿀 계획은 없습니다.

위의 사진은 위모콘(Wii 전용 리모콘형 컨트롤러) 과 눈차크(보조컨트롤러) , 그리고 충전용 거치대 입니다.
충전용 거치대는 기본셋트에 포함되지 않습니다. 따로 구입을 하여야 합니다. 지금은 기본으로 제공되는 AA건전지를 사용하고있지만 다 쓰게 되면 충전기를 사용할 예정입니다.
또한 기본셋트구성은 (본체 + 위모콘1 + 눈차크1 + 전원및 영상연결 케이블 + 기본 스탠드) 가 기본입니다. 컨트롤러를 추가로 원하시는 분은 따로 구입하셔야 합니다.


역시 제가 따로 구입한 게임 타이틀입니다.
왼쪽부터 차례로 '처음만나는 위', '마리오파티 8', '젤다의전설:황혼의공주' 입니다.
한번씩 가볍게 해봤는데 위모콘과 눈차크로 컨트롤 하는 재미가 쏠쏠한 것 같습니다.

주말마다 한번씩 가볍게 하기엔 무리가 없을것 같네요..
아..이제 지름신이 드디어 오신건걸까요?




(go to top)

Double-J's World » Programming/Android

Android Developer Labs World Tour 가 시작되는군요

Double-J | 2010. 1. 24. 18:36


초기의 Hardware 를 실험해볼 수 있고, Android 개발자와 직접만나서 여러 얘기를 나눌 수 있는 Android Developer Labs World Tour 가 시작되었습니다.

전세계 개발자가 관심이 쏠리겠죠?

하지만 아쉽게도 우리나라는 line-up 에 없네요..

물론 이게 우리나라에서 된다고 하더라도 각자의 직업상 많은 분들이 참여를 못할 수도있겠지만 파워블로거님들의 후기라도 듣고 싶던 저는 많이 아쉽습니다.

우리나라에서도 Motorola 를 첫 주자로 안드로이드 폰이 나올 것같은데..

KT 측의 얘기로는 안드로이드폰을 공수해서 개인적으로 전파 인증을 받은사람을 개통을 해줬다고 합니다.

아이폰의 위력인지.. KT측에서는 이제 스마트폰에 적극적인 태도를 보이는 것 같습니다.
고객의 니즈를 적극 수용하고 만족시켜야 성공하는 기업으로 발돋움 할 수 있음은 두말하면 잔소리겠지요? :)


아래는 Android Developer Labs World Tour 의 Line-up 입니다.

North America

  • Austin, Texas – Feb 4
  • Seattle, Washington – Feb 8
  • Waterloo, Ontario, Canada – Feb 8
  • Washington, D.C. – Feb 9
  • Mountain View, California – Feb 10
  • Cambridge, Massachusetts – Feb 11
  • New York, New York – Feb 12

Europe

  • London, UK – Feb 2
  • Paris, France – Feb 8
  • Berlin, Germany – Feb 10
  • Zurich, Switzerland – Feb 13
  • Madrid, Spain – Feb 13

Asia

  • Singapore – Feb 28
  • Taipei, Taiwan – March 3
  • Hong Kong – March 4

출처 : http://android-developers.blogspot.com/2010/01/android-developer-labs-world-tour.html




(go to top)

Double-J's World » IT Terms

[Terms] MSL (Max Segment Lifetime)

Double-J | 2010. 1. 5. 15:11

2MSL Wait

 

  • MSL (Max Segment Lifetime)

    • specified as 2 minutes (RFC793, 1122)
    • When cleaning up a connection, it is
      conceivable that packets belonging to the
      connection are still in the network
    • By holding the connection state, can absorb
      these without them returning to new
      instantiations of the same connection

 

TCP State 가 Close 되기전 (즉, connection 을 cleaning up 하기전)

network 에 남아있는 packet 을 받을 수 있는 Lifetime.

 

출처 : http://www.cs.berkeley.edu/~kfall/EE122/lec23/sld025.htm

 

 

이 글은 스프링노트에서 작성되었습니다.



(go to top)

Double-J's World » Com...Tips!

[Tips] Google Calendar Sync ( "You seem to have outdated time zone information." ) 에러

Double-J | 2010. 1. 4. 22:38

평소에는 Google Calendar 와 Flanklin Planner 로 스케줄 관리를 하고

회사에서는 Outlook 으로 일정 관리를 한다.

이전에 Google Calendar Sync 라는 Google Calendar - Outlook 간의 싱크 프로그램을 알고 있어서

설치를 하였더니 다음과 같은 에러가 발생 하였다.

"You seem to have outdated time zone information. Please run Windows Update."

구글링을 통해 알아본 결과 MS Windows Update 를 통해 해결할 수 있었다.



출처 :

http://groups.google.com/group/Google-Calendar-Help/web/google-calendar-sync---faq



(go to top)

Double-J's World » Com...Tips!

[Tips] Visual Studio 2008 Prof.(Kor) 설치시 DefFactory.dat 문제

Double-J | 2009. 11. 19. 13:29

현재 제가 쓰고 있는 운영체제는 Windows7  입니다.

그런데 Visual Studio 2008 Professional Edition - KOR 을 설치하는데

(ko_visual_studio_2008_professional_x86_x64wow_dvd_X14-26331.iso)

다음과 같은 폴더에 DefFactory.dat 파일이 없다고 나오더군요.

c:\Users\DoubleJ\AppData\Local\Temp\SIT23032.tmp\

구글링 결과 해당 파일의 내용이 깨져서 인식이 안되는 문제 같았는데

저와 같은 문제를 가졌던 분들이 해당파일(DefFactory.dat)의  본래내용을 정상적으로 적는 방법으로

해결을 하였습니다. 다만 저와 다른점은 Professional Edition -KOR 이 아닌 거의 영문판이어서

그분들이 올려놓은 내용을 해당파일에 복사하는 방법이 잘 안되더라구요.

그래서 혹시나 해서 VS2008 Team Suite - KOR 안의 DefFactory.dat 파일의 내용을

Professional 버전에 맞게 수정해서 파일을 덮어쓰니 잘되었습니다.

저와같은 VS 2008 Professional Edition (kor)  에서 위와 같은 문제가 발생한다면 다음 내용을

해당 파일(DefFactory.dat)을 열어서 다음과 같이 적어주고 다시 시도해주세요.

DefFactory.dat 내용


아니면 첨부 파일로 올려드리는 파일을 아얘 덮어싀우셔도 됩니다.




(go to top)

Double-J's World » Programming/Android

To create a status bar notification

Double-J | 2009. 11. 5. 11:02

1. Get a reference to the NotificationManager:
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);


2. Instantiate the Notification:
int icon = R.drawable.notification_icon;
CharSequence tickerText = "Hello";
long when = System.currentTimeMillis();

Notification notification = new Notification(icon, tickerText, when);


3. Define the Notification's expanded message and Intent:
Context context = getApplicationContext();
CharSequence contentTitle = "My notification";
CharSequence contentText = "Hello World!";
Intent notificationIntent = new Intent(this, MyClass.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);

notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);


4. Pass the Notification to the NotificationManager:
private static final int HELLO_ID = 1;

mNotificationManager.notify(HELLO_ID, notification);
User 는 이제 Notification 을 통보 받는다.

출처 : http://developer.android.com/guide/topics/ui/notifiers/notifications.html


(go to top)

Double-J's World » Programming/Android

Example ProgressDialog with a second thread

Double-J | 2009. 10. 31. 11:19

진행 상태를 추적하기 위해 두 번재 thread 를 사용한다.

그 thread 는 진행이 이루어질 때마다 핸들러를 통해서 main activity  에게 message 를 보낸다.

메시지를 받은 activity 는 Progress Dialog 를 update 한다.



package com.example.progressdialog;

import android.app.Activity;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class NotificationTest extends Activity {
    static final int PROGRESS_DIALOG = 0;
    Button button;
    ProgressThread progressThread;
    ProgressDialog progressDialog;
   
    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // Setup the button that starts the progress dialog
        button = (Button) findViewById(R.id.progressDialog);
        button.setOnClickListener(new OnClickListener(){
            public void onClick(View v) {
                showDialog(PROGRESS_DIALOG);
            }
        }); 
    }
   
    protected Dialog onCreateDialog(int id) {
        switch(id) {
        case PROGRESS_DIALOG:
            progressDialog = new ProgressDialog(NotificationTest.this);
            progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
            progressDialog.setMessage("Loading...");
            progressThread = new ProgressThread(handler);
            progressThread.start();
            return progressDialog;
        default:
            return null;
        }
    }

    // Define the Handler that receives messages from the thread and update the progress
    final Handler handler = new Handler() {
        public void handleMessage(Message msg) {
            int total = msg.getData().getInt("total");
            progressDialog.setProgress(total);
            if (total >= 100){
                dismissDialog(PROGRESS_DIALOG);
                progressThread.setState(ProgressThread.STATE_DONE);
            }
        }
    };

    /** Nested class that performs progress calculations (counting) */
    private class ProgressThread extends Thread {
        Handler mHandler;
        final static int STATE_DONE = 0;
        final static int STATE_RUNNING = 1;
        int mState;
        int total;
       
        ProgressThread(Handler h) {
            mHandler = h;
        }
       
        public void run() {
            mState = STATE_RUNNING;   
            total = 0;
            while (mState == STATE_RUNNING) {
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    Log.e("ERROR", "Thread Interrupted");
                }
                Message msg = mHandler.obtainMessage();
                Bundle b = new Bundle();
                b.putInt("total", total);
                msg.setData(b);
                mHandler.sendMessage(msg);
                total++;
            }
        }
        
        /* sets the current state for the thread,
         * used to stop the thread */
        public void setState(int state) {
            mState = state;
        }
    }
}
출처 : http://developer.android.com/guide/topics/ui/dialogs.html


(go to top)

◀ recent | 1 | 2 | 3 | 4 | 5 | 6 | previous ▶