C:\opencv\build\x64\vc15\bin을 시스템 변수 Path에 추가해줍니다.
여기서 Visual studio가 2017보다 구버전이면 vc14로 변경하여 추가해줍니다.
이제 환경변수 등록도 끝났으니 Visual Studio로 가봅시다~
프로젝트를 하나 생성해주시고
디버그 옵션은 64비트로 변경!
소스파일에 test.cpp를 추가해줍니다.
현재 상황!
이제 프로젝트 속성을 변경해줍니다.
구성 모든 구성으로 하시고 C/C++ 일반에 추가 포함 디렉터리에 C:\opencv\build\include를 입력해주세요
마찬가지로 모든 구성에서 링커 일반에 추가 라이브러리 디렉터리에 C:\opencv\build\x64\vc15\lib를 입력해주세요
구성을 Debug로 바꾸고 opencv_world430d.lib를 입력해주세요.
구성을 Release로 바꾸고 opencv_world430.lib를 입력해주세요.
그러면 OpenCV가 잘 설치되었는지 Test코드를 실행해보겠습니다.
웹캠 영상을 출력하는 코드에요!
/**
@file videocapture_basic.cpp
@brief A very basic sample for using VideoCapture and VideoWriter
@author PkLab.net
@date Aug 24, 2016
*/
#include <opencv2\opencv.hpp>
#include <iostream>
#include <stdio.h>
using namespace cv;
using namespace std;
int main(int, char**)
{
Mat frame;
//--- INITIALIZE VIDEOCAPTURE
VideoCapture cap;
// open the default camera using default API
cap.open(0);
// OR advance usage: select any API backend
int deviceID = 0; // 0 = open default camera
int apiID = cv::CAP_ANY; // 0 = autodetect default API
// open selected camera using selected API
cap.open(deviceID + apiID);
// check if we succeeded
if (!cap.isOpened()) {
cerr << "ERROR! Unable to open camera\n";
return -1;
}
//--- GRAB AND WRITE LOOP
cout << "Start grabbing" << endl
<< "Press any key to terminate" << endl;
for (;;)
{
// wait for a new frame from camera and store it into 'frame'
cap.read(frame);
// check if we succeeded
if (frame.empty()) {
cerr << "ERROR! blank frame grabbed\n";
break;
}
// show live and wait for a key with timeout long enough to show images
imshow("Live", frame);
if (waitKey(5) >= 0)
break;
}
// the camera will be deinitialized automatically in VideoCapture destructor
return 0;
}
그리고 F5를 눌러 실행시켜줍니다.
바로 잘 되면 성공!
하지만 opencv_world.dll 오류 경고가 뜬다면 다음과 같이 해결해주시면 됩니다.
프로젝트 폴더에
C:\opencv\build\x64\vc15\bin에 있는 opencv_world430.dll, opencv_world430d.dll 파일을 넣어줍니다.
스크럼의 목적은 사소한 반칙이나 정지 후에 빠르고, 안전하게 그리고 공정하게 플레이를 재개하기 위한 것이다. 각 팀에서 8명의 선수들이 세 줄로 서로 바인드하고, 상대측과 밀착하여 각 팀의 프론트 로의 머리가 서로 엇갈리도록 형성하는 것이다. 이와같이 하면 스크럼 하프가 볼을 투입할 수 있는 터널이 만들어져 프론트로 선수들이 그들의 두 발 중 하나로 후킹함으로서 볼 소유를 위해 경쟁할 수 있게 된다.
데브옵스란 소프트웨어의 개발(Development)과 운영(Operations)의 합성어로서, 소프트웨어 개발자와 정보기술 전문가 간의 소통, 협업 및 통합을 강조하는 개발 환경이나 문화를 말한다. 데브옵스는 소프트웨어 개발조직과 운영조직간의 상호 의존적 대응이며 조직이 소프트웨어 제품과 서비스를 빠른 시간에 개발 및 배포하는 것을 목적으로 한다.
목적
- 제품 출시까지 걸리는 기간 단축
- 새로운 판의 더 낮은 실패율
- 픽스 간 짧아진 리드타임
- 복구 시 더 빠른 평균 시간
툴체인 : 코드, 빌드, 테스트, 패키지, 릴리즈, 구성, 모니터링
//이상 위키백과
장점
- 속도 : 작업속도 향상
- 신속한 제공 : 릴리즈 속도 향샹
- 안정성 : 품질 향상
- 확장 가능 : 자동화에 따른 시스템 효율적 관리
- 협업 강화
- 보안
데브옵스의 키워드는 빠름
소규모 업데이트를 자주 수행하여 고객요구를 빠르게 수용
또한 각 배포의 위험성을 낮추고 변화가 작아져 복합도 감소 -> 릴리즈 실패 확률 감소
마이크로 서비스 아키텍쳐를 통한 유연성과 혁신속도 향상 (대규모의 시스템을 간단하고 독립적 결합, 해제)
개발팀과 운영팀의 소통이 원활하지 않는 회사에서는 DevOps의 장점과 원리만 이해하고 적용하려 노력하면
장기적으로 큰 발전이 될듯
여기서 유의할 점은 개발팀이나 운영팀에게 업무가 가중되는 느낌이 들면 실패하는 데브옵스 적용