페어프로그래밍이란? 페어프로그래밍 정의 및 장점
페어 프로그래밍이란?
페어 프로그래밍은 요즘 떠오르는 IT회사라면 다들 적용한다는
애자일 소프트웨어 개발 방법론 중 하나인데요.
두 명의 개발자가 한 컴퓨터를 사용하여 코드를 작성하는 개발 방법을 뜻합니다.
두 명의 개발자가 프로그램의 설계, 알고리즘, 코딩, 테스트 등을
함께 작성해 나가는 과정을 뜻하는 것이죠.
이러한 방식 때문에
페어 프로그래밍은 흔히 운전(drive)에 많이 비교되는데요.
자동차를 운전하는 행위가 코드 작성이라고 할 경우,
한 명은 운전대를 잡고 직접 핸들을 조작하고,
나머지 한 명은 조수석에서 내비게이션을 조작하거나
운전자가 집중할 수 있도록 주변의 사소한 것들을 처리하죠.
바로 이러한 과정을 페어 프로그래밍이라고 합니다!
직접 운전대를 잡은 사람, 즉 키보드를 이용하여 코드를 작성하는 사람을
드라이버라고 하고,
조수석에서 운전자를 도와주는 역할을 하는 사람을
네비게이터 혹은 옵저버라고 해요.
페어 프로그래밍을 통해 업무를 진행하면
1. 집중력이 향상된다
2. 버그가 감소한다
3. 자신이 작성한 코드에 만족감이 생긴다,
4. 성장하는 자신의 모습을 되돌아 볼 수 있다.
이러한 장점을 갖습니다!
반면에 페어 프로그래밍 방법을 통해
소프트웨어를 개발할 때 단점으로는
1. 생산성이 떨어진다.
2. 감시받는 느낌에 압박감과 스트레스가 생긴다.
3. 팀원과의 관계가 나빠진다.
이러한 단점들이 생긴답니다.
어떠한 방법이든 장점과 단점은 모두 존재하니
직접 경험해보는 것이 가장
좋은 방법이 될 것 같네요!
'IT소식 > IT 정보' 카테고리의 다른 글
빅데이터, 한 눈에 정리해서 알아보기 (0) | 2017.11.03 |
---|---|
CCNA 자격증 완벽 이해! 네트워크 취업 준비하기 (0) | 2017.11.02 |
MOS자격증 시험 정보/어떻게 준비해야할까? (0) | 2017.10.27 |
정보처리산업기사 시험 정보 및 응시 자격은? (0) | 2017.10.26 |
전산세무자격증 정보 알아보기 (0) | 2017.10.25 |
C언어는 뭐고 C++는 뭐야? C++ 알아보기
안녕하세요!
프로그래밍 언어를 배우려고 할 때,
C언어는 뭐고 C++는 뭔지 헷갈린 분들 많죠?
오늘은 C++가 무엇인지 알아보려고 합니다!
C++란 C언어의 확장판으로 만들어진 객체지향형 프로그래밍 언어인데요.
대규모 응용 프로그램을 만드는 데 최적의 프로그래밍 언어로 간주되고 있어요!
1980년대까지 전세계적으로 가장 많은 사람들에게 사랑을 받고 가장 널리 사용된
프로그래밍 전문 언어는 C죠~
하지만 C언어 역시 한계에 부딪히게 되었고
이에 따라 고도로 복잡한 프로그램을 관리하기 위하여 C++가 탄생하게 되었답니다.
C++는 처음 소개된 이후로 1985년과 1989년,
그리고 C++에 ANSI표준을 적용하기 시작한 시기 등 3번에 걸쳐
개정되었는데요.
1994년에 최초로 표준안이 발표되었으며
ANSI C++위원회는 사실상 스트루스트럽(C개발자)이 설정한 모든 사양을
그대로 수용하고 그외의 약간의 사양을 덧붙였습니다.
그렇기 때문에 C++는 C프로그래머가 쉽게 C++를 사용할 수 있다는
관련성에서 큰 장점이 있어요.
C++는 흔히 객체지향적 언어라고 불리는데요~
객체 지향 프로그래밍은 새로운 방식의 프로그래밍 접근 방법으로
프로그래밍이 탄생한 이후로 그 방식은 많은 변화를 겪었는데,
프로그래밍이 현저하게 다른 변화를 겪을 때마다 새로운 접근 방식이 나타나
프로그래머가 그 전 단계보다 훨씬 더 복잡해진
프로그램을 처리할 수 있도록 도왔어요
예전의 구조적인 프로그래밍은 복잡한 프로그램 작성 시
프로그램의 규모가 일정 한계를 넘으면 가끔 실패하는 경우를
제외하고 상당히 우수한 기능을 해왔지만
그보다 좀 더 복잡한 프로그램을 쓸 수 있는 새로운 프로그래밍 방식이 필요했던 것!
그래서 탄생한 것이 바로 객체 지향 프로그래밍이에요.
객체지향 프로그래밍은 구조적인 프로그래밍에 사용되는 개념들을
최대한 활용하여 종전과는 다른 방식으로 이러한 개념을 엮어내는 역할을 한답니다.
C의 대부분의 특징을 C++는 포함하고 있고,
시스템 프로그래밍에 적합할 뿐만 아니라
클래스, 연산자 중복, 가상 함수 등과 같은 특징을
갖추고 있어 객체 지향 프로그래밍에 적합해요.
또한 C와 일치하는 부분이 C++를 널리 대중적인 언어가
되는데 도움을 주었답니다.
'IT소식 > IT 정보' 카테고리의 다른 글
전산세무시험 자격증 정보 알아보기 (0) | 2017.09.21 |
---|---|
빅데이터분석가 되는법/빅데이터전문가 하는 일은? (0) | 2017.09.19 |
자바 자격증 종류와 공부 방법 알아보기 (0) | 2017.09.15 |
몰랐던 윈도우 단축키! 완전 꿀팁 (0) | 2017.09.14 |
IT취업 포트폴리오 작성하는 방법 (0) | 2017.09.13 |
프로그래머가 갖춰야 할 필수역량은 무엇?
안녕하세요! 오늘은 프로그래머가 갖춰야 하는
필수역량에 대해서 알아보려고 합니다.
4차 산업혁명으로 IT직무의 취업 전망이 밝아지면서
많은 분들이 IT직무로 취업을 희망하고 있는데요.
그렇다면 프로그래머로서 갖춰야 하는 필수역량은 무엇일까요?
1. 프로그래머가 갖춰야 하는 필수 역량 - 커뮤니케이션 능력
사실 프로그래머에 국한되는 이야기는 아니죠!
모든 직무에서 필요한 역량이 아닌가 싶은데요
특히 프로그래머는 팀 프로젝트로 업무를 수행하는 일이
많다보니 반드시 팀원간의 커뮤니케이션 능력이
중요하답니다.
프로그래머가 성공적으로 프로젝트를 마치기 위해선
기획자, 개발자, 디자이너 간의 원활한 커뮤니케이션이 필요해요!
2. 프로그래머가 갖춰야 하는 필수 역량 - 학습 능력
IT 기술의 순환 속도는 매우 짧은 편이죠!
기술 변화의 속도가 굉장히 빠르기 때문인데요.
따라서 새로운 기술에 대한 학습이 부족하면
금방 새로운 인재들에게 뒤 따라잡히는 일이 발생한답니다.
그러므로 프로그래머는 꾸준한 공부와 지식 관리가 필요해요!
이론적 지식을 그저 쌓기 보다는
실무 능력을 함께 키우는 것이 중요하답니다.
3. 프로그래머가 갖춰야 하는 필수 역량 - 관리 능력
개발자는 경력과 경험이 쌓이면 직접 개발하기 보단
점점 팀을 관리하는 관리자의 역할이 커지기 마련인데요.
이런 경우에 개발자로서만 활동을 해온 사람들은
관리자의 역할을 이해하지 못하고 팀을 잘 이끌어나가지 못하게 돼요.
따라서 개발팀의 리더로서 성과에 직접 영향을 주는 제품의
기술 요소를 정의하고, 팀의 목표를 설정하여 팀원을 이끌어나갈 수 있는
능력을 키우는 것도 중요합니다!
'IT소식 > IT 정보' 카테고리의 다른 글
리눅스란 무엇인가요? 리눅스 알아보기 (0) | 2017.09.07 |
---|---|
3D 컴퓨터 애니메이션 프로그램 알아보기 (0) | 2017.09.06 |
빅데이터전문가/빅데이터분석가 알아보기 (0) | 2017.09.04 |
웹 브라우저 종류 알아보기 (0) | 2017.09.01 |
[IT정보] 미래유망 IT 직업 알아보기 (0) | 2017.08.31 |
[IT 정보] TCP/IP 소켓 프로그래밍에 대해 알아보기
오늘은 네트워크에 대해서 알아봅시다!
많은 부분이 있지만 그 중에서도 네트워크 프로그래밍에서
기본적으로 알아야 할 부분인 TCP/IP 소켓 프로그래밍에서 알아보아요
네트워크 프로그래밍이란?
멀리 떨어져있는 호스트들이 서로 데이터를 주고 받을 수 있도록 프로그램을 구현하는 것
TCP : Transmission Control Protocol의 약자
IP : Internet Protocol의 약자
TCP/IP는 통신규약
소켓이란?
네트워크 프로그래밍 과정에서 대상이 멀리 떨어져 있기 때문에
소프트웨어 차원에서 호스트들간을 연결해주는 장치
즉, 소켓을 사용하는 목적은 네트워크로 연결된
두 개 이상의 호스트간의 데이터를
송수신 할 수 있도록 하는 것인데요.
TCP/IP를 데이터를 가지고 달리는 자전거라고 가정하면
소켓은 자전거가 달릴 수 있도록 깔아놓은 도로인 것이죠!
소켓 프로그래밍 환경 구축하기
개발 환경을 구축하려면 Visual Studio에서 새 프로젝트를 만들어야 하는데요.
통신에서는 서버와 클라이언트 2대의 구성이 필요하기 때문에
2개의 프로젝트를 생성해야 합니다.
서버와 클라이언트의 프로그래밍 절차는 각각 다른데,
TCP 클라이언트의 과정만 보자면, 소켓을 생성한 뒤 서버로 연결을 해줍니다.
접속이 성공됐다면 read와 write 함수를 통해 서버와 패킷을 주고 받으며
사용을 마치면 close로 소켓을 닫아주면 된답니다.
소켓 프로그래밍 주의해야 하는 점
우선 TCP소켓의 연결 종료가 감지되면 반드시 close해야 합니다.
TCP 소켓은 자동으로 닫히는 것이 아니기 때문에
상대편이 소켓 연결을 종료한다면 같이 종료해줘야만 합니다.
SIGPIPE는 기본 동작이 프로세스의 종료이므로
해당 시그널을 처리하지 않으면
프로세스는 즉시 종료된다는 사실!
마지막으로 '재전송' 또한 주의해야 하는데요.
TCP를 NONBLOCKING 모드로 사용하면 호출 시 일부만 전송되는 경우가
있기 때문에 꼼꼼하게 확인을 하고 재전송이 가능한지 감지한 뒤 전송해야 합니다.
'IT소식 > IT 정보' 카테고리의 다른 글
[IT 정보] 파이썬 Python 장점 알아보기 (0) | 2017.08.18 |
---|---|
[IT 정보] 성공한 IT 기업 CEO들의 성공 명언 (0) | 2017.08.16 |
[IT 꿀팁] 컴퓨터 PC파일 (0) | 2017.08.09 |
[IT정보] 윈도우 운영체제(32bit/64bit) 확인하는 방법 (0) | 2017.08.08 |
민앤지 휴대폰번호도용방지 서비스 편해~ (0) | 2017.08.07 |
[IT 정보] 개발자들을 미치게 하는 프로그래밍 언어 10가지 (1)
안녕하세요! 오늘은 개발자를 미치게하는 언어 10가지에 대한 내용을 가져왔어요~
소프트웨어 개발자라면 각자 선호하는 프로그래밍 언어가 다를텐데요.
저마다 왜! 이 프로그래밍 언어를 싫어하고, 어려워하는지 그 이유에 대해서
알아보면 좋을 것 같아서 알려드리려구요!
개발자를 미치게하는 프로그래밍 언어 1. 파이썬
많은 기업 그리고 개발자들이 사용하고 있는 파이썬!
고수준의 다목적 프로그래밍 언어로써 가독성을 장점으로 내세우고 있는데요.
컴파일도 가능하지만 스크립팅 언어로 사용되는 경우가 많죠
파이썬에 대한 개발자들의 공통적인 불만은 블록 구조를 지정하는데
대괄호나 중괄호 대신 들여쓰기를 사용하는 점,
콜론과 밑줄의 과도한 사용, 모듈/변수 이름 충돌을 꼽았어요.
그리고 파이썬을 피하는 방법은?
구글, 야후, 나사에서 일하지 않는 방법이라네요 ㅎㅎㅋ
개발자를 미치게하는 프로그래밍 언어 2. 랩뷰
랩뷰는 앞서 나온 파이썬보다 조금 생소한 프로그래밍 언어이죠?
랩뷰는 측정 및 제어 시스템에 사용되는 시각적인 데이터 흐름 프로그래밍 언어인
G를 위한 개발 환경이에요. 프로그래머는 랩뷰를 사용해서 "와이어"를 통해 기능 노드를 연결하여
실행을 확인합니다.
이 랩뷰에 대한 공통적인 불만으로는 GUI 프로그래밍 방식은 아주 단순한 작업 외에
모든 작업을 극도로 복잡하게 만든다는 점!
랩뷰를 피하는 방법으로는 장비 제어(특히 실험실) 또는 산업 자동화 프로그래밍 관련 직장을 피하고
아이의 레고 마인드스톰 프로젝트를 돕겠다고 나서지 않는 것 이래요 ㅋㅋ
개발자를 미치게하는 프로그래밍 언어 3. 자바스크립트
자바스크립트는 넷스케이프에서 처음 개발한 인터프리터 언어로,
주로 웹 페이지에서 클라이언트측 스크립팅 언어로 사용되는데요.
서버 측 웹 스크립팅가 임베디드 스크립팅 언어로도 구현됩니다.
자바스크립트에 대한 공통적인 불만으론 대/소문자에 민감하다는 점,
브라우저마다 다른 구현, 디버깅 기능의 부재, 이상한 상속 규칙 등을 들었어요.
자바스크립트를 피하는 방법은 웹 개발자로 일하지 않는 방법...!!!
이렇게 보니 자바스크립트가 얼마나 많은 기업과 환경에서
사용되고 있는 프로그래밍 언어인지 확 와닿네요 ㅎㅎ
개발자를 미치게하는 프로그래밍 언어 4. TCL
TCL은 Tool Control Language의 약자로 임베디드 명령 언어로 개발되었지만
웹 어플리케이션, 네트워크 관리 및 테스트 자동화와 같은 분야에 사용되는
범용 스크립팅 언어로 발전했어요.
TCL에 대한 공통적인 불만으로는 구문이 너무 단순하다는 점,
포인터가 없으므로 참조를 전달할 방법이 없다는 것, 배열이 문자열로 저장되는 것,
목록 의미론에 취약하고, 변수 범위 지정이 혼란스럽다는 점이에요.
TCL을 피하는 방법은 시스코, AOL 또는 CNET이나 기타 AOLserver 또는 OpenACS 플랫폼을 사용하는 곳에
취직하지 않는 방법이 있다네요 ㅎㅎ
개발자를 미치게하는 프로그래밍 언어 5. 코볼
코볼의 특징은 1969년에 처음 설계되었으며 주로 비지니스 어플리케이션 정부 관리 기능을
지원하도록 만들어진 코볼 (COBOL : Common Business-Oriented Language) 레거시 시스템은
지금도 여전히 널리 사용되고 있답니다.
코볼에 대한 공통적인 불만으로는 극히 장황한 구문인데요. 프로그래머가 아닌
사람이 읽을 수 있는 언어를 목적으로 만들어졌기 때문이에요. 또한 버전간 호환이 되지 않는 점,
코볼 2002 이전에는 객체 지향 프로그래밍과 함수, 포인터를 지원하지않는 점입니다.
피하는 방법으로는 정부, 금융 서비스 또는 군대에서 일하지 않는 방법이 있네요
이렇게 개발자들을 미치게하는 프로그래밍 언어 10가지 중 5가지를 먼저 알아보았는데요.
나머지 5개는 다음 편에서 말씀드리겠습니다!
'IT소식 > IT 정보' 카테고리의 다른 글
민앤지 휴대폰번호도용방지 서비스 편해~ (0) | 2017.08.07 |
---|---|
[IT 정보] 개발자들을 미치게 하는 프로그래밍 언어 10가지 (2) (0) | 2017.07.31 |
[IT 정보] 인공지능 활용 사례 알아보기 (0) | 2017.07.26 |
[IT 정보] 컴퓨터공학과 수시 준비! 어떻게 시작해야하지? (0) | 2017.07.20 |
[IT 정보] 풀스택개발자, 히어로인가? (풀스택개발자의 의미와 역할) (0) | 2017.07.17 |