| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
- PHPStorm
- import data
- 파이썬
- 따옴표 삭제
- vscode
- 클론
- php
- 에러
- localhost
- database
- run sql script
- Visual Studio Code
- Python
- error
- 오류
- clone
- 데이터베이스
- visualstudio code
- csv
- 깃 토큰
- github token
- jupyter
- cmd
- OrCAD 다운로드
- github clone
- console창
- 단축키
- MySQL
- DataGrip
- error 해결
- Today
- Total
목록전체 글 (239)
개발 노트
GC 는 가비지 컬렉터.가비지를 찾아서 메모리에서 해제.root set과 참조관계가 있으면 reachable.그렇게 참조되는 객체를 찾고(=Mark)unreachable한 객체를 제거(=Sweep)이것이 GC 동작.heap 영역은 메모리 구조가 나뉘어있다.young generation / old generation 으로 나뉘어 효율적으로 처리된다.young에서 새로운 객체는 eden 구조에 있음.eden 이 꽉차면 GC(=minor GC)가 일어난다. 그러면서 살아남은 객체는 비어있는 survivor로 옮긴다.이것을 계속 반복하다가 특정 age 이상(디폴트값 31)이 되면 old generation으로 넘어가는 GC(=major GC)가 일어난다. 이것이 promotion 이다.
1. method area : 클래스에 대한 모든 정보가 저장됨.2. heap : run time에 생성되는 모든 객체들이 저장됨.이 두개는 모든 스레드가 공유한다. 그래서 멀티스레드 시 동기화의 주의.3. JVM Stacks : 메소드를 실행하기 위한 정보들이 저장되는 공간. frame은 메서드에 따라 생기거나 사라짐.4. PC Registers : 현재 실행하고 있는 명령어의 주소 저장하는 곳.5. Native method stacks : c, c++로 작성된 method를 실행할 때 사용됨.위 3개는 스레드가 생성될 때마다 생성됨. 다른 스레드끼리 접근 불가.참고 : https://youtu.be/GU254H0N93Y?si=55iti2LvNtDi68lp
server port in use 8088이클립스 멈춰서 작업관리자에서 종료하고다시 이클립스의 제우스 run 했는데저 에러 뜨는 경우윈도우 cmd 에서netstat -ano | findstr :8088입력TCP 0.0.0.0:8088 0.0.0.0:0 LISTENING 12345이렇게 뜨면 뒤 5자리가 pid.그럼taskkill /F /PID 12345로 kill 하면 에러 안난다.
프로그래머스 코딩테스트 풀이는 GitHub에 기록합니다.GitHub 주소 : https://github.com/1010hy/programmers_coding_test
서버 처리 속도 현저히 늦어질 때 :토드 오라클 > sessions > current statment 에서 현재 돌고 있는 sql 확인.Long Ops 로 퍼센트 확인 가능. active 가 도는 것 inactive 는 안도는것 월 배치 계산에 필요한 컬럼 값이 보존 기한 경과로 이미 삭제됨. 다행히 필요한 건 원본이 아니라 자릿수. 대상 건수가 많아 단순 UPDATE는 부담. UPDATE 전에 실행계획부터 확인. Toad에서 쿼리 선택 후 Explain Plan. Full Table Scan이 뜨는지, 인덱스를 타는지 본다. 토드오라클에서 쿼리의 ctrl + E 누르면 explain plan 뜨면서 cost 부분에 소요시간 뜸. 그래서 인덱스가 걸려있으면 더빠름. 또는 explain plan for..
c, c++은플랫폼•환경•운영체제에 따라 다르게 컴파일을 해야 한다그래서 나온 것이상대 운영체제에 맞게 컴파일하는‘크로스 컴파일’이다. 타겟 플랫폼에 맞춰 컴파일한다.자바는 ‘JVM’을 쓴다플랫폼에 상관없이 JVM (자바 버츄얼 머신)을 설치 후 컴파일하면 어디서나 동작한다이것이 Write Once, Run Anywhere.컴파일에도 프론트/ 백엔드가 있다.프론트는 JavaC가 컴파일백엔드는 JVM이 컴파일한다.java 계산은 레지스터가 아닌 스택으로 한다그이유는 cpu마다 레지스터 구조가 다르기 때문에 레지스터를 사용하면 환경에 제약된다. 그래서 스택으로 계산한다스택을 사용하여레지스터 사용에 비해명령어는 단순하고, 코드 크키가 작고, 실행속도는 상대적으로 느리지만 하드웨어 종속성은 거의 없다참고 : h..
[merge]mergeinto 테이블, 뷰using 테이블, 뷰, 서브쿼리on ( ~ ) --조건절when matched then --조건절 맞는 경우 update ... --작업when not matched then --조건절 안맞는 경우 insert.... --작업 [decode]decode (항목 1, 항목 2, 항목 3, 항목 4, 항목 5, 항목 6) 이 뜻은if ( 항목 1 == 항목 2) return 항목 3else if ( 항목 1 == 항목 4) return 항목 5else return 항목 6
속도가 O(N * log N)이 나오는 퀵 정렬, 병합 정렬, 힙 정렬보다 빠르게 정렬하는 방법. 단 범위조건이 있어야 한다. 시간복잡도는 O(N)으로 매우 빠르다. 크기를 기준으로 갯수를 센 후 그 수 만큼 출력하면 된다. 크기가 한정되어 있는 배열만이 계수정렬을 사용할 수 있다는 특징이 있다. #include int main(void) { int temp; int count[6]; int array[30] = {1, 3, 2, 4, 3, 2, 5, 3, 1, 2, 3, 4, 4, 3, 5, 1, 2, 3, 5, 2, 3, 1, 4, 3, 5, 1, 2, 1, 1, 1}; for(int i = 1; i
힙 정렬은 빠른 알고리즘을 가지고 있다. 힙 정렬은 이진트리구조를 사용한다. 이진트리 구조(자식 노드가 2개 이하인 트리 구조) 완전 이진 트리는 루트부터 자식노드가 왼쪽부터 오른쪽으로 차례대로 데이터가 들어가는 구조이다. 힙 생성 알고리즘은 특정 노드의 두 자식 중 더 큰 자식과 자신의 위치를 바꾸는 알고리즘이다. 위치를 바꾼 뒤에도 자식이 존재하는 경우 계속해서 반복한다. 이 힙 생성 알고리즘의 시간복잡도는 높이와 같기 때문에 O(log N) 이다. 1. 배열에 그대로 삽입한다. 2. 앞의 1/2개만 확인한다.(소수점은 버림) 위의 그림에서는 7, 6, 5, 8까지만 본다. 3. 밑에서부터 자식과 확인하며 정렬한다. 1) 8은 1, 6보다 크므로 그대로 2) 5는 9보다 작으므로 9와 자리 바꿈. 해..
pair와 vector 라이브러리 사용해서 정렬하는 방법이다. pair는 한 쌍의 데이터를 사용할 수 있는 라이브러리이다. 아무런 조건 없이 단순 정렬을 하는 경우 처음에 있는 항목 기준으로 정렬된다. (ex 하단 코드에서는 int 기준으로 정렬된다.) 문제 1. #include #include #include using namespace std; int main(void) { vector v; //v.push_back : 리스트 마지막에 삽입 v.push_back(pair(90, "박한울")); v.push_back(pair(85, "이태일")); v.push_back(pair(82, "나동빈")); v.push_back(pair(98, "강종구")); v.push_back(pair(79, "이상욱")..