분류 전체보기
-
코딩 테스트를 위한 프레임워크 구현코딩 테스트/JUNGOL 2020. 10. 9. 14:34
코딩 테스트를 위한 프레임워크 프레임워크의 이점 문제 클래스들을 파일 단위로 분리하여 관리하고 원하는 문제 클래스만 실행할 수 있다. 프레임워크 구조 Base 클래스를 인터페이스로 정의하고 문제 클래스가 Base 클래스를 상속하여 해당 문제를 Code 메서드로 구현하며 main 함수에서 원하는 문제 클래스의 Code 메서드를 호출하여 실행한다. Base Code : virtual function Coding Test Class : Base Code : 코딩 테스트 문제 구현 main base : Base Call base.Code 프레임워크 구현 Base.h #pragma once class Base { public: virtual void Code() = 0; }; CodingTest.cpp #incl..
-
젠킨스...5일지 2020. 10. 8. 23:24
서술적 파이프라인의 기본 구조 노드 파이프라인 실행을 위한 에이전트를 정의하며 인자로 사용할 에이전트의 레이블을 전달한다. 디렉티브 파이프라인의 환경 설정을 하거나 옵션을 부여한다. 스테이지 파이프라인의 단계를 구분하며 인자로 스테이지의 이름을 전달한다. 스텝 스테이지에서 수행하는 동작을 의미한다. 서술적 파이프라인 기본 구조 예제 // master 에이전트를 사용하는 파이프라인 node('master') { // 파이프라인 전역 환경 변수 CC 생성 environment{ CC = 'clang' } // Test 라는 이름의 스테이지 정의 stage('Test') { // Test 스테이지에 시간 제한 옵션 적용 options { timeout(time: 1, unit : 'HOURS') } // Te..
-
JUNGOL...1일지 2020. 10. 8. 00:17
Base 클래스 준비 main 함수에서 여러 코딩 테스트를 실행할 수 있도록 상위 클래스를 만든다. Base.h #pragma once class Base { public: void Run(); protected: virtual void Code() = 0; }; Base.cpp #include "Base.h" /// /// main 함수에서 Run 함수로 모든 코드를 실행할 수 있도록 한다. /// void Base::Run() { Code(); } main 함수에서는 Base를 상속받는 테스트 클래스를 생성해 Run메서드를 실행한다. main.cpp #include "Base.h" int main() { // 생성하는 클래스만 변경한다. Base* codeBase = new Base(); codeBa..
-
자료구조...11일지 2020. 10. 7. 23:15
단일 연결 리스트 단일 연결 리스트는 다음 노드의 주소만을 관리하기 때문에 삽입과 삭제에 이전 노드가 필요하다. - 삽입(Insert) 연산 기존 노드가 가리키는 삽입 노드를 가리키도록 하고 기존 노드가 삽입 노드를 가리키도록 한다. * 원본 데이터 리스트 끝에 노드를 삽입하는 경우 리스트의 마지막 노드가 삽입 노드를 가리키도록 만들어준다. ※ 리스트 앞에 노드를 삽입하는 경우 삽입 노드가 처음 노드를 가리키도록 만들어주면 된다. 리스트 중간에 노드를 삽입하는 경우 삽입할 위치의 이전 노드가 가리키던 노드를 삽입 노드가 가리키도록 만들고 이전 노드가 삽입 노드를 가리키도록 만들어준다. - 삭제(Delete) 연산 삭제할 노드가 가리키는 노드를 삭제할 노드의 이전노드가 가리키도록 한다. 리스트 끝에서 노드..
-
젠킨스...4일지 2020. 10. 6. 22:10
잡(Job) 젠킨스에서 다루는 실행 가능한 작업을 말한다. 젠킨스 파이프라인 잡의 장점 프로그래밍 가능 모든 파이프라인 설정을 하나의 파일(Jenkinsfile)로 표현 가능 일반 코드처럼 버전 관리 가능 서술적인 문법 젠킨스 파이프라인 잡 만들기 젠킨스 대시보드에서 새로운 Item을 누른다. Pipeline을 선택하고 파이프라인의 이름을 작성후 OK를 누른다. 페이지 상단의 Pipeline 탭을 눌러 이동 후 파이프라인 스크립트를 입력한다. 저장을 눌러 완료한다. 전역 도구 환경 설정 페이지 젠킨스 파이프라인에서 사용될 툴을 설정할 수 있다. 설정 방법은 다음과 같다. 젠킨스 대시보드에서 Jenkins 관리를 누른다. Global Tool Configuration을 누른다. 사용하고자 하는 툴을 찾아 ..
-
자료구조...10일지 2020. 10. 6. 09:21
연결 자료구조 메모리에 연속적으로 저장되어 연결되는 것이 아니라 각 원소가 가진 포인터를 통해 다음 원소를 가리키는 것으로 연결된다. 순차 자료구조의 삽입과 삭제에 추가 연산이 필요하고 메모리 사용에 비효율적이라는 문제를 개선한 방법이다. 노드 자료구조에서는 연결 자료구조의 표현을 위한 데이터와 다음 원소를 가리키는 포인터의 묶음으로 이루어진 구조를 노드라고 한다. 데이터를 저장하는 부분을 데이터 필드(Data Field), 포인터 부분을 링크 필드(Link Field)라고 한다. 다음의 순차 자료구조로 표현된 데이터를 연결 자료구조로 표현하면 다음과 같이 표현된다. - 순차 자료구조 표현 인덱스 0 1 2 3 데이터 10 20 30 40 - 연결 자료구조 표현 ※ 연결 자료구조는 인덱스를 저장하는 것이..