반응형

IT Tech 10

gTest(Google Testing Framework) 사용하기

gTest에 대한 소개에 앞서 테스팅에 대해 간단히 정리해본다. 테스팅이란? 테스팅이란 소프트웨어나 시스템이 사용자가 요구하는 수준을 만족시키는지 확인하기 위한 행위로 결함을 발견하는 메커니즘이다. 즉, 소프트웨어를 실행하여 테스트를 수행하는 동적 테스팅(Dynamic Testing)뿐만아니라 개발초기에 요구분석이나 설계 단계의 산출물을 테스팅 관점에서 리뷰(Review)하고 구현단계의 코드를 인스펙션(Inspection) 하는 정적인 행위까지도 포함한다. 소프트웨어 개발 생명주기를 놓고볼 때, 우리가 기본적으로 인식하고 있는 동적 테스팅 영역에서 가장 처음 발생하는 테스팅이 단위테스트(혹은 유닛테스트)이다. 단위테스트는 테스트 가능한 최소 단위의 소프트웨어에서 기능을 검증하고 결함을 발견하는 행위이다...

우분투에서 SVN(Subversion) 설치하기

우분투에 Eclipse를 설치하고 CDT(C/C++ Development Tool) 플러그인을 설치하는 것을 지난글에서 간단히 살펴보았다. 이번에는 SVN(Subversion)이라는 버전관리시스템을 설치하고 설정하는 것을 해보겠다. SVN(Subversion) 은 무엇? Subversion은 공개된 오프소스 버전관리 시스템이다. 리파지토리라고 하는 중앙 저장소에 파일과 디렉토리에 적용된 모든 변경사항을 시간의 흐름에 따라 기록하는 타임머신이라고 할 수 있다. 따라서 사용자들은 SVN을 통해서 과거의 데이터를 열람하거나 특정 시점으로 복구하는 것이 가능하다. 또한 다른 사람들과의 협업을 지원하기 때문에 다수의 사람의 동일한 데이터를 각자의 머신에서 작업하고 관리하고 남이 작업한 내용을 병합(Merge)하여..

우분투에서 eclipse C/C++ 개발환경 만들기

우분투에서 eclipse C/C++ 개발환경을 만드는 방법은 간단하다. 제일 처음 할일은 eclipse를 설치하는 것이다. 가장 손쉬운 설치는 eclipse 웹사이트에서 최신의 Eclipse IDE for C/C++ Developer를 다운로드 받아서 특정 디렉토리에 압축을 풀면 된다. 또다른 방법은 우분투 소프트웨어 센터를 통해서 설치할 수도 있다. 우분투 소프트웨어 센터를 통해 설치할 경우에는 eclipse 설치후 CDT(C/C++ Developement Tool) plugin을 설치해야 한다. CDT(C/C++ Developement Tool) plugin을 설치 eclipse를 실행 후, Help -> Install New Software -> Add버튼을 선택한다. name 텍스트 상자에 적당한..

가장 컨텍스트 모듈의 외부 리소스 접근시 주의할 사항

SQL Server의 연결된 서버 기능을 이용하면 로컬의 SQL Server에서 원격 서버에 있는 OLE DB 데이터 원본에 대해 명령을 실행할 수 있다. 따라서 저장프로시져 등을 통해 외부 데이터베이스로부터 데이터를 조회하거나 로컬의 SQL Server 내에 데이터와 조인하여 새로운 정보를 배치작업을 통해 집계할 수가 있다. 이는 일반적인 기업내에서 흔히 발생하는 작업이다. 예를들면, 마케팅부서에서 영업부서에 축적된 데이터베이스로 부터 마켓팅 관련 데이터만을 가져와서 마켓팅 부서내의 데이터베이스에 별도로 집계하여 활용하는 작업들이 있을 수 있다. 하지만 이와 같은 작업들을 위해 저장프로시져를 작성하고 SSMS(SQL Server Management Studio)내에서 실행시켜보면 잘 동작하는 것을 확인..

SQL서버에서 오라클 연결서버 구성하기

MS SQL Server의 연결서버(Linked Server)를 이용하게 되면 동일 네트워크상의 이종의 DBMS나 엑셀 또는 텍스트 파일도 마치 DB를 다루듯이 로컬에서 쉽게 접근할 수가 있다. SSMS(SQL Server Management Studio)나 QA(Query Analyzer)를 이용해서 연결된 서버를 구성할 수 있다. 오래전에 QA를 이용해서 연결된 서버를 구성하는 방법에 대한 짧막한 글을 올렸다. 오늘은 SQL Server 2008의 SSMS(SQL Server Management Studio)를 이용해서 오라클 DBMS를 연결서버로 구성하는 방법을 간단히 소개한다. SQL 2008 에서 오라클 연결서버 등록하기 연결서버의 구성을 통해서 사용자는 기업 전체에 걸쳐 엑셀이나 텍스트 등을 ..

IIS 설치후 외부에서 접속이 안된다면?

윈도우의 제어판의 프로그램 추가/제거 기능을 이용하면 MS IIS(Internet Information Server)를 설치하고 손쉽게 자신의 로컬PC에 웹서비스 환경을 구축할 수가 있다. 얼마전 윈도우7에서 IIS7을 설치하였다. 설치과정에 특별히 어려운 것은 없다. 설치완료 후 웹브라우저의 주소창에 로컬PC의 IP 또는 localhost 라고 입력을 하면 설치된 웹서버가 정상적으로 동작하는지 확인할 수가 있다. 웹서버가 정상적으로 동작한다면 왼쪽과 같은 웹페이지를 볼 수가 있다. 하지만 설치 완료후 자신의 컴퓨터에서는 제대로 동작하지만 동일 네트워크에 있는 다른 컴퓨터에서 웹서버로 접근이 안되는 경우가 종종 발생한다. 이유는 사내의 보안 정책등으로 방화벽 설정에서 WWW 서비스가 기본적으로 차단되기 ..

UNIX C를 10년만에 사용, 실수하기 쉬운 것들

올해초 몸담고 있는 직장에서 부서를 옮기면서 그 동안 하던 일과는 전혀 다른 업무를 하게되었다. 그래서 자그만치 10년만에 UNIX 환경에서 C와 JAVA를 사용하게 되었다. 10년이면 강산이 한번 변할 시기이다. 하물며 IT쪽은 10년이면 부모도 몰라볼 시간(?)이라고 할 수 있다. 아무튼 JAVA는 ver 1.0 시절에 사용했었고, UNIX 환경에서 C 프로그래밍은 대학시절에나 다루어보던 언어다. 그동안 다른 업무를 했어도 객체지향언어는 계속 사용해왔기에 JAVA는 부담없는데, UNIX환경에서 C를 사용하려니 많~이 생소하다. ㅋ 몇달전 즈음에 올린 fork() vs vfork() 라는 글과 socketpair과 pipe를 통한 프로세스간 통신의 차이점 이라는 글도 새롭게 UNIX C에 대한 기억을 ..

HTTP GET vs POST 메소드

HTTP 메소드는 HEAD, TRACE, PUT, DELETE, CONNECT, GET, POST 가 있다. 이중에서 대표적으로 사용되는 것이 GET 과 POST 메소드이다. HTTP GET 메소드 GET은 일반적으로 특정 URL(Uniform Resource Locators, 자원의 경로)의 자원을 요청할 때 사용된다. 즉, 일반적인 HTML페이지, 이미지, 텍스트파일 등의 자원에 대한 요청을 한다. 그리고 간단한 파라메터를 URL상에 표현하여 서버에 넘겨줄 수가 있다. 아래 예는 네이버에서 'feelnet' 이라는 키워드로 검색할 때 주소창에 보여지는 URL이다. http://search.naver.com/search.naver?where=nexearch&query=feelnet&x=0&y=0&sm=..

발행되지 않은 공개글에서 믹시위젯 감추는 방법

메타사이트 추천버튼 중에서 대표적인 것으로 믹시 위젯과 다음뷰 위젯이 있다. 그리고 대부분의 블로거들이 두가지 위젯을 이용하고 있다. 그래서 블로그를 디자인할때 이 위젯들을 다른 메타사이트 버튼 또는 구독버튼과 어떻게 하면 잘 배치할지에 대한 고민도 많이 한다. 구글이나 네이버 같은 포털에서 '다음뷰 믹시 통합' 으로 검색해보면 관련 글들이 많다. 그 만큼 꾸준히 관심을 받는 내용이다. 필넷의 블로그라이프에도 krang님이 배포한 메타사이트 버튼과 RSS구독버튼, 그리고 다음뷰와 믹시위젯을 적절히(?) 배치하여 사용하고 있다. 다음뷰와 믹시, 메타사이트 추천버튼 통합하기 라는 글에서 그 방법을 설명했다. 그리고 최근 트위터를 시작하면서 새롭게 리트윗 버튼을 본문 하단에 달아서 사용하다가 디자인을 약간 바..

fork() vs vfork()

유닉스에서는 새로운 프로세스를 생성하기 위해서 fork() 함수를 호출합니다. 호출을 통해 새로 생성된 프로세스를 흔히 자식 프로세스(Child Process)라고 하며 호출한 프로세스를 부모 프로세스(Parent Process)라고 합니다. fork() 함수는 특성상 한번 호출을 통해 부모 프로세스와 자식 프로세스에게 두번 리턴되어지게 됩니다. 부모 프로세스에게는 자식 프로세스의 ID를 리턴하고, 자식 프로세스에게는 0을 리턴합니다. 자식 프로세스는 부모의 PID를 알고 싶을때는 getppid()를 호출할 수 있습니다. 따라서 다음과 같이 코드를 작성할 수가 있습니다. #include #include int main(void) { int temp = 10; pid_t pid; if ((pid = for..

반응형