본문 바로가기

프로그래밍

페어 프로그래밍은 어메리칸 스타일 우리말로는 어색하지만, 짝 프로그램이라고 한다. 둘이서 같이 개발을 하는 것이다. 둘 중 한사람이 코드를 잡고, 한 사람은 옆에서 같이 코드를 보면서 개발을 한다. 형식이 있다기 보다는 두사람이 한다는 자체이다. 그럼 왜 두사람이 개발을 하는가? 한사람씩 나눠서 개발을 하면 더 생산성이 높을거 같은데 말이다. 일단 페어 프로그래밍은 생산성을 위한 것은 아니다. 프로그램의 코드 품질, 사전 오류 검출, 실수 방지등의 목적이다. 개발자가 혼자 하다보면 귀찮을때가 많다. Copy & Paste로 개발을 하게 된다. 일단 기능만 되면 되니 남들이 안볼 때 후딱 개발을 하고 놀고 싶다. 하지만 옆에서 누군가 본다면 양심적으로다가 그리고 자존심 상 심한 Copy & Paste를 할 수는 없고, 어떻게 하면 구조적일.. 더보기
객체지향을 쉽게 설명하면 객체지향이라는 말은 객체를 지향한다는 의미이다. 객체를 지향하는 것이 무슨 말일까? 그렇다면 이 전에는 무엇을 지향했을까? 프로그램은 순차적인 진행 절차를 가지고 개발이 되어왔다. 어떤 기능이 동작하기 위한 로직들이 수행되는 것이다. 이것만 놓고 보면 객체지향이라고 할 수는 없다. 순차적 프로그래밍이다. 순차적 프로그램 당시 무언가를 지향한다고는 하지 않았다. 객체지향이 나오면서 기존 순차적 또는 절차적인 순서가 아닌 방향이 된 것이다. '객체 지향이라는 개념이다. 객체 지향 개념은 객체를 지향했다는 것인데, C언어의 경우는 순차적인 프로그램을 만들었다. C++의 경우에는 객체가 중심이 된다. 객체라는 개념부터 이해를 해야 할텐데, 객체는 우리 주변에 모든 것이라고 할 정도로 모든 것이 객체로 되어 있다.. 더보기
C++은 C언어와 무슨 차이예요? C++은 C에 ++이 더해졌으니 뭔가 더 좋아졌다고 볼 수 있는데, 이 좋아졌다는 점이 객체 지향이라는 개념이다. 객체 지향 개념은 객체를 지향했다는 것인데, C언어의 경우는 순차적인 프로그램을 만들었다. C++의 경우에는 객체가 중심이 된다. 객체라는 개념부터 이해를 해야 할텐데, 객체는 우리 주변에 모든 것이라고 할 정도로 모든 것이 객체로 되어 있다. 사람도 객체이다. 강아지도 객체이다. 컴퓨터도 객체라고 할 수 있다. 그것이 살아 있든 죽어 있든 모든 것은 객체이다. 그럼 순차적인 것과 객체 지향의 차이는 이렇다. 예를 들어 순차적인 것은 강아지에게 밥을 준다. 강아지를 목욕 시킨다. 강아지와 산책을 한다. 이런식으로 일어나는 일들에 대해서 순차적으로 진행을 했다고 하면 객체 지향은 강아지가 중심.. 더보기
C언어는 어떻게 만들어졌을까? C언어의 중요한 개념은? C언어는 개발자들이 접할 수 있는 처음 언어이거나 프로그램 개발의 기초가 되는 언어이다. B언어 다음으로 개발되어졌다고 하는데, B언어는 Bell 연구소에서 개발되었다고 한다. 켄 톰슨은 BCPL언어를 필요에 맞추어 개조해서 "B"언어(언어를 개발한 벨 연구소의 B를 따서)라 명명했고, 데니스 리치가 이것을 개선하여 C 언어가 탄생했다. 모든 명령에 대해서 코드로 되어 있다. C언어는 이 코드를 유닉스 운영 체제에서 사용하기 위해 개발한 프로그래밍 언어이다. 1972년 켄 톰슨과 데니스 리치가 벨 연구소에서 개발했다. 유닉스 시스템의 바탕 프로그램은 모두 C로 작성되었고, 수많은 운영 체제의 커널 또한 C로 만들어졌다. C언어가 유명한 이유는 아마도 개발자들에게 친화적이였기때문이다. 이렇게 말하면 C언어.. 더보기
[추천도서] 나홀로 안드로이드 게임 프로그램 불혹의 나이가 드는데, IT 바닥에 발을 들인지도 어언 15년, 어느 정도 적응할만한데도 항상 새롭다는 느낌이 든다. 최근 IOT라는 주제로 여러가지를 찾아보다가 이런 생각이 들었다. 최근에 프로젝트다 회사생활이다 하다보니 나름 IT회사에 다니고 있어도 최신 기술 동향을 많이 놓치고 있었다는 생각이 든다. 프로젝트는 보통 나온 기술을 가지고 구현을 하는 것이라서 아무리 최신 프로젝트여도 기술 자체는 한두발 뒤에 있는 것이 보통이다. 이런 생각을 하다가 문뜩 이런 생각이 들었다. 항상 최신 기술을 살핀다 해도 고작 빨리 따라가는 수준이구나. 그 최신 나온 기술들만 이해하고 따라가는 것도 큰 일이구나. 이렇게 가서는 절대로 앞선 기술 또는 트렌드를 앞질러 갈 수는 없는구나. 라는 생각이 들었다. 한마디로 감.. 더보기