일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JanusWebRTC
- Spring Batch
- 코루틴 빌더
- vfr video
- python
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- JanusWebRTCGateway
- pytest
- 코루틴 컨텍스트
- table not found
- preemption #
- 자원부족
- 개성국밥
- JanusGateway
- 깡돼후
- 겨울 부산
- PytestPluginManager
- VARCHAR (1)
- JanusWebRTCServer
- PersistenceContext
- terminal
- tolerated
- mp4fpsmod
- taint
- 오블완
- kotlin
- k8s #kubernetes #쿠버네티스
- 달인막창
- 티스토리챌린지
- Value too long for column
목록분류 전체보기 (583)
너와 나의 스토리
● FPU 피연산자 규칙 1) 0~2개의 피연산자가 올 수 있다 2) 즉시값은 피연산자로 올 수 없다 ㄴ 메모리나 FPU레지스터만 가능 3) 범용 레지스터는 사용할 수 없다. (eax,ebx이런 것) 4) 정수 피연산자의 메모리에서 FPU로 적재된다. 5) 만약 두 개의 피연산자를 가지면 하나는 무조건 FPU레지스터이여야 한다. ● 데이터 타입 1) REAL4: 32비트 (4byte)
● push / pop include irvine32.inc .data val1 byte 1h val2 byte 2h val3 byte 3h .code main proc mov eax,0 mov ah,val1 mov al,val2 push eax call tmp1 pop eax call dumpregs exit main endp tmp1 proc mov ah,5h mov al,10h ret tmp1 endp end main main에서 ah=1,al=2 값을 넣고 이 eax 값을 stack에 push해놓은 후 tmp1을 호출해서 여기서 eax 값을 바꾼다고 해도 나중에 main에 돌아와서 원래 stack에 저장해 둔 것을 pop하면 tmp1 호출 전 값으로 되돌아옴 ● pushad / popad 32bi..
● JMP 명령어 형태: top: . . jmp top jmp top하면 top:이 있는 곳으로 간다 (EIP가 top:이 있는 곳을 가리키게 됨) -> 루프처럼 쓸 수 있음 ● Local / Global Lables main PROC jmp L2 ; error L1:: ; global label exit main ENDP sub2 PROC L2: ; local label jmp L1 ; ok ret sub2 ENDP 다른 프로시저에서 이동해 오려면 "L1::"처럼 :를 2개 붙인다. L1::로 하면 현재 프로시저에서도, 다른 프로시저에서도 올 수 있다 ● Loop 명령어 형태: mov ecx,3 L1: . . loop L1 ecx만큼 루프를 돌게된다.
● 프로시저 호출 - call 명령어 사용 ● 프로시저 Procedure 역할 Clrscr 콘솔 클리어 (커서는 왼쪽 상단에 위치) Crlf 줄 바꿈 (0Dh,0Ah 출력) Delay 매개변수: eax(delay할 시간) eax에 넣은 시간만큼 (ms 단위) 작동 멈춤 DumpMem 매개변수: esi(배열의 시작주소), ecx(배열의 원소의 개수). ebx(배열의 타입크기) esi에서부터 값을 ecx개 출력하며 한번 출력시마다 주소를 ebx만큼 증가시킨다. DumpRegs 범용레지스터와 플래그들을 전부 출력 GetCommandtail 매개변수: edx(buffer주소) 프로그램의 command-line 인자를 byte 배열에 복사 GetMaxXY(32) 매개변수: dh(행), dl(열) 콘솔 윈도우 버퍼..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/chxCJe/btqvL8tX1Hu/YEW6XYK8l92loysunJ6U7k/img.png)
출처: http://pages.cs.wisc.edu/~remzi/OSTEP/file-intro.pdf The Crux: How to manage a persistent device 39.1 Files And Directories ● File file: 읽고 쓸 수 있는 linear한 byte 배열이다. 각각의 파일은 low-level name이 있는데, 보통 숫자이다. (inode number) 대부분의 시스템에서는 OS는 파일 구조를 많이 알고 있지 않다. ● Directory directory: 디렉터리도 low-level name을 가짐. 하지만 list 쌍처럼 구체적인 것을 포함함. ex) low-level name "10", 사용자가 읽을 수 있는 이름으로는 "foo"를 가지는 파일이 있다고 하..
void readInputFile0(hash_t *H) { FILE *fp0=freopen("input0.txt","r",stdin); while (cin >> input_key >> input_item) { int res = hash_insert(H, input_key, input_item); } if (fclose(fp0) == 0) { cout tmp){ //cin 안되고 tmp 초기화 값으로 계속 유지됨 } } 처음에 이런식으로 했더니 main에서 입력이 먹지 않았다. 입력 버퍼 비워야 하나.... 해서 cin.clear(); cin.ignore(); 이런거 써보고.... 결과는 fail! 검색해보니 freopen은 C I/O라서 C++이랑 섞어써서 이런 문제가 생긴 것 같다 그래서 freopen..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/wH2h6/btqvLSdyqh2/qkJON7tuE0dZDn5xC07vg1/img.jpg)
Insertion in Extendable Hash Sturcture Deletion in Extendable Hash Structure - 삭제한 부분과 관련된 부분만 보면서 필요하면 축소하면 됨 (전체 다 볼 필요 없음) - bucket address table size를 변화시키는 것은 cost가 비싸다 Ordered Indexing vs Hashing - range query에는 ordered indexing이 좋다 - hashing은 키의 지정된 값을 가진 레코드를 검색하는 것이 좋음 ㄴhashing: indexing 위한 것 아님 ㄴ indexing하는 용도로는 B+ tree를 가장 많이 사용
· index file - 형태의 레코드로 구성됨 · 2가지 기본적인 indices - Ordered indices: search key가 정렬되어 저장됨 - Hash indices: search key는 "hash function"을 통해 "buckets"간에 균일하게 분배됨 · Index Evaluation Metrics - Dense index에서 record를 찾는데 걸리는 cost는 O(N/B) N개의 elements가 각 search key에 따라 B개 elesent를 가지는(block size)의 block으로 나눠져서 저장된다. 즉, IO는 N/B번의 연산 안에 해당 값을 가지는 block을 찾을 수 있다. - Sparse index에서 recored를 찾는데 걸리는 cost는 O(N/B^..