이전 포스팅에서 쓰레드의 생성하는 방법에대해 알아보았다. 이번엔 쓰레드의 특성에 관해 알아보자.쓰레드를 생성할때는 여러개의 쓰레드를 생성할 수 있다. 둘 이상의 쓰레드가 생성될 수 있기때문에 자바 가상머신(자바 가상머신의 일부로 존재하는 쓰레드 스케줄러)은 쓰레드의실행을 스케줄링 해야한다. 스케줄링에 사용되는 알고리즘의기본원칙은 아래와 같다. 1.우선순위가 높은 쓰레드의 실행을 우선한다.2.동일한 우선순위의 쓰레드가 둘 이상 존재할때는 CPU의할당시간을 분배해서 실행한다. 자바의 쓰레드에는 우선순위 라는것이 할당된다.이것은 가상머신에 의해서 우선적으로 실행되어야 하는쓰레드의 순위를 의미하는 것으로 가장 높은 우선 순위는 정수10으로가장 낮은 순위는 정수1로 표현한다. 즉 총10단계의우선순위가 존재하는 것..
이전 포스팅에서 props에대해 알아보았다.props는 상위에서 하위 컴포넌트로 데이터를 전달 하는 방식이다. 이번엔 그 반대로 하위컴포넌트에서 상위 컴포넌트로의 통신에대해알아보자. 먼저 하위에서 상위로 통신을 하기위해선이벤트를 발생시켜 상위 컴포넌트에 신호를 보내는 방법이 있다.상위 컴포넌트에서 하위컴포넌트의 특정 이벤트가 발생하기를 기다리다가하위 컴포넌트에서 특정 이벤트가 발생되면 상위 컴포넌트에서해당 이벤트를 수신해서 상위 컴포넌트의 메소드를 호출하면 된다. 먼저 이벤트 발생과 수신은 $emit()과 v-on: 속성을 사용한다.각각의 형식은 아래와 같다. $emit()을 사용하게되면 괄호 안의 이벤트가 발생된다.(보통 $emit()을 호출하는 위치는 하위컴포넌트의 특정 메소드 내부)따라서 $emit..
앵귤러1이나 백본과 같은 초창기 자바스크립트프레임워크에서는 한 화면을 한 개의 뷰로 정의했다.그래서 한 화면의 데이터를 해당 화면 영역 어디서든지호출할 수 있었다. 하지만 뷰의 경우 컴포넌트로 화면을구성해서 같은 웹 페이지라도 데이터를 공유할수 없었다.왜냐하면 컴포넌트마다 자체적으로 고유한 유효범위(scope)를갖기 때문이였다. 이는 뷰 프레임워크 내부에서 정의된 특징이다.따라서 각 컴포넌트의 유혀범위가 독립적이라 다른 컴포넌트의값을 직접 참조할수가 없다. 먼저 간단하게 예제를 보자. 1234567891011121314151617181920212223242526272829303132333435363738394041424344 Vue Component Scope // 첫 번째 컴포넌트 var cmp1 = ..
컴포넌트(Component)란 조합하여 화면을 구성할 수 있는블록(화면의 특정 영역)을 의미한다. 컴포넌트를 활용하면화면을 빠르게 구조화해서 일괄적인 패턴으로 개발을 할수있다.이렇게 화면의 영역을 컴포넌트로 쪼개서 활용할수 있는 형태로관리하면 나중에 코드를 다시 사용하기가 편하다. 또한 다른 사람들이정해진 방식대로 컴포넌트를 등록하거나 사용하게 되므로남이 작성한 코드를 직관적으로 이해할 수 있다. 먼저 간단하게 컴포넌트를 사용해보자컴포넌트를 등록하는 방법은 전역과 지역의 두가지가 있다.지역컴포넌트는 특정 인스턴스에서만 유효한 범위를 갖고전역컴포넌트는 여러 인스턴스에서 공통으로 사용할 수 있다.전역변수와 지역변수를 생각하면 이해가 쉬울것이다. 먼저 전역컴포넌트를 사용해보자.전역컴포넌트는 뷰 라이브러리는 로..
뷰 인스턴스(Instance)는 뷰로 화면을 개발하기 위해 필수적으로생성해야 하는 기본 단위이다. 이전 포스팅에서'Hello Vue.js!' 텍스트가 화면에 표시된것은 인스턴스가 있었기때문에 가능했던 것이다. 이렇게 인스턴스는뷰로 화면을 개발하기 위한 필수 조건이다. 뷰 인스턴스를 사용하기 위해선 아래와같은 new Vue({ 의 형식으로 인스턴스를 생성한다.nnew Vue 안의 소스들을 보면el 안의 #app는 el 속성이라 부른다.다음 data:{ 안의 값을 data 속성이라 부른다. 먼저 이전 포스팅에서 작성했던 Index.html을 보면 Hello Vue.js!를 출력하기 위해 new Vue()로 뷰 인스턴스를 생성하고, 인스턴스 안에 el 속성으로 뷰 인스턴스가 그려질 지점을지정한다. 다음 dat..
저번 포스팅에서 Vue.js 사용을 위한 셋팅을 했다.이번엔 프로젝트를 생성후 Hello World! 의 Vue.js판인Hello Vue.js! 를 출력해 보겠다. 먼저 이전 포스팅에서 설치한 Atom을 실행한다.아마 실행 화면은 아래와 같을 것이다. 다음 아톰의 좌측 상단에서 File탭의 Open Folder를 들어가자 오픈 폴더에 들어간후 이전포스팅에서 다운받은 Node.js 폴더를 선택해준다. Node.js폴더 우클릭후 New File을 눌러 Index.html을 만들어준다. 다음 Index.html을 아래와 같이 만들어주자. 간단하게 코드 리뷰를 해보자면, html기본 구조에 태그를하나 추가하고, 뷰 라이브러리를 로딩한 후 뷰로 Hello Vue.js!라는간단한 메세지를 출력하는 코드이다. 뷰 인..
인터넷을하다 IT쪽의 글을 발견해서 들어가보니자기소개서에 관한 기사였다.먼저 기사의 내용은 보통의 사람들이 취업을 하려할때자기소개서를 제대로 써서 지원을 하는사람을 찾기가힘들다고한다. 넥슨이 원하는 자기소개서를 보자.먼저 이 글은 2017년 9월24일의 기사이며 그당시 핸드폰으로 기사를 보다 캡쳐 했던것을 블로그에 올린다. ------------------------------------------------------------------- 넥슨은 어떤 자기소개서를 원하는 걸까. 넥슨이잘 쓴 사례로 꼽은 글이다. "데이터베이스 분야에 있어 제 단기적인 목표는'다양한 RDB, NoSQL' 을 원할히 다룰 수 있는 멀티플랫폼 DBA입니다.그를 위해 아래와 같이 미션을 산정하고 달성하기 위한 노력을기울였습니..
먼저 Vue.js 를 쓰기위해 개발환경을 셋팅해야한다.먼저 크롬을 써야한다. 크롬 다운방법은 따로 설명하지 않겠다. 다음 아톰(Atom)이라는 텍스트 에디터를 설치해준다.아톰은 깃허브에서 제작한 무료 텍스트 에디터로 유료 개발 도구와비교했을 때 아톰은 일단 무료일 뿐만 아니라 확장 플러그인들을이용하여 유용한 기능들을 추가할 수 있기 때문에 기능 면에서도 우수하여유료 개발 도구에 뒤지지 않는다. 또한 깃허브에서 꾸준히 에디터의 성능을개선해 나가고 있기 때문에 믿고 사용할 수 있는 개발 도구이다. 먼저 구글에 atom을 검색하여 사이트에 들어간후다운 받을수 있다. 다음 아톰을 실행해보자. 먼저 아톰에서 File -> Settings 들어가서 테마를 다운받아보도록 하자 아래의 이미지에서 Install을 누른후..