전체 글(94)
-
[NOJS] 3D 캐러셀 슬라이드 만들기
1. 완성본 완성 본 2. 설명 CSS로 3D를 만져보는것이 익숙하지 않아 꽤나 애먹었다. HTML 구조는 다음과 같다. CSS 코드 중에 content 클래스안에 있는 내용을 주목할 필요가 있다. prospective는 3차원 위치 관점을 제공하기 위해, Z=0인 평면과 사용자 사이의 거리를 결정한다. 쉽게 말하면 원근법을 제공한다는 뜻이다. 값은 무조건 0, 양수 값이어야 한다. 그리고 padding-top 속성 값을 변화시켜 줄 때마다 위에서 보는 관점의 변화가 생겼는데, 왜 그런지는 모르겠다. 나머지는 읽어보면 어떤식으로 돌아가는지 이해할 수 있을 것이다. *{ box-sizing: border-box; } html{ font: 10px; } body{ margin: 0; padding: 0; w..
2020.12.13 -
[GIT] Git과 Github
Git 이란? Git 핵심을 아는 것은 중요하다. 왜냐하면 Git이 무엇이고 어떻게 동작하는지 이해한다면, 쉽고 효율적으로 Git을 사용할 수 있기 때문이다. Git은 다른 버전 관리 시스템(Version Control System)[이전 포스팅]과 미묘하게 개념적으로 다르다. 전체적인 인터페이스는 비슷하지만, 정보를 취급하는 방식이 다르다. 큰 틀에서 봤을 때, 버전 관리 시스템(Version Control System) 대부분은 관리하는 정보가 파일들의 목록이다. 각 파일의 변화를 시간 순으로 관리한다. 이러한 관리 방법을 델타 기반 버전관리 시스템이라고 한다. [그림 1]을 보자. 기획_최종.txt, 기획_최종_최종.txt라는 두 파일이 있다. 파일 이름을 통해 어느 것이 먼저 작성되었는지 유추가 ..
2020.11.30 -
[GIT] 버전 관리(Version Control)
깃은 많은 개발자들이 버전 관리를 하기 위해 쓰는 프로그램이다. 그런데 최근에는 디자이너들도 버전 관리를 위해 깃을 사용한다고 한다. 나도 깃을 사용하는 개발자로써, 깃을 이용한 버전관리는 개발자에만 국한되서는 안된다고 생각하는 사람이다. 왜냐하면 깃은 그만큼 효율적이기 때문이다. 그렇다면 버전관리는 무엇이길래 자꾸 언급되는 것일까? 버전 관리 시스템 버전 관리를 다루는 메커니즘을 버전관리 시스템이라고 한다. 버전 관리 시스템은 파일 변화를 시간에 따라 기록했다가 특정 시점의 버전을 다시 꺼내올 수 있는 것을 말한다. 생소한 언어를 사용하다보니 말이 되게 어려워진 것 같지만, 우리는 깃이 아닌 파일을 이용해서 버전관리를 하는 것에 굉장히 익숙한 사람이라고 말할 수 있다. 예전 광고에서 언급된 방식이다. ..
2020.11.29 -
[Expo] AWS Cloud 9을 이용하여 Expo 개발 환경 세팅하기
1. 머릿말 스타트업에 취업한 지 2주가 되간다. 취업준비생일 때는 주로 VSC(Visual Studio Code)를 이용했다. 그런데 취업 후, 회사에서는 나에게 Cloud9을 이용할 것을 요구했다. Aws Cloud9은 브라우저만으로 코드를 작성, 실행, 디버깅까지할 수 있는 클라우드 통합 개발 환경이다. 기본으로 NodeJS와 Git이 설치되어 있고, 웬만한 필수 도구가 사전에 패키징되어 있어 자바스크립트, 파이썬, PHP를 비롯한 프로그래밍 언어로 코드를 작성할 수 있다. 처음보는 개발환경은 무척이나 낯설었다. 특히 Aws는 한 번도 써보지 않았고, 평소에 굉장히 어렵다는 인식이 나에게 박혀있었기 때문에 거부감도 있었다. 하지만 이것저것 건드리면서 Cloud9을 써보니, 이 통합 개발 환경의 매력..
2020.11.25 -
웹 캐시
웹 캐시 캐시는 데이터나 값을 미리 복사해 놓은 저장소를 말한다. 값을 미리 복사해놓기 때문에 원본 데이터에 접근하는 시간과 재 계산 시간을 줄일 수 있다. 일상적인 예시로 냉장고에 사과가 있으면 언제든지 먹고 싶을 때마다 사과를 꺼내먹을 수 있다. 하지만 냉장고에 사과가 없다면 사과를 직접 사서 먹어야한다. [그림 1]은 냉장고에 사과가 미리 저장되어 있는지 없는지에 따른 시간적 차이를 나타낸다. 사과를 직접 먹을 때까지 시간이 얼마나 걸리는지 적히지 않았지만, 우리는 냉장고에 미리 저장되어 있는 사과를 직접 꺼내서 먹는 시간이, 슈퍼에서 사과를 사와서 먹는 시간보다 더 빠르다는 것을 유추할 수 있다. 따라서 위 예시는 캐시의 존재가 데이터, 자원 접근 측면에 효율성을 높일 수 있다는 것을 보여주고 있..
2020.11.21 -
[Node.js] TDD를 이용하여 API 서버를 개발해보자.
들어가며 다음과 같은 경험과 배경지식이 있다면, 이번 포스팅 글을 어렵지 않게 읽을 수 있습니다. ES6 문법, ExpressJS를 써본 경험 모카(MochaJs), 슈드(ShouldJs), 슈퍼 테스트(SupertestJs)를 써본 경험 TDD의 정의와 목적 Babel 컴파일러 설치 및 사용 경험 API(Application Programming Interface) API란 무엇일까? API는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 말한다. 이상 위키피디아에서 나온 정의였다. 우리는 위키피디아 정의에서 인터페이스의 정의에 대해 생각해 볼 필요가 있다. 네이버 영영사전에서 기록된 인터페이스(Interface)의 뜻은 접속기다...
2020.11.04