본문 바로가기

반응형

개인공부

(206)
안드로이드 : 시작하기 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 먼저 jdk를 설치해줍니다(자신의 운영체제에 맞는것을 고르세요) 대표사진 삭제 사진 설명을 입력하세요. 대표사진 삭제 사진 설명을 입력하세요. next 해줍니다 설치가 완료되면 C:\Program Files\Java Program 파일안에 java 폴더에 jdk가 설치되엇는지 확인합니다 대표사진 삭제 사진 설명을 입력하세요. 이제 환경변수를 변경해줍니다. 대표사진 삭제 사진 설명을 입력하세요. 고급 시스템 설정에 고급탭으로 들어갑니다. 환경변수를 선택해줍니다. 대표사진 삭제 사진 설명을 입력하세요. 새로만들기를 눌러서 JAVA_HOME 이라는 변수를 만든..
소프트웨어 개발 생명주기 면접에서 물어볼까 싶지만??? 그래도 기본적인 지식은 알아야 되지않을까.. 일반적으로 개바을 할때 생각해볼수 있는 단계는 3단계로 나뉜다 정의 단계, 개발 단계, 유지보수 단계 셋다 생각해보면 쉽다. 정의 단계 : 당연히 무엇을 만들지 설계하고 DB구조 필요한 기수들을 정의하는 다계 개발 단계 : 실제로 프로토타입을 만들고 개발을 하는 단계 유지 보수 단계 : 서비스를 하고나서 문제점을 찾는 단계다.. 각각의 단계에서도 세부적인게 있지만 이까지는 물어보지는 않을 것 같다. 폭포수 모델(Waterfall Model)편집 소프트웨어 개발의 전 과정을 나누어 체계적이고 순차적으로 접근하는 방식 각 단계의 결과가 확인되어야지만 다음 단계로 넘어간다. Bohea가 제시한 고전적 생명주기 모델로 선형 순차적 모델이..
블랙박스/ 화이트박스 테스트 사용자 관점으로 테스트하는것을 블랙박스 테스트 (내부구조가 어두워서 안보인다는 뜻으로 이해했다) 따라서 인터페이스 테스트 UI테스트가 되겠다. 기존에 설계했던 요구사항과 일치하는지 테스트이다. 화이트 박스 테스트란 내부가 보인다. 즉 개발자 관점의 테스트이다. 주로 루프 로직, 로우 개발단의 테스트이다(논리상 오류를 잡는 테스트)
Merge Sort 시간복잡도 O(N log N) 최악의 경우에도 보장된다. 하지만 공간복잡도가 QickSort보다 두배크다. package sasum; public class myTest { private static void mergeSort(int[] arr) { int[] tmp = new int[arr.length]; mergeSort(arr, tmp, 0, arr.length - 1); } private static void mergeSort(int[] arr, int[] tmp, int start, int end) { if (start < end) { int mid = (start + end) / 2; mergeSort(arr, tmp, start, mid); mergeSort(arr, tmp, mid + 1,..
Quick Sort 시간 복잡도 O(N log n) 최악의 경우 O(N^2) 3 9 4 7 5 0 1 6 8 2 퀵 솔트 알고리즘 규칙 start 와 end로 arr을 나눈후 mid = (start + end)/2 를 정한다. Pivot Pivot을 기준으로 왼쪽은 pivot보다 작은값 오른쪽은 pivot보다 크거나 같은 값으로 한다. 1. start는 pivot 보다 작으면 넘어간다. 아니면 잠시 멈춘다. 2. end는 pivot 보다 크거나 같으면 그냥 넘어간다. 3. swap 한다 그리고 start++ end -- 한다. 4. 1~3과정을 start
B-Tree https://hyungjoon6876.github.io/jlog/2018/07/20/btree.html B-Tree 개념 정리 데이터베이스와 파일시스템에서 B-Tree를 많이 사용합니다. rdb 인덱스 관련해서 정리해보다가 일반적으로 B-Tree , B+-Tree 자료구조를 사용하는것을 알게되었습니다. B-Tree 자료 구조에 대해서 알아� hyungjoon6876.github.io B-Tree 4가지 조건 1. 노드의 데이터가 n개라면 자식은 n+1 개다 2. 노드가 자식이 있다면 2개 이상이다. 3. Root 노드를 제외하고 모드 M/2 데이터를 가진다. 4. Leaf 노드로 가는 경로의 길이는 모두 같다 위의 특성을 이해하면서 삽입 삭제시 조건이 만족하지 않는 경우 부모 와 인근 형제노드와 Mer..
AVL Tree Tree? 트리 구조란 그래프의 일종으로, 여러 노드가 한 노드를 가리킬 수 없는 구조이다. 간단하게는 회로가 없고, 서로 다른 두 노드를 잇는 길이 하나뿐인 그래프를 트리라고 부른다 AVL Tree 란 만든사람의 본명을 한글자싞 합쳐서 나온 Tree이다. 이분 그래프에서 탐색을 할 때 시간복잡도는 트리의 높이(h) 에 따라 시간복잡도 O(h)를 가진다. 이런식의 한쪽으로 치우친 Tree를 어떻게 하면 효과적으로 Balacne Tree로 만들 수 있을 까? 이때 필요한 것이 AVL 트리이다. 좌 회전, 우 회전 LL Tree와 RR Tree를 소개하자면 LL은 말그대로 왼쪽으로 치우친 편향그래프이고 RR은 오른쪽으로 치우친 편향 그래프이다. 이 때 각 트리라는 것은 높이라는 값을 가지게되는데 Root 노..
Page Size 시스템 특성에 따라 다름 - No best answer - 점점 커지는 경향 일반적이 page size 2^7 ~ 2^22 Small Page size Large page size Lage page talbe - High overhead(kernel) 내부 단편화 감소 I/O 시간 증가 Locality 향상 Page fault 증가 Small page table - Low overhead(kernel) 내부 단편화 증가 Locality 저하 Page falut 감소 [HW 발전 경함] CPU 좋아지고, Memory size 좋아져서 상대적인 page falut 처리 비용 좋아진다. 따라서 page 크기는 큰게 좋은거 같다. 행이 전환땔때마다 페이지폴트가 일어난다 근데 행으로 만들어버리면 페이지폴트가 자주..

반응형