-
42Seoul
[C] stat / lstat / fstat 함수
파일 상태(정보) 가져오기 지정한 파일의 정보를 담고 있는 stat 구조체를 통해 정보를 얻을 수 있는 시스템 함수들 ls -al 명령어로 알 수 있는 내용들을 대부분 알 수 있다. #include int fstat(int fildes, struct stat *buf); int lstat(const char *restrict path, struct stat *restrict buf); int stat(const char *restrict path, struct stat *restrict buf); 구조체 stat - 함수의 인자로 들어가는 struct stat - st_dev - 파일을 포함하는 디바이스 번호 - st_mode - 파일의 모드 (접근권한) - 파일 종류 비트 마스크로 표시됨 - st_nl..
-
책
[책] 어린왕자
어린왕자 - 생텍쥐페리, 1943 1. "어느 날은 태양이 지는 걸 마흔네 번이나 본 적도 있어!" "있잖아, 사람은 너무 슬플 때 해 지는 걸 보고 싶거든......" "태양이 지는 걸 마흔네 번이나 본 날 그렇게 슬펐던거야?" 2. "내가 바보였어." 이윽고 장미가 입을 열었다. "미안해. 행복하렴." "그래! 난 널 사랑해." 장미가 말했다. "넌 몰랐겠지. 내 잘못이야. 이제 중요하지 않아. 그런데 너도 나만큼이나 바보였어. 행복하렴...... 유리덮개는 그냥 둬. 필요하지 않으니까." "그렇게 우물쭈물하지 마. 더 힘들어. 떠나기로 결심했잖아. 이제 가봐." 3. "'길들인다'는 게 무슨 뜻이야?" "사람들은 거의 잊어버린 말이지. '관계를 맺는다'는 뜻이야. 네가 날 길들이면 우린 서로 필요해..
-
영상처리 & opencv
[opencv] 3개의 사진 Panorama(image stitching)
Panorama 구현 과정 1. Image stitching을 수행할 이미지들을 획득한 후 로드 한다. Grayscale로 변환해서 사용한다. 2. SURF 알고리즘을 사용하여 각 이미지의 특징점을 추출한 후 이미지들 간의 특징점을 비교하여 좋은 특징점들끼리 매칭시킨다. 3. 이미지들을 하나의 평면에 투영시키기 위해서 이미지 간의 변환관계(Homography)를 계산한다. 이때 모델 파라미터의 예측을 방해하는 대응점(Outlier)로부터 정확한 변환관계를 구축하기 위해 RANSAC 알고리즘을 사용한다. 4. 앞에서 계산한 Homography를 사용하여 이미지에 회전 변환을 적용하여 Image stitching을 실행한다. 주요 알고리즘 이론 : SURF, RANSAC, Homography 환경 : ope..
-
책
[책] 기분이 태도가 되지 않게
기분이 태도가 되지 않게(에스더버니 에디션) - 레몬심리, 2020 기분이 태도가 되지 않게 하라는 문장을 이전에 들어본 적이 있었다. 나는 내 감정이 잘 휘둘리는 사람이라, 이러한 기분을 남에게 태도로 보여 불편함을 주지 않을지 종종 걱정했고 그런 적이 있는 것 같다. 이 책은 기분이 태도가 되지 않게 하는 방법에 대해 여러 가지 이야기를 들려주며 설명해 준다. 내가 고민했던 부분들에 대해 공감이 되는 내용이 많아서 술술 읽었다. 이러한 내용들은 주기적으로 상기시키면 좋을 것 같아 여러 번 읽으면 좋을 것 같다. 기분이라는 건 참 신기하다. 좋았다가도 또 한순간에 나빠진다. 누군가가 나 때문에 기분이 나빠지지 않기를 바라며, 그리고 나 또한 좋은 방향으로 항상 생각하기 위해 노력해야겠다. 1. 좋은 태..
-
시행착오
jetson nano - balenaEtcher 오류
developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#write Getting Started With Jetson Nano Developer Kit The NVIDIA® Jetson Nano™ Developer Kit is a small AI computer for makers, learners, and developers. After following along with this brief guide, you’ll be ready to start building practical AI applications, cool AI robots, and more. developer.nvidia.com Jetson Nano 개발자 키트(4GB) 시..
-
시행착오
[unity] Button Onclick() No Function 문제
unity UI Button에서 On Click()에 자꾸 No Function이 떠서 왜 이러지 ??????? 했더니... 검색했더니 자꾸 빈 오브젝트를 만들어서 거기 script를 적용하고 다시 드래그해보라길래 무슨말인가 했는데 처음부터 오브젝트를 드래그를 안했다... 그냥 내가 드래그를 잘못했던 거 .........ㅎ Object를 드래그 해야하는데 어쩐지 이상했어... 내 실수라 기록하는게 민망하다 .. 낄낄
photo
new
-
study [nvme-cli] command 추가 방식 nvme-builtin.h 구조와 command 추가 방식https://github.com/linux-nvme/nvme-cli/blob/master/nvme-builtin.h COMMAND_LIST( ENTRY("list", "List all NVMe devices and namespaces on machine", list) ENTRY("list-subsys", "List nvme subsystems", list_subsys) // ... (중략)); COMMAND_LIST와 ENTRY 매크로를 사용해서 명령어(command) 정의각 ENTRY는 명령어 이름, 설명, 그리고 실제로 실행될 함수명을 인자로 받음이 구조는 새로운 명령어를 추가할 때 ENTRY를 하나 더 추가하면 되도록 설계되.. -
CS [CS/책] 「오브젝트」6장 - 메시지와 인터페이스 책 「오브젝트」 6장 메시지와 인터페이스를 읽고 작성한 내용입니다.클래스라는 구현 도구에 지나치게 집착하면 경직되고 유연하지 못한 설계에 이를 확률이 높아진다.훌륭한 객체지향 코드를 얻기 위해서는 클래스가 아니라 객체를 지향해야 한다. 좀 더 정확하게 말해서 협력 안에서 객체가 수행하는 책임에 초점을 맞춰야 한다. 여기서 중요한 것은 책임이 객체가 수신할 수 있는 메시지의 기반이 된다는 것이다.애플리케이션은 클래스로 구성되지만 메시지를 통해 정의된다는 사실을 기억하라[Metz12].협력과 메시지클라이언트-서버 모델협력은 어떤 객체가 다른 객체에게 무언가를 요청할 때 시작된다[Wirfs-Brock03].협력 안에서 메시지를 전송하는 객체를 클라이언트, 메시지를 수신하는 객체를 서버라고 부른다. 협력은 클라..
-
CS [CS/책] 「오브젝트」5장 - 책임 할당하기 책 「오브젝트」 5장 책임 할당하기를 읽고 작성한 내용입니다. 데이터 중심 설계로 인해 발생하는 문제점을 해결할 수 있는 가장 기본적인 방법은 데이터가 아닌 책임에 초점을 맞추는 것이다. 책임에 초점을 맞춰서 설계할 때 직면하는 가장 큰 어려움은 어떤 객체에게 어떤 책임을 할당할지를 결정하기가 쉽지 않다는 것이다. 책임 할당 과정은 일종의 트레이드오프 활동이다. 동일한 문제를 해결할 수 있는 다양한 책임 할당 방법이 존재하며, 어떤 방법이 최선인지는 상황과 문맥에 따라 달라진다. 따라서 올바른 책임을 할당하기 위해서는 다양한 관점에서 설계를 평가할 수 있어야 한다. 실제 설계는 코드를 작성하는 동안 이뤄진다. 그리고 협력과 책임이 제대로 동작하는지 확인할 수 있는 유일한 방법은 코드를 작성하고 실행해 보..
-
CS [CS/책] 「오브젝트」4장 - 설계 품질과 트레이드오프 책 「오브젝트」 4장 설계 품질과 트레이드오프를 읽고 작성한 내용입니다. 객체지향 설계란 올바른 객체에게 올바른 책임을 할당하면서 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 활동이다[Evers09]. 훌륭한 설계란 합리적인 비용 안에서 변경을 수용할 수 있는 구조를 만드는 것이다. 요즘 프로젝트를 진행하면서 설계는 매우 어렵다는 것을 깨닫고 있다. 4장을 읽으며 객체지향 설계를 데이터 중심으로 잘못하고 있다는 것을 한번 더 깨달았고, 의욕 넘치게 리팩토링을 시도해 보았으나.. 생각처럼 쉽지 않았다. 그래도 이번 기회에 문제라는 것을 상기하고 갈 수 있어서 좋았다. 데이터 중심 관점 객체의 상태는 구현에 속한다. 구현은 불안정하기 때문에 변하기 쉽다. 상태를 객체 분할의 중심축으로 삼으면 구현에 관..