도움되는 트렌드 정보만 모아모아
전체 87건
-
[큐레이션] Vue JS란? (VueJS 소개 및 특징)
- Vue.js 소개 - Vue.js란 사용자 인터페이스를 만들기 위한 프로그레시브 프레임워크 - 구글 크리에이티브 랩스에서 근무하던 Evan You가 개발하였음 - 다른 단일형 프레임워크와 달리 Vue는 점진적으로 채택할 수 있도록 설계되었음. - React의 장점인 가상돔, 단방향 데이터 흐름과 Angluar의 장점인 양방향 데이터 바인딩을 갖고 있는 프런트엔드 프레임워크. Vue.js 특징 - 사용하기 쉬움 : 문법이 간편하고 작성하기 쉬움 - 기존 HTML 템플릿을 그대로 활용 가능 - MVVM (Model-View-ViewModel) 패턴 - Virtual DOM 사용 - 다양한 라이브러리와 프레임워크를 사용하여 확장이 가능 Vue.js 생명주기 - 단계는 크게 4가지로 나눠짐. 1. Creation(생성) 단계 - beforeCreate : 인스턴스가 생성되고 가장 처음으로 실행하는 단계, 아직 DOM에 컴포넌트가 추가되기 전 상태 - created : data와 events가 활성화되어 접근 가능 2. Mounting(장착) 단계 - beforeMount : 템플릿과 렌더 함수들이 컴파일된 후에 첫 렌더링이 일어나기 직전에 실행됨 - mounted : 컴포넌트, 템플릿, 렌더링 된 돔에 접근 가능 3. Updating(갱신) 단계 - beforeUpdate : 데이터가 변하여 업데이트 사이클이 시작될 때 실행됨 - updated : 데이터가 변하여 재 렌더링이 일어나 후에 실행됨, 돔이 업데이트 완료된 상태이므로 돔 종속적인 연산을 할 수 있음 4. Destrucion(소멸) 단계 - beforeDestroy : 소멸되기 직전에 호출됨, 컴포넌트는 기본 기능 그대로 있으며, 이벤트 리스너 제거할 때 사용 - destroyed : 소멸된 후에 호출됨, Vue 인스턴스의 모든 디렉티브가 바인딩 해제되고 모든 이벤트 리스너가 제거되며 제거되며 모든 하위 Vue 인스턴스도 삭제됨 Vue.js 시작하기 - https://kr.vuejs.org/v2/guide/
-
[큐레이션] GO 프로그래밍 언어 특징
- 구글이 만든 프로그래밍 언어, GO 언어를 아시나요? 현재 프로그래밍 언어는 총 몇 가지가 될까요? 프로그래밍에 관심이 있는 사람이라면 들어봤을 법한 C, C++, C#, 자바(JAVA), 파이썬(Python) 등 이외에도 정말 이름만 겨우 들어봤을 법한 수십 가지 종류의 언어가 출시되어 있습니다. 프로그래밍 언어에는 우리가 아는 언어 외에도 수십 가지의 종류가 존재한다. 다양한 프로그래밍 언어 중에서도 오늘은 구글이 독자적으로 개발한 GO라는 프로그래밍 언어가 어떤 특징을 가지고 있는지 알아보려고 합니다 GO 프로그래밍 언어 Golang으로 불리기도 하는 GO 언어는 2009년, 구글이 빠른 성능과 안정성, 편의성, 쉬운 프로그래밍을 목표로 개발한 범용 프로그래밍 언어입니다. 구글은 GO 언어의 공식 홈페이지에서 GO 언어를 다음과 같이 소개하고 있습니다. GO is an open source programming language that makes it easy to build simple, reliable, and efficient software 이를 번역해보자면 "GO는 간단하고 안정적이며 효율적인 소프트웨어를 쉽게 구축할 수 있는 오픈소스 프로그래밍 언어입니다"의 뜻으로 해석됩니다. 이처럼 GO 언어는 최근 출시된 언어들 중 가장 직관적이고 쉽다는 평을 받고 있습니다 GO 언어의 마스코트 캐릭터. 설치류 동물인 것 같은데 뭔지 모르겠다. 그래도 귀여우니 됐다. GO 언어의 특징 그렇다면 GO 언어는 어떤 특징을 가지고 있을까요? GO 언어는 앞서 말씀드린 바와 같이 직관적이고 심플하게 개발되었습니다. 이는 C기반 언어들과 밀접하게 같은 부분이 많기 때문입니다. 직관적이고 쉽지만, GO 언어는 굉장히 보안성이 강한 언어이기 때문에, 복잡하지 않고 간단한 코딩일 때 발생하는 보안적인 허점을 보완하고 있습니다. 무엇보다도 GO 언어의 가장 큰 특징은 구글이 만들었다는 점이 아닐까 싶습니다. 현재 전 세계 IT 시장을 구글이 제어하고 있다고 해도 과언이 아니기 때문에, 구글이 만든 언어는 단기/장기적으로 많은 효용 가치를 지니고 있을 것입니다 GO 언어를 배워야 하는 이유 - 1 앞서 파이썬과 같은 C기반 언어들과 같이 GO언어는 직관적이고 쉽다고 말씀드렸습니다. '그럼 파이썬을 배우면 되지 왜 GO를 배워'라는 궁금증이 생기지 않나요? GO 언어는 GO 루틴이라는 독특한 특징을 지니고 있습니다. 기술이 발전됨에 따라 하드웨어 시장은 갈수록 싱글코어가 아닌 멀티코어로 성능을 향상시키고 있습니다. 소프트웨어도 하드웨어의 발전에 맞춰 동시성을 가지고 있어야 합니다. 기존에 많이 쓰이는 자바(JAVA)나 파이썬(Python)은 90년대에 싱글 코어 환경에 맞춰 사용되어 왔기 때문에 멀티 스레딩 소프트웨어를 개발하기에는 어렵습니다. 하지만 GO언어에서 지원하는 GO 루틴은 두 언어와 달리 더 많은 메모리를 사용할 수 있도록 도와주고 있습니다. GO 언어를 배워야 하는 이유 -2 GO 언어는 자바(JAVA)나 파이썬(Python)에 비해 C계열 언어를 사용하면 성능이 월등히 좋습니다. 자바는 JVM을 통해서 실행 단계를 거쳐야하며, 파이썬은 인터프리터 실행을 위해 해석 단계를 거쳐야 하지만 GO 언어는 직접 컴파일하며 자동을 개체를 할당하고 제거하기 때문에 기본 하드웨어에서 직접 실행이 가능합니다. 또한 GO 언어는 C 언어 계열의 성능을 지니나, 파이썬과 유사하게 깔끔하고 쉬운 구문을 사용하기 때문에 유지 및 관리가 쉽습니다. 물론 파이썬보다는 쉽지 않으나 컴퓨터와 인간 모두에게 두루두루 가까운 언어입니다. 마치며 자바와 파이썬에 비해 대중적인 언어는 아니나, 장래성을 본다면 Google이 만들었다는 이유로 GO 언어는 분명 프로그래밍 언어의 한 획을 그을 것입니다. 이제 막 프로그래밍 언어를 배워보고자 하는 사람이라면 다른 언어와 함께 GO를 배워보는 것도 좋은 선택이 될 것입니다. 오죽하면 겨울왕국의 Let it go를 패러디한 Write in GO가 나오겠습니까. The schedule's tight on the cluster tonight 분산환경에서 오늘밤은 작업 일정이 빡빡해 So I parallelized my code 그래서 나는 코드를 병렬화했어 All those threads and continuations 그 모든 스레드와 컨티뉴에이션들로 My head's going to explode 내 머리는 폭발할 것 같아 And all that boilerplate 심지어 그 모든 의례적인 코드들 That FactoryBuilderAdapterDelegateImpl 그 모든 "괴상한디자인패턴의복잡다단한구현" Seems unjustified 이건 맞는 방법이 아닌 것 같아 Give me something simple 제발 알려줘 좀 더 간단한 방법을 Don't write in Scheme 스킴은 쓰지 마 Don't write in C C로 짜지 마 No more pointers that I forget to free 해제하길 깜빡한 포인터여 이제 그만 안녕 Java's verbose, Python's too slow 자바는 장황하고, 파이썬은 느려터졌단 걸 It's time you know 이제 깨달을 때가 왔어 Write in Go! Write in Go! Go로 짜! Go로 짜! No inheritance anymore 클래스 상속이여 이제 그만 안녕 Write in Go! Write in Go! Go로 짜! Go로 짜! There's no do or while, just for do도 while도 없어, 오직 for뿐 I don't care what your linters say 당신의 린터가 뭐라고 말하든 상관없어 I've got tools for that 내겐 수정툴이 있다고 The code never bothered me anyway 코드는 더 이상 날 괴롭힐 수 없어 It's funny how some features Make every change seem small 몇 개의 함수가 재수정을 작게 보이게 만드니 재밌어 And the errors that once slowed me Don't get me down at all 느리게 하던 에러들도 더 이상 날 새로 짜게 만들지 못해 It's time to see what Go can do 이제 Go가 뭘 할 수 있는지 알아볼 시간야 'Cause it seems too good to be true 왜냐면 믿기 어렵도록 너무 좋아보이니까 No long compile times for me. 더 이상 기나긴 컴파일 타임은 없어 I'm free! 난 자유야! Write in Go! Write in Go! Go로 짜! Go로 짜! Kiss your pointer math goodbye 포인터 산술과 작별의 키스를 해 Write in Go! Write in Go! Go로 짜! Go로 짜! Time to give GC a try GC가 알아서 정리하게 할 시간이야 I don't care if my structures stay On the heap or stack 난 상관 안 해 내 구조체가 힙이나 스택 영역에 남아 있어도 My program spawns its goroutines without a sound 내 프로그램이 단 하나의 에러 사운드 없이 Go 루틴을 생성한다 Control is spiraling through buffered channels all around 버퍼링 된 채널들을 통해 제어가 나선형처럼 진행된다 I don't remember why I ever once subclassed 내가 왜 옛날엔 서브 클래스를 생성했는지 기억도 안 나 I'm never going back My tests all build and pass! 다신 돌아가지 않을 거야, 내 모든 테스트 빌드가 잘 돌아가! Write in Go! Write in Go! Go로 짜! Go로 짜! You won't use Eclipse anyomore 넌 이클립스를 다시는 안 쓰게 될 거야 Write in Go! Write in Go! Go로 짜! Go로 짜! Who cares what Boost is for? 부스트 라이브러리가 알 게 뭐야? I don't care what the tech lead say 난 상관 안 해 기술 책임자가 뭐라 말하든 I'll rewrite it all! 내가 전부 다시 짤 거야! Writing code never bothered me anyway 코드 짜기는 더 이상 날 괴롭힐 수 없으니까 The schedule's tight on the cluster tonight 분산환경에서 오늘밤은 작업 일정이 빡빡해 So I parallelized my code 그래서 나는 코드를 병렬화했어 All those threads and continuations 그 모든 스레드와 컨티뉴에이션들로 My head's going to explode 내 머리는 폭발할 것 같아 And all that boilerplate 심지어 그 모든 의례적인 코드들 That FactoryBuilderAdapterDelegateImpl 그 모든 "괴상한디자인패턴의복잡다단한구현" Seems unjustified 이건 맞는 방법이 아닌 것 같아 Give me something simple 제발 알려줘 좀 더 간단한 방법을 Don't write in Scheme 스킴은 쓰지 마 Don't write in C C로 짜지 마 No more pointers that I forget to free 해제하길 깜빡한 포인터여 이제 그만 안녕 Java's verbose, Python's too slow 자바는 장황하고, 파이썬은 느려터졌단 걸 It's time you know 이제 깨달을 때가 왔어 Write in Go! Write in Go! Go로 짜! Go로 짜! No inheritance anymore 클래스 상속이여 이제 그만 안녕 Write in Go! Write in Go! Go로 짜! Go로 짜! There's no do or while, just for do도 while도 없어, 오직 for뿐 I don't care what your linters say 당신의 린터가 뭐라고 말하든 상관없어 I've got tools for that 내겐 수정툴이 있다고 The code never bothered me anyway 코드는 더 이상 날 괴롭힐 수 없어 It's funny how some features Make every change seem small 몇 개의 함수가 재수정을 작게 보이게 만드니 재밌어 And the errors that once slowed me Don't get me down at all 느리게 하던 에러들도 더 이상 날 새로 짜게 만들지 못해 It's time to see what Go can do 이제 Go가 뭘 할 수 있는지 알아볼 시간야 'Cause it seems too good to be true 왜냐면 믿기 어렵도록 너무 좋아보이니까 No long compile times for me. 더 이상 기나긴 컴파일 타임은 없어 I'm free! 난 자유야! Write in Go! Write in Go! Go로 짜! Go로 짜! Kiss your pointer math goodbye 포인터 산술과 작별의 키스를 해 Write in Go! Write in Go! Go로 짜! Go로 짜! Time to give GC a try GC가 알아서 정리하게 할 시간이야 I don't care if my structures stay On the heap or stack 난 상관 안 해 내 구조체가 힙이나 스택 영역에 남아 있어도 My program spawns its goroutines without a sound 내 프로그램이 단 하나의 에러 사운드 없이 Go 루틴을 생성한다 Control is spiraling through buffered channels all around 버퍼링 된 채널들을 통해 제어가 나선형처럼 진행된다 I don't remember why I ever once subclassed 내가 왜 옛날엔 서브 클래스를 생성했는지 기억도 안 나 I'm never going back My tests all build and pass! 다신 돌아가지 않을 거야, 내 모든 테스트 빌드가 잘 돌아가! Write in Go! Write in Go! Go로 짜! Go로 짜! You won't use Eclipse anyomore 넌 이클립스를 다시는 안 쓰게 될 거야 Write in Go! Write in Go! Go로 짜! Go로 짜! Who cares what Boost is for? 부스트 라이브러리가 알 게 뭐야? I don't care what the tech lead say 난 상관 안 해 기술 책임자가 뭐라 말하든 I'll rewrite it all! 내가 전부 다시 짤 거야! Writing code never bothered me anyway 코드 짜기는 더 이상 날 괴롭힐 수 없으니까
-
[큐레이션] 서비스 기획자의 산출물 종류
- 서비스기획자의 산출물(Output)은 무엇이 있을까요? 01) 서비스 정책서 : 서비스에 대한 모든 정책을 총괄하는 문서 ※ 운영 정책: 비즈니스를 정의하기 위해서 가장 중요한 문서 - 정책 정의를 위해서는 서비스의 비즈니스 구조와 운영 프로세스가 먼저 확정되어야 한다. - 관련 사람들이 어떤 프로세스로 운영할지 충분히 협의해야 한다. - 서비스 방향과 전략이 포함되어 있어야 한다. 정책서 작성 순서 - 구성요소 정책서 목차 - 목차 성정을 통해서 정의할 프로세스와 항목 등을 확정 및 작성 범위 설정 단점 1) 폭포수 방법론에서 많이 사용되는 산출물이기 때문에 문서적인 작업이 많다. 2) UI UX 대한 정의보다는 구현에 집중이 되어 있다. 고객에 대한 것보다는 문서에는 개발에 필요한 내용만 포함되어 있다. 3) 보통 Word로 작성되기 때문에 업데이트 및 관리가 어려워진다. 오픈 이후 변경되거나 하면 갱신이 안 되어 있는 경우가 많다. 02) 요구사항 정의서 사전 요구사항 정의서 : 현업 요청 사항을 정리하여 중요도를 체크하는 문서. 요구사항 정리하고 우선순위로 판단하는 과정을 거친다. 요구사항 정의서 : 사전 요구사항 바탕으로 서비스 전략을 토대로 기술적으로 필요한 부분을 정리하여 개발에 협업 요청을 하기 위해 만든 문서 기술적으로 이게 되는지 안 되는지 확인해보는 커뮤니케이션 도구이다. 작성 - 엑셀 형태로 많이 정리를 한다. - 화면의 기능적인 부분과 솔루션 내용, UI 작업도 들어갈 수 있다. 목적 1) 개발과 사전 커뮤니케이션하여 기획 포함 및 개발 수용 여부를 판단할 수 있다. 2) 요구사항이 누락되지 않고 화면 설계서까지 관리 할 수 있도록 번호를 통해서 요구사항을 체크하면서 진행하기 위한 체크 문서라고 볼 수도 있다. 단점 1) UI UX 정의는 하지만 눈에 보이지 않기 때문에 세세하게 보이지는 않는다. 2) 정책서를 기준으로 내용이 흘러가기 때문에 UI UX 독립적으로 진행되면 서비스적인 이야기를 개발자나 디자이너가 이해하기 조금 어려울 수 있다. 3) 초기 요구사항 정의서에 없는 항목에 대해서는 프로젝트 도중에 추가 어려울 수 있다. 03) IA (Information Architecture) : 서비스의 정보 구조를 설계하는 것을 의미 - 화면 간의 상하 관계를 정의하고 고객의 동선을 관리 - 과거 PC 의 경우 페이지 단위로 이루어져 있기 때문에 많이 활용하였다. - 그러나 모바일 서비스가 많아지면서 한 페이지가 다수의 페이지 역할을 대신할 수 있도록 되면서 IA 문서가 개발 페이지 목록으로의 역할이 더 강해지고 있다. 문서 작성 04) 와이어프레임 : 서비스 UI 설계 작업을 영역의 위치와 콘텐츠 없이 아웃라인만 네모박스로 잡은 형태 - 모바일 서비스로 넘어오면서 UI 형태가 많이 표준화가 되었다. 목업툴을 이용해서 빠르게 그리고 목업 형태에 가깝게 표현하고 있다. - AJAX 등장으로 모바일 서비스 특징으로 한 화면에서 많은 기능을 처리할 수 있게 많은 화면이 숨겨져 있다. 한 화면에서 여러가지 케이스와 시나리오가 생기면서 와아이프레임 형태로 개발자, 디자이너에게 이해가 부족할 수 있다. 그래서 목업이나 프로토타이핑 형태로 바로 가는 경우도 많아지고 있다. 05) 목업 : 정적인 개념이 있고 여기서 움직임이 있으면 프로토타입 - 디자이너에게 UI를 전달하는 것이 더 용이하다. 모바일 환경에서 중요한 인터렉션을 표시할 수 없는 것이 단점이다. - 대안적으로 인터렉션 상호관계를 이동 동선 표시로 정의해줄 수 있긴 하다. ※ 페이퍼 목업 테스트 목업을 잘라서 테스트에 따라 고객이 이용해볼 수 있도록 고객 사용성 테스트 기획 단계에서 신규 서비스의 UI 나 동선 인사이트를 얻을 수 있다. ※ 참고 06) 화면설계서/스토리보드(SB) : 화면 서비스에서 어떻게 구성을 해야 할지 화면을 구성하기 위해 기획과정에 나온 모든 것을 포함 UI 설계 Subject: 화면의 명칭 Location : IA의 트리구조의 순서 Writer: 기획자 Date: 날짜 System: PC 모바일 어드민 - 디스크립션 내 부호를 붙여서 내용을 기입한다. - 화면이 케이스에 따라 변화할 경우 화면을 여러개로 분리하여 인터렉션, 정책, 로직 등 표시한다.