♻️ 개발자로 재활용 29

자료구조(3) : 트리(Tree) 알아보기 및 용어

컴퓨터공학의 자료구조란 데이터를 효율적으로 다루기 위한 규칙이며, 이전 게시물에서 ‘선형구조’를 가진 스택과 큐에 대해 배웠습니다. 이번에는 ‘비선형구조’인 트리(Tree)와 그래프(Graph)에 대해 알아봅시다. 둘 다 데이터가 일렬로 나열되지 않고, 순서도 불규칙적으로 저장되는 형태입니다. 자료구조(1) : 자료구조(Data Structure)를 왜 알아야 하나요? ‘자료구조’라는 말이 조금 생소하게 느껴질 수 있습니다. 컴퓨터 과학에서 자료구조란, 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미합니다. 자료구조를 잘 알수록 therefrom.tistory.com 자료구조(2) : 스택(Stack)과 큐(Queue) 이전에 말한 자료구조란 데이터를 효율적으로 다루기 위한 규칙이..

자료구조(2) : 스택(Stack)과 큐(Queue)

이전에 말한 자료구조란 데이터를 효율적으로 다루기 위한 규칙이라고 배웠습니다. 이번에는 자료구조에서 많이 사용되는 스택(Stack)과 큐(Queue)에 대해 알아봅시다. 스택과 큐는 둘 다 리스트 자료구조의 특별한 경우로, 순서대로 구성된 선형 구조를 가지고 있습니다. 스택(Stack) 웹 브라우저의 뒤로 가기 버튼을 생각해 봅시다. 한 번에 한 페이지밖에 이동하지 못하고, 가장 마지막으로 누른 페이지로 바로 이동할 수 있습니다. 여기에 사용되는 스택은 자료 구조를 순서대로 쌓은 모양입니다. 컵처럼 데이터를 넣고 빼는 구멍이 하나이며, 가장 위쪽에서 데이터를 넣고 뺄 수 있습니다. 후입선출(LIFO : Last In First Out) : 나중에 들어간 데이터가 먼저 나옵니다. 또는 선입후출 (FILO ..

자료구조(1) : 자료구조(Data Structure)를 왜 알아야 하나요?

‘자료구조’라는 말이 조금 생소하게 느껴질 수 있습니다. 컴퓨터 과학에서 자료구조란, 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미합니다. 자료구조를 잘 알수록 데이터를 체계적으로 저장하고, 효율적으로 활용할 수 있습니다. 자료구조와 데이터, 알고리즘 책장에 여러 권의 책을 꽂아놓는 모습을 상상해봅시다. 마구잡이로 꽂아놓으면, 나중에 원하는 책을 찾는데 시간이 많이 걸리게 됩니다. 보다 효율적으로 책을 찾고 활용하기 위해 문학, 인문학, 경제학 등 분야별로 규칙을 정해 정리하려고 합니다. 그리고 분야별로 나눈 책은 가나다 순서대로 꽂아 놓는다고 생각해 봅시다. 만약 이 중 유발 하라리의 ‘사피엔스’를 찾고 싶다면 어떻게 할까요? 책이 정리되어 있는 규칙을 알기 때문에 인문학 분야..

클라이언트-서버 아키텍처와 프로토콜

클라이언트와 서버 클라이언트-서버 아키텍처(Client Server Architecture)는 리소스를 사용하는 클라이언트와 리소스가 존재하는 서버를 분리시킨 모델입니다. 두 개를 분리했다는 뜻은 알겠는데, 그래서 '클라이언트'와 '서버'가 정확히 뭔데? 할 수 있습니다. 온라인 게임을 생각해 봅시다. 롤이나 오버워치를 할 때, 인터넷이 연결된 상태에서 여러 사람이 접속합니다. 실시간으로 다른 상대와 싸우고, 스킨을 구매하거나, 채팅을 할 수 있죠. 인터넷이 연결되어 있지 않으면 이런 활동을 할 수 없고요. 흔히 게임이 잘 진행되지 않으면 서버에 문제가 있다는 말도 합니다. 이렇듯 실시간으로 정보를 받아오는 곳이 '서버(Server)'입니다. 영어 단어 그대로 제공하는 주체입니다. 이런 제공을 받는 사용..

웹 표준과 크로스 브라우징, 웹 접근성

웹 = 인터넷? 웹 표준을 알아보기 앞서, ‘웹’의 개념을 먼저 정리해봅시다. ‘웹’은 흔히 ‘인터넷’이라는 용어와 혼동되어 사용되곤 하지만, 서로 다른 개념입니다. 정확히 말하면 인터넷 안에 웹이 포함되어 있지요. 인터넷 전 세계적으로 연결되어 있는 컴퓨터 네트워크 통신망입니다. 이메일, 모바일 앱, 온라인 게임, 웹 등 네트워크를 사용하는 다양한 서비스를 모두 포함한 말입니다. 웹(World Wide Web) 인터넷에 연결된 컴퓨터를 통해 사람들이 문서, 이미지, 영상 등의 정보를 공유할 수 있는 전 세계적인 ‘공간’입니다. 웹에 접속해 블로그에 게시물을 쓰거나, 유튜브에 댓글을 다는 등, 인터넷이 연결되어 있으면 여러 정보를 공유할 수 있습니다. 그런데 만약 게시글 수정 버튼이 없다던가, 댓글을 작..

UI/UX 디자인 휴리스틱 원칙 (10 Usability Heuristics for User Interface Design)

Heuristic(휴리스틱)이란 ‘체험적인’ 이라는 의미로, 완벽한 지식 대신 직관과 경험을 활용하는 방법론입니다. 행동 경제학에서는 전통의 경제학의 ‘경제적 인간’처럼 인간이 언제나 이성적이고 합리적인 결정을 내린다고 생각하지 않습니다. 행동 경제학의 핵심은 인간의 비합리적인 행동을 심리/사회/감정적 관점에서 보고 파악해야 한다는 것입니다. Jakob’s Ten Usability Heuristics 제이콥 닐슨이 제시한 10가지 사용성 평가 기준을 충족하면 더 보기좋고 효율적인 UI, 더 좋은 UX를 만들 수 있습니다. 사용성 평가 기준은 서비스중인 애플리케이션을 평가하기 위한 목적으로도 사용할 수 있지만, 제품 설계 단계에서 더 완성도 있는 애플리케이션을 기획하기 위해서도 사용할 수 있습니다. 제품과..

피터 모빌(Peter Morville)의 유저 경험 허니콤(User Experience Honeycomb)

좋은 UX를 만들기 위해 무엇을 고려해야 할까요? UX 필드의 선구자 중 한 명인 피터 모빌(Peter Morville)은 2004년 발간한 저서 '검색 2.0: 발견의 진화 ambient findability’에서 User Experience Honeycomb이라 불리우는 7가지 요소를 제시했습니다. 이 벌집 모형에서 제시한 UX의 7가지 요소를 알아봅시다. 유용성(Useful) : 사용 가능한가? 사용성(Usable) : 사용하기 쉬운가? 매력성(Desirable) : 매력적인가? 신뢰성(Credible) : 신뢰할 수 있는가? 접근성(Accessible) : 접근하기 쉬운가? 검색 가능성(Findable) : 찾기 쉬운가? 가치성(Valuable) : 가치를 제공하는가? 1. 유용성(Useful) ..

UI와 UX, 그래서 뭐가 다를까

제품과 서비스를 기획하는 과정에서 UI/UX라는 말을 많이 사용합니다. 두 단어는 모두 User라는 말을 포함하고 있고, 실무에서 모호하게 사용되는 경우도 많습니다. 하지만 자세히 들여다보면 차이점이 있습니다. UI/UX 기본 개념 UI(User Interface) : 사용자 인터페이스 UI는 ‘사용자가 제품/서비스와 상호 작용하는 시스템’을 의미합니다. 보통 떠올리는 화면상의 그래픽 요소로 폰트, 컬러, 레이아웃 외에도, 키보드/마우스 등의 물리적 요소 역시 컴퓨터와 상호 작용하기 위한 시스템이므로 UI라고 볼 수 있습니다. 과거 휴대폰은 디스플레이가 있긴 했지만, 주로 숫자와 방향키 등 다양한 물리적 UI의 형태였습니다. 후에 스마트폰이 대중화되면서 화면 터치를 통한 상호작용의 비중이 높아졌지요. 스..