SW 설계 18

makefile에서 조건문과 변수할당 방법

이 Makefile의 코드에서 조건문과 변수 할당의 동작을 해석해보겠습니다:코드 설명ifeq (${ON},1) A = ON=1endififeq (${ON},1):변수 ON의 값이 1인지 비교합니다.ON이 1일 경우, 조건이 참이 되어 블록 내부의 코드가 실행됩니다.A = ON=1:조건이 참일 때 변수 A에 문자열 ON=1을 할당합니다. 여기서 주의할 점은 참조변수 ${ON} 이 아닌 ON이므로 문자열 ON=1이 들어간다.Makefile에서 변수의 값은 지연 평가되므로, 변수 할당은 조건이 참인 경우에만 발생합니다.상황별 동작ON = 1인 경우:변수 A는 문자열 ON=1을 가지게 됩니다.A = ON=1ON != 1 또는 정의되지 않은 경우:조건이 거짓이므로 A는 아무 값도 할당받지 않습니다.확인용 전..

SW 설계/make 2024.12.20

VScode에서 python 사용 방법

VSCode(Visual Studio Code)에서 Python을 사용하려면 다음 단계를 따라 설정하면 됩니다.1. VSCode 설치Visual Studio Code 공식 웹사이트에서 VSCode를 다운로드하고 설치하세요.웹사이트에서 Download for Windows를 선택합니다. 2. Python 설치Python 공식 웹사이트에서 Python을 다운로드하고 설치하세요. Downloads 탭에서 Download for WIndows를 선택합니다.설치 중 "Add Python to PATH" 옵션을 반드시 선택하세요.3. Python 확장 설치VSCode를 실행합니다.Extensions 아이콘(사이드바의 네모 아이콘)을 클릭합니다.검색창에 "Python"을 입력하고, Microsoft가 제공하는 Pyt..

SW 설계/C, C++ 2024.12.13

Matlab 포맷 변경

MATLAB에서 출력 표시 형식을 변경하려면 format 명령을 사용할 수 있습니다. 몇 가지 예시를 살펴보겠습니다: 1. 긴 고정소수점 형식: To display a value in the long fixed-decimal format (with many decimal places), use: format long pi 이렇게 하면 π (pi) 값은 3.141592653589793으로 표시됩니다. 2. 16진수 형식: 정수와 실수를 16진수 형식으로 표시하려면 다음과 같이 입력하세요: format hex intmax('uint64') realmax 이렇게 하면 정수와 실수의 최댓값이 16진수로 표시됩니다. 3. 짧은 공학 표기법: 짧은 공학 표기법은 소수점 이하 4자릿수로 표시되며 지수는 3의 배수입니..

SW 설계/Matlab 2024.04.17

Matlab: Write a matrix to a file

Matlab에서 행렬을 텍스트 파일로 저장하는 방법은 여러가지가 있다. Matlab 2019 부터는 writematrix라는 함수도 제공하고 있지만, 그 이전 버전에서는 dlmwrite를 사용하는 것이 편리하다. dlmwrite는 ASCII 형식의 구분 기호 분리된 (dilimited) 파일을 저장한다. (2) dlmwrite(’A.txt’,A)는 행렬 A 를 ‘A.txt’ 파일에 저장하고, 이때 matrix elements들을 구분하기 위해 기본 구분 기호 (delimiter) 인 쉽표 (‘,’)를 사용한다. 데이터는 대상 파일인 파일 이름의 첫 번째 행 첫 번째 열에서 시작하여 기록됩니다. (3) dlmwrite('A1.txt',A,'delimiter','\t') 는 ‘delimeter’로 지정한 구..

SW 설계/Matlab 2023.04.08

스칼라: implicit 사용법 응용

지난 블로그에서는implicit의 기본적인 사용 방법을 알아보았습니다. 이번에는 좀더 구체적인 예를 가지고, 활용하는 방법을 알아보도록 하겠습니다. 예 3. 암시형 인자 앞서 보여준 예 2와 비슷하게, 자주 사용되는 hash tag를 문자열 앞에 추가하는 함수를 만들어보겠습니다. scala> class HashTag(val s: String) defined class HashTag scala> def addHashTag(s: String)(implicit p: HashTag) = p.s + s addHashTag: (s: String)(implicit p: HashTag)String scala> addHashTag("scala") :15: error: could not find implicit value..

SW 설계/스칼라 2021.10.27

스칼라: implicit 기본 사용법

implicit는 boilerplate 코드를 줄여서, 코드의 가독성을 높이는데 자주 사용됩니다. Boilerplate 코드란 별 수정 없이 많은 곳에서 반복적으로 사용되는 코드를 의미합니다. Scala에서는 이러한 코드들을 implicit 키워드를 사용하여 생략하고 코드를 줄여줍니다. 사전적 의미로 implicit 는 암시적인이란 뜻이므로, 구체적으로 명시하지 않고 사용한다는 것을 의미합니다. 보통 자동 형 변환이나 늘 사용하는 인자를 전달하는 용도로 사용됩니다. 장점은 함수들에서 자주 사용되는 인자들을 implicit로 선언하면, 생략할 수 있지만, 단점은 문법이 복잡해져, 숙달되지 않은 사람들에게는 어렵게 느끼질 수 도 있습니다. 간단하게는, 인자에 implicit 가 있으면, 늘 사용되므로 미리 ..

SW 설계/스칼라 2021.10.27

makefile 기초: 변수, 패턴 규칙, 자동 변수

앞서 소개한 makefile은 실행 파일 program을 빌드하는데 잘 사용될 수 있다. # Link program: main.o function.o c++ main.o function.o -o program # Compilation main.o: main.c c++ -c main.c -o main.o function.o: function.c c++ -c function.c -o function.o 만약, 컴파일러 옵션을 변경한다거나, 다른 컴파일러를 사용한다고 가정해보자. 또는, 컴파일할 소스 파일을 추가한다고 생각해보자. 컴파일러 옵션을 변경할 경우, (5,9) 의 action들을 모두 수정해야 하고, 이는 소스 파일의 개수만큼 수정해야 한다. 다른 컴파일러를 사용할 경우에도 마찬가지다. 만약 컴파일..

SW 설계/make 2021.10.19

makefile 기초: 소개 및 실행 과정

makefile은 어떤 모듈이 수정되어 다시 컴파일되어야 하는지 자동으로 결정해서, 필요한 파일들만 재 컴파일해서 하나의 프로그램으로 생성하므로 재컴파일에 따른 시간 낭비를 최소화할 수 있다. makefile은 makepp에게 프로그램을 컴파일하는 방법을 알려주는 명령어들의 집합이다. makepp는 표준 유닉스 make를 위해 작성된 makefile들을 읽을 수 있다. 소스 파일들을 사용하여 하나의 실행 프로그램으로 컴파일하는 과정은 복잡하고, 컴파일에 많은 시간이 소요된다. 개발자가 하나의 프로그램을 만들기 위해 각 소스 파일들을 컴파일하는 명령을 직접 입력하기엔 입력할 인자들이 너무 많다. 물론 shell script를 사용하여 프로그램을 컴파일할 수 도 있지만, 사용되는 소스 중 단 하나만 수정되어..

SW 설계/make 2021.10.19

파이썬 기초: 숫자, 문자열 자료형

개요 자료형은 숫자, 문자열 등 프로그램 상에서 자료 형태로 표현하는 모든 것을 뜻한다. C언어 전후로 프로그래밍 언어를 이해하는 전통적인 방법은, 그 언어의 자료형을 이해하는 것이었다. 과거 프로그램들은 연산 위주의 코드들이 많았고, C언어 이전에 연산에 주로 사용되어온 Fortran 으로부터 C언어로 넘어가면서, C언어가 처리할 수 있는 수의 범위가 중요했던 때가 있었다. 90년대부터 C언어가 대중화되면서, 대부분의 C언어 관련 서적들은 C언어에서 사용하는 char, int, float, double 과 같은 자료형들을 먼저 다루었고, 90년대 이후로 8, 16, 32, 64 bits 컴퓨터들이 생겨나면서, 각 컴퓨터들이 기본적으로 몇 bits까지 처리하는지, 처리할 수 있는 숫자의 범위는 얼마나 되..

SW 설계/파이썬 2021.10.17

파이썬 기초: 변수

변수 변수 (Variable) 란 데이터; 혹은 값을 저장하는 공간이다. 즉, 컴퓨터가 프로그램에서 사용하는 데이터를 기억하는 곳이고, 이는 컴퓨터 메모리에 저장된다. 컴퓨터에서 실행되는 모든 프로그램들은 실행될때 실행될 코드와 데이터들이, 별도의 코드 실행 영역과 코드 실행에 필요한 데이터 영역에 올라오게 된다 (load). 예를 들어, 아래 그림과 같이 우리 눈 앞에 멋진 자동차가 있어서, 그 상황을 기억해서 친구에게 얘기하게 될 경우를 생각해보자. 우리는 그 자동차를 눈으로 보고, 우리 뇌 속에 자동차 모양, 색깔, 번호판, 메이커 등을 기억하게 된다. 이후 친구를 만나면, 뇌 속에 기억된 내용을 가지고 그 자동차에 대해 친구에게 말할 수 있게 된다. 자동차를 말하기 위해 우리가 뇌의 한 공간에 이..

SW 설계/파이썬 2021.10.17