글쓴이 보관물: namonak

[Ubuntu] Python 버전 변경하는 방법

소개 Ubuntu에서 다수의 python 버전을 운영할 때, update-alternatives를 이용하면, 손쉽게 python 버전을 변경할 수 있습니다. update-alternatives는 Debian 계열 시스템에서 다수의 패키지를 심볼릭 링크로 관리해 주는 명령어입니다. 해당 명령어는 python 뿐만 아니라, jdk와 같이 대부분의 패키지 버전을 관리하는데 사용할 수 있습니다. … 계속 읽기

카테고리: Linux | 댓글 남기기

[Design Patterns] Model View Controller 패턴

MVC(Model-View-Controller) MVC는 Model-View-Controller 의 약자입니다. 소프트웨어 설계 및 개발을 진행할때, 프로그램을 3가지 요소로 나누어 개발하는 ‘소프트웨어 디자인 패턴‘입니다. MVC 패턴을 도입하면 도메인(비즈니스 로직) 영역과 UI 영역이 분리되므로 서로 영향을 주지 않고 유지보수가 가능합니다. MVC 패턴의 구조를 살펴보면서 각 컴포넌트가 무슨 … 계속 읽기

카테고리: Design Patterns | 댓글 남기기

Test Driven Development(테스트 주도 개발, TDD)

Test Driven Development(테스트 주도 개발, TDD) 란? TDD는 Test Driven Development의 약자로, ‘테스트 주도 개발’이라고 합니다. 일반적인 개발 과정에서는 요구사항을 분석 후 설계를 마친 뒤에 프로덕션 코드(Production code)를 작성하는 합니다. 상황에 따라 프로덕션 코드를 작성한 후에 테스트 코드를 추가할 수도 … 계속 읽기

카테고리: TDD(Test-driven development) | 댓글 남기기

MPEG-2 TS(Transport Stream)

Contents1 MPEG-2 시스템 개요1.1 MPEG-2 시스템 표준1.1.1 PSI / SI / Section1.2 MPEG 다중화1.2.1 PES / TS / PS1.2.2 ATM & TS Packet1.3 MPEG 동기화1.3.1 STC1.3.2 PCR / SCR1.3.3 DTS / PTS2 디지털 방송 Channel Search2.1 디지털 방송 수신과정2.2 Channel Search 방법2.2.1 … 계속 읽기

카테고리: MPEG | 댓글 남기기

[C] 댕글링 포인터(Dangling Pointer)

댕글링 포인터 정의 포인터가 여전히 해제된 메모리 영역을 가르키고 있다면, 이러한 포인터를 댕글링 포인터(Dangling Pointers)라고 부른다. ⇒ 댕글링 포인터가 가리키는 메모리는 유효하지 않다. 댕글링 포인터는 종종 너무 빠른 해제(premature free)라고 불린다. 댕글링 포인터 문제점 메모리 접근 시 예측 불가능한 동작 … 계속 읽기

카테고리: C, Programming | 댓글 남기기

[C] 메모리 누수(Memory Leak)

메모리 누수 정의 메모리 누수는 할당된 메모리가 더는 사용되지 않지만, 해제되지 않을 때 발생한다. 이를 테면 다음과 같은 상황에서 발생한다. 메모리의 주소를 잃어버린 경우 free 함수가 호출되어야 하는 상황에 호출되지 않은 경우 메모리 누수의 예 메모리 누수가 누적되면 힙 관리자가 … 계속 읽기

카테고리: C, Programming | 댓글 남기기

[C] 포인터와 메모리

C 프로그램에서의 메모리 컴파일된 C 프로그램은 다음 세 종류의 메모리를 사용한다. 정적(Static)/전역(Global) 정적(Static)/전역(Global)으로 선언된 변수들은 정적/전역 메모리에 할당된다. 정적/전역 변수들은 프로그램이 시작될 때 할당되며, 프로그램이 종료될 때까지 메모리 공간에 남아 있다. 전역 변수는 파일 전체가 접근 범위(scope)이며, 정적 변수의 접근 … 계속 읽기

카테고리: C, Programming | 댓글 남기기

[Android] Kotlin을 활용한 android.os.properties 접근

해당 글에서 언급하는 프로퍼티는 안드로이드 시스템에서 관리되는android.os.SystemProperties를 의미합니다. (APK 내부에서 관리되는 System.getProperty, System.setProperty 와는 다릅니다.) 안드로이드 시스템에 시스템 속성(System Property)를 추가하거나 API로 구현하는 방법에 대해서는 아래의 안드로이드 문서에 잘 정리되어 있습니다. 시스템 속성 추가 시스템 속성을 API로 구현 다만, 위에 … 계속 읽기

카테고리: Android | 댓글 남기기

[Android] ADB를 이용한 파일 복사(adb pull / push)

개요 안드로이드 플랫폼에서 개발시에  MTP 를 통해 파일을 주고 받기 어려운 경우가 있습니다. 이런 경우 ADB pull / push 명령어를 통해 호스트 장치와 안드로이드 장치간 파일을 공유할 수 있습니다. ADB 디버깅 설정 ADB를 사용하기 위해서는 안드로이드 장치에서 USB 디버깅 옵션이 … 계속 읽기

카테고리: Android | 댓글 남기기

[Docker] Volume에 대한 이해와 활용

이 글에서는 Docker Volume에 대해서 설명하고 상황에 따라 Volume을 활용해 데이터를 관리하는 방법에 대해서 기술합니다. 개요 가장 기본적으로 Docker Container가 생성되면 Writable Layer에 데이터를 저장할 수 있습니다. 그런데 이 방법에는 몇가지 문제가 있습니다. Container가 삭제되면 Container 내부에 데이터도 같이 삭제가 … 계속 읽기

카테고리: Docker | 댓글 남기기