일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- MariaDB
- workbench
- 머신런닝
- sizzle
- 제이쿼리 페이징
- co-founder
- Toad
- jquery
- 다이어트
- 문자열반전
- MacOS
- 스타트업
- API Server
- 트레이닝
- 자바
- startup
- 서스펜스
- 페이징 모듈
- 지앤선
- 제이쿼리
- paging
- 문자열반대로
- 자바입문서
- 습관의재발견
- DB Tool
- 기초자바
- selector
- 스크럼
- 문자열붙이기
- 헬스
- Today
- Total
목록Program (65)
누구도 평범한 사람은 없다
글 : Joel Spolsky 번역 : AhnLab 2000년 5월 8일 GUI의 초기 원칙 중 하나는 사람들에게 컴퓨터가 기억할 수 있는 것은 기억하지 않아도 되도록 하라는 것이었다. 그 대표적인 예가 바로 Open File 대화박스이다. Open File 대화박스는 사용자에게 정확하게 파일 이름을 기억해 입력하는 것을 요구하는 대신 모든 파일의 목록을 보여준다. 사람들은 단서를 줄 때 사물을 더 잘 기억하며, 기억하기 보다는 리스트를 보고 선택하는 것을 더 좋아한다. 또 다른 예로 메뉴를 들 수 있다. 현재, 사용 가능한 명령어의 완벽한 메뉴를 제공하는 방법이 기존의 명령어 라인(command-line) 인터페이스를 대체하였다. 기존 방법에서는 사용자가 사용하고자 하는 명령어를 기억해야만 했다. 이는..
글 : Joel Spolsky 번역 : AhnLab 2000년 4월 27일 목요일 Bruce "Tog" Tognazzini (이하 Tog)는 애플 개발자 잡지에 UI에 대한 칼럼을 기고했다. 그의 글에는 많은 사람들이 지적하고 있는 UI 디자인 상의 문제점이 흥미롭게 기술되어 있다. 이러한 칼럼은 Tog의 웹사이트에 현재까지 실려 있으며, 나중에 집대성되어 Tong on Software Design과 같은 위대한 책에 실리게 되었다. Tog on Software Design은 UI 디자인에 대한 위대한 개론서로 상황을 흥미롭게 기술하고 있다 (Tong on Interface란 책이 더 훌륭하지만, 이 책은 지금 절판된 상태다). Tog은 mile high menu bar 개념의 창시자로, 이를 통해 화면..
글 : Joel Spolsky 번역 : AhnLab 2000년 4월 26일 수요일 사용자 인터페이스 설계시, 다음과 같은 두 개 원칙을 명심하는 것이 좋다. 사용자는 사용설명서가 없으며, 있더라도 읽지 않는다. 사실 사용자는 아무 것도 읽을 수 없으며, 읽을 수 있더라도 읽지 않을 것이다. 엄격하게 말하자면 이것들은 사실이 아니지만 이것들이 사실인 것처럼 행동해야 한다. 왜냐하면 그렇게 하면 프로그램 사용시 좀 더 용이하면 친근한 느낌을 주게 되기 때문이다. 이러한 생각을 염두에 두고 설계를 하는 경우 사용자존중이라는 말을 쓰는데 이 말은 사용자에 대해 그다지 존중하지 않는다는 것을 의미한다. 혼동된다면 지금부터 설명하겠다. 사용을 용이하게하다라는 말의 뜻은 무엇인가? 이 용이성을 측정할 수 있는 한가지..
글 : Joel Spolsky 번역 : AhnLab 2000년 4월 22일 토요일 마이크로소프트 오피스 슈트의 주요 프로그램인 워드 및 엑셀은 마이크로소프트사 내부에서 개발됐지만 다른 제품들은 다른 회사에서 구매한 것으로, 가장 잘 알려진 예가 FrontPage(Vermeer로부터 구입)와 Visio(Visio에서 구입)이다. 이 두 프로그램 사이에 공통점이 있을까? 두 가지 모두 마이크로소프트 오피스 응용프로그램처럼 보이고 느껴지도록 설계되었다는 점이다. 오피스 UI를 모방하기로 결정한 이유는 단순히 마이크로소프트에 “흡수”되기 위한 것이었거나 마이크로소프트사에 판매를 원했기 때문이 아니다. 실제로, FrontPage를 개발한 Charles Ferguson은 마이크로소프트사에 대한 반감을 주저하지 않고..
글 : Joel Spolsky 번역 : 2000년 4월 18일 화요일 프로그램 모델과 사용자 모델이 일치하는 사용자 인터페이스 개발은 쉽지 않다. 때때로, 사용자들이 프로그램이 어떻게 작동하는지 무슨 작업을 하도록 되어 있는지에 대한 기대가 뚜렷하지 않을수도 있다. 이런 경우, 프로그램이 어떻게 작동하는지에 대해 사용자들에게 설명해 줄 수 있는 방법을 찾아야 한다. 그래픽 인터페이스를 사용하는 경우, 이러한 문제를 해결하는 일반적인 방법은 메터퍼(metaphors) 사용이다. 하지만 모든 메터퍼가 동일하게 생성되는 것은 아니고, 왜 메터퍼 사용으로 인해 문제가 해결되는지 이해하는 것이 중요하고 따라서 양호한 메터퍼가 있는지 아는 것이 중요하다. 가장 유명한 메터퍼는 윈도우 및 매킨토시에서 사용하는 "데스..
글 : Joel Spolsky 번역 : AhnLab 2000년 4월 12일 수요일 어떤 레스토랑에 들어가다 입구에서 “애완견 출입 금지”라는 표지판을 봤다면, 여러분은 그저 이 문구가 금지의 뜻만 전하고 있다고 생각할지도 모른다. ‘아, 레스토랑 씨는 개를 별로 좋아하지 않나 보군. 그러니까 자기가 지은 레스토랑에는 개를 들이지 않겠다는 거겠지’ 라고 말이다. 만약 그것이 전부라면, 거기에는 “뱀 출입 금지”라는 문구도 붙어있어야 할 것이다. 뱀을 좋아하는 사람은 거의 없으니까. 또, “코끼리 출입 금지”라는 문구도 필요할 지 모른다. 코끼리들이 앉았다가는 레스토랑의 의자들이 하나도 남아 나지 않을 테니까. 거기에 그 표지판을 세운 진짜 이유는 과거의 경험을 바탕으로 한 것이다. 다시 말해, 레스토랑에 ..
글 : Joel Spolsky 번역 : AhnLab 년 4월 11일 화요일 어떤 사용자가 어떤 프로그램을 처음 사용한다고 할 때, 그 프로그램에 대해 완전히 백지 상태로 접근하는 것은 아니다. 그들은 그 프로그램이 어떤 방식으로 작동될 것인가에 대해 자기 나름대로의 기대를 갖는다. 만일 예전에 비슷한 소프트웨어를 사용해본 적이 있다면 그것과 비슷한 방식으로 작동되리라 예상할 것이다. 만일 그 이전에 어떤 소프트웨어도 사용해본 적이 없다면 그 프로그램이 일정한 보편적 규칙에 따라 움직이리라 예상하게 될 것이다. UI가 어떻게 움직일 것인가에 대한 사용자들의 예측이 적중할 수도 있다. 이와 같이 어떤 프로그램이 자신에게 무엇을 해줄 것인가에 대한 사용자의 심리적 이해를 가리켜 사용자모델이라 한다. 프로그램에..
글 : Joel Spolsky 번역 : AhnLab 2000년4월10일월요일 필자가 아는 대부분의 골수 C++ 프로그래머들은 사용자 인터페이스 프로그래밍을 꺼린다. 필자로서는 잘 이해가 되지 않는 일이다. UI 프로그래밍이 본질적으로 아주 쉽고 간단하며 재미있는 작업이라고 생각하기 때문이다.UI 프로그래밍은 쉽다. 일반적으로 하나의 사각형 안에 또 다른 사각형을 집어넣는 수준 이상의 더 복잡한 알고리즘은 필요하지 않기 때문이다. UI 프로그래밍은 간단하다. 프로그래밍 과정에서 실수가 있을 경우, 금방 눈에 띄고 곧바로 수정할 수 있기 때문이다. UI 프로그래밍은 재미있다. 노동의 결과를 직접 눈으로 확인할 수 있기 때문이다. 마치 프로그램을 직접 조각하는 것 같은 기분을 느낄 수 있다.대부분의 프로그래머..
자바 디자인 패턴 16 - Visitor1. Visitor 패턴은.. 복잡한 구조체 안을 돌아다니면서 어떤 일을 해야 할 경우가 있습니다. Visitor는 어떤 구조체에 대해 그 안을 돌아다니면서 어떤 일을 하는 것입니다. 이 때, 구조체 1개에 하는 일이 딱 1개라는 보장은 없습니다. 하나의 구조체에 대해 다양한 일들을 할 수 있습니다. 하고 싶은 일이 추가된다고 해서 구조체를 변경하는 것은 무리입니다. 이런 때는 Visitor를 추가하면 됩니다. 예제에서는 PC의 디렉토리-파일 구조에 대해 야동을 찾는 일을 하는 Visitor를 구현해보았습니다. 2. 예제 --------- Component, Composite, Leaf 등은 Composite 패턴 설명에 썼던 것을 거의 그대로 사용했습니다. 바뀐 ..
자바 디자인 패턴 15 - Mediator1. Mediator 패턴은.. 비행기가 이착륙하다가 충돌하는 일은 좀체로 일어나지 않습니다. 비행기들끼리 서로 통신하지 않는데도 말이죠. 각각의 비행기는 관제탑하고만 통신을 하고, 관제탑이 각각의 비행기에게 착륙해도 된다 또는 안 된다 식으로 메시지를 보내줍니다. 비행기들끼리 서로서로 직접 통신을 한다면 통신할 경우의 수가 무진장 많아져서 혼란스럽게 됩니다. Mediator 패턴은 관제탑과 같이 통신을 집중시킴으로써 통신의 경로를 줄이고 단순화시키는 역할을 합니다. 2. 예제 ------------------ 관제탑 역할을 하는 ControlTower (활주로 역할도 함) ---------------- package ch15_Mediator;public clas..