1. ioctl input output control 의 약자이고, 디바이스를 명시하는 시스템 콜의 한 종류이다. 리눅스에는 시스템 콜이 많이 없기 때문에(300-400개, 많은 것 아닌가?..) 디바이스들이 가지고 있는 모든 유니크한 함수들을 호출할 수 없다. 따라서 드라이버가 유저공간 어플리케이션에게 하여금 명령을 보낼 수 있게 한다. 하지만, ioctl은 유연하지 않고, 어수선한 경향이 있다. 또한, 불안정하기도 하다. 예를 하나들면, 프린터(종이 인쇄하는) 장치가 설정 옵션으로 폰트를 가지고 있다면, ioctl을 이용해서 현재 프린터의 폰트를 다른 폰트로 바꿀 수도 있고, 현재 폰트가 무엇인지 받아올 수 있다. 함수 정의는 아래와 같다 int ioctl(int fd, int request, .....
clone 과 fork는 새로운 프로세스를 생성한다는 관점에서는 비슷하지만, fork 는 사실 clone() 시스템 콜이 레이어드 되어 있는 라이브러리 함수이다. fork와는 다르게 clone()은 자식 프로세스가 실행 컨텍스트를 호출 프로세스와 공유할 수 있게 해준다. 예를들어 메모리 공간, 파일 디스크립터 테이블, 시그널 핸들러 테이블 등을 공유한다. clone 의 주 사용처는 공유되는 메모리 공간에서 동시에 실행되는 쓰레드 구현이다. 자식 프로세스가 clone()으로 생성되면, 가장 처음 fn(arg)라는 함수를 호출한다. 이렇게 fn 을 호출하는 것은 fork와 다른데, 아시다시피 fork를 호출하고나서는 자식 프로세스는 fork 호출 시점부터 실행을 시작하기 때문이다. fn argument는 실..
구실에서 사용할 서비스를 구현하는데, API 를 테스트 해보다가 겪어보지 못한 증상을 겪었습니다. Spring boot로(사실 어떤 프레임워크던...) 간단한 서비스만 만들었기 때문에 멀티쓰레드나 동시성에 대한 생각을 전혀 해본적이 없고 고려할 필요(물론 멀티 쓰레드에서 제대로 돌지 않겠지만) 없는 프로젝트만 했었는데 이번에 만들 서비스는 사용자가 많지 않더래도, 동시성에 대해 대비하지 않으면 데이터베이스가 심각하게 꼬이기에 한 번의 실수로 서비스 자체를 중지시키고 데이터베이스를 되돌려 놓아야 할 상황이었습니다. JPA를 사용하고 있기 때문에, JPA 내부적으로 Database 의 Lock 과 어떻게 싱크를 맞추고 협력하는지 직관적으로 알 수 없었고. JPA Lock 이나 JPA isolation lev..
JPA를 사용하면서 잘 생각하면 정말 당연하고 간단한 문제이지만, 자칫하면 엄청난 시간을 허비할 수 있는 실수를 만들었다. 위와 같은 entity를 JPA 가 table 로 만들면서 오류가 발생하였다. Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from integer' at line 1 에러메세지가 너무 줄줄히 나와서 코드를 보면서 빠르게 찾으려고 했으나, 몇 번 바꾸어봐도 이유를 알 수 없어 root cause 의 에러 메세지를..
- Total
- Today
- Yesterday
- CMake 기초
- 14714 어플리케이션
- CMake run proto compiler
- aws 프리티어 요금청구
- 14714 공부법 어플리케이션
- 14714 review
- CMake probouf
- CMake 반복문
- react-native
- 복습 어플
- buffer-over-flow
- CMake get file name
- CMake get_filename_Component
- review reminder
- aws 청구문의
- 14714 복습법
- 14714 어플
- CMAke 파일이름 추출
- 14714 공부법
- 복습 계획어플
- 14714 플래너
- CMake run protoc
- 함수포인터 오버라이트
- CMake for
- function pointer overflow
- CMake 강좌
- 14714 앱
- 토리파 공부법
- get_filename_component
- CMake for문
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |