본문 바로가기

3.4. 프로그래밍 개념 및 도구14

테스트 코드 종류 테스트 코드를 사용하지 않았을 경우실제로 다음과 같은 테스트 방식을 많이 이용한다.서버 실행 → 테스트 할 API 요청 → 결과 값을 확인 및 검증 일단 서버를 실행을 하는데에 많은 자원을 소모하고.API와 결과값을 검증하는데에 시간을 소모하게 된다. 이것이 테스트 코드를 작성해야하는 이유이다.  테스트 코드를 작성해야 하는 이유테스트에 대한 시간 및 비용 감소테스트 코드를 통한 빠른 피드백, 빠른 검증서버를 실제로 실행하기 전에 버그 발견 가능(검증으로 인한) 안정성 확보 → 비교적 안전한 리팩터링 가능(비용 감소로 인하여) 장기적으로는 더 빠른 코드 작성 가능   테스트 종류Unit test : 단위테스트Integration test : 통합테스트E2E test :  End To End 테스트  Un.. 2024. 11. 17.
[형상관리] VSS (visual source safe) 비주얼 소스세이프(Visual SourceSafe, VSS)는 마이크로소프트에서 개발한 소스관리프로그램으로중앙에서 소스및 파일을 관리하여  협업에 사용되는 형상관리 프로그램이다현재는 개발이 중단되었다(마지막 릴리즈 2005년 10월) 그래도 형상관리의 초석을 다듬은 프로그램이기 때문에 관심을 한번 가져보았다.설치는 대부분CD로 이루어졌고설치를 하고나서 ini으로 중앙과 연결을 한다.연결을 하고 Admin으로 허락된 계정을 통해 접속을 하면 마무리가 된다.  각종 폴더가 있는데 여기서 유심히 봐야하는 것만 설명하고 끝내고자 합니다.Set Working Folder : 중앙 서버 폴더와 로컬폴더와 바인딩Get Lastest Version : 최근 버전 받아오기Check out : 내가 작업하기 위해 독점Ch.. 2024. 10. 30.
[프로그램] Q-Dir : 다중 파일 탐색기 프로그램 설치 링크 :  [링크]다운받은 파일을 실행 할경우 다음과 같은 설치 창이 뜨고 설치가 가능하다  포터블 설치 : 설치 없이 바로 실행가능한 방식으로 된다.관리자 권한으로 설치 : 설치를 관리자권한으로 설치하기 때문에 허용같은 창이 뜨지않음.나에게만 : 지금 설치하는 컴퓨터의 사용자중 설치하는 사용자에게만 설치이 컴퓨터의 모든 사용자 : 해당 컴퓨터에 모든 사용자에게설치 (관리자권한실행)모든 사용자 자동시작: 컴퓨터를 키면 자동시작 (관리자 권한 실행)자동실행 : 설치하는 사용자만 자동시작 설치후에는 이렇게 레이어로 나눠져있다 레이어는 초록색에서 조절이 가능합니다.  해당프로그램을 사용하는 큰 이유는 다중 레이어로 파일을 관리하기 용이하고네트워크 공유폴더에서 복사 붙여넣기를 드래그로 끝낼수 있다.. 2024. 10. 28.
[자료구조] 자료구조(Data Structure) 자료구조자료를 효율적으로 관리하기위한 구조즉 자료의 구조와 자료의 저장, 삭제, 탐색을 위한 함수와 명령을 의미 자료구조의 분류선형 자료구조 : 원소들을 하나씩 순차적으로 나열 시킨 형태(1:1)배열연결리스트스택큐데크해시 테이블비선형 자료구조 :하나의 자료뒤에 여러개의 자료가 존재 가능트리그래프힙우선순위 큐트라이파일구조 : 파일을 구성하는 레코드들이 보조기억장치에 편성되는구조단순구조 : 일반적인 정수,문자열 구조 2024. 6. 25.
[Algorithm] 시간복잡도 목차시간복잡도(time complexity)시간복잡도분석을 하는이유?시간복잡도의 표현방법  시간복잡도(time complexity)컴퓨터 프로그램의 입력값과 연산 수행 시간의 상관관계를 나타내는 척도  시간복잡도분석을 하는이유? 실제 시간으로 알고리즘의 효율성을 비교하게 될경우 CPU와 같은 실제로 연산하는 컴퓨터의 성능은 다 다르고 사용하는 언어에 따른 차이가 있기 때문에 직접적으로 비교가 불가능하다.따라서 알고리즘의 시간을 비교하기 위해서 컴퓨터성능,프로그래밍 언어등등의 차이를 제외하고 객관적인 측정법이 필요하였다.일반적으로 알고리즘의 실행시간은 입력의 크기가 커질경우 증가하였고, 단위연산(basic operation)의 수행 횟수에 비례한다.따라서 단위 연산이 수행되는 횟수와 입력의 크기로 알고리즘.. 2024. 6. 16.
[Algorithm] Greedy Code 모음 Greedy 설명 Greedy이란? 최소신장 트리(MST), Kruskal & Prim algorithm 다익스트라 알고리즘(Dijkstra Algorithm) Scheduling 허프만 코드 Greedy Algorithm Code github 예시 거스름돈 Greedy_EX1 거스름돈 (5만원) https://www.mycompiler.io/view/3lrVEJzCfQE Greedy_EX2 거스름돈 (7만원) https://www.mycompiler.io/view/2LVSeGMO4sR MST Greedy_Kruskal https://www.mycompiler.io/view/GXUlcogH3fs Greedy_Prim https://www.mycompiler.io/view/GjxBn54jgD9 다익스트라(.. 2024. 4. 8.
[Algorithm] 허프만 코드 허프만 코드는 문자를 데이터로 표현할 때 더 적은 데이터양을 사용하면서 문자를 표현하기 위해 압축하는데 사용하는 방법으로 Greedy Algorithm중 하나입니다. 문자의 빈도수를 이용하여 사용빈도수가 높은 문자는 짧은 비트로 표현, 사용빈도수가 낮은 문자는 긴 비트로 표현합니다. 즉, 가변 길이 코드이다. 예시를 들어 설명하겠습니다. EX) 압축하고자 하는 문자열 : bacbca -> 고정 길이 코드 : a~c. 3개의 문자를 구분하기 위해 2bit 필요하고 총 12bit를 사용한다 -> 가변 길이 코드 : 허프만 코드를 이용해서 나온 값으로 10bit로 줄어든다 그러나 여기서 의문점이 있다. 010을 ac(0/10)인지 ba(01/0)인지 구분이 안간다 즉 이진 코드를 다시 문자열로 변환할 때 어디.. 2024. 4. 8.
[Algorithm] Scheduling Scheduling은 Greedy Algorithm의 대표적인 활용 알고리즘이다 해당 알고리즘의 목표를 통해서 Greedy의 설계방법을 알수있다. 1. 스케줄짜기(Scheduling) 기다리는 시간을 최소화하는 것이 목표인 알고리즘이다. 여기서는 시스템 내부 시간 (The time in the system)을 기준으로 측정을 하는데 시스템 내부 시간은 기다리고 수행하는 시간을 합친시간이다. 즉, Scheduling의 목표는 최적의 순서를 찾아 시스템 내부 시간 을 줄이는것이다. 예시를 통해서 간단하게 알아보겠다. 예시 효율적인 과제하기 과제를 효율적으로 하고자한다. 한번 과제를 시작하면 중간에 다른 과제를 할 수 없다고 한다면 어떤 순서로 해야 효율적일까? 과제이름 걸리는시간 취창업 실무 3시간 컴퓨터 .. 2024. 4. 8.
[Algorithm] 다익스트라 알고리즘(Dijkstra Algorithm) 다익스트라 알고리즘은 음의 가중치가 없는 그래프의 한 노드에서 각 모든 노드까지의 최단거리를 구하는 알고리즘이며 도로 교통망 같은 곳에서 나타날 수 있는 그래프에서 두 노드 간의 최단경로를 찾는 알고리즘이기도 하다. (무방향/ 방향그래프 둘다 상관없이 사용가능하다) 해당 알고리즘은 DP(다이나믹 프로그래밍)와 Greedy Algorithm(탐욕 알고리즘)을 복합적으로 사용하는 알고리즘이다. 최단거리는 여러개의 최단거리로 나눠져있고 이전까지 구한 최단 거리는 그대로 사용한다 → DP 눈앞에 보이는 최적의 선택을 한다 → Greedy 예시를 들면서 한번 다익스트라로 어떻게 풀어나가는지 확인해보고 마무리 지어보겠습니다. 예시 네비게이션 1번에서 6번을 최단 경로로 찾아가야하는 상황에서 모든 노드까지의 최단거리.. 2024. 4. 8.
[Algorithm] 최소 신장 트리(MST), Kruskal & Prim algorithm 신장 트리(Spanning Tree) 그래프 내의 모든 정점을 포함한 최소 연결 부분 그래프이며 Tree이기 때문에 사이클이 존재할 수 없다. 최소비용 신장 트리 (Minimum Spanning Tree : MST) 신장 트리 중 간선의 가중치 합이 최소인 트리이다. 가중치가 존재하는 무방향 Graph에서 Spanning Tree(이하 신장 트리)를 무작위로 만들어 었을 경우 cost는 다양하게 나옵니다. 하지만 그중에서 최소 비용으로 만드는 신장 트리를 Minimum Spanning Tree(이하 최소비용 신장 트리)라고 한다 사진을 보면 Graph에서 Cost(가중치합)을 고려 안한 신장 트리를 제작을 했을 경우 Cost가 13이 나오게 됩니다. 여기서 Cost를 최소한으로 줄여본 신장 트리는 Cos.. 2024. 4. 7.
728x90