우리는 자바스크립트 코드를 볼 때 $ 기호가 있는것을 자주볼수있다.

다른 코드는 대충 이해하겠는데 대체 $ 기호는 무엇이며 왜 사용하는것일까?


결론부터 말하자면 $기호는 자바스크립트 라이브러리인 JQuery(제이쿼리)의 '선택자'이다.

잉? 라이브러리는 무엇이고, JQuery는 무엇이며, 선택자는 또 무엇이냐?

지금부터 설명들어간다. 머릿속에 때려박자. (외울필요는 없다. 이해만 하자.)


라이브러리는 프로그래밍 언어에서 사용자가 자주 사용하는 (또는 필요로하는)

함수의 집단이라고 생각하면 된다.


쉽게말해, 내가 웹으로 계산기를 만들고 싶은데 해야할일을 대충 나열해보자.

HTML과 CSS를 사용하여 화면 레이아웃을 구성하고 각종 컴포넌트(버튼과 같은)의 

위치와 크기를 지정한 후 자바스크립트 함수를 통해 각각의 컴포넌트들이 사용자로부터 

눌러졌을 때 값을 받아오거나 출력한다.


이를 실제로 코딩한다고 가정하면 프로그래머에 따라 짧게는 몇시간,

길게는 며칠이 걸릴지도 모른다.

그중 가장 시간이 오래걸리는 부분이 당연 UI(UX)부분이다.

UI는 User Interface의 약자로 사용자가 보이는 화면을 말하는것이다.

UX는 User Experience의 약자로 사용자의 경험을 위주로 개발하는것이다.

비슷하긴하지만 엄밀히 따지면 조금 다르다.



아무튼, 화면구성에서 시간이 많이 차지하는것을 빠르고 편리하게 만들어주는것이 바로 

라이브러리이다. (물론 내부 로직, 프로그래밍에서도 마찬가지다.)


(적게쓰고 많이한다... 라고 적혀있다. 같은 기능인데 코드가 짧아진다는 뜻인가보다..)


JQuery는 자바스크립트의 대표적인 라이브러리이며 가장 많이 사용되는 라이브러리이기도 하다.

JQuery Mobile도 존재하는데, 이는 

JQuery를 기반으로한 모바일 환경에서 사용하기 최적화된 라이브러리이다.


JQuery를 사용하는방법은 아주 간단하다.

홈페이지에 접속하여 직접 다운받아서 프로그램에 삽입하는 경우가 있으며

다운받지않고 코드내에서 링크를 걸어 사용하는 방법이 있다.


둘의 차이점은 프로그램에 직접 삽입하는 경우 인터넷이 연결되어있지 않아도 작동하는것이고,

링크로 걸려있는 경우에는 인터넷이 연결되어있어야 작동된다는 점이다.


사실 웹 프로그래밍은 인터넷에 연결해서 사용되는 경우가 많으므로

귀찮을때나 규모가 작거나 테스트할때는 링크로 연결해서 사용한다.


아무튼 지금까지 라이브러리랑 JQuery에 대한 설명을 마쳤다.

그렇다면 '선택자'는 무엇일까?


JQuery(또는 JQuery Mobile)에서 선택자는 $기호를 사용하며, 

DOM의 객체들을 편리하게 호출하는 기능을 한다.

예 1) $('*').css("Color", "red");

예 2) $('.myh1).css("블라블라...") - id로 선택하기(. : 점 사용)

예 3) $('#myul).블라블라... - class(클래스)로 선택하기(# : 샾 사용)


JQuery 선택자 목록과 자세한 설명은 다음 포스팅에서 소개하겠다.

질문사항이나 잘못된 점은 댓글로 지적바란다. 그럼 수고링!





애플에서 현지시간 3월20일 에어팟2를 공개했습니다.

1세대와 크게 변화없이 성능 개선만 이루어졌습니다.




주요 스펙사항으로는


- 전면 LED 표시등 충전상태 확인

- H1칩 장착(기존 W1칩)

- HeySiri(시리야) 지원

- 최대 음악재생 5시간, 통화 3시간

- 통화 연결 시간 1.5배 빨라짐

- 게임 레이턴시 30% 감소

- 활성화된 기기사이 전환속도 2배 증가


가격입니다.


- 무선충전 케이스 탑제모델 : 249,000원

- 유선충전 케이스 탑제모델 : 199,000원

- 무선충전 케이스 : 99,000원 (에어팟1과 호환됨)


국내 출시일은 아직 미정입니다.

'이슈' 카테고리의 다른 글

구글 스타디아 발표 : 게임의 판도를 바꾼다.  (1) 2019.03.20
자바 유료화에 대해  (0) 2018.09.05



오늘(20일) 구글(Google)에서 스타디아(Stadia)를 공개했습니다.


스타디아는 새로운 비디오 게임 스트리밍 플랫폼으로,


쉽게말하면 게임을 하기위해 다운로드 및 설치를 할 필요가없으며,


예전에 플래시 게임하듯이 구글에 검색해서 바로 즐길수 있습니다.


위 사진에서 보시면 1080p 60프레임을 지원하며 


이론상으론 컴퓨터(스마트폰) 사양과 상관없이 모든 유저들이 동등한(좋은) 스펙으로 게임을 즐길 수

있을거라 예상됩니다.


(하지만 인터넷 속도가 문제겠군요)


아래는 발표 영상입니다.



스타디아 발표를 통해 앞으로 게임 산업이 어떻게 발전될 지 궁금하네요.


여러분들의 생각을 아래 댓글로 남겨주세요. :)


빠르고 좋고 유익한 정보가 필요하시다면 아래 구독버튼 눌러주세요!


'이슈' 카테고리의 다른 글

애플 에어팟 2 공개 - 주요 스펙 및 출시일  (0) 2019.03.21
자바 유료화에 대해  (0) 2018.09.05


- MVC 모델이란?

M : Model

V : View

C : Controller

의 약자로 어플리케이션을 3가지의 역할로 구분한 개발 방법론을 의미하며

UI(사용자 인터페이스)로부터 로직을 분리하여 유지보수에 이점이 있는 디자인 패턴이다.

- MVC 구성요소

Model은 어플레이케이션의 데이터들을 의미하고, 사용자에게 보여지는것에 대해 신경쓰지않으며, 순수 public 함수로 이루어진다.

View는 UI요소들을 나타내며, 모델에게 질의하여 값을 가져와 사용자에게 보여준다.

Controller는 뷰와 모델의 상호 작용을 관리한다.


- MVC 작동방식

1. User가 View를 통해 소통

2. Controller가 Model에게 Status를 변경하라고 요청

3. Model의 Status가 변경되면 View에게 알림

4. View에서 Model에게 Status에 대한 데이터 요청



- MVC 장점

역할로 인해 각각의 패턴들을 구분하여 개발하므로 유지보수가 용이하며 유연성과 확장성이 높다.

디자이너와 개발자간의 협업이 용이하다.


- MVC 단점

Model과 View의 의존성이 완전히 분리될 수 없기 때문에

설계 단계에서 클래스들이 많아져 구조가 복잡해질 수 있다.

설계시간이 오래걸리며 숙련된 개발자가 필요하다.


- MVP 모델

MVC의 단점 중 Model과 View의 의존성을 줄이기 위해 나온 디자인 패턴이다.

Model과 View는 MVC모델과 같으며 P(Presenter)가 존재

Presenter : View에서 요청한 데이터를 Model로부터 가공하여 View로 전달

MVC 모델과 동일하지만 차이점은 User 입력을 View에서 받음

View에서 받은 데이터는 항상 Presenter를 거쳐 Model과 Communication

따라서 View와 Model은 Presenter의 존재만 알 뿐 서로의 의존성이 사라지게 된다.

하지만 View와 Presenter가 1:1의 강한 의존성이 생김


- MVVM 모델

역시 Model과 View는 같으나 Presenter 대신 ViewModel이 존재.

ViewModel : View를 표현하기 위해 만들어진 Model

Command 패턴과 Data Binding 패턴을 통해 View와 ViewModel의 의존성이 사라짐.



- 무엇을 사용해야하나?

위에서 설명한 각각의 패턴들은 각자의 장단점이 존재.

무엇을 사용해야 한다는 것은 정해진 것이 없다.

프로젝트의 규모와 필요한 기능들에 따라 선택하여 사용하면 된다.





 ECMAScript란 무엇인가?


- 먼저 익숙한 자바스크립트에 대해 알아보자.

자바스크립트는 객체기반의 스크립트 프로그래밍 언어로 주로 웹 브라우저내에서 사용되며

현재 자바스크립트의 최신 버전을 살펴보면 ECMAScript 2019이라고 표기되어있다.


- 왜 자바스크립트의 버전이 ECMAScript로 표기되어있을까?

우리가 알고있는 자바스크립트는 사실 ECMAScript + BOM + DOM이다.

쉽게말해 ECMAScript는 자바스크립트의 표준 규격을 뜻한다.


참고) BOM(Browser Object Model) : 브라우저 객체 모델로 웹 브라우저 기능 요소를 직접 관리/제어 할 수 있는 객체 모음이다.

웹 브라우저의 버튼과 주소입력창, 윈도우 크기등을 제어하는 역할을 한다.


참고) DOM(Document Object Model) : 문서 객체 모델로, HTML, XML 문서의 프로그래밍 인터페이스이다.

동일한 문서를 표현, 저장, 조작하는 방법을 제공한다.


- ECMAScript 버전

ECMAScript (이하 ES)의 버전은 다음과 같이 발전했다.

ES3 -> ES5 -> ES6(ES2015) -> ES7(ES2016) -> ES8(ES2017) -> ES9(ES2018) ->ES10(ES2019)


상위 버전으로 업데이트되면서 편리한 기능들이 추가되었다.


ECMAScript의 대한 역사는 다음 링크를 참조 : https://en.wikipedia.org/wiki/ECMAScript


to Top