본문 바로가기

전체 글

(78)
yarn 속성으로 익히기 1. 설치 npm install --global yarn yarn은 npm으로 설치가 가능하다. 설치가 되었으면 최신버전으로 업데이트 해주자. yarn self-update 2. 작동매커니즘 기존에 의존성에 있는 프로젝트에는 package.json파일이 있을 것이다. 이를 fetch(설치)하려면 다음과 같이 입력한다. yarn 아무런 설정값없이 이렇게 입력하면 package.json파일에 종속성 목록들을 설치 할 수 있다. 그러면 npm에서 설치한것과 같이 node_modules라는 폴더가 생성되면서 의존성설치를 끝내고 yarn.lock이라는 이름으로 lockfile를 생성하는데 이는 npm과는 다르게 버전 관리와 사용자로 하여금 패키지를 정적, 수동적으로 관리하게 하려는 의도로 만들어진 yarn이 직접..
npm과 yarn 오늘은 자바스크립트(node.js)의 패키지매니저에 대해 알아보자. 알아보기에 앞서 npm은 node package manager로 수많은 패키지와 그에 맞는 버전들을 쉽게 관리해주는 고마운 친구이다. 웹 기술에서 다른 언어의 경우 Java-Spring-Maven과 같은 스택으로 node.js에서는 node.js-express-npm과 비슷하다고 보면 되겠다. 나도 node.js를 공부하면서 npm을 알게 되었는데 tensorflow.js를 쓸려고 데모를 테스트해보던 중에 처음 yarn이라는 것에 대해 알게 되었다. npm의 경우에도 jQuery, BootStrap, react, angular 같은 다양한 패키지를 지원한다. 그렇다면 하나의 프레임워크에 패키지매니져가 독보적이면서 대충적이면 사람들이 더 ..
노년기 건강수준과 정책과제 전 세계적으로 인구 고령화진행되고 있다. 아래 표를 보면 65세 이상 노인의 주요 만성 질환 수 변화를 나타낸 표이다. 주요 만성 질환의 수가 해를 더듭할수록 더욱 상승하고 있다. 이 중에서도 활동자체가 불가능한 노인의 수도 상승중인것을 볼 수 있다. 이처럼 질병을 이미 보유하고 있음에도 활동의 제한적 이유때문에 진료를 받지 못하는 것이 실정이다. 아래는 노년기 보건의료서비스의 필요성에 대한 인식을 나타낸 표이다. 이렇듯 전반적으로 필요하다고 느끼지만 해당 서비스가 부재하거나 면대면하여 의료서비스를 하기엔 어려움이 있다. 그래서 정책적으로 이를 해결하려는 방안으로는 3가지를 꼽는데, 아래와 같다. 가. 서비스 연계와 통합적 관리 나. 노인의 의료 이용 접근성 확보 다. 노인성 질병, 초고령 노인환자에 대..
프로토타입 기반 프로그래밍 프로토타입 기반 프로그래밍은 객체지향 프로그래밍의 한 형태의 갈래로 클래스가 없고, 클래스 기반 언어에서 상속을 사용하는 것과는 다르게, 객체를 원형으로(프로토타입)으로 하여 복제의 과정을 통하여 객체의 동작 방식을 다시 사용할 수 있다. 프로토타입기반 프로그래밍은 클래스리스(class-less), 프로토타입 지향(prototype-oriented) 혹은 인스턴스 기반(instance-based)프로그래밍이라고도 한다. 프로토타입 기반 언어의 가장 원조격인 프로그래밍 언어인 셀프는 데이비드 엉거와 랜덜 스미스가 개발했다. 클래스리스 프로그래밍은 최근에 와서 많이 유명해졌는데, 자바스크립트와 모픽 프레임워크를 사용하는 스퀵에 적용되었고, 그 외에 세실, 뉴튼스크립트, 아이오, 무, 리볼, 케보 등에 적용되..
JIT 컴파일 JIT 컴파일(Just - in -time) 또는 동적 번역(dynamic translation)은 프로그램을 실제 실행하는 시점에서 기계어로 번역하는 컴파일 기법이다. 이 기법은 프로그램의 실행속도를 빠르게 하기 위해 사용된다. 전통적인 입장에서 컴퓨터 프로그램을 만드는 방법은 두 가지가 있는데, 인터프리트 방식과 정적 컴파일 방식으로 나눌 수 있다. 이 중 인터프리트 방식은 실행 중 프로그래밍 언어를 읽어가면서 해당 기능에 대응하는 기계어 코드를 실행하며, 반면 정적 컴파일은 실행하기 전에 프로그램 코드를 기계어로 번역한다. JIT컴파일러는 두 가지의 방식을 혼합한 방식으로 생각할 수 있는데, 실행 시점에서 인터프리트 방식으로 기계어 코드를 생성하면서 그 코드를 캐싱하여, 같은 함수가 여러 번 불릴 ..
NMS 알고리즘 NMS(non - maximum suppresssion)을 사용하여 연산량을 줄이고, aAP도 올리는 효과를 본다고 한다. 일반적으로 영상엣지를 찾기 위한 NMS는 현재 픽셀을 기준으로 주변의 픽셀과 비교했을 때 최대값인 경우 그래도 놔두고, 아닐 경우(비 최대) 억제(제거)하는 것이다. (차 한대에 여러가지 bounding box가 그려지는 경우와 같은)을 제거하기 위한 방법으로 사용된다. def nms(boxes, probs, threshold): """Non-Maximum suppression. Args: boxes : array of [cx, cy, w, h] (center formet) prob : array of probabilities threshold : two boxes are consi..
.net framework란 무엇일까? .net framework는 여러 부분으로 나뉘어 있지만 사실 크게 보면 다음과 같은 두 부분으로 나누어 설명할 수 있습니다. 공용 언어 런타임(Common Language Runtime) .NET Framework클래스 라이브러리(.Net Framework Class Library) 공용 언어 런타임은 .NET Framework의 가장 하위에 있으며 .NET Framework 클래스 라이브러리는 .NET Framework에서 공용 언어 런타임을 제외한 나머지 요소들을 총체적으로 가리키는 것입니다. 그럼, 공용언어 런타임과 .NET Framework클래스 라이브러리에 대해 좀 더 알아보겠습니다. 공용 언어 런타임(CLR) 공용 언어 타임은 우리가 .NET 언어로 코드를 작성할 때 일반적으로 신경써야하는 ..
DEBUG와 RELEASE 컴파일의 차이 RELEASE MODE 초기화를 하지 않습니다. 같은 문자열 상수라도 서로 다른 공간에 할당됩니다. 디버깅정보를 삽입하지 않고 코드를 최적화하여 실행 파일 크기를 최대한으로 줄여줍니다. 속도나 크기면에서 월등히 유리합니다.(메모리 점유율로 낮아지고 실행도 빨라짐.) 더 이상 현재버전에서 내결함성이나 문제점들을 발견할 수 없었을때 빌드해 주는 모드입니다. DEBUG MODE 실행파일에 디버깅 정보를 삽입하여 언제든지 디버깅을 할 수 있도록 하며 debug서브 폴더에 실행파일을 만들어줌. 디버깅 정보가 들어가 있기 때문에 실행파일 상태를 확인할 수 있습니다. 디버그에 필요한 정보들을 실행시 계속 체크함으로써 속도가 느립니다. 디버그 빌드와 릴리즈 빌드에서 서로 실행 결과가 다른 경우? 특히 디버그 빌드에서는..