개발 잡지식

개발 잡지식

SW 개발과 방법론 & 프로세스 모델

Software Development 정의 : sw를 활용하여 현실의 어떤 문제를 해결하는 것. 개발 방법론 프로그래밍 언어의 철학에 따라 크게 두가지 방식과 방법론이 존재 1. Procedural Programming ex) C -> SASD(Structure Analysis and Structured Design) 2. Object-Oriented Programming ex)C++, Java -> OOAD(Object-Oriented Analysis and Design) Procedural Programming은 Algorigthm(Procedure)과 Data Structure에 중점을 둠 따라서 Algorithm과 Data Structure는 서로 독립적이다. (함수 시그니처만 맞으면 사용 가능)..

개발 잡지식

[StarUML] 클래스 다이어그램에서 인터페이스 모양 원래대로 바꾸는 방법

preferece -> UML -> Class -> Stereotype Display를 Label로 바꾼다. label로 바 꾸면 이렇게 변한다

개발 잡지식

[StarUML] abstract method 설정

abstract로 설정하고 싶은method를 선택 -> 우측 하단 Properties -> isAbstarct 체크

개발 잡지식

[GitHub] git add * VS git add . 차이점

git add * 는 .gitignore파일에 있는 파일들도 stage로 올리는 것 git add .는 .gitignore파일에 있는 파일명들은 제외하고 stage에 올리는 것 따라서 .gitignore를 사용한다면 git add .를 사용하면 된다!

개발 잡지식

htop 프로세스 모니터링

htop 설치 mac OS : brew install htop Linux : apt-get install htop 마우스로 입력가능 CPU, MEM 등 원하는 기준별로 소팅가능해서 편하다. 기본적으로 설치되어 있는 top보다 직관적이고 프로세스를 모니터링하기 편하다. *mac의 경우 F1~F10까지 키입력을 해야할 때 fn키를 함께 눌러준다. 프로세스 정보 PID 프로세스의 ID USER 프로세스의 소유자 PRI 프로세스의 우선순위 NI 우선순위에 영향을 주는 프로세스의 nice 값 VIRT 해당 프로세스가 사용중인 가상 메모리 양 RES 해당 프로세스가 사용중인 물리 메모리 양 (KB) SHR 프로세스가 사용중인 공유 메모리 양 S 프로세스의 현재 상태(zombied, sleeping, running,..

개발 잡지식

디스플레이 해상도

모니터나 TV를 살 때 항상 나오는 말이 해상도? FHD? UHD? 4K? 8K?등이 있다. 개인적으로도 개념정리가 안되어서 간단하게 정리해보면 해상도는 화면 전체를 구성하는 화소(점)의 개수를 의미한다. 모니터나 TV를 구매하면 박스나 메뉴얼에 1920 x 1080 과 같은 형태로 표현된다.즉, (가로의 화소 개수) x (세로의 화소 개수) 를 의미하고 이 곱의 결과가 해상도를 의미한다. 그럼 FHD QHD UHD 는 무엇인가 출처 https://m.blog.naver.com/PostView.nhn?blogId=dongchimi212&logNo=221231149380&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F 표에 나와 있는 것처럼 HD, FHD ,QHD, UH..

개발 잡지식

Handle(핸들)의 개념

막연하게 리소스중 하나라고 생각하면서 사용했던 handle의 개념을 정리해보면, 핸들은 "운영체제 내부에 있는 리소스의 주소를 유니크한 정수로 치환한 값"이다. 운영체제의 리소스를 정수로 치환하는 이유는 응용프로그램에서 운영체제의 리소스를 직접 사용하는 것을 막기 위함이다.(운영체제의 리소스를 직접 사용하는 케이스외에도 프레임워크나 서비스등의 자원을 직접 사용하지 못하도록 핸들의 개념을 광범위 하게 사용하는 경우도 있는것 같다.)응용프로그램이 운영체제의 리소스를 직접 사용할경우 치명적인 오류나 보안상 취약하기 때문이다.(이래서 메모리를 user영역과 kernel영역으로 나누어서 사용한다.) 그래서 Handle은 응용 프로그램과 운영체제 사이의 다리역할을 해주는 매개체로 보면 된다. 운영체제의 리소스를 사..

개발 잡지식

CMake 기본 포맷과 예제

# 요구 CMake 최소 버전CMAKE_MINIMUM_REQUIRED ( VERSION ) # 프로젝트 이름 및 버전PROJECT ( "" )SET ( PROJECT_VERSION_MAJOR )SET ( PROJECT_VERSION_MINOR ) # 빌드 형상(Configuration) 및 주절주절 Makefile 생성 여부SET ( CMAKE_BUILD_TYPE )SET ( CMAKE_VERBOSE_MAKEFILE ) # 빌드 대상 바이너리 파일명 및 소스파일 목록SET ( OUTPUT_ELF "${CMAKE_PROJECT_NAME}-${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.out" )SET ( SRC_FILES ... ) # 공통 컴파일러SET ( CM..

개발 잡지식

oom_adj 또는 oom_score_adj

Tizen 개발을 하다 우연히 알게된 개념이다. 검색해보니 안드로이드에서 원래 사용되던 개념. 우선 OOM은 Out Of Memory이다.쉽게 말해 어떤 프로세스가 시스템내에서 허용된 메모리를 넘어가게되면 OOM이 발생한다. 그래서 시스템에서는 OOM Killer또는 Low Memory Killer같은 OOM관리 프로세스를 통해서 OOM을 관리한다. 그때 어떤 프로세스를 먼저 줄일지에 대한 지표가 되는게 oom_adj(=oom_score_adj)이다.즉 , 메모리 부족시 oom_adj가 큰 값부터 차례대로 프로세스를 죽여나가고 만약 oom_adj값이 같다면 RSS가 큰 프로세스부터 죽인다.oom killer에 의해 종료되고 싶지 않다면 oom killer의 proc에 설정을 변경해 줘야 한다. Tizen..

자유로운 범고래
'개발 잡지식' 카테고리의 글 목록