22 11월 2020

[알아봅시다]  [잠깐과학]물리학자는 왜 월드와이드웹을 개발했을까

[알아봅시다] 

[잠깐과학]물리학자는 왜 월드와이드웹을 개발했을까

2020.11.14 10:00

유럽입자물리연구소(CERN) 시스템 속에 서 있는 모습. CERN 제공

유럽입자물리연구소(CERN) 컴퓨팅 시설의 모습이다.  CERN 제공

입자물리학 연구에서 가장 어려운 분야는 실험 후 해일처럼 밀려오는 데이터 홍수에서 원하는 정보를 찾는 과정입니다. 모래사장에서 모래알 하나를 찾는 일과 같습니다. 유럽입자물리연구소(CERN)에서 일하던 물리학자인 팀 버너스리가 웰드와이드웹(www)을 개발한 이유입니다.

‘데이터 보정’이라는 힘들고 고된 일

2015년 미국 상대론적 중이온가속기(RHIC)에서 입자 충돌 실험인 피닉스(PHENIX)에 참여하고 있을 때였습니다. 양성자를 서로 충돌시키면 나오는 ‘바텀 쿼크’가 한 번 더 붕괴해 나오는 입자를 찾아야 했습니다. 이 작은 입자는 양성자가 충돌한 지점에서 500μm(마이크로미터) 떨어진 곳에서 발생합니다. 이론적으로는 그렇습니다. 진짜 발견하려면 입자의 위치와 경로를 정확히 측정해야 합니다.

제가 입자를 검출하기 위해 사용했던 실리콘 검출기에는 작은 센서인 ‘픽셀’들이 모눈종이처럼 붙어 있습니다. 가로와 세로가 약 100㎛로 매우 작은 픽셀은 입자가 지나가면 신호를 보냅니다. 이 신호 정보로 입자들이 검출기를 지나며 마주친 픽셀들을 모으면 각 입자들의 경로를 알아낼 수 있습니다. 경로를 따라 각 입자가 처음 생겼던 곳을 추적해 가는데, 만약 입자의 시작점이 양성자 충돌 지점에서 수백㎛떨어져 있다면 바텀 쿼크가 붕괴하며 나온 입자라고 추정할 수 있습니다.

문제는 픽셀이 너무 작아 완벽하게 줄을 세우기 어렵다는 겁니다. 픽셀은 여러 개가 모여 한 층을 이루고, 이 층이 여러 개 모여 검출기를 이룹니다. 검출기가 입자의 경로를 정확히 측정하려면 각 층이 서로 뒤틀리지 않고 나란히 정렬돼야 하지만, 100㎛ 크기의 픽셀들이 정확히 정렬돼도록 검출기를 만들기는 불가능합니다 그렇다고 해서 1㎜ 라도 어긋나면 한 층을 지나간 입자가 다음 층에서는 엄청 멀리 떨어진 픽셀을 지나간 것처럼 측정될 겁니다.

이런 한계를 극복하기 위해 물리학자들은 픽셀들이 정확히 정렬되어 있지 않다고 가정하고, 실험 후에 컴퓨터로 데이터를 보정합니다. 픽셀 하나는 좌우, 위아래, 앞뒤로 이동할 뿐만 아니라 회전할 수도 있어 모든 변수를 고려해 계산합니다. 이 작업은 시간이 매우 오래 걸려 저도 2년간 보정 작업을 거친 후에야 원하는 입자를 찾을 수 있었습니다.

가속기에서 영화 10만 편에 달하는 데이터가 쏟아진다

여행지에서 무심코 사진을 찍으면 어느새 카메라에 저장 공간이 부족하다는 경고 메시지가 뜹니다. 사진의 해상도가 올라갈수록 용량이 커져 더 많은 저장 공간이 필요합니다. 

이와 같은 일이 가속기 실험에서도 일어납니다. 입자 충돌 실험에서 발생하는 입자는 검출기를 지나면서 마주치는 픽셀에 흔적을 남기는데, 이 신호를 저장하는 것이 사진을 찍는 것과 같습니다. 사진처럼 검출기도 픽셀이 많아질수록 정밀해집니다. 그럴수록 저장해야 할 데이터량도 많아집니다.

실리콘 검출기 중에서는 가로와 세로의 길이가 각각 3㎝ , 1.5㎝인 칩 하나에 픽셀이 약 50만 개나 있는 것도 있습니다. 이런 실험에서 저장하는 데이터는 1년에 1PB(페타바이트) 이상인데, 1PB는 요즘 컴퓨터에 사용되는 하드디스크의 용량인 1TB(테라바이트)의 약 1000배입니다. 용량이 10GB(기가바이트)인 초고화질 영화 십만 편에 해당하는 어마어마한 크기입니다. 

방대한 데이터를 저장하고 처리하려면 컴퓨터도 많이 필요합니다. RHIC의 컴퓨터에는 중앙처리장치(CPU)가 약 3만 개 달려있습니다. CPU가 하나만 있다면 데이터를 처리하는 데 1달 정도 걸릴 것을, 3만 개를 동시에 작동시켜 몇 분만에 끝내는 겁니다. 전 세계 약 천 명의 연구자들이 이 컴퓨팅 시설에 접속해 충돌 실험 데이터를 분석합니다. 

물리학자가 www를 만든 이유

팀 버너스리 영국 옥스퍼드대 교수가 유럽입자물리연구소(CERN)에 재직하던 1994년에 CERN 및 자신이 1989년 제안한 월드와이드웹(WWW) 화면을 띄운 컴퓨터 앞에 앉아 있다. 사진 제공 CERN

팀 버너스리 영국 옥스퍼드대 교수가 유럽입자물리연구소(CERN)에 재직하던 1994년에 CERN 및 자신이 1989년 제안한 월드와이드웹(WWW) 화면을 띄운 컴퓨터 앞에 앉아 있다. 사진 제공 CERN

유럽입자물리연구소(CERN)의 컴퓨팅 시설은 더 독특합니다. 처리하는 데이터량에 비해 연구소 안에 컴퓨터가 많지 않습니다. 이는 데이터가 세계 곳곳에 나뉘어 있기 때문입니다. 여러분도 크롬 같은 웹브라우저에 웹사이트 주소를 입력할 때 앞에 ‘www’가 붙는 걸 본 적이 있을 겁니다.

‘www’는 URL이라는 고유한 주소를 이용하는 정보 검색 시스템입니다. CERN에서 개발됐습니다. CERN은 1980년대까지 데이터를 여러 컴퓨터에 나눠 저장하는 바람에 하나의 정보를 찾으려면 수많은 컴퓨터를 뒤져야 했습니다. 그러다 보면 있는 정보도 잘 찾을 수 없었습니다.

CERN에서 물리학을 연구하던 팀 버너스리 연구원은 1989년 3월 www를 고안했습니다. 여러 컴퓨터에 나뉜 정보에 각각 주소를 지정해 쉽게 검색하도록 한 것입니다. 도서관이 각 책에 위치 코드를 달아 분류하는 것 처럼요. www를 이용하면 CERN 밖에 있는 물리학자들도 정보를 빠르게 교환할 수 있어 공동 연구가 가능해졌습니다. 이후 일반 사용자도 쉽게 사용할 수 있는 웹브라우저가 개발되면서 지금과 같은 인터넷 환경이 만들어졌습니다.

2008년부터 CERN은 전 세계의 컴퓨터를 하나로 묶은 ‘WLCG’라는 시설을 구축해 왔습니다. 전 세계 42개 국가의 170여 개 컴퓨팅 시설에 데이터를 나누어 저장합니다. WLCG에는 매년 10PB 이상의 데이터가 새로 저장돼 전 세계 약 만 명에 가까운 연구자들이 이용합니다. 한국의 기초과학연구원도 WLCG에 속하는 덕에 국내 연구원도 거대강입자가속기(LHC)에서 이뤄지는 실험에 참여할 수 있습니다.

※관련기사

어린이과학동아 23호(11월 15일 발행) [헥!헥! 핵물리학자] 요건 몰랐지? www는 물리학자가 개발했다

※필자소개

임상훈 부산대학교 물리학과 교수. 고에너지 핵물리학을 연구한다. 미국의 상대론적 중이온 가속기(RHIC)와 유럽의 거대 강입자 가속기(LHC)에서 각각 피닉스(PHENIX) 실험과 앨리스(ALICE) 실험에 참여한다.

  • 임상훈 부산대 물리학과 교수 shlim@pusan.ac.kr

[출처] http://dongascience.donga.com/news.php?idx=41423

Loading

19 10월 2020

웹 애플리케이션 개발 프레임워크, 5분 안에 정복하기

웹 애플리케이션 개발 프레임워크,

5분 안에 정복하기

안녕하세요. 

여러분은 웹 애플리케이션이라고 하면 무엇이 떠오르시나요? 자주 들어본 말이긴 하지만, 개발 관련 분야의 종사자가 아니라면 명확하게 정의하거나 설명하기 어려우실 겁니다. 우리가 흔히 쓰는 워드 프로세서, 동영상 및 사진 편집 도구, 쇼핑 카트, 온라인 양식, 지메일(Gmail)이나 야후(Yahoo)와 같은 이메일 프로그램, 스프레드시트 등을 웹 애플리케이션이라고 생각하면 이해하기 쉽습니다. 개발자들은 웹 애플리케이션을 활용해서 사용자들이 웹브라우저로 접속할 수 있는 프로그램을 만드는데요.

이때 사용되는 웹 애플리케이션 프레임워크는 개발자들에게 웹 개발의 공통적인 프로세스들의 상당한 부분을 자동화하고 표준화하면서도, 앱 템플릿을 위한 라이브러리와 프레임워크를 제공함으로써 개발자들의 시간과 노력을 아껴줄 수 있습니다. 이번 글에서  웹 애플리케이션 프레임워크가 무엇인지, 그리고 그것이 어떻게 웹 애플리케이션 개발을 도와줄 수 있는지에 대해서 자세하게 설명해 드리겠습니다.

웹 애플리케이션의 프레임워크 구조 살펴보기.

대부분의 웹 애플리케이션 프레임워크는 세 개의 공통적인 논리적 구성요소를 기반으로 하고 있는데, 그것은 바로 모델(model), 뷰(view), 컨트롤러(controller)라는 것입니다. 이러한 요소들은 다양한 웹 애플리케이션 프레임워크를 유연하고 모듈화할 수 있게 해줍니다. 이러한 유연성 덕분에 다른 업체에서 설계한 서드파티(third party) 애플리케이션도 연동될 수 있죠.

​이 유형의 구조가 크게 인기 있는 이유는, 클라이언트와 상호작용하는 기본적인 인터페이스와 코드를 분리함으로써 개발자들에게 도움을 주기 때문입니다. 이는 애플리케이션의 개발에서 효율성을 강화하는 데 도움이 됩니다. 이러한 프레임워크들은 웹 개발 전반에 걸쳐서 수행되어야 하는 수많은 표준화된 활동들을 자동화해주는데, 그럼으로써 개발자들의 시간을 아껴줄 수 있습니다.

MVC 구조는 어떻게 작동하는 걸까?

MVC(Model-View-controller) 구조는 매우 인기 있고, 효율적으로 코드를 체계화할 수 있는 방식입니다. 이 구조의 핵심은 각각의 코드들이 필수적인 용도가 있다는 사실을 보여준다는 것인데요. MVC 구조에서 뷰 부분은 웹 애플리케이션에서 사용자와 상호작용하는 모든 기능들로 구성됩니다. 코드에서의 뷰는 제이슨(JSON)과 HTML을 사용하는 해당 모델의 다양한 데이터를 보여주는 부분입니다. 이처럼 코드는 사용자가 애플리케이션을 보고 상호작용하는 방법을 규정하면서 미학적으로도 매력적이게 만들어줍니다.

모델은 코딩의 로직(logic)과 데이터가 위치하는 부분입니다. 애플리케이션을 구성하는 모든 규칙과 데이터는 모델에 의해서 관리됩니다. 모델과 뷰의 코드는 모두 컨트롤러 컴포넌트를 통해서 커뮤니케이션을 하는데요. 컨트롤러는 사용자의 모든 입력을 받으며, 입력값에 의해 해야 할 일을 결정합니다. 일단 결정이 이루어지면, 입력값이 모델 쪽에 전달됩니다. 입력값은 데이터를 요청하는 것에서부터 마우스를 움직이는 것에 이르기까지 모든 것들이 포함될 수 있습니다.

​여러분이 동네의 한 카페에서 커피를 주문한다고 생각해 보겠습니다. 여러분은 메뉴판을 보면서 주문할 커피를 고를 텐데, 이러한 메뉴판이 MVC의 “뷰” 컴포넌트라고 할 수 있습니다. 그러고 나면 바리스타가 여러분의 주문을 받아 적을 텐데, 이것이 “컨트롤러”입니다. 일단 주문을 적고 나면 바리스타는 주문 내용을 동료에게 전달할 텐데, 이것이 바로 “모델”입니다. 동료 직원은 자신이 받은 정보를 근거로 음료를 만들게 되는데, 그 정보는 “데이터”입니다. 요약해 보겠습니다.

메뉴판을 보면서 주문하는 것 = 뷰(View)
바리스타가 주문 내역을 받아 적는 것 = 컨트롤러(Controller)
다른 바리스타가 음료를 만드는 것 = 모델(Model)
여러분이 주문한 커피를 만드는 방법 = 데이터(Data)

웹 애플리케이션 프레임워크를 선택하는 방법은?

여러분이 앱을 개발하면서 사용할 수 있는 웹 애플리케이션 프레임워크는 아주 많이 있지만,  대표적으는 루비 온 레일즈(Ruby on Rails), 장고(Django), 앵귤로(Angular)에 대해 알려드리겠습니다.

​​

루비 온 레일즈(RUBY ON RAILS)

루비 온 레일즈는 강력한 웹 애플리케이션 프레임워크로, 오픈소스이고, 완전히 무료로 사용할 수 있습니다. 이 프레임워크는 루비(Ruby)라는 언어로 만들어졌는데, 루비는 생산성과 단순성에 초점을 맞춘 수준 높고 역동적인 프로그래밍 언어입니다. 루비 온 레일즈 프레임워크는 다른 일반적인 자바(Java) 프레임워크에 비해서, 개발자들이 시간도 절약하면서 보다 효율적인 방식으로 작업할 수 있도록 돕습니다.

▷ ‘루비 온 레일즈’를 사용한 웹 애플리케이션 프레임워크

그루폰(GroupOn) – 가입자들에게 상품, 서비스, 활동, 여행 등을 제공하는 수많은 다양한 업체들을 연결해 주는 이커머스(eCommerce) 마켓
어번딕셔너리(UrbanDictionary) – 비속어 단어 및 문구들을 찾아볼 수 있는 온라인 사전
에어비앤비(AirBnb) – 개인들이 숙소 또는 다양한 여행 경험을 제공하거나 예약할 수 있게 해주는 온라인 마켓
쇼피파이(Shopify) – 기업들에게 자체적인 온라인 스토어를 개설할 수 있는 소프트웨어를 제공해주는 이커머스 플랫폼
깃허브(Github) – 깃(Git, 분산형 버전관리 시스템)을 위한 리퍼지토리(repository) 호스팅 서비스

장고(DJANGO)

장고는 명성이 자자한 프레임워크로써, 오픈소스이며 프로그래밍 언어로 파이썬(Python)을 사용했습니다. 파이썬이라는 언어는 개발을 도와주는 프레임워크가 없다면 굉장히 복잡하고 이해하기도 어렵습니다. 장고 웹 애플리케이션 프레임워크는 빠르고, 보안이 아주 뛰어나며, 다양한 용도로 사용할 수 있습니다. 이 프레임워크는 사이트 맵, 콘텐츠 관리, 사용자 인증 등을 자동으로 처리해주는 등 다양한 기능을 갖춘 것으로 유명합니다. 이 프레임워크 안에는 상당히 많은 보안 기능이 포함되어 있기 때문에, 클릭재킹(clickjacking)이나 SQL 주입공격(SQL injection)과 같은 일반적인 보안 상의 오류를 방지할 수 있게 도와주죠.

▷ ‘장고’를 사용한 웹 애플리케이션 프레임워크

디스커스(Disqus) – 온라인 커뮤니티 및 웹사이트에서 사용되는 블로그 댓글 호스팅 서비스
핀터레스트(Pinterest) – 레시피에서부터 인테리어 디자인 아이디어에 이르기까지 온갖 종류의 정보를 보관하고 검색할 수 있게 해주는 유명한 소셜 미디어 애플리케이션
인스타그램(Instagram) – 사진 및 동영상 공유에 주로 초점을 맞춘 소셜 네트워킹 서비스
쿼라(Quora) – 가입한 회원들 사이에서 정보를 모으고 공유하는 데 초점을 맞춘 질의 응답 사이트

앵귤러(ANGULAR)

원래는 앵귤러JS(AngularJS)라는 이름으로 알려져 있었던 앵귤러는 구글이 만든 환상적인 프레임워크입니다. 앵귤러는 개발자들이 관리하기 쉬운 대형 애플리케이션을 만드는 데 사용할 수 있는데요. 가장 주목할 만한 특징들 중 하나는, 크로스플랫폼 애플리케이션을 만드는데 사용할 목적으로 만들어졌다는 겁니다. 즉, 이 프레임워크로 만든 애플리케이션을 쓰는 사용자들은 자신의 스마트폰이든 데스크톱이든 어떠한 기기에서도 동일한 경험을 할 수 있다는 것입니다. 앵귤러가 제공하는 코딩 템플릿들은 자바스크립트(JavaScript)를 효율적으로 사용하기 위해 완벽하게 최적화 되어 있습니다.

▷ ‘앵귤러’를 사용한 웹 애플리케이션 프레임워크

넷플릭스(Netflix) – 사용자들이 다양한 기기에서 영화와 텔레비전 프로그램을 볼 수 있는 아주 유명한 스트리밍 서비스
포브스(Forbes) 웹사이트 – 투자, 비즈니스, 기업가 정신, 테크놀로지에 초점을 맞춘 전 세계적인 미디어 기업인 포브스의 웹사이트
구글 마케팅 플랫폼(Google Marketing Platform) – 웹사이트의 모든 트래픽을 추적하고 보고까지 해주는 웹 분석 서비스
구글 디지털 개러지(Google Digital Garage) – 온라인 마케팅 교육을 무료로 제공하는 구글의 비영리 학습 플랫폼

웹 애플리케이션, 가장 쉽고 안전한 방법으로 제작해보세요!

[출처] https://www.wishket.com/news-center/detail/550/

Loading

19 10월 2020

구글 프로덕트 매니저가 알려주는 기획서 작성 꿀팁

구글 프로덕트 매니저가 알려주는 기획서 작성 꿀팁

안녕하세요?

오늘도 PM분들에게 도움이 될만한 꿀팁을 가져왔습니다. 이번에 소개해드릴 글은, Lina L님이 각색한 “구글 프로덕트 매니저가 알려주는 기획서 작성 꿀팁”입니다.

원문, 작성자인 Omar Eduardo는 구글의 프로덕트 매니저로, WHY 기반의 기획서 형태인 PRD(Product Requirement Document)를 어떻게 써야할지 그리고 어떻게 활용해야 할지 현업의 경험을 토대로 꿀팁을 알려주고 있는데요.


우리 PM들은 예로부터(?) 기획서라는 이름 하에 수많은 형태의 문서들을 작성해왔습니다. 기능 요구정의서, 명세서, UX 설계 문서 등등.. 이름도 다양하고 형태도 다양하죠. PPT나 디자인 툴로 와이어프레임을 직접 그리기도 하고 에러 케이스부터 시작해서 세부 개발 요구사항들까지 꼼꼼히 기록하기도 하고요.

PM들이 과연 얼마나 상세하고 많은 분량의 기획을 해야 할지에 대해서는 서비스나 회사 특성, 개발 문화에 따라 달라집니다. 워터풀 방식의 몇개월 짜리 프로젝트라면 몇백장의 PPT가 될 수 있고, 애자일하게 작은 가설을 테스트하는 팀에서는 한장으로 충분할 수 있습니다.

소프트웨어 개발은 변동사항이 많고 또 우리는 고객에 대해 결코 백프로 이해하고 있지 않기에, 빠른 테스트가 가능한 애자일 문화가 확산되면서 ‘기획서’는 주로 HOW를 완벽하게 정의한 개발 요건 문서에서 목적, 즉 WHY에 초점을 맞춰 팀이 함께 HOW를 논의할 수 있는 토대로 변화하고 있는 것 같습니다.

프로덕트 매니저가 작성하는 PRD(Product requirement document)는 다음의 핵심 질문에 대한 답변을 위해 작성됩니다.

  • 우리가 이 기획을 왜 해야 하나요? (WHY)
  • 이 문제는 어떻게 접근해야 하나요? (HOW)
  • 가장 적합한 솔루션은 무엇인가요? (WHAT)

PRD의 중요한 목적은 올바른 제품을 만들고 사용자에게 잘 전달하기 위한 방향으로 팀이 함께 나아가도록 하는 것입니다. 잘만 활용된다면, PRD는 어떤 개발 프로세스를 따르더라도 훌륭한 제품 개발 도구가 될 수 있습니다. 이 글에서는 PRD를 최대한 활용하기 위한 몇가지 팁을 소개하고자 합니다.

PRD에는 무엇을 작성해야 하나요?

가장 기본적인 형태의 PRD는 다음의 섹션이 포함되어 있는 단순한 문서라고 볼 수 있습니다.

 

    1. 요약과 배경(Summary and Background) : 문제가 무엇이고 왜 이것이 중요한가요? 이 기획의 중요성을 강조하기 위한 사업 지표나 유저 리서치 내용 또는 여러 다른 인사이트를 포함시키는 것도 좋습니다.

 

  1.  

 

    1. 주요 사용자(Target Users) : 이 해결책은 누구를 위한 것인가요? 이 유저들은 왜 중요하며 이들의 불편함(pain points)을 우선순위를 높여 해결해야 하는 이유는 무엇인가요?

 

  1.  

 

    1. 핵심 사용자 여정(Critical User Journeys, CUJs) : 문제를 해결했을 때 사용자가 얻을 수 있는 것은 무엇인가요? 구체적인 솔루션보다는 사용자 니즈에 집중해서 작성해주세요.

 

  1.  

 

    1. 기능적 요구사항(Functional requirements) : 솔루션의 세부 기획을 작성합니다. PM으로서 기능적 요구사항을 상세히 쓰는 것은 중요하지만, 특정 솔루션을 너무 강요하지는 않도록 합니다.

 

  1.  

 

    1. 관련 문서(Supporting documents) : 솔루션의 세부 인터랙션 디자인이나 기술적 구현에 대해서는 디자이너, 엔지니어와 논의할 텐데요. PRD에 관련 UX 플로우 또는 개발 설계 문서를 추가적으로 연결해 참고할 수 있도록 해주세요.

 

  1.  

 

    1. 배포 계획(Go-to-market): 해당 기능 출시와 관련된 여러 고려사항과 출시 후 마케팅, 영업, CS 등 고객과 맞닿아있는 조직이 예상하고 있는 바에 대해 작성합니다.

 

  1.  

이 내용들은 PRD를 구성하는 가장 기본적인 사항들이지만, 이 외에 수많은 다른 고려사항들도 추가적으로 작성할 수 있습니다. 제가 일했던 팀에서는 PRD 템플릿에 권한 허용, 성능, 데이터 추출, 성공 지표, 플랫폼 간 호환성, 신규 사용자 접근성 등등 여러 다양한 내용이 포함되어 있었습니다. 일단 위에 제시된 기본적인 내용을 먼저 채운 다음, 협업하는 과정에서 나타나는 중요한 이슈들을 다루기 위한 새로운 섹션을 추가해보세요.

 

PRD를 잘 활용하기 위한 팁

팀원들의 피드백을 초기에 받으세요.

PM들은 종종 피드백을 받기 전 문서에 너무 많은 시간을 들입니다. 대신 초기부터 적극적으로 피드백을 줄 수 있는 UX 디자이너와 엔지니어를 찾아보세요. 세 가지 주요 질문(왜, 어떻게, 무엇을)에 대한 초안을 작성하고, 바로 공유하세요.

PM으로서 해야 할 가장 첫번째 일은 이 문제가 왜 중요하며 왜 우선순위를 높여 해결해야 하는지 팀원들에게 분명히 설명하는 것입니다. 하지만문제에 대한 솔루션은 엔지니어나 UX 디자이너와 협업하는 과정에서 정의되어야 합니다.초기에 자주 피드백을 받으면 시간을 낭비하지 않을 수 있습니다.

경험적으로 제일 좋은 방법은 처음 세 파트(summary and background, target users, CUJs)를 작성한 다음, 네번째(functional requirements)로 넘어가기 전에 피드백을 받는 것입니다. 문제나 사용자 여정에 대한 싱크가 안되어 있는 상태에서 특정 솔루션에 대한 기능적 요구사항을 정해버리면, 모두의 시간을 상당히 낭비하게 될 수 있습니다.

 

재미있고 읽기 쉬운, 구조화된 형태의 PRD를 만드세요.

좋은 PRD는 동료들이 불필요하게 많은 노력을 기울이며 읽지 않아도 중요한 정보를 적절하게 전달할 수 있어야 합니다. 이를 위해 다음 세가지를 주의하면서 PRD를 작성해보세요.

 

    1. 문제에 집중하기 : 너무 뻔한 내용이나 관계없고 필요없는 세부 내용은 지우고 문제에만 집중하세요. 초기에 피드백을 받아야하는 중요한 이유는 논점이 될 만한 부분이 어디인지 찾기 위함입니다.이렇게 찾은 논점을 깊이 파고드는 데 집중해서 팀이 앞으로 나아갈 수 있도록 하세요. 관련이 없고 뻔한 내용인데 단순히 문서 작업을 위해 뭔가 작성하라고 요청받았다면 과감히 부록으로 빼세요.

 

  1.  

 

    1. 한눈에 쉽게 읽을 수 있도록 구조화하기 : 동료들이 어떤 것에 관심있을지 생각하고 그 내용을 잘 찾을 수 있도록 구조화하세요. 제목과 부제목을 스마트하게 써서 주요 논점이 잘 드러나도록 하세요. 그렇게 하면 여러 팀의 동료들이 중요한 포인트에 빠르게 집중해서 인사이트를 줄 것입니다.

 

  1.  

 

    1. 와이어프레임이나 도식, 표 활용하기 : 글이 너무 많으면 지루해질 수 있습니다. 여러 옵션에 대한 비교를 하거나 전후 차이 설명 또는 데이터 흐름을 보여줄 때, 타임라인에 따른 고려사항을 논의할 때 등 다양한 상황에서 표나 차트, 목업을 활용해보세요. 추가적인 노력이 들 수 있지만, 명료하게 정리된 내용은 큰 이득이 됩니다. 동료들이 PRD의 정보를 쉽게 소화하여 반복적인 질문을 하지 않을 수 있게 될테니까요.

 

  1.  

 

PRD 기반으로 논의를 이끌어보세요.

만약 PRD가 흥미로운 지점에 초점을 맞추고 있고, 논점을 잘 기술하면서 중요한 솔루션을 다루고 있다면 논의에 불이 붙을 것입니다. 동료들에게 피드백과 커멘트를 남기도록 독려해주세요. 피드백을 리뷰하고 적절히 답변하는 것이 PM의 일입니다.

 

    1. 커멘트 확인하고 응답하기 : 커멘트에 동의한다면 그렇다고 알려주세요. 동의하지 못한다면 맥락을 설명하고, 놓치거나 잊고 있었던 부분은 없는지 확인하기 위한 질문을 해보세요. 이 과정을 통해 중요한 이슈나 의견 불일치를 파악하고 나아가 기획의 성공률을 높일 수 있습니다.

 

  1.  

 

    1. 자존심은 잠시 넣어두기 : 공들인 기획일 수록 누군가가 참견해서 비판적이고 무례하게, 또는 잘 모르는 채 커멘트를 남기면 짜증날 수 있습니다. 감정적으로 흥분한 상태로 반응하지 말고 차분해진 뒤에 응답하세요. 객관적으로 보면 유용한 내용을 발견할 수도 있습니다.

 

  1.  

 

    1. 중요하고 복잡한 사항은 미팅에서 논의하기 : 주요한 의견 불일치가 있다면 미팅을 잡고 해당 이슈를 다루어보세요. 논의할 주제를 명확히하고, 꼭 필요한 사람들만 초대하여 집중할 수 있도록 합니다.

 

  1.  

 

    1. 언제 어떻게 논의를 마무리할지 파악하기 : 방향이 정해지고 모든 관계자가 준비되었다면, 방해 요소나 범위/기능(scope/feature)의 변화를 반드시 최소화해야 합니다. 해당 솔루션이 모두의 동의를 받았다는 점을 PRD에 명시하는 것이 중요합니다. 저는 문서에 더 이상 적극적인 피드백을 받지는 않는다는 의미로 “Status: Final”이라고 남깁니다. 모든 새로운 커멘트나 제안에 대해서는 당사자에게 해당 피드백이 고려되었으나 왜 반영되지 않았는지 알려주세요. 친절하고 사려 깊게 답변하되 혼란을 줄이기 위해서는 분명히 해야 합니다.

 

  1.  

 

계속 반복하고 학습하세요!

저는 지난 6년 동안 수십개의 PRD를 작성했고, 매번 목적이나 팀 구성에 따라 PRD의 내용은 조금씩 달라졌습니다. 최종 결과물을 봤을 때 똑같은 PRD는 하나도 없었습니다. 하지만, 마지막 단계까지의 작성 과정은 유사했습니다. (초안을 쓰고 → 팀원들에게 피드백을 받고 → 디자이너, 엔지니어와 협력해서 최종 솔루션을 찾고 → 미팅에서 골치아픈 이슈들을 해결하고 → 최종적으로 마무리 짓기)

완결된 PRD는 최종적으로 적용된 솔루션뿐 아니라, 팀이 해당 솔루션에 도달하기까지의 전 여정을 담고 있습니다. 최종 목적에 도달하기까지의 여러 우여곡절을 담은 PRD는 학습과 개선을 위한 최고의 자산이 되어줄 것입니다.

[출처] https://www.wishket.com/news-center/detail/539/

Loading

19 10월 2020

당신을 부자로 만들어줄, 앱개발 수익 전략 5가지

당신을 부자로 만들어줄, 앱개발 수익 전략 5가지

안녕하세요. 

모바일 앱 시장 규모가 커지면서 매일 새로운 앱이 넘쳐나고 있습니다. 앱을 성공적으로 개발하고 앱스토어에 등록했다고 하더라도 성공을 장담할 수 없죠. 게다가 하나의 앱을 출시하기 위해선 많은 시간과 비용이 소모됩니다. 개발 과정에서 투입된 자본금을 회수하려면, 빠르게 앱을 수익화할 필요가 있습니다. 아무리 좋은 앱이라도 정작 수익이 발생하지 않으면 서비스를 유지하기 어렵기 때문입니다.

​오늘  여러분을 부자로 만들어줄, 앱개발 수익 모델을 정리해보았습니다. 여러분이 운영 중인 앱의 목표와 방향에 맞는 적합한 수익 모델을 찾아보세요:)

당신을 부자로 만들어줄, 앱개발 수익 전략 5가지

1. 다운로드당 수익을 얻는 유료 앱 모델

  • Monetizing apps with pay per download


앱을 다운로드하기 위해 결제가 필요한 앱이 여기에 해당합니다. 하지만 앱 다운로드 숫자를 늘려 수익을 내는 데는 한계가 있습니다. 보통 앱 다운로드 비용은 저렴하게 설정되기 때문에 초기 투자비용을 회수하려면 엄청난 다운로드 수가 필요합니다.

​또한, 여러분의 애플리케이션이 돈을 지불할 정도의 가치가 있는지도 고민해봐야 합니다. 유저들은 정말로 돈을 지불할 만한 좋은 상품이라고 생각하지 않는다면 결제하려고 하지 않습니다. 이 방식은 안드로이드보다 iOS 기기에서 더 높은 수익률을 보입니다. 왜냐하면 구글 플레이 스토어에는 너무나도 많은 수의 앱들이 있고, 대부분의 앱들이 무료이기 때문이죠.

2. 인앱 구매 모델

Apps free with inApp purchases


처음 다운로드할 때는 무료이지만, 애플리케이션 내에서 이루어지는 추가 구매를 통해 수익을 내는 모델입니다. 일반적으로 ‘인앱 결제(inApp payment)’로 불리는데요. 앱 관련 아이템, 상품 또는 앱과 관련이 없는 다른 상품 및 콘텐츠 등을 구매하는 모든 행위들을 말합니다.

​이 모델은 모바일 게임에서 많이 이용됩니다. 게임을 플레이하는 것은 무료이지만, 캐릭터의 능력을 향상시켜주는 아이템은 유료로 구매를 해야 합니다. 인앱 구매 모델의 경우, 앱에 대한 유저의 충성도가 강할수록 높은 수익률을 보입니다. 소비자는 사전에 앱 스토어에서 결제 정보를 미리 등록하고, 앱 내에서 유료 콘텐츠 구입 시 인증 절차를 거치게 됩니다. 따라서 게임 개발사와 소비자 모두 이러한 간편 결제 덕분에 결제와 접근의 편리성을 누릴 수 있죠. 애플의 지원센터에 따르면, 인앱 방식은 크게 4가지가 있다고 합니다.

  • 소모성 구매
  • 비소모성 구매
    -자동 갱신되지 않는 구독
  • 자동 갱신되는 구독

소모성 구매는 돈을 더 많이 쓸 때, 혜택을 가중시키는 것을 말합니다. 비소모성 구매는 광고를 없애기 위해서 프리미엄 버전으로 업그레이드하는 것과 같은 경우를 말하죠.

자동 갱신되지 않는 구독은 특정한 기간 동안만 사용할 수 있는 일종의 패키지입니다. 만약 스포츠 경기와 관련된 앱이라면 메이저리그나 NBA의 한 시즌 동안에만 구독할 수 있습니다. 자동갱신되는 구독이란 월스트리트 저널과 같은 신문을 구독하는 것을 예로 들 수 있는데요. 넷플릭스, HBO, 훌루(Hulu) 같은 영상 서비스에서도 이런 종류의 자동갱신 구독 방식을 씁니다.

3. 광고가 포함된 무료 앱 모델

Free apps with in-app advertising

​홈페이지를 운영하고 있다면 광고가 어떻게 운영되는지, 잘 아실 텐데요. 앱에서도 비슷한 방식으로 인앱 광고를 진행할 수 있습니다. 애플리케이션 사용은 전적으로 무료이지만, 대신 앱 내에 삽입된 배너광고를 통해 앱개발 수익을 얻는 방법입니다. 앱의 일부 공간에 배너 광고를 게재하거나 앱 사용 도중에 몇 분마다 한 번씩 팝업 광고가 뜨는 방식이죠. 유저가 앱 내에 삽입된 광고를 클릭할 때마다 여러분은 소액의 수익을 얻을 수 있습니다.

​광고는 돈을 벌어다 줄 수 있지만 사용자 경험에 있어서는 방해가 될 수도 있습니다. 따라서 인앱 구매와 광고 전략을 잘 결합해서 적절한 비즈니스 모델을 만드는 것이 좋습니다. 이를테면, 앱에서 광고를 ㅂ고 싶지 않은 사용자들에게는 프리미엄 서비스로 업그레이드를 할 수 있도록 옵션을 주는 겁니다. 우리가 잘 알고 있는 유튜브 앱의 경우에도 동영상을 시청하기 위해 광고를 보아야 하지만, 돈을 지불하고 프리미엄 버전을 사용하면 광고 없이 서비스를 즐길 수 있습니다.

4. 프리미엄 모델

Freemium model Apps

​기본적인 기능은 무료로 이용할 수 있고, 보다 더 많은 기능과 서비스를 원하는 유저에게는 유료 버전을 제공하는 방법입니다. 한 조사 기관에 따르면 구글플레이 전체 매출 중 98%가 프리미엄 모델을 이용한 앱이고, 앱스토어 또한 전체 매출 중 70% 이상이 프리미엄 모델을 적용한 앱에서 발생한다고 합니다. 다운로드는 무료이지만, 무료 버전에서는 제한된 기능만을 사용할 수 있다는 점 때문에 유저들의 프리미엄 버전 구매율이 높기 때문이지요.

​우리가 잘 아는 어플 중에는, 건강 관리 애플리케이션인 ‘눔 코치’가 있습니다. 식단을 기록하고 만보기 기능을 이용하는 등 기본적인 기능은 무료로 이용할 수 있지만, 건강 관리 코치가 체계적으로 코칭 해주는 부가 서비스를 이용하려면 유료 결제를 해야 합니다.

​클라우드 저장 서비스인 ‘드롭박스’ 또한 프리미엄 모델을 이용하는 대표적인 예입니다. 기본 저장 공간을 제공해 이용자를 유인하고, 추가 저장 공간을 이용하려면 따로 결제를 해야 합니다.

5. 무료 체험판 앱 모델

Free trial apps

유저는 앱을 무료로 다운로드하고 일정 기간 동안 앱을 체험해볼 수 있습니다. 15일에서 30일 정도의 무료 체험 기간을 주는 것이죠. 앱을 무료로 체험할 수 있게 함으로써 유저의 흥미를 끈 뒤, 모바일 앱을 구매하도록 유도할 수 있습니다.

​이 방식은 수익화 전략보다는 앱을 마케팅하는 용도로 더 많이 사용됩니다. 특정한 프로모션 캠페인이 있는 경우, 마케터가 유저에게 무료 체험 기간을 제공하는 방식으로 이용되죠.

​[출처] https://www.wishket.com/news-center/detail/547/

Loading

19 10월 2020

사이트는 만들었는데, ‘홈페이지 관리’는 어떻게 시작해야 할까?

사이트는 만들었는데,

‘홈페이지 관리’는 어떻게 시작해야 할까?

안녕하세요? 

웹사이트를 관리할 때는, 방문객들이 원하는 경험을 제공할 수 있도록 사이트가 만반의 준비를 끝냈는지 확인하는 것이 중요합니다. 2020년에는 사람들이 집에서 일을 하고 인터넷을 서핑하는 데 보내는 시간이 대체적으로 많아졌기 때문에, 웹사이트를 효율적으로 관리하는 데 있어서 보다 세심한 주의가 필요한데요. 홈페이지 관리 방법에 대해 알아볼 때, 우리가 가장 우선적으로 목표해야 하는 것은 브랜딩입니다. 브랜드는 제품이나 서비스를 마케팅하는데 있어서 중요하기 때문입니다. 강력하면서도 한결같은 브랜드를 만들면, 사이트의 방문자 수를 늘리고 고객의 충성도도 훨씬 더 쉽게 높일 수 있습니다.

소규모로 시작해서 웹사이트 관리 능력을 키우고 싶다면, 먼저 소셜 미디어 마케팅에 집중하기 위해 검색엔진최적화(SEO)를 배우는 것으로 시작할 수 있는데요. 이렇게 배운 스킬들은 향후에 여러분의 웹사이트와 브랜드에서 충분한 성과를 얻을 수 있습니다. 이번 글에서는 기본이지만 그만큼 가장 중요한 웹사이트 관리 방법에 관한 가이드를 알려드리고자 합니다. 여러분의 온라인 비즈니스를 성장시키는데 큰 도움이 되었으면 좋겠습니다.

가장 기본이 되는
홈페이지 관리 방법
5가지.

01. SEO 기법들을 잘 알아둔다

검색엔진최적화는 구글이나 빙(Bing)과 같은 검색엔진에서 여러분의 웹사이트가 잘 보일 수 있게 하는 다양한 방법들을 말합니다. 대표적으로 구글에서는 어떤 웹사이트가 가장 최적화된 곳인지를 판단하기 위해서 랭킹 알고리즘을 사용하고 있습니다. 이런 종류의 최적화에는 텍스트 콘텐츠에서 적절한 키워드를 사용하는 것에서부터 웹사이트의 속도와 성능을 향상시키는 것까지 다양한 방식들이 존재합니다.

​검색엔진최적화의 핵심적인 요소는 웹사이트 내의 여러 페이지들이 가진 전체적인 중요성을 측정하기 위해 만들어진 페이지 랭킹입니다. 구글의 페이지랭크(PageRank)에서는, 반응형의 기능을 갖춘 웹사이트들이 아직 모바일 기기에 최적화되지 않은 페이지들보다 더 높은 랭킹(순위)을 얻습니다. 반응형 기술이라는 것은 어떠한 기기를 이용하더라도 아무 문제 없이 여러분의 웹사이트에 접속할 수 있다는 것을 의미합니다. 만약 이런 기술을 구현하지 않았다면, 모바일 사용자들은 화면에 맞지 않는 페이지들을 보게 될 것이며, 여러 차례 스크롤을 해야만 합니다. 대부분의 모바일 사용자들은 반응형이 아닌 웹사이트는 기피하는 경향이 있습니다.

워드프레스(WordPress) 웹사이트에서 좋은 성능을 발휘하는 플러그인을 다운로드해서 설치하는 것은 물론이고, 구글 AMP를 활용해서 사이트의 속도와 성능을 높이는 것이 좋습니다. 구글의 AMP는 기본적으로 웹사이트 내에 있는 핵심적인 CSS, HTML, 자바스크립트(JavaScript) 구성요소들을 압축하고 최적화해주기 때문에, 멀티미디어나 용량이 큰 다른 요소들로 인해 홈페이지 노출 순위가 뒤로 밀리는 것을 막아줍니다. 웹사이트의 텍스트 콘텐츠 안에 적절한 키워드를 연결하는 것도 검색 결과를 순위를 높이는 데 도움을 주는데요. 올바른 키워드를 사용했다면, 이번에는 웹사이트를 잘 보이게 하고 트래픽의 유입량을 늘려야 합니다.

SEO를 강화하기 위해 사용할 수 있는 간단한 요령들은 많이 있습니다. 예를 들어서, 웹사이트 내에 있는 각각의 페이지에 구체적이면서도 정확한 제목을 사용하면, 구글의 SEO 알고리즘이 더 최적화된 사이트라고 판단하게 됩니다. 사람들이 웹사이트에 직접 들어가 보지 않아도 사이트의 내용이 무엇인지를 알 수 있게 설명해 주는 메타데이터(metadata)도 마찬가지입니다. 이러한 메타데이터를 포함시켜 놓으면 구글의 랭킹 알고리즘에게 좋은 신호를 보내는 것이며, 온 페이지(on-page) SEO도 개선될 것입니다.

​키워드는 사이트의 콘텐츠 안에 들어갈 수 있는 단어나 문구이며, 검색엔진이 여러분의 웹사이트를 검색할 수 있도록 허용하는 것이기도 합니다. 웹사이트와 연관되는 블로그 게시글 안에 적절한 키워드가 들어 있고 트래픽이 증가하고 있는 것이 발견된다면, 구글은 검색 결과에서 해당하는 웹사이트 페이지들의 순위를 높게 보여줄 것입니다. 인터넷 사용자의 대다수가 검색어를 입력해서 얻은 결과들 중에서 맨 처음에 보이는 3개 중 하나만을 선택한다는 것을 명심해야 합니다. 그렇기 때문에 보다 많은 사용자들을 끌어모으기 위해서 순위를 높이는 것이 중요한 것입니다. 여러분의 SEO 관리 방식을 개선하고자 할 때는, 신규 콘텐츠를 주기적으로 추가하고, 기존의 콘텐츠는 업데이트해야 합니다. 블로그 게시글도 사이트의 트래픽을 높일 수 있는 또 하나의 효과적인 방법입니다.

02. 소셜 미디어의 존재감 키우기

2020년에 홈페이지를 관리하는 데 있어서 또 하나의 핵심적인 요소는 소셜 미디어의 존재감을 키우는 것입니다. 페이스북 하나만 하더라도 매달 26억 명 이상의 사용자들이 있기 때문에, 소셜 미디어의 광고를 통해서 웹사이트로 트래픽을 유입하는 데 집중하는 것이 강하게 권장되는 것입니다.

​광고를 하기 좋은 소셜 미디어 플랫폼에는 인스타그램(Instagram), 페이스북(Facebook), 링크드인(LinkedIn) 등이 있으며, 이들 SNS는 웹사이트가 사용할 수 있는 자체적인 광고 프로그램을 갖고 있습니다. 어떠한 플랫폼에서 마케팅을 할 것인지는, 대상 고객층에 따라서 달라져야 합니다. 핵심적인 대상 고객층이 18-24살 사이의 사람들이라면, 가장 좋은 마케팅 플랫폼은 인스타그램입니다. 왜냐하면 해당 나이대의 사용자만 하더라도 10억 명이 넘으며, 주요 사용자 층이 30살 이하의 젊은 사람들이기 때문입니다. 플랫폼에 대한 이해도를 쌓은 후, 소셜 미디어를 통해 홈페이지 방문자 수를 늘려보세요.

03. 주간 단위로 확인해야 하는 사항들

검색엔진최적화와 소셜 미디어 광고가 반드시 해야 하는 대표적인 두 가지의 웹사이트 관리 기법이라면, 주간 단위로 확인해야 하는 사항들도 많이 있습니다. 예를 들자면, 웹사이트의 보안을 최신 상태로 유지하는 것이 중요한데, 무엇보다도 해커들이 사용자 정보와 데이터를 훔쳐가지 못하게 해야 하기 때문입니다. 웹사이트를 취약하게 만들 수 있는 보안상의 허점들은 아주 많이 있으며, 그런 부분을 통해서 누군가가 사이트에 무단으로 접속할 수 있기 때문에, 그런 허점들을 가능한 최소화해야만 합니다. 그리고 워드프레스에서는 보안 플러그인을 사용해서 사용자의 데이터를 보호할 수 있습니다.

​여러분의 웹사이트에 보안 플러그인을 추가하기 전에, 우선은 여러분의 웹사이트가 지켜야만 하는 취약점에는 어떤 것들이 있는지를 완전하게 이해해야만 합니다. 악성 소프트웨어에서부터 SSL 인증서의 취약함에 이르기까지 다양한 요소들이 여러분의 웹사이트를 잠재적인 문제에 노출시킬 수 있습니다. 워드프레스, 플러그인, 테마 등의 업데이트 여부를 주간 단위로 확인하면, 이러한 요소들을 언제나 최신 상태로 유지할 수 있으며, 그럼으로써 보안도 더욱 강화됩니다. 테마나 플러그인이 구식 버전이라면 사이버 공격에 더욱 취약할 수밖에 없습니다.

여러분의 웹사이트를 다양한 브라우저와 기기에서 테스트해서 모든 것들이 의도한 대로 작동되고 있는지를 확인하는 것이 좋습니다. 웹사이트를 테스트할 수 있는 도구들은 다양하고도 많은데, 그중에서도 가장 좋은 것으로는 모비레디(mobiReady)라는 것입니다. 모비레디는 웹사이트의 성능을 테스트 하기 위해서 특별히 만들어진 것이며, 웹사이트의 운영자들에게 사이트의 전반적인 성능과 보안을 개선하는 데 사용할 수 있는 분석 리포트를 제공해 줍니다.

04. 최신 디지털 트렌드를 파악하기

웹사이트가 성공할 수 있게 하려면, 수단과 방법을 가리지 않고 최신의 디지털 트렌드를 파악하고 있는 것이 좋습니다. 2020년에는 이러한 트렌드가 인공지능(AI) 기술을 중심으로 진행되고 있는데요. 인공지능은 기업들에게 보다 훌륭한 데이터 인사이트(data insight)를 얻을 수 있게 해주며, 고객의 행동을 보다 효율적으로 이해할 수 있는 머신러닝(machine learning)을 구현할 수 있는 능력도 가지고 있습니다. 이러한 도구를 갖추고 있으면, 웹사이트에서 고객들에게 전달하는 마케팅 수단을 보다 쉽고 정확하게 개인화할 수 있습니다. 웹사이트가 최대한 성공하기 위해서는, 디지털 세계에서의 최신 트렌드를 활용하는 것이 중요합니다.

​한편, 기존의 고객들과 잠재 고객들을 위해서 웹사이트를 개선할 수 있는 기술적인 발전에도 초점을 맞추는 것이 필수적입니다. 이메일을 경우에는 개인화하는 것이 중요하며, 그렇게 하면 고객들의 충성도를 높이는 데 크게 도움이 될 수 있습니다. 그리고 고객들에게 제대로 다가가기 위해서 옴니 채널(omni-channel) 마케팅을 활용하는 것도 고려해야 합니다. 이런 유형의 마케팅으로는 여러 다양한 플랫폼을 활용해서 대상 고객층에게 다양한 채널을 통해서 경험을 제공하는 것이 있는데, 이는 소셜 미디어 광고 및 앱 마케팅에서부터 블로그 콘텐츠에 이르기까지 모든 것이 포함될 수 있습니다.

​웹사이트를 처음 디자인할 때는, 사이트 방문객들에게 인터랙티브 콘텐츠를 많이 제공하도록 해야 하는데, 사이트를 방문한 사람들이 뉴스레터를 구독하거나 제품을 구매하는 등 사용자들의 참여도를 높일 수 있어야 합니다. 동영상 마케팅 역시 웹사이트의 성공을 위해서 중요한 부분입니다. 이러한 마케팅 요소들이 적절하게 구현된다면, 투자수익률(ROI)을 환상적으로 만들고, 신뢰를 구축하며, 태블릿 및 모바일 사용자들에게 매력을 선보일 수 있습니다. 요즘에는 텍스트를 읽으려는 사람들이 많지 않습니다. 콘텐츠를 간결하게 만드는 게 핵심이며, 그렇기 때문에 동영상과 인터랙티브 한 요소들이 필수적인 것입니다.

05. 제대로 된 도움을 제공하는 전문가를 고용하기

이번 글에서 살펴봤듯이, 웹사이트를 효과적으로 관리하기 위해서 해야 할 일들은 상당히 많습니다. 주기적으로 SEO를 점검하고 소셜 미디어 마케팅 활동을 하는 것은 물론이고, 최신의 디지털 트렌드에 관심을 가지는 것과 지속적으로 사이트의 보안 기능을 업데이트하는 것도 관심을 가져야 하죠. 따라서 홈페이지의 관리를 도와주는 전문가를 고용하는 것이 좋습니다.

​외부의 조력자를 고용하면 얻을 수 있는 혜택은 상당히 많습니다. 가장 중요한 것은 비즈니스 본연의 업무에 집중할 수 있게 도와준다는 점인데요. 여러분이 고용하는 전문가들은 웹사이트 관리의 모든 측면들을 처리할 수 있기에 여러분은 그저, 브랜드를 개선하는 것에 주력하면 됩니다. 이는 장기적인 성공에 있어서 필수적인 부분이며, 여러분이 직접 처리할 때 일어날 수 있는 많은 실수들도 방지해 줄 수 있습니다.

[출처] https://www.wishket.com/news-center/detail/546/

Loading

19 10월 2020

초보자들을 위한 최고의 무료 HTML 템플릿 리소스 8가지

초보자들을 위한

최고의 무료 HTML 템플릿 리소스 8가지

안녕하세요. 위시켓입니다.

여러분의 잠재 고객들 상당수는 주로 온라인에서 쇼핑을 할 겁니다. 이는 인터넷에서 여러분의 회사나 브랜드의 존재감을 보여주지 않는다면 잠재 고객들에게 다가갈 수 없다는 것을 의미하는데요. 여러분이 개발 지식이 없다고 하더라도, 이제 웹사이트를 개발하는 것은 선택이 아닌 필수가 되어버렸습니다.

만약 여러분의 웹사이트를 직접 만들고 싶거나, 코딩 기법을 배우거나, 또는 기존의 코딩 테크닉을 더욱 키우고 싶다면, 초보자들을 위한 무료 HTML 템플릿을 사용하는 것이 좋은 방법입니다.  오늘, 소개하는 여덟 가지의 템플릿들은 모두 사용하기 쉬우며, 웹사이트 구축과 코딩에 관해서 여러분에게 큰 도움이 될 수 있습니다.

1. 워드프레스(WORDPRESS) 테마


워드프레스는 아주 인기 많은 콘텐츠 관리 시스템(CMS)이며, 여러분의 브랜드와 비즈니스에 꼭 맞는 멋진 웹사이트를 쉽게 만들 수 있습니다. 워드프레스는 동적인 웹사이트 구성요소들을 개발할 수 있는 PHP 기반의 서비스이기는 하지만, 사이트 방문자들이 여러분의 웹사이트에 들어왔을 때 보게 되는 프런트엔드(front-end) 레이아웃은 주로 HTML로 만들어지는데, HTML은 배우기 훨씬 쉬운 정적인 코드입니다.

​워드프레스는 스타일도 아주 다양하며, 어떠한 타입의 웹사이트에도 쉽게 사용할 수 있는 방대한 템플릿 라이브러리를 제공합니다. 이러한 템플릿들은 수많은 구성요소들이 이미 디자인되어 있기 때문에 초보자들도 쉽게 사용할 수 있습니다. 여러분은 직접 선택한 테마를 기준으로, 그중에서 바꾸고 싶은 구성요소들만 맞춤형으로 변경하면 됩니다.

​워드프레스에 있는 각각의 템플릿들에는 로고를 추가하는 것에서부터 홈페이지의 콘텐츠를 업로드하는 것에 이르기까지 모든 구성요소들을 맞춤형으로 변경하는 방법에 대한 자세한 지침이 포함되어 있습니다. 이런 템플릿들을 설치하려면, 워드프레스 관리자 페이지로 들어가서 여러분이 선택한 테마를 선택하면 됩니다. 테마를 선택해서 다운로드하고 나면, 해당하는 파일들이 자동적으로 여러분의 웹 서버에 다운로드 됩니다. 그러면 여러분이 원하는 대로 테마를 사용자 설정할 수 있습니다.

이러한 테마에 구현되어 있는 주요한 기능으로는 빠르고 직관적인 에디터, 기본적인 검색엔진 최적화(SEO), 그리고 모든 종류의 미디어를 업로드하고 콘텐츠에 포함시킬 수 있는 기능이 있습니다. 워드프레스를 통해서 사용할 수 있는 템플릿 라이브러리는 아주 다양하기 때문에, 어떠한 분야의 기업이라도 각자에게 적당한 템플릿을 사용할 수 있습니다.

2. 크리에이티브 커먼즈(CREATIVE COMMONS) 라이선스 템플릿

크리에이티브 커먼즈는 다양한 유형의 산업 및 제품에 적용될 수 있는 저작권 라이선스의 일종입니다. 크리에이티브 커먼즈의 라이선스 조항을 보면, 이 라이선스가 적용되는 디자인 템플릿의 창작자를 웹사이트의 어딘가에 표기해 놓으면, 그 템플릿을 무료로 사용할 수 있다고 명시되어 있습니다. 즉, 수천 개에 달하는 크리에이티브 커먼즈 라이선스 템플릿들 중에서 하나를 선택해서 여러분의 웹사이트에 적용할 수 있다는 것입니다. 이러한 템플릿들은 아주 다양하며, 간단한 블로그 형 웹사이트에서부터 복잡한 전자상거래 사이트까지 매우 다양한 용도로 사용할 수 있습니다.

거의 모든 템플릿들이 패럴랙스 스크롤(parallax scroll), 온라인 채팅 기능, 갤러리 구현, 예약하기 등 반응형 디자인으로 제작되어 있습니다. 그 중에서 관심 있는 템플릿을 발견했다면 다운로드를 할 수 있으며, 그 후에는 원하는 추가적인 기능들을 구매할 수도 있고 템플릿을 쉽게 편집할 수도 있습니다.

이러한 템플릿들은 여러분이 선택한 템플릿이 무엇인가에 따라서 워드프레스나 쇼피파이(Shopify)와 같은 다양한 콘텐츠관리시스템(CMS)에도 적용할 수 있습니다. 선택한 테마의 설치 과정은 그 테마가 어떤 CMS와 호환되는가에 따라서 달라집니다.

3. 위블리(WEEBLY) 웹사이트 빌더


위블리는 웹사이트 빌더(website builder)이며, 예산이 많지 않은 경우에도 웹사이트를 만들 수 있게 도와주는 무료 템플릿들을 제공하고 있습니다. 여기에서 제공하는 모든 템플릿 디자인들은 전체 범위에서 사용자 설정을 할 수 있기 때문에, 최종적인 사이트의 모습은 경쟁업체의 사이트와 견주어도 독창적인 디자인으로 만들 수 있습니다. 이러한 템플릿과 함께 제공되는 도구를 사용하면, 기업의 규모가 커질 경우에도 그에 맞게 웹사이트를 확장할 수 있습니다. 이들의 웹사이트 템플릿들은 주로 전자상거래 비즈니스를 위해 디자인 되어 있기는 하지만, 블로그 사이트나 소규모의 비즈니스 사이트에도 이용할 수 있습니다. 이러한 모든 테마들은 반응형의 기능들을 비롯해서 다양한 특징들이 구현되어 있습니다.

사이트를 제작할 때 드래그 앤 드롭 방식의 빌더를 이용할 수 있다는 것은, 사이트의 기능들을 몇 초 만에 만들 수 있다는 것을 의미합니다. 그 외에도 이용할 수 있는 추가적인 기능들로는 이미지 편집기, 고급 애니메이션 효과, 사이트 검색, 맞춤형 HTML, 맞춤형 폰트, 동영상 배경 등이 있습니다. 이러한 테마를 설치하려면 원하는 테마를 선택하고, 사이트 주소를 입력한 다음, 도메인을 등록하면 됩니다. 이러한 과정을 마친 후에는, 대시보드에서 여러분의 웹사이트를 만들 준비가 끝납니다.

4. 웹플로우(WEBFLOW) 템플릿


웹플로우는 블로그나 기업용, 또는 개인적인 용도의 웹사이트를 만들 때 무료 웹사이트 템플릿을 이용할 수 있는 환상적인 템플릿 제공업체입니다. 원하는 템플릿을 선택하고 나면, 어떠한 코드를 사용하지 않고도 웹플로우에서 완전히 맞춤형으로 설정할 수 있습니다. 즉, 원하는 것을 선택하고 몇 가지의 기본적인 정보만 입력하면, 테마가 자동적으로 설치됩니다.

웹플로우는 사이트 편집기를 사용하는 데 도움이 되는 아주 다양한 가이드라인과 튜토리얼이 있기 때문에, 웹사이트를 쉽게 디자인 할 수 있습니다. 이곳에서 제공하는 대부분의 템플릿들은 이미지를 많이 사용하고 있기 때문에, 좀 더 모던한 디자인을 만들 수 있습니다. 웹사이트를 만들 때 이용할 수 있는 기능들로는 콘텐츠 관리, 반응형 디자인, 웹 폰트, 동적 콘텐츠, 심볼 등이 있습니다.

5. 컬러립(COLORLIB) HTML & 부트스트랩(BOOTSTRAP) 템플릿


컬러립은 다양하면서도 환상적인 HTML과 부트스트랩 템플릿 디자인을 이용할 수 있는 템플릿 제공업체입니다. 현재 이용할 수 있는 템플릿은 600개 정도로 다양하며, 인테리어 디자인 기업이나 호텔에서부터 로펌이나 전자상거래 사이트에 이르기까지 수많은 용도로 활용할 수 있습니다. 그리고 모든 템플릿에는 여러 개의 태그가 달려 있기 때문에, 여러분이 원하는 용도에 가장 적합한 템플릿을 쉽게 찾을 수 있습니다.

이곳에서 제공하는 무료 테마들은 워드프레스와 함께 사용할 수 있게 디자인 되어 있습니다. 컬러립에서 테마를 선택하면 여러분의 컴퓨터에 압축 파일로 다운로드 되며, 여러분은 그걸 자신의 워드프레스 계정에 업로드할 수 있습니다. 그리고 사용하기 쉬운 CMS인 워드프레스에서 여러분의 웹사이트를 디자인 할 수 있습니다. 이곳의 템플릿들은 수많은 다양한 디자이너들이 만든 것이기 때문에, 여러분에게 제공되는 기능들은 각자가 선택한 템플릿이 어떤 것인지에 따라서 달라집니다.

6. 스타일샤우트(STYLESHOUT) HTML5 & CSS3 템플릿


스타일샤우트에서는 수백 가지의 HTML5 및 CSS3 템플릿을 무료로 제공합니다. 스타일샤우트에서 선택할 수 있는 템플릿들은 모두 모던하고 우아하며 단순하게 디자인 되어 있기 때문에, 여러분이 구현하는 사이트의 기능과는 관계없이, 빠르게 로딩될 수 있습니다. 이러한 템플릿들을 만든 디자이너들은 모두 다르기 때문에, 난이도는 여러분이 선택한 템플릿이 무엇인가에 따라서 달라질 수 있습니다.

하지만 모든 템플릿들의 코드가 깔끔하기 때문에, 사용자가 쉽게 맞춤형으로 설정할 수 있습니다. 이러한 템플릿과 함께 이용할 수 있는 사이트의 기능들로는 동영상 지원, 콜투액션(CTA) 버튼, 추천 슬라이드 등이 있습니다. 이러한 템플릿들은 주로 소규모 비즈니스에 적합하게 디자인 되어 있습니다. 선택한 템플릿을 설치하고 싶으면, 자신의 컴퓨터에 다운로드를 한 다음, 여러분이 이용하고 있는 호스팅 서비스에 업로드하면 됩니다. 이러한 테마들은 일반적으로 워드프레스 등을 포함하는 다양한 콘텐츠관리시스템과 호환될 수 있게 디자인 되어 있습니다.

7. 유크래프트(UCRAFT) 웹사이트 빌더


유크래프트는 아주 적은 시간에 웹사이트를 디자인할 수 있는 다양한 창의적인 도구들을 제공하는 무료 웹사이트 빌더입니다. 도메인을 보유하고 있다면, 어떠한 템플릿에도 쉽게 연결할 수 있습니다. 이들의 무료 웹사이트 템플릿들은 주로 리드(lead) 생성에 초점을 맞춘 비즈니스를 위해 디자인되어 있습니다.

이곳에서 제공하는 모든 템플릿들은 웹사이트를 쉽게 생성할 수 있는 드래그 앤 드롭 기능을 갖춘 자체적인 웹사이트 빌더를 사용하고 있습니다. 적당한 템플릿을 선택했다면, 유크래프트의 웹사이트에서 전체적으로 디자인 할 수 있습니다. 웹사이트를 편집할 때는, 이미지 슬라이드에서부터 연락처 양식에 이르기까지 모든 것들을 클릭 한 번으로 구현할 수 있습니다.

8. 스트라이킹리(STRIKINGLY) 웹사이트 에디터


스트라이킹리는 아마도 여기에서 소개하는 서비스들 중에서 가장 사용하기 쉬운 웹사이트 에디터일 것입니다. 이곳에서 제공하는 모든 템플릿들은 스트라이킹리 웹사이트에서 편집할 수 있습니다. 선택한 템플릿의 편집을 마치고 나면, 즉시 오픈할 수 있는데요. 이들의 템플릿을 이용하면 30분 이내에 웹사이트를 만들 수 있습니다.

이곳의 무료 템플릿들은 아름다운 이미지와 다채로운 디자인에 초점을 맞추고 있습니다. 무료 템플릿을 선택하면 스트라이킹리의 무료 도메인, 무제한의 사이트, 월별 5GB의 대역폭, 그리고 간단한 형태의 스토어를 만들 수 있는 기능까지 함께 제공됩니다. 이러한 기능들은 자동적으로 구현되어 있기 때문에 전자상거래 비즈니스를 하는데 있어서 아주 좋은 템플릿이며, 이곳에서 소개하는 다른 템플릿들에는 없는 특징입니다.

웹사이트 어떻게 만들어야 할까?

웹사이트를 어떻게 만들어야 하는지를 잘 모른다면, 웹사이트를 디자인하고 개발하는 과정은 길고 지루할 수 있습니다. 하지만 여기에서 소개하는 8가지의 템플릿들을 이용하면, 웹사이트의 개발 경험이 거의 없다고 하더라도 웹사이트를 디자인하고 제작할 수 있습니다. 만약 여러분의 비즈니스에 맞는 템플릿이 어떤 건지 결정하는 게 어렵다면, 이들 사이의 서로 다른 특징들을 살펴보면 결정이 좀 더 쉬워질 것입니다.

[출처] https://www.wishket.com/news-center/detail/545/​

Loading

19 10월 2020

웹 개발(WEB DEVELOPMENT), 현실적으로 얼마나 걸릴까?

웹 개발(WEB DEVELOPMENT),

현실적으로 얼마나 걸릴까?

웹 개발 프로젝트 타임라인은 크게 탐색과정, 디자인 과정, 개발 과정 등의 여러 단계로 나누어집니다. 프로젝트의 탐색 단계에서는 비즈니스의 목표를 파악하고, 경쟁 시장을 평가하고, 대상 고객을 조사하는 업무를 수행하죠. 이 단계에서 얻는 정보들은 이후 디자인 과정에 영향을 주게 되는데, 디자인 단계에서는 디자인 목업(mock up)을 만드는 것부터 로고와 컬러, 레이아웃, 그리드에 이르기까지 모든 것이 포함되어 있습니다.

​마지막 과정인 개발 단계에서는, 이전 단계의 디자인을 최종 사용자들을 위한 기능으로 완전하게 구현하는 것에 초점을 맞추고 있습니다. 전체 개발 과정에서 가장 오래 걸리는 부분은 디자인 단계이며, 어느 분야에서든 디자인을 완료하려면 6-8주 정도 소요됩니다. 웹사이트의 모든 구성요소들을 비즈니스와 브랜드에 맞게 디자인되어야 하기 때문에, 가장 효율적인 디자인을 찾아내기까지는 좀 더 시간이 걸릴 수 있습니다.

웹 개발 계획에 앞서, 우리는 비즈니스나 브랜드에 대한 어느 정도의 조사를 실시해야 합니다. 디자인에 대한 모든 결정은 고객들이 원하는 것과 비즈니스의 목표를 기반으로 이루어져야 하며, 이를 잘 파악하고 있어야만 올바른 디자인 결정을 내릴 수 있습니다. 

Key Point:
웹사이트를 처음부터 제대로 만들고 싶다면, 디자인 과정에서 어느 정도의 시간이 걸린다.
웹 개발에 걸리는 타임라인은 탐색과정, 디자인 과정, 개발 과정의 세 가지 단계로 나뉜다.
경쟁자들에 대한 조사를 수행하여 브랜드에 있어서 중요한 것과 대상 고객들의 주의를 끌 수 있는 것이 무엇인지를 판단한 다음에 디자인을 계획한다.

홈페이지를 구축하는데 시간이 얼마나 걸리는지를 판단하려면, 먼저 웹사이트의 개발 및 공개와 관련된 네 가지 단계를 살펴봄으로써, 전체적인 개발 프로세스를 계획하는 것이 중요합니다. 모든 웹사이트는 전부 다르다는 것을 명심해야 합니다. 일반적으로 웹사이트를 하나 구축하는데, 약 10~12주 정도 걸리기는 하지만, 5주 만에 만들어내지 말라는 법은 없습니다. 반대로 4~4개월 이상 걸리는 경우도 있죠. 이러한 기간은 주로 비즈니스의 요구 사항과 웹사이트 구축을 위해 고용한 개발팀의 능력과 여러분의 프로젝트 범위에 따라서 달라집니다.

웹 개발 과정은 비즈니스의 분야에 따라서 다를 수 있지만, 다음과 같은 단계는 어디에든 포함되는 기본적인 내용입니다.

  • 개발업체 혹은 개발자에게 정확한 요구 사항을 전달한다.
  • 개발자가 실행계획을 작성하면, 검토 후 승인한다.
  • 사이트 디자인의 다양한 목업을 살펴본 후, 그에 따라 수정 작업을 진행한다.
  • 디자인 및 개발 프로세스가 전면적으로 시작되며, 일부 과정에는 직접 참여한다.
  • 그렇게 만들어진 최종 디자인을 수정하고, 다듬는다.

이러한 프로세스를 시작하기 전에, 웹사이트를 통해서 원하는 내용을 이해하는 것이 필수적입니다. 우선, 웹사이트 디자인을 브랜드 이미지와 일치시키는 것이 중요하며, 이는 신규 고객들을 유입시키고 브랜드 이미지를 강화하는 데 도움이 됩니다. 웹을 반응형으로 제작하면, 어떠한 기기를 사용하든 쉽게 접속할 수 있습니다. 여러분의 사업에 맞게 올바른 전략을 활용하여, 온라인에서의 입지를 강화할 수 있는 홈페이지를 제작해보세요!

STEP 01. 계획안 작성

웹사이트 구축의 첫 번째 단계에는 개발 과정 전반에 걸쳐서 개발팀 전체를 안내할 수 있는 계획을 만드는 작업이 포함됩니다. 웹사이트 구축에 있어서 이번 단계는 중요하기는 하지만, 완료하기까지는 대략 1-2주 정도밖에 소요되지 않습니다. 먼저 사이트를 어떤 모습으로 만들고 싶은지, 그리고 디자인 구성요소들은 어떤 것이 될지를 파악해야 합니다. 그리고 웹사이트 구축을 도와줄 개발팀을 고용할 때는, 그들이 설계할 웹사이트에 대해서 여러분이 원하는 것이 무엇인지를 개발팀에게 정확하게 알려줄 수 있어야 합니다. 정확한 요구 사항이 없다면, 올바른 디자인을 찾아내기까지 수많은 수정 작업을 거칠 가능성이 높습니다.

그리고 여러분이 갖고 있는 아이디어나 포함되기를 원하는 기능이 최종 디자인에서 구현할 수 없는 경우에는, 함께 작업하는 개발자가 이 단계에서 그 사실을 알려줄 수 있습니다. 그 외에도 살펴봐야 할 많은 사항들이 있는데요. 여러분의 브랜드에 대해서만 조사할 것이 아니라 대상 고객들에 대해서도 살펴봐야 하며, 이를 통해서 웹사이트에 포함되어야 하는 기능들을 판단하는 데 도움을 얻을 수 있습니다. 그리고 경쟁업체들에 대한 조사를 통해서, 그들의 웹사이트에서 효과가 있는 것과 그렇지 않은 것이 무엇인지에 대해서 이해도를 더욱 높이는 것이 좋습니다. 이 과정이 제대로 수행된다면, 웹사이트의 실제 구축을 위한 완벽한 준비를 마칠 수 있습니다.

STEP 02. 웹사이트 구축 착수

이제 웹사이트 구축을 시작할 차례입니다. 이 단계는 사이트가 얼마나 복잡한 가에 따라서 다르긴 하지만, 대략 1-3주 정도 소요됩니다. 실행계획을 작성하고 나면, 함께 일하는 웹 디자이너들은 그 계획을 이용해서 사이트 디자인의 일부가 표현된 목업(mockup)을 만들어 낼 수 있습니다. 목업은 실제 디자인을 구현하기 전에 최종적인 웹사이트 디자인의 모습을 볼 수 있는 일종의 스케치라고 할 수 있습니다. 이 목업을 승인하고 나면, 이후의 개발 과정이 진행될 수 있습니다.

​프로젝트에서 이 시기는 디자인에서 뭔가 바꾸고 싶은 것이 있을 때 변경하기 위한 단계입니다. 따라서 웹사이트가 완전히 개발된 것이 아니기 때문에, 목업을 수정할 때에도 그리 많은 시간이 걸리지 않습니다. 여러분이 받아보는 목업 안에는 웹사이트의 주요한 디자인 구성요소들이 포함되어야 하는데, 전체적인 레이아웃은 물론이고 모바일 기기를 통해서 접속했을 때 어떤 모습인지를 보여줄 수도 있어야 합니다. 이 단계에서는 아직 본격적인 개발이 시작되지 않았기 때문에, 마음속에 떠오르는 어떤 궁금증이라도 시간을 내서 물어봐야 합니다.

STEP 03. 개발 단계

세 번째 단계이자 가장 중요한 단계는 바로 개발 과정입니다. 개발 단계는 완료하기까지 1-2개월 정도 소요될 수 있습니다. 이 시점에서는 개발팀이 최종적인 디자인을 이용해서 모든 기능을 구현하고 아무런 문제 없이 탐색할 수 있는 실제 웹사이트를 만들게 됩니다. 이런 개발 단계에서, 개발팀은 웹사이트를 앞서 만든 디자인과 똑같은 모습으로 만들기 위해서 노력합니다.

​웹사이트 구축 프로세스에서 개발 단계는 기술적인 특성으로 인해서, 장애가 발생하기도 하고 해결해야 할 문제가 생기는 경우가 일반적입니다. 대부분의 개발자들은 여러분에게 개발의 진행과정에 대해 알려주기 위해서 개발 단계 전반에 걸쳐서 여러분에게 주기적으로 연락을 할 것입니다. 만약 그러지 않는다면, 여러분이 먼저 연락해서 현재 상태를 공유해야만 합니다. 그래야만 예상 일정보다 지연이 발생하는 경우에도 그 상황을 파악할 수 있습니다.

STEP 04. 최종 점검

사이트 구축의 네 번째 단계는 웹사이트를 최종 점검하는 것이며, 이는 완료하기까지 약 1-2주 정도 소요됩니다. 웹사이트를 본격적으로 공개하기 전에는, 사이트를 점검하고 필요하다면 수정하는 것이 중요합니다. 웹사이트의 모든 구성요소와 기능들은 반드시 테스트를 거쳐서 사이트가 올바르게 작동하는지를 확인해야 합니다. 또한 최종 웹사이트가 여러분이 만들었던 디자인과 일치하는지도 확인하는 것이 중요합니다.

​이 단계에서는 수정할 것이 있다 하더라도 아주 작은 부분에서만 이루어져야 합니다. 그리고 개발자에게 웹사이트의 모든 기능성을 검토하도록 요청해야만 합니다. 개발자들은 여러분이 눈치채지 못한 문제들을 찾아낼 가능성이 높습니다. 웹사이트를 최종 점검하지 않고 온라인에서 공개하면, 사용자에게 좋지 않은 경험을 제공할 수 있으며, 이는 결국 브랜드 평판에 심각한 손해를 끼칠 수 있습니다. 웹사이트의 최종 점검은 소요 기간이 가장 짧기는 하지만, 아주 중요한 단계이기도 합니다.

웹 개발 어떻게 시작해야 할까?

웹사이트 구축을 준비할 때는, 여러분이 내리는 모든 결정에 대해서 확신을 가져야만 합니다. 웹사이트는 여러분의 브랜드와 비즈니스를 대표하기에 많은 잠재 고객에게 좋은 첫인상을 남겨야 한다는 것을 꼭 명심하세요.

[출처] https://www.wishket.com/news-center/detail/552/

Loading

15 7월 2020

국내 연구진 “충전없이 반영구적 사용하는 배터리 개발”

국내 연구진 “충전없이 반영구적 사용하는 배터리 개발”

조선비즈 

입력 2020.07.15 15:03

 

대구경북과학기술원(DGIST)은 에너지공학전공 인수일 교수 연구팀이 별도의 충전 없이 반영구적으로 사용 가능한 ‘염료감응 베타전지'(Dye-Sensitized Betavoltaic Cell)를 개발했다고 15일 밝혔다.

최근 전기차, 사물인터넷(IoT) 등의 기술수요가 급증하면서 다양한 용도의 배터리 수요가 커지고 있다. 기존 배터리의 짧은 수명을 해결하기 위해 베타전지 연구가 세계적으로 활발히 진행 중이다.

DGIST 연구팀이 개발한 염료감응 베타전지. /DGIST 제공
베타전지는 방사성 동위원소를 원료로 이용하는 차세대 전지 중 하나다. 방사성 동위원소에서 방출된 베타전자가 방사선흡수체인 반도체에 충돌하면서 전기가 생산되는 원리다.

베타선은 인체 유해성 및 투과도가 낮아 안전성이 높다. 또 외부 동력원 없이 자체 전력 생산이 가능해 별도의 충전이 필요 없고 수명은 방사성 동위원소의 반감기와 비례하기 때문에 교체 주기가 길다.

이러한 장점들로 미국과 러시아 등 주요 국가들 위주로 활발한 연구가 이뤄지고 있다. 하지만 값비싼 소재 사용 및 복잡한 제작 공정 때문에 대량생산이 쉽지 않은 실정이다.

인수일 교수팀은 기존의 베타전지에서 방사선흡수체로 사용된 값비싼 반도체 물질을 루테늄 계열의 N719 염료로 대체했다. 베타선을 방출하는 동위원소인 탄소-14를 적용해 기존 베타전지의 복잡한 구조를 단순화했으며 탄소-14를 나노입자로 만들어 에너지 밀도를 높였다.

연구팀은 염료감응 베타전지의 성능실험을 통해 베타선원인 탄소-14에서 방출된 전자 대비 3만2000배의 전자를 생성하며 10시간 동안 안정적으로 전력을 생산함을 관찰했다. 베타전지에 사용된 탄소-14는 약 5730년의 반감기를 가지고 있어 상용화에 성공할 경우 반영구적인 수명을 가질 것으로 예상된다.

인수일 교수는 “이번 연구는 기존 방식과는 달리 값싼 염료를 적용하여 새로운 베타전지 개발에 성공했다는데 큰 의의가 있다”며 “아직 풀어야 할 숙제가 많지만 안전하고 저렴한 염료감응 베타전지 개발에 노력하겠다”고 밝혔다.

한편 이번 연구는 한국연구재단 방사선기술개발사업으로 진행됐으며 화학 분야 국제학술지 ‘케미컬 커뮤니케이션스’ 52호에 7월4일 표지논문으로 게재됐다.

Loading

25 5월 2020

기업 홈페이지 제작 시, 다들 놓치는 기본적인 실수 5가지

기업 홈페이지 제작 시, 다들 놓치는 기본적인 실수 5가지

01_뉴스센터 페이스북

온라인에서 여러분의 기업을 제대로 보여주지 않는다면, 여러분은 잠재 고객들 대부분에게 더 이상 알아볼 가치도 없는 회사로 전락합니다. 직접 얼굴을 맞대고 손님을 상대하지 않는 한, 웹사이트는 잠재 고객들을 만날 수 있는 가장 중요한 포인트라고 할 수 있습니다. 그런 포인트를 가지지 못한다면 여러분의 사업이 더 많은 고객을 유치하는 것은 사실상 힘들다고 볼 수 있겠죠.

여러분이 어떤 비즈니스를 하고 있든, 이제 기업 홈페이지 제작은 필수가 되어버렸습니다. 오프라인 공간을 가지고 있다고 하더라도 점점 더 많은 잠재 고객들이 그곳을 방문하기에 앞서 온라인으로 여러분의 비즈니스를 찾아볼 가능성이 높아지고 있습니다. 따라서 잠재 고객들을 사로잡고, 여러분의 비즈니스를 더욱 많은 사람들이 알게 하기 위해서는 지금 당장이라도 기업 홈페이지 제작을 시작해야 합니다.

참고로, 페이스북 페이지는 웹사이트가 아닙니다. 페이스북 페이지가 웹사이트를 대체하기에 적절하지 않은 이유들은 수없이 많습니다. 여러분이 어떠한 서비스나 제품을 찾아볼 때, 페이스북을 통해 검색하는지 떠올려보면 알 수 있습니다. 또한, 기업의 가치와 비전 그리고 사업성을 담기에는 페이스북 페이지만으로 역부족입니다.

그래서*국내 1위 IT 아웃소싱 플랫폼, 위시켓은 기업 홈페이지 제작 시, 많은 사람들이 놓치는 실수 5가지와 그 대안을 준비해보았습니다. 홈페이지 제작을 고민 중이시라면 반드시 읽어보세요:)

*위시켓은 2019년 09월 시밀러 웹 방문자 수 기준, 국내 1위 IT아웃소싱 플랫폼입니다. 현재 7만 8천 개 이상의 개발업체와 프리랜서들이 활동하고 있으며, 무료로 프로젝트를 등록하여 하루 평균 5.2명의 지원자들을 만나볼 수 있습니다.

고객들이 연락을 취하기 어려운 기업 홈페이지.


여러분의 웹사이트에 방문한 사람들이 찾아온 목적은 다양합니다. 하지만 모두들 공통적으로 여러분의 기업은 무슨 일을 하는지, 어떻게 자신들에게 도움을 줄 수 있는지 등 궁금증이 많을 것이고, 이를 해소하기 위해서는 직접 연락을 취하고 싶어 할 겁니다.

여러분의 잠재 고객들이 여러분에게 직접 연락할 수 있는 가장 좋은 방법을 연락처(Contract) 페이지 등을 통해서 쉽게 확인할 수 있도록 해보세요. 의외로 많은 기업들에서는 문의하기 양식을 사용하고 있습니다. 물론 이것도 좋기는 하지만 이메일 주소나 전화번호를 적어 고객들이 편하게 연락할 수 있게 하는 것이 더 좋습니다. 혹은 사이트 내에 챗봇을 두어 고객이 바로 CS 팀에 문의하는 방법도 있습니다.

업데이트를 꾸준히 하지 않은 기업 홈페이지.


업데이트를 전혀 하지 않은 웹사이트만큼 나쁜 것도 없습니다. ‘이벤트’ 페이지에 있는 최근 게시물이 4개월 전의 것이라면, 그것은 여러분의 웹사이트에 누가 들어오든지 간에 여러분이 전혀 관심을 갖지 않는다는 메시지를 전달하고 있는 것과 다름없습니다. 또는, 여러분의 블로그에 1주일 이상 새로운 글이 올라오고 있지 않다면 방문객들은 여러분의 비즈니스에 특별한 매력을 느끼지 못할 수도 있습니다.

회사의 연락처 정보가 맞는지를 확인하고(위의 2번 참조) 만약 소매 업종을 운영하고 있다면 웹사이트에 고객 응대 시간에 대해서도 적어 놓는 것이 좋습니다. 소비자처럼 생각하고, 소비자들이 기업 홈페이지에서 찾고자 하는 정보가 제대로 갖춰져 있는지, 그리고 그 정보가 최신의 내용인지도 꾸준히 확인해야 합니다.

대상 고객이 누구인지 불분명한 기업 홈페이지.


웹사이트는 목적에 부합해야 합니다. 대부분의 기업들에게 그 목적은 잠재 고객들을 비즈니스적인 관계로 끌어들이는 것입니다. 그것과 관계된 것들에 대해서만 생각하고, 그 외의 것들은 전부 잊으셔도 됩니다.

여러분은 고객이 아닙니다. 여러분은 이미 여러분의 제품이나 회사 등 많은 것들에 대해서 이해하고 있습니다. 기업 홈페이지가 사내 직원들만을 위한 게 아니라면, 관계자들만 이해하는 용어를 사용하지 마세요. 웹사이트의 모든 이미지, 그래픽, 링크, 텍스트를 세심하게 배려하고, 여러분의 대상 고객을 향해서 잘 맞춰져있는지를 철저하게 확인하는 게 중요합니다.

콜 투 액션(CTA)은 명확해야 하고, 여러분의 잠재 고객들과 연관성이 있어야 합니다. 여러분의 사이트에 있는 모든 것들은 어떤 목적을 위해 기능하고 있다는 사실을 명심해야 합니다. 즉, 고객과의 연결을 위해 존재한다는 것을 말이죠.

가격을 아끼려고 무작정 DIY를 한 기업 홈페이지.

여러분이 웹 디자이너가 아닌 이상, 자신의 웹사이트를 직접 디자인한다는 것은 정말로 좋지 않은 생각입니다. 물론 저렴한 비용으로 웹사이트를 만들 수 있는 그야말로 수백 가지의 방법이 있습니다. 하지만 그것이 비즈니스적으로 좋은 아이디어는 아닙니다.

여러분의 웹사이트가 수많은 고객들과의 만남을 위한 첫걸음이라고 생각한다면, 그것을 제대로 해내기 위해 시간과 에너지와 돈을 투자해야만 합니다.

여러분이 전달하고자 하는 메시지를 평가해 줄 수 있고, 그것을 표현할 수 있도록 전문적인 도움을 줄 수 있는 파트너를 찾으세요. 그러면 여러분의 브랜드가 강화될 것입니다. 지금 당장 저렴하고, 싸게 해준다는 업체를 찾는 것은 나중에 더 큰 추가 비용과 문제를 초래할 수 있습니다. 우선은 여러분이 잘할 수 있는 일에 집중하시고, 합리적인 견적에 기업 홈페이지 제작을 도와줄 수 있는 전문가를 만나세요.

모바일 친화적으로 만들지 않은 기업 홈페이지.

전 세계 모든 웹 트래픽의 52% 이상이 모바일 기기로부터 나옵니다. 여러분의 웹사이트 디자인이 모바일 브라우저 환경에 적합하지 않다면, 잠재 고객의 절반을 놓치게 된다는 것을 의미합니다. 아니면 적어도 여러분은 그런 사람들의 사정에는 별로 신경 쓰지 않는다고 말하고 있는 것과 같습니다. 그 이유는 어떠한 콘텐츠 관리 플랫폼에서도 이용할 수 있는 엄청난 수의 모바일 반응형 테마들 중의 하나를 얼마든지 이용할 수 있음에도 불구하고, 여러분은 전혀 관심을 두고 있지 않기 때문입니다.

마케팅에 있어서 불변의 원칙 중 하나는 ‘고객이 쉽게 거래할 수 있어야 매출이 상승곡선을 그릴 수 있다’라는 것입니다. 고객들이 원하는 정보를 쉽게 찾거나 여러분에게 쉽게 연락할 수 있게 하는 것이 중요한 것과 마찬가지로, 모바일 기기를 통해서도 두 가지를 모두 쉽게 할 수 있어야 합니다. 그렇게만 한다면 더 많은 고객들의 여러분의 비즈니스에 관심과 사랑을 보낼 것입니다.

[출처] https://www.wishket.com/news-center/detail/462/

Loading

23 5월 2020

10 Best Programming Languages to Learn in 2020 (for Job & Future)

10 Best Programming Languages to Learn in 2020 (for Job & Future)

Posted in Software DevelopmentProgramming

10 Best Programming Languages to Learn in 2020 (for Job & Future)

Table of Contents

The most important skill to learn in today’s world is to know how to write a computer program. Today, computers have entered in almost every industry. Be it the autopilot in an aircraft or digital speedometer in your bike, computers in various forms surround us. Computers are extremely useful for an organization to scale up well. Gone are the days of pen and paper. Today, in order to store and access your information, you absolutely need computers.

The programming and developer communities are emerging at a rate faster than ever before. Various new programming languages are coming up that are suited for different categories of developers (beginners, intermediate, and experts) as well as for different use cases (web application, mobile applications, game development, distributed system, etc). Every beginner is puzzled with the question, “What programming language should I learn?” Let us take a look at best Programming Languages to learn in 2020 for a job and for future prospects:

1. Python

Python-LogoPython undoubtedly tops the list. It is widely accepted as the best programming language to learn first. Python is fast, easy-to-use, and easy-to-deploy programming language that is being widely used to develop scalable web applications. YouTube, Instagram, Pinterest, SurveyMonkey are all built-in Python. Python provides excellent library support and has a large developer community. The programming language provides a great starting point for beginners. Talking about those who are looking for a better job, you should definitely learn Python ASAP! A lot of startups are using Python as their primary backend stack and so, this opens up a huge opportunity for full-stack Python developers. Here is a sample Python “Hello World!” program:

 print “Hello World!"

Yes, Python is that simple! Anyone who wishes to join a startup should master Python programming.

 

Difficulty level: Easy to learn. Best language for beginners. 5 out of 5.
Job opportunity: Huge! 5 out of 5.

Pros:

  • Creating and using classes and objects is easy thanks to OOP characteristics
  • Extensive library support
  • Focuses on code readability
  • Has the ability to scale even the most complex applications
  • Ideal for building prototypes and testing out ideas faster
  • Open-source with an ever-growing community support
  • Provides support for a multitude of platforms and systems
  • Very easy to learn and use

Cons:

  • Not suitable for mobile computing
  • Slower by virtue of being an interpreted programming language
  • The database access layer is somewhat immature
  • Threading isn’t good because of GIL (Global Interpreter Lock)

2. Java

Java-Logo

Java is another popular choice in large organizations and it has remained so for decades. Java is widely used for building enterprise-scale web applications. Java is known to be extremely stable and so, many large enterprises have adopted it. If you are looking for a development based job at a large organization, Java is the language that you should learn. Java is also widely used in Android App Development. Almost any business today needs an Android Application owing to the fact that there are billions of Android users today. This opens up a huge opportunity for Java developers given the fact that Google has created an excellent Java-based Android development framework – Android Studio.

Difficulty level: Easy to moderate to learn. 4 out of 5.
Job opportunity: Huge! 4.5 out of 5. [Best Java tutorials and courses]

Pros:

  • An abundance of open-source libraries
  • Automatic memory allocation and garbage collection
  • Follows the OOP paradigm
  • Has the stack allocation system
  • A high degree of platform independence thanks to the JVM feature
  • Highly secure due to the exclusion of explicit pointer and inclusion of a security manager responsible for defining the access of classes
  • Ideal for distributed computing
  • Offers a galore of APIs for accomplishing different tasks, such as database connection, networking, utilities, and XML parsing
  • Supports multithreading

Cons:

  • Absence of templates limits creating high-quality data structures
  • Expensive memory management
  • Slower than natively compiled programming languages, like C and C++

3. C/C++

C++C/C++ is like the bread and butter of programming. Almost all low-level systems such as operating systems, file systems, etc are written in C/C++. If you wish to be a system-level programmer, C/C++ is the language you should learn. C++ is also widely used by competitive programmers owing to the fact that it is extremely fast and stable. C++ also provides something called STL – Standard Template Library. STL is a pool of ready-to-use libraries for various data structures, arithmetic operations, and algorithms. The library support and speed of the language make it a popular choice in the High-frequency trading community as well.

Difficulty level: Easy to moderate to learn. 3 out of 5.
Job opportunity: Moderate! 3.5 out of 5.

Pros:

 
  • A galore of compilers and libraries to work with [C++]
  • Eases accessing blocked or hidden objects by other programming languages [C]
  • Faster execution of programs than most programming languages [C/C++]
  • Forms the basis for understanding more complex programming languages [C/C++]
  • Language of choice for multi-device, multi-platform app development [C++]
  • Offers a great degree of portability [C]
  • Procedure-oriented language with a group of function modules and blocks. These make debugging, testing, and maintaining the programs easier [C]
  • Programs are more efficient and easy to understand [C/C++]
  • Rich function library [C++]
  • Runs close to the system hardware and hence, offers a low level of abstraction [C/C++]
  • Support exception handling and function overloading [C++]
  • Wide variety of application domains, such as games, GUI applications, and real-time mathematical simulations [C++]

Cons:

  • Complex syntax [C/C++]
  • Doesn’t support program namespace [C]
  • Incapable of solving modern, real-world programming challenges [C]
  • Less efficient object-oriented system compared to other OOP-based programming languages [C++]
  • Need to manually create the high-level constructs [C]
  • No garbage collection or dynamic memory allocation [C/C++]
  • No run-time checking [C/C++]
  • No strict type checking [C]
  • Not an easy first-choice for learning programming [C/C++]
  • Plagued by the issues of buffer overflow and memory corruption [C/C++]
  • Smaller standard library [C]

4. JavaScript

JavaScript is the “frontend” programming language. JavaScript is widely used to design interactive frontend applications. For instance, when you click on a button which opens up a popup, the logic is implemented via JavaScript.

These days, many organizations, particularly startups, are using NodeJS which is a JavaScript-based run-time environment. Node.js lets developers use JavaScript for server-side scripting—running scripts server-side to produce dynamic web page content before the page is sent to the user’s web browser. Hence now with JS, you can use a single programming language for server-side and client-side scripts. If you are looking for that cool tech job at your favorite startup, you should seriously consider learning JavaScript.

Difficulty level: Easy to learn. 4.5 out of 5.
Job opportunity: Huge! 5 out of 5. [Best JavaScript tutorials and courses]

Pros:

  • Client-side JavaScript is very fast. It runs immediately within the web browser as there is no compilation requirement
  • Gives a richer interface to a website
  • Highly versatile
  • It is the programming language of the web
  • Reduced website server demand by virtue of being client-side
  • Regular updates via the ECMA specification
  • Several add-ons, such as Greasemonkey, for extending the functionality
  • Simplistic implementation
  • Plenty of resources and a mammoth community support
  • Used for building a diverse range of applications
  • Works exceptionally well with other programming languages

Cons:

  • Absence of copy or equivalent method
  • Allows only single inheritance
  • As the code executes on the user machine, many people choose to disable JavaScript due to the fear of being exploited for a malicious intent
  • Might be interpreted differently by different browsers

5. Go programming language

Go programming languageGo, also known as Golang, is a programming language built by Google. Go provides excellent support for multithreading and so, it is being used by a lot of companies that rely heavily on distributed systems. Go is widely used in startups in Silicon Valley. However, it is yet to be adopted by Indian companies/startups. Those who wish to join a Valley-based startup specializing in core systems should master Golang.

Difficulty level: Easy to moderate to learn. 3 out of 5.
Job opportunity: Moderate! 2.5 out of 5. [Best Golang tutorials]

Pros:

  • Backed by Google
  • Being a statically-typed language makes it more secure
  • Cleaner syntax makes it easier to learn
  • Comprehensive standard library offering a range of inbuilt functions for working with primitive types
  • Ideal for building SPAs (single-page applications)
  • Smart documentation
  • Very fast as it is compiled to machine code

Cons:

 
  • Absence of a virtual machine makes complex programs less efficient
  • Implicit interfaces
  • Lacks versatility
  • No GUI library
  • Underprivileged library support

6. R

R Programming LanguageR programming language is one of the most commonly used programming languages for Data Analysis and Machine Learning. R provides an excellent framework and built-in libraries to develop powerful Machine Learning algorithms. R is also used for general statistical computing as well as graphics. R has been well adopted by enterprises. Those who wish to join “Analytics” team of a large organization should definitely learn R.

Difficulty level: Easy to moderate to learn. 3 out of 5.
Job opportunity: Huge! 4 out of 5. [Best R tutorials]

Pros:

  • Ability to run seamlessly on various operations systems
  • Active, mushrooming community
  • Being open-source and free grants the ability to make tweaks as per the requirements
  • Comprehensive statistical analysis language
  • Highly extensible
  • Powerful package ecosystem

Cons:

  • Lacks security features
  • No strict programming guidelines
  • Poor memory management
  • Quality of some packages is subpar

7. Swift

Swift is the programming language that is used to develop iOS applications. iOS-based devices are becoming increasingly popular. Apple iPhone, for instance, has captured a significant market share and is giving a tough competition to Android. Therefore, those who want to serve this community can learn Swift programming.

Difficulty level: Easy to moderate to learn. 3.5 out of 5.
Job opportunity: Huge! 4 out of 5. [Best Swift tutorials]

Pros:

  • Automatic memory management prevents memory leaks
  • Backed by Apple
  • Better scalability allows easily adding functionalities to the product and/or bringing in additional developers
  • Easy to add new features
  • Encourages developers to write clean and readable code
  • English-like syntax makes it highly readable
  • Interoperable with Objective-C
  • It is possible to integrate Server-side Swift with any technology
  • Makes code sharing better and development process faster when used for both frontend and backend development
  • Very fast as compared to other popular programming languages, such as Objective-C and Python

Cons:

  • Limited community support and resources
  • Somewhat unstable due to being a relatively new arrival on the programming scene
  • No support for legacy projects; can be used only for iOS7 or later apps

8. PHP

PHPPHP is among the most popular backend programming language. Though PHP is facing tough competition from Python and JavaScript, the market still needs a large number of PHP developers. Those who wish to join a reasonably well old organization as a backend developer should aim to learn PHP programming.

Difficulty level: Easy to learn. 4.5 out of 5.
Job opportunity: Huge! 4.5 out of 5. [Best PHP tutorials and courses]

Pros:

 
  • Abundance of powerful frameworks
  • Easy to get started for making web pages
  • First-class debugging with Xdebug
  • Gigantic community support and a huge ecosystem
  • Lots of automation tools for testing and deploying applications
  • No scarcity of good automation tools for deployment and testing
  • Supports object-oriented and functional programming paradigms

Cons:

  • Developing websites completely in PHP is slower as compared to using other options
  • Lacks in terms of security
  • Poor error handling
  • Requires extensions to a greater extent

9. C#

C#C# is a general-purpose programming language developed by Microsoft. C# is widely used for backend programming, building games (using Unity), building Window mobile phone apps and lots of other use cases.

Difficulty level: Easy to moderate to learn. 3.5 out of 5.
Job opportunity: 2.5 out of 5. [Best C# tutorials and courses]

Pros:

  • As pointer types aren’t permitted, much safer than C and C++
  • Ability to work with shared codebases
  • Automatic scalable and updateable
  • Component-oriented, object-oriented programming language
  • Follows a syntax similar to the C programming language
  • Fully integrated with the .NET library
  • Ideal for all types of Windows development
  • Rich sets of library functions and data types
  • Supports type safety
  • Quick compilation and execution times

Cons:

  • Allows pointers in ‘unsafe’ blocks
  • Almost all variables are references and memory deallocation is implicit using a garbage collector
  • Offers less flexibility than C++
  • Requires decent effort and time to learn
  • Resolving errors requires serious expertise and knowledge

10. MATLAB

MATLABMATLAB is a statistical analysis tool that is used in various industries for Data Analysis. MATLAB is used widely in the Computer Vision and Image processing industry as well.

Difficulty level: Easy to moderate to learn. 3 out of 5.
Job opportunity: Huge! 4 out of 5. [Best MATLAB tutorials and courses]

Pros:

  • Eases developing scientific simulation thanks to a rich inbuilt library
  • Functionality can be extended greatly by adding toolboxes
  • High coding efficiency and productivity as it doesn’t require a compiler for execution
  • Ideal for developing scientific research applications
  • Matlab Coder allows converting code for using in other programming languages, such as C++, Java, and Python
  • Platform-independent

Cons:

  • Not free to use, requires purchasing a license
  • Not much application beyond the scope of numerical computing
  • Dealing with errors generated during cross-compilation requires extensive knowledge and experience
  • Slower due to being an interpreted programming language

Summary

  • Python and JavaScript are hot in the startup world. Many startups use Django (Python), Flask (Python), and NodeJS (JavaScript) as their backend frameworks. Python and JavaScript are easy-to-learn and therefore considered the best programming languages to learn for beginners. Moreover, both of them also provide a huge market opportunity. Therefore, those who are looking for a job change may also consider learning them.
  • Java and PHP are hot in the corporate world. Many organizations use Spring (Java) and Codeigniter (PHP) as their web backend framework.
  • R and MATLAB are hot in the Data Analytics world. If you wish to develop a career in Data Analytics or Data Science, these are the languages to learn.
  • C/C++ and Golang are the top choices in building low-latency and scalable systems.

I hope you would have found your answer to “which programming language to learn first” by now. Feel free to ask your question(s) in the comment, and I’ll be happy to respond. All the best!

[출처] https://hackr.io/blog/best-programming-languages-to-learn-2020-jobs-future

Loading