반응형

아웃룩 첨부화일 걸러지는 문제때문에 찾아보니 아래와 같은 좋은 정보가 있었습니다.

1. 실행 중인 경우 Outlook 2002를 종료합니다.
2. Regedit 을 실행해서 다음 레지스트리 키가 있는지 확인합니다. 레지스트리 키가 있으면 3단계로 건너뜁니다.
 HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Outlook\Security
                                                                               10.0 // 아마 2000이 이 버젼일것입니다.
                                                                               11.0
                                                                               12.0//2007 은 여기에 있습니다.
(그런데 최신 버전인 2007을 설치했다 하더라도 10.0 11.0 등 구버젼에서 setting되어있는 값도 읽어오는 것같습니다.)

레지스트리 키가 없으면 레지스트리 키를 만듭니다. 레지스트리 키를 만들려면 다음 레지스트리 키를 찾아 누릅니다.
HKEY_CURRENT_USER\Software\Microsoft
a.  편집 메뉴를 누르고 새로 만들기를 누른 다음 키를 누릅니다.
b.  Office를 입력한 다음 Enter 키를 누릅니다.
c.  편집 메뉴를 누르고 새로 만들기를 누른 다음 키를 누릅니다.
d.  10.0을 입력한 다음 Enter 키를 누릅니다.
e.  편집 메뉴를 누르고 새로 만들기를 누른 다음 키를 누릅니다.
f.  Outlook을 입력한 다음 Enter 키를 누릅니다.
g.  편집 메뉴를 누르고 새로 만들기를 누른 다음 키를 누릅니다.
h.  Security를 입력한 다음 Enter 키를 누릅니다. 
 
3. 편집 메뉴를 누르고 새로 만들기를 누른 다음 문자열 값을 누릅니다.
4. 새 값에 대한 이름으로 다음을 입력합니다.
Level1Remove
5. Enter 키를 누릅니다.
6. 새 문자열 값 이름을 마우스 오른쪽 단추로 누른 다음 수정을 누릅니다.
7. Outlook 2002에서 열 파일 형식의 확장명을 입력합니다. 예를 들면, 다음과 같습니다.
.chm
파일 형식을 여러 개 지정하려면 아래의 형식을 사용합니다.
.chm;.xls
8. 확인을 누릅니다.
9. 레지스트리 편집기를 종료합니다.



[출처] MS아웃룩에서 첨부파일에 액세스 할 수 없을때|작성자 꼬까
 




반응형


[미츠 동호회]
http://www.mymits.net/



[네이버 스마트폰 까페]
http://cafe.naver.com/bjphone



[파인드라이브]
http://www.fine-drive.com/


'Link' 카테고리의 다른 글

bada 어플 개발자들 블로그 링크  (0) 2010.05.21
dropbox  (0) 2009.04.30
Palm OS developr link  (0) 2009.02.18
Nokia wiki  (0) 2009.01.20
반응형





으으흐~~ 드뎌 내손에 들어왔습니다.

사자마자 베터리 케이스 분실했다가 찾았는데.. 바닥이 긁혔다는 ㅠ_ㅠ

일단 Lock 화면 변경!!! 사진은 회사라 어떻게 할수가 없네요...
S2U2로 샤샥...

그리고 메뉴 조정좀 하고, Bluetooth 로 ActiveSync 연결.
Camera sound 없애고... ( 요거 자료실 찾아보니 있어서 한방에..)

우후훗!! 해볼것이 많답니다...


이런 저런 사용 해보면서 느낀점은.. 음.. 우선

1. 느리다!
메세지 입력하러 들어가거나 기타 동작시 약간 답답할 정도로 느립니다.

2. 화면이 깨진다.
요즘 회사 일때문에 이런저런 폰들과 비교를 많이 하게 되는데, I-Phone과 확실히 비교되는 부분이
바로 그래픽이 깨진다는 것입니다.
화면 update 가 한번에 이뤄지지 않고 잘개 쪼개져서 부분 부분 update가 발생합니다.
그래서 화면이 더 깨져 보입니다.

3. QWERTY가 불편하다.??
사실 이건 제가 아직 3x4키에 익숙해 있던 터라.. 좀더 사용해봐야 알겠지만.
당장은 약간 불편하다는 느낌이 강합니다.

4.FN Launcher는 매우 유용하다.!!
정말 이건 대박입니다.!! 가장 만족하는 기능중에 하나죠.
Lock 화면 Customizing 하다 잘못해서 Lock을 푸는 슬라이드 버튼을 없애 버렸더니 Lock을 풀수가 없어서
어떻게 할까 무지 고민하다 갑자기 FN Launcher가 생각나서 요걸로 프로그램들 종료!! 샤샥!!~~ 휴~ 문재 해결

5.Office 가 너무 좋다!!
MS의 장점이겠지만, Office 그중에서 OneNote Sync는 너무 맘에 듭니다.!!
Desktop에서 작업했던 Note를 Mobile note로 옮겨서 sync를 하면 핸폰에 내 매모들이 쏙 들어와있습니다.
회의할때도 참고 할 수 있고.. 매우 유용한 기능이죠.!!
파워포인트도 볼수 있습니다. 므흐흐.

어제 사서 해본게 별로 없지만.. 차츰 내용을 매꿔야죠!!
시간나는대로 사진도 올리도록 할게요..
(전 좋은 카메라가 없어서 ㅠ_ㅠ)


몇가지 악세사리 프로그램을 설치 했습니다.
S2U2 와  Wizard Bar


S2U2화면 - 화면 화면보호기.. 겸 멋부리기용 으로 설치 !!


Wizard Bar - IDLE 용



그외 프로그램은 흠흠. 



File Explorer EX  : 기존의 탐색기에 비해서 약간 기능이 업그레이드 된듯합니다.
Fun Contact : i phone 처럼 flick 이나 스크롤이 무척 편하게 되어있습니다.
- 대신 단점은 키입력에 의한 찾기는 안됩니다.

Agenda One : 일정관리 프로그램
- 아직 다른 일정관리 프로그램을 안써봐서 비교하기는 머하지만,  기본으로 들어있는 일정관리 프로그램보다는 좋습니다.


반응형

 

[Gesture Events]

When the user switches from a one-finger tap to using two-fingers, it's considered the beginning of gesture.

This causes gesture events created, which can be interrupted by overriding the appropriate methods

 

 

mouseDown  ---> gestureStarted   ----> gestureChanged ----> gestureEnded ----> mouseUp



위와 같이 첫 touch는 mouse처럼 동작시키지만 2번째 touch 부터는 gesture event로 동작시키고 gestureChanged 를 통해 어떤 action인지를 판단하는 것으로 보인다.

--> 이전까지의 내 생각

2009.12.06
만약 위와같이 첫번째 touch가 mouseDown이고 2번째 touch 부터 gesture 라고 하게 되면, 개발자의 코드는 mouseDown과 getsure쪽에 동시에 코드을 추가해야 한다.
이를 방지하기 위해서는 mouseDown 과 gestureStarted를 동시에 첫번째 touch때 보내는 것이다.
그렇게 되면, multi-touch 용 application들은 따로 mouseDown을 사용하는 것이 아니라 gestureStarted를 사용하게되고,
그렇지 않은 application들은 그냥 기존처럼 mouseDown event만 받아서 처리하면 된다.



반응형

 

디자인 패턴(Design Pattern)

디자인 패턴 S/W 개발 & 설계 OOP 등에서 빠지지 않는 주제죠...
최근 강좌에서 들었던 내용을 메모했던 내용들을 적었더니, 뭔가  두서가 없어져서 습득하기는 힘들듯 해보입니다.

그래도 정리 내용은 남겨놨습니다.

설계 패턴은 자주 발생하는 설계상의 문제를 해결하기 위한 반복적인 해법[Smalltalk Companion]

"설계패턴 반복되는 구조를 설계할 때 설계를 재 활용하는데 초점을 두는데 비하여 프레임워크는 세부 설계와 구현에 초점을 두고 있다."[Coplien & Schmidt]

 


MVC 패턴

가장 대표적인 패턴으로 소프트웨어의 유저 인터페이스를 Model-View-Control 구조로 설계하는 것을 말합니다.

(1979 년 )
시작은 Xerox PARC (그 유명한 제록스의 팔로알토 연구소)에서 Smalltalk-80 기반으로 동작하는 모델-뷰-컨트롤러 를 소개하면서 부터입니다.

 

Model(data): 화면에 출력될 자료 관리
View: 화면 출력 담당
Controller: 사용자와 view간의 상호작용을 담당


Smalltalk : 가장 객체지향적인 언어.

- 다뤄보지 않아서 어떤 언어인지는 감이 없습니다.

 



GoF Design Pattern

Software계의 거장들인 Gang Of Four (GoF)가 여러가지 다양한 소프트웨어 패턴들중에서 23개를 3가지 유형으로 분류하여 목록화 하였습니다.

-  Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides,

 이외에 Grady Booch 도 엄청 유명한 사람.


Creational Patterns

- Abstract factory , Builder, Dependency Injection, Factory method, Lazy initialization, Multiton, Object pool, Prototype, RAII(Resource acquisition is initialization), Singleton
Structural Patterns

- Adapter, Wrapper, Translator, Birdge, Composite, Decorator, Delegation, Extension object, Facade, Flyweight, Front Controller, Marker, Module, Proxy, Twin
Behavioral Patterns
- Blackboard, Chain of responsibility, Command, Fluent interface, Interpreter, Iterator, Mediator, Memento, Null object, Observer Pub/Sub, Servant, Specification, State, Strategy, Template method, Visitor

 

 

Concurrency patterns[POSA2 - Pattern-Oriented Softeware Architecture]

- Active Object, Balking, Binding properties, Compute kernel, Double-checked locking, Event-based asynchronous, Guarded suspension, Join, Lock, Messaging design patterm(MDP), Monitor object, Reactor, Read-write lock, Scheduler, Service handler pattern, Thread pool, Thread-specific storage, Safe Concurrentcy with Exclusive Ownership, CPU atomic operation

[객체지향 설계 철학]

역할별 분리 - 객체화, 모듈화
표준화 - 인터페이스 표준화
계층화 - 계층화 아키텍쳐

 

 

대표적인 패턴 몇가지에 대해서...

 


[Singleton]

클래스에서 객체가 1개만 만들어지도록 강제하는 하는 패턴이다.
싱글톤을 사용하는 방법과 클래스 전체를 클래스 메소드로 만들어 사용하는 방법과 의 차이
 - 객체를 생성 소멸의 lifecycle 을 통제 할수 있다.
 -1 개로 제한 할때 뿐만 아니라 개수를 제한 할 수도 있다.
      ftp server의 connection 개수 제한 등...
   때문에 클래스 메소드 보다 융통성이 있다.


[Factory Method]

 - 객체를 생성해야할 시기, 방법, 절차가 공통
 - 생성되는 객체의 class가 그때 그때 다를때...  그때그때 달라요...

 abstract class를 만든다.

추상화 클래스의 구현 클래스들을 만든다.

Factory class 를 만들고 인스턴스 생성 함수(factory method)를 만든다.

Factory()->create(클레스 구분자) 형태로 사용한다.

 

 

[Prototype 패턴]

- 객체 복사를 위한 패턴.


[Iterater]

- 반복 순환하는 구조를 컨테이너와 반복 알고리즘을 분리


[Mediator]
여러 객체들이 단위 작업을 수행하기 위해 서로 얽혀 있을때, 중계자를 두어 복잡한 작업을 중계자에게 주고 나머지 부분은 중계자에게 notify 준다.
Mediator
역할을 하는 객체를 만들어서 복잡한 작업은 Mediator에서 수행하고, 객체들은 단위 작업만 수행하도록 ,\.


[
정리 - 주장하는바]
-
설계 패터을 적용하여 설계 구현할때 초기 투자 비용이 든다.
-
하지만 이후 설계 변경 비용은 감소한다.
-
설계변경이 많다면 결과적으로 이익이다.

 

 

#해피코딩

반응형
[Nokia wiki]

 
 
 
site 구성이 깔끔함.
 
symbian , s60에 대한 많은 정보들을 접할 수 있음.

'Link' 카테고리의 다른 글

bada 어플 개발자들 블로그 링크  (0) 2010.05.21
dropbox  (0) 2009.04.30
Palm OS developr link  (0) 2009.02.18
[For M4800] Smart phone , MITs , Window Mobile, Finedrive  (0) 2009.01.30
반응형

읽어보면 읽어볼수록 건질것이 많은 책이다.

흥미 위주로의 주제들만 잠깐 읽어 봤는데 내용을 간추려 보면 다음과 같다.


Chaper 1.사용자 인터페이스 설계의 초기 진출

[컴퓨터를 끄기 위해 왜 시작 버튼을 눌러야만 하는가?]
윈도우 95시절, 작업 표시줄에 시작 버튼이 없었다.(당시 작업표시줄로 불리지도 않았다).

시작 버튼 대신 시스템 버튼(아이콘은 윈도우 깃발임), 찻기 버튼 그리고 도움말 버튼 이렇게 3개의 버튼이 화면좌측 하단에 표시되었다.
시간이 지나면서, 찻기와 도움말 버튼이 시스템 버튼에 통합되었다.
창 배열 과 같은 메뉴는 사용자 인터페이스의 다른 부분으로 옮겨갔고, 작업 목록과 같은 메뉴항목은 완전히 사라졌다.

유용성 테스트에서 들어난 가장 큰 문제점은 사용자가 컴퓨터를 켜고 그 다음에 무엇을 해야 할지를 잘 모른다는 것이었다.

시스템 메뉴에 '시작'이라는 라벨을 붙이자고 누군가가 제안한 것은 바로 이때였다.
그 뜻은 '여기를 누르세요'라고 말하는 것이었다. 이 간단한 변경으로 유용성 테스트 결과는 극적으로 개선되었는데, 사용자들이 무언가 하고자 할 때 무엇을 클릭해야 하는지를 이제 알게 되었기 때문이었다.
사용자들에게 컴퓨터를 꺼달라고 했을 때 이들은 시작 버튼을 클릭했다. 왜냐하면, 컴퓨터를 끄기위해서는 어디에선가 시작을 해야 했기 때문이다.

심지어 pc를 끌대도 '시작'을 누른다는 것... 이것은 아이러니한것인지 정상적인것인지 모르겠지만, 사용성은 정말 심플한 아이디어에 의해서도
극대화 될수 있다는 예기입니다.


[옵션을 언제 비활성화 시키며, 언제 제거할 것인가?]
메뉴 항목이나 대화상자 옵션을 표시할 때 이들은 사용할 수 없다면, 이것을 비활성화하거나 제거할 수 있다. 이때 적용해야 할 규칙은 무엇일까?

어떤것이 보이기는 하지만 사용할 수 없을 때 사용자들은 어떻게 조작하면 이것을 활성화 시킬수 있을 것이라고 기대한다는 것이 실험에서 밝혀졌다.

따라서 사용자가 기능을 활성화 할수 있는 무엇인가가 있다면, 메뉴 항목을 보이되 비활성화 시켜야 한다.
예를 들면 매체 재생 프로그램에서 매체 파일이 재생 중이 아니면 정지 옵션은 비활성화 된다. 그리고 재생을 시작할 때 이 옵션이 활성화 된다.

반면에, 어떤 이유로 인해 사용자가 전혀 조작할 수 없는 옵션이 있다면 이것을 제거해야 한다.
그냥 둔다면 사용자들은 이를 활성화 시키는 방법을 찾으려고 시간을 낭비할 것이다.
예를 들면, 컬러 인쇄가 불가능한 프린터에 대해서는 색상 조정 옵션이 보여서는 안 되는데, 이것은 이 프로그램으로는 어떻게 하더라도 프린터에서 컬러 인쇄가 되도록 만들수 없기 때문이다.

비슷하게 , 텍스트 어드벤처 게임을 생각해 보자.' 벽에서 횃불을 집어라' 와 같은 어떤 명령어를 내리면 컴퓨터는 '아직 그건 할 수 없다'라고 답변한다. 메뉴 항목을 홰색으로 만드는 것에 대응되는 어드벤처 게임의 처리는 이와 같다. 사용자는 다음과 같은 고민을 한다."음, 의자가 필요한가? 아니면 횃불이 너무 뜨거운가? 너무 많은 도구를 가져가서 그런가? 어쩌면 다른 캐릭터를 찾아서 이 일을 맡겨야 할지도 몰라."

만약 횃불이 제거할 수 없는 것이었다면 사용자로 하여금 쓸데없는 노력을 하게 만든다. 어드벤처 게임에서는 이런 좌절감이 재미의 일부이지만, 컴퓨터 프로그램에서의 좌절감은 사람들이 즐길 수 있는 것이 아니다.

이것은 엄격한 규칙이 아니라 단지 하나의 지침이라는 점에 유의하기 바란다.
 다른 고려 사항들이 이 원칙에 우선할 수 있다. 예를 들어, 일관성 있는 메뉴 구조가 더 바람직하다고 생각할 수 있는데,
왜냐하면 이것이 덜 혼란스럽기 때문이다
(예를 들어, 매체 재생 프로그램은 음악파일을 재생할 때 동영상 관련 옵션들을 표시하기는 하지만 비활성화 시킬 수 있다.)


책을 읽다 공감이 가는 내용이고 그동안 항상 봐왔지만 생각해보지 못했던 내용이라 이렇게 블로그에 옮겨 적었습니다.
(copy & paste 아닙니다. 손으로 카피 했습니다. ㅠ_ㅠ)


반응형

본인이 최근에 겪은 일중 하나가

기존에 짜여져 있던 코드가 Timer를 이용하여 text sliding을 구현되어져 있던 부분이 있었다.

그런데 기존에 timer의 코드가 Callback으로 되어있었는데 아무생각 없이 컨버젼을 하다보니.

헉... Timer callback을 어떻게 구현해야 하지? 라는 벽에 부딛치게 되었다.


기존 코드
KeyPressedProc()
{
  hSlideTimer = CreateTimer("test", SlideTimerCallback);
  StartTimer(hSlideTimer);
}


BOOL SlideTimerCallback(HTimer hTimer,int param)
{
   /*Implement text sliding*/
return TRUE;
}

C++ 컨버젼 코드
/**/
class TextView;

TextView::keyPress()
{
    hTimer = CreateTimer("test",흐걱!!!!!!!!);
    StartTimer(hTimer );
}

BOOL TextView::SlideTimer(HTimer hTimer,int param)
{
   /*Implement text sliding*/
return TRUE;
}


결국 임시로 TextView::SlideTimer를 static 함수로 바꿨다는 ...  ㅡㅡ;;;


--------------------------------------------------------------------------
TextView::keyPress()
{
    hTimer = CreateTimer("test",TextView::SlideTimer, static_cast(this));
    StartTimer(hTimer );
}


static BOOL TextView::SlideTimer(HTimer hTimer, int param)
{

TextView * pView = static_cast(param);
:
:
}

위와 같이 변경해서 사용하려니 이번에 문제는timer 가 expire되어 SlideTimer callback에 들어왔을때
최악의 case인 TextView로 만들었던 Instance가 사라졌다면? 을 고려해야 하는데.

이렇게 되면 C에서 하던것 처럼 instance들을 handle로 관리하고 handle로 접근하도록 변경해야 만 해결할 수 있게 된다.!!

이와 같은 경험을 통해 CTimer 라는 class를 만들고 이 Timer Subscribe를 생성하여, 객체가 timeout event를 받을 수 있도록 구현할 필요가 있다.



+ Recent posts