날씨가 추워지고 하니 다사다난한 올해도 끝난다는게 점점 실감이 납니다. 새해에 대한 비장한 각오와 함께 오늘도 포스팅을 해보겠습니다.
-
posts
-
자바 개발자가 공부하면 좋을법한 몇가지 요소들
-
[동시성] 쓰레드와 잠금장치(2/2)
동시성 프로그래밍 2탄입니다. 1편을 보고 오지 않으신 경우 1편 먼저 보는것을 추천드립니다. 오늘은 쓰레드와 장금장치에 대한 부연설명과 메모리, 그리고 다중 잠금장치에 대해서 한번 포스팅 해보도록 하겠습니다. 제 나름대로 추상적인 개념들을 직관적으로 바꾸어 정리할 수 있도록 노력해보겠습니다.
-
[동시성] 쓰레드와 잠금장치(1/2)
요즘엔 “7가지 동시성 모델” 이라는 책을 읽고 있습니다. 쓰레드와 잠금장치, 함수형 프로그래밍(내가 가장 관심있는), 람다 아키텍쳐 등과 같은 부분을 심도있게 다루는 것 같아보여 출퇴근시간에 가볍게 볼까라는 생각으로 책을 구매했지만 만만치 않아보입니다. 어찌어찌 읽는다 한들 그냥 가볍게 이 책을 읽고 지나치기엔 저의 한없이 인간적인 기억력 덕분에 의미없이 지나갈 것 같아 조금 걱정입니다. 그래서 개념정리를 위한 포스팅을 하는것이 좋을것 같아 이렇게 키보드를 두드립니다. 이제 싱글코어에서 멀티코어로의 변화에 있어 동시성을 위한 코드는 어떻게 같이 맞추어 변화할수 있을지에 대해 생각해보고 그에 대한 정리를 포스팅하겠습니다. 기존 포스팅과는 달리 여러편으로 나누어서 해보도록 하겠습니다.
-
[Algorithm] 해시 알고리즘
안녕하세요 항상 풀스택을 지향하는 개발자 조승규입니다. 현재 몸담고 있는 프로젝트가 워낙 혼란스러워 이제야 포스트를 하게 되네요. 며칠만인지.. 혹은 몇주만인지 모르겠습니다. 지금부터(혹은 새해부터)라도 주 1회 포스트를 하도록 계획을 짜놓는것이 좋을것 같다고 생각이 드네요. 특별히 포스트를 할 계획이 없으니 포스트를 이제 한번 올려야 하지 않나 생각만 하게 되네요…
-
[Protocol] Http의 변천사
Http
http는 1989년 팀 버너스 리에 의해 창안되었습니다. 그는 http의 시작을 두가지 원칙과 함께 하였습니다. 첫번째는 하이퍼텍스트라고 불리우는 “제약없는 방식으로 연결되어 사람이 읽을수 있는 정보” 입니다. 두번째는 “꼭 정보가 텍스트일 필요는 없다” 라는 전제로 하이퍼미디어를 뜻합니다.
-
[SCM] Git에 대해 두서없이 이야기해보기.
` 우리가 아는 그 어떤것도 홀로 이루어낸 것은 극히 드물것입니다. `
function youAndMeTogether(){ return ':)'; }
먼 옛날 수렵으로 생을 영위하던 시기에 남자는 사냥을 하여 식량을 가져왔고 여자는 어린 아이들을 보살폈습니다. 군 시절 제가 먹던 밥(짬?)은 밥 담당취사병이, 반찬은 반찬담당 취사병이 조리하였습니다. 세계 8대 불가사의라 불리우고 있는 인도의 타지마할을 석공할 당시엔 돌과 목재를 조달하던 조달꾼들이 있었고 조달된 돌들을 깎는 석조가들이 있었습니다. 현재 제가 몸담고 있는 프로젝트 내에서 저의 역할은 계약관련 프로세스를 별 탈없이 정상적으로 운영하는 것이고 그 외의 것들은 담당자들이 따로 존재합니다.
이밖에 우리가 별 생각없이 사용하는 그 어떤것들 조차 오직 한 개인이 만들어낸 것일 경우는 극히 찾아보기 힘들 것입니다. 우리는 우리가 의식하고 있든 의식하지 않고 있든간에 각자의 역할을 수행하고 그로 인해 무언가가 만들어 집니다. 이렇게 하나의 결과물을 생산하기 위해서 행하는 것이 협업입니다. 개인이 협동하여 각자의 맡은 역할을 수행하고, 그 결과물들이 모여 만들어지는 것은 상호간 협업의 결과물일 것입니다. 사회가 현대화되고 더욱 더 고도화됨에 따라 협업이라는 행위 자체도 고도로 복잡해져 왔습니다. 밥과 반찬, 사냥과 아이돌봄과 같은 지극히 단순한 협동만 생각하면 되는 시기는 이미 흘러가 버렸습니다. 각자의 역할은 더욱 세분화 되었고 전문성은 더욱 짙어지고 있습니다. 이렇게 난해해진 생산활동을 함에 있어 우리는 어떻게 하면 조금 더 나은 협업을 주도할 수 있을지 생각하게 됩니다. 엄청난 규모의 복잡한 제품이 필요해짐에 따라 어떻게 하면 최소한의 비용으로 최대한의 효율을 끌어낼 수 있을지 고민을 거듭해 오면서 우리는 협업에 대한 하나의 시스템을 만들게 됩니다. 더 크고 더 좋은 제품이 필요할수록 협업 시스템은 더욱 고도화되고 견고해집니다. 이러한 시기에 오늘은 협업 시스템에 대한 이야기를 GIT이라는 프로그램을 통해 이야기해보려 합니다.
-
[Javascript] 함수 실행시 어떤일이 일어날까?
개관
자바스크립트 함수가 실행될때 브라우저는 어떤 일이 일어날까요? 당신이 웹개발을 하고 있는 개발자이건, 학교를 다니는 학부생이건 간에 자바스크립트의 함수 호출식은 어렵지 않게 작성할 수 있을것입니다. 다음과 같이 말이죠.
-
[Javascript-AngularJS] Directive를 활용하기 위한 적당한 지식
AngularJS Directive를 활용하기 위한 적당한 지식
이번 포스트에서는 AngularJS의 Directive에 대한 이야기를 해보려 합니다. ^^ directive란 angular측에서 제공하고 있는 핵심 컴포넌트이며 대개 Angular 엔진에서 HTML 내의 directive 엘리먼트를 발견하면 정의된 해당 행위(개발자가 작성한 행위이건 Angular 엔진에서 정의해둔 행위이건)를 Compile, link 2단계에 걸쳐 수행하게 됩니다.
-
[Javascript] Prototype에 대한 이해
자바스크립트 프로토타입의 적당한 의미?
자바스크립트는 Java와 C++ 같은 클래스기반의 언어가 아닙니다.(ECMA6에서는 Class 문법이 추가되긴 했지만 이는 단순히 문법개념이고 자바스크립트 자체가 Class기반의 언어로 바뀌었다는 뜻은 아닙니다.) 클래스기반의 언어가 아니다보니 클래스 기반의 상속 모델을 그대로 구현하기가 불가능했고 이의 대안으로 활용되어 지는 것이 프로토타입 기반의 상속 모델입니다. 자바스크립트는 상속을 받는 대상이 가지는 Prototype(원형) 속성이 존재하고 Prototype 으로부터 부여된 메소드와 속성을 사용함으로써 부모 객체의 기능을 수행할 수 있습니다. 지금부터 상속의 관점에서 자바스크립트 프로토타입을 파헤쳐 보도록 하겠습니다.
-
[Javascript] Closure란 무엇일까?
클로져의 적당한 의미?
A closure gives you access to an outer function’s scope from an inner function. In JavaScript, closures are created every time a function is created, at function creation time.
-
인사드립니다 : )
안녕하세요.