IT/Software 2025. 1. 6.
VS Code - Markdown Preview 폰트 변경
너무 미리보기 화면이 별로라, 그냥 폰트만 변경해도 볼만 하겠다 해서 변경해봄. VS code 에서 F1 혹은 Ctrl+Shift+P 눌러서 Command Palette 를 실행시키고, Markdown Preview Enhanced: Customize CSS (Global) 메뉴를 찾아서 클릭한다. 그럼 CSS를 수정할 수 있도록 나오고, 그냥 보통 아는 CSS 로 폰트를 지정하면 된다. CSS 파일은 아래 블로그 글에서 그대로 가져와서 넣었더니 이뻐지네 그 글을 참고하시길 vscode 마크다운 프리뷰 테마 커스터마이징 하기Markdown Preview Enhanced라는 확장을 사용하면 테마를 커스터마이징할 수 있습니다.velog.io 머 간단하게 아래 정도만 해줘도 볼만하다. 보통 한글 때문에 보..
IT/Software 2024. 11. 26.
리그레션 테스트 - Regression test 의미
리그레션이라는 단어가 들려서 조사해본다. 그냥 이전 테스트 작업을 다시 하면서 꼭 리그레션 테스트라고 얘기들 하는 것 같아서 자세한 의미를 찾아봤다. 퇴행 퇴보의 의미는 아닌것이겠지...당연히반대말은 progression 이네 ^^; ‘리그레션 테스트’를 정의소프트웨어의 개선(Progression) 을 보증하기 위해서는 테스트 대상이 ‘퇴보(Regression) 하지 않음’ 을 확인 할 필요가 있고, 그 목적에 따라 수행하는 테스트가 바로 리그레션 테스트 입니다. 리그레션 여부를 점검하는것이죠!https://kyhwan91.medium.com/regression-test%EB%8A%94-%EC%99%9C-regression-%EC%9D%B4%EC%A7%80-%ED%9A%8C%EA%B7%80-%ED%87%..
IT/Software 2024. 11. 22.
Makefile - 쉘 조건문 내에서 make 다른 타겟 호출 방법
쉘 조건문 내에서 $(if $(findstring gzip,$(MAKECMDGOALS)),gzip_step)처럼 다른 타겟을 호출하는 것은 직접적으로는 불가능합니다. 쉘 조건문([ -n "" ])은 Makefile의 실행 단계에서 동작하며, 이 단계에서는 Makefile 자체의 타겟 호출(예: make target)을 수행할 수 없습니다. 하지만 우회 방법을 통해 쉘 조건문을 사용해 다른 타겟을 호출하는 효과를 낼 수 있습니다.우회 방법 1: $(MAKE)를 사용한 재귀 호출$(MAKE) 변수는 현재 실행 중인 make 명령을 나타냅니다. 이를 활용해 쉘 조건문 내부에서 다른 타겟을 호출할 수 있습니다.예제cdc_quick: @echo "Running cdc_quick..." @[ "$(fin..
IT/Software 2024. 11. 22.
Makefile - -@[ -n "$(wildcard reports/*)" ]의 상세 설명
이 코드는 Makefile에서 디렉토리 내 파일이 존재하는지 확인하기 위해 사용되는 구문입니다. 이를 세부적으로 나누어 설명하겠습니다.1. 구문 전체-@[ -n "$(wildcard reports/*)" ]구성 요소:-@: -: 명령어 실행 중 오류가 발생해도 Makefile 실행을 중단하지 않도록 설정.@: 해당 명령어를 터미널에 출력하지 않음.[ -n "$(wildcard reports/*)" ]:[와 ]: 조건식을 작성하는 데 사용되는 POSIX 표준 구문.-n: 문자열이 비어 있지 않음을 확인하는 테스트 옵션.$(wildcard reports/*): reports/ 디렉토리에서 파일 목록을 가져오는 Makefile 함수.2. $(wildcard reports/*)설명:Makefile의 wildca..
IT/Software 2024. 11. 22.
Makefile - `gzip`을 유연하게 다루는 방법: `@`와 `-` 옵션의 역할
Makefile은 빌드 자동화를 위한 강력한 도구이며, gzip 같은 명령을 포함할 때도 유용하게 사용할 수 있습니다. 하지만 명령어 실행 중 오류가 발생하거나, 실행 로그를 깔끔하게 관리해야 할 때 어떻게 처리해야 할까요? 이 글에서는 Makefile에서 @와 - 옵션을 활용해 gzip 명령을 유연하고 깔끔하게 다루는 방법을 소개합니다.1. gzip 명령어와 Makefile 기본 구성아래는 Makefile에서 특정 디렉토리(reports와 logs)의 파일을 압축하는 예제입니다:gzip_step: @echo "Running gzip_step..." -@\gzip -f reports/* -@\gzip -f logs/*이 간단한 코드로 두 가지 작업을 수행합니다:reports와 logs 디..
IT/Software 2024. 11. 22.
Makefile - 예약 및 특수 변수 정리: 효율적인 Makefile 작성 가이드
Makefile은 빌드 자동화를 위한 강력한 도구이며, Makefile 내에서 사용되는 특수 변수(reserved variables)는 빌드 과정을 동적으로 제어하고 유연하게 만듭니다. 이 글에서는 Makefile에서 자주 사용되는 예약 변수와 특수 변수를 정리하고, 각 변수의 역할과 활용 예제를 제공합니다.예약 변수 총정리변수 이름설명예제$(MAKECMDGOALS)실행 중인 타겟 목록cdc_quick gzip$@현재 타겟 이름gcc -o $@$첫 번째 의존성gcc -c $$^모든 의존성 목록gcc $^ -o program$?수정된 의존성 목록gcc -c $? -o $@$*타겟 이름에서 확장자 제거file.c -> file$(MAKE)현재 Make 명령어$(MAKE) -C subdir$(CURDIR)현재..
IT/Software 2024. 11. 22.
Makefile - target: $(if $(findstring gzip,$(MAKECMDGOALS)),gzip_step)
cdc_quick: $(if $(findstring gzip,$(MAKECMDGOALS)),gzip_step) 이 코드는 Makefile에서 조건부 의존성을 설정하는 방식입니다. 이를 통해 make cdc_quick 명령어가 특정 키워드(gzip)를 포함하는 경우에만 추가적인 의존 타겟(gzip_step)을 실행하도록 만듭니다.1. 구성 요소와 역할1.1 $(MAKECMDGOALS)$(MAKECMDGOALS)는 Make에서 현재 실행 중인 명령어의 타겟 목록을 의미합니다.예: make cdc_quick gzip을 실행하면 $(MAKECMDGOALS)는 cdc_quick gzip 값을 가집니다.예: make cdc_quick만 실행하면 $(MAKECMDGOALS)는 cdc_quick 값만 가집니다.1.2 ..
IT/Software 2024. 11. 22.
Makefile 내에 .PHONY 의미
.PHONY는 가상 타겟(Phony Target)을 선언하기 위해 사용하는 키워드입니다. 이름의 유래와 사용하는 이유를 아래에 설명하겠습니다.1. .PHONY의 의미와 유래"Phony"라는 단어는 영어로 "가짜의" 또는 "허구의"라는 뜻을 가지고 있습니다.Makefile에서 .PHONY는 실제로 존재하지 않는 가상 타겟을 의미하며, 파일 시스템의 상태와 관계없이 항상 실행되도록 만듭니다.이 이름은 make 도구가 초기 설계될 때부터 사용되었으며, 의미를 직관적으로 전달하기 위해 선택된 것으로 보입니다.2. .PHONY가 필요한 이유Makefile은 파일 기반 빌드 시스템으로 설계되었습니다. 이는 타겟 이름과 동일한 파일이 있으면 해당 타겟이 "최신 상태(up-to-date)"라고 간주되고, 다시 실행하지..
IT/Software 2024. 6. 18.
Marp for VS Code - 커스텀 테마 경로 설정
테마를 만들어도 어디를 경로를 넣어야 하는지 몰라서 못쓴다. 키워드는 VSCode 의 Workspace 설정을 건드려야 한다는 것이었다. Hit F1 and run "Preferences: Open Workspace Settings" 원본 글 : https://github.com/orgs/marp-team/discussions/115#discussioncomment-759004 How to create a theme? · marp-team · Discussion #115I want to create a theme, but after I read the documentation, it's still not clear how to create a theme and use it. Can you give me ..
IT/Software 2024. 6. 4.
Makefile 의 대입 연산자 - ?= vs =
Makefile에서 ?= 연산자와 = 연산자는 다르게 동작합니다.= 연산자단순 할당 연산자로, 변수를 정의하고 값을 할당합니다. 예를 들어:SIM = icarus이 코드는 항상 SIM 변수를 icarus로 설정합니다.?= 연산자조건부 할당 연산자로, 변수가 이미 정의되지 않았을 때만 값을 할당합니다. 예를 들어:SIM ?= icarus이 코드는 SIM 변수가 아직 정의되지 않았을 때에만 icarus 값을 할당합니다. 만약 SIM 변수가 이미 다른 값으로 설정되어 있다면, ?= 연산자는 아무런 동작도 하지 않습니다.예시다음 예시를 통해 =와 ?=의 차이를 명확히 이해할 수 있습니다:# 예시 Makefile# SIM이 이미 정의되어 있다면, ?=는 아무 동작도 하지 않습니다.SIM ?= icarusall: ..
IT/Software 2024. 5. 14.
엑셀에서 특정 값인 셀 배경 자동으로 바꾸기
엑셀에서 특정 값인 셀 배경 자동으로 바꾸기 아래 그림을 보면 이해가 쏙엑셀에서 0인 셀의 배경색을 변경하는 방법은 다음과 같습니다:엑셀 열기 및 데이터 로드.배경색을 변경하고 싶은 셀 범위 선택.홈 탭으로 이동.조건부 서식을 클릭.새 규칙을 선택.새 서식 규칙 대화 상자에서 "수식을 사용하여 서식을 지정할 셀 결정"을 선택.수식을 사용하여 서식을 지정할 셀 결정 박스에 다음 수식을 입력: =A1=0 (선택한 범위가 A1 셀에서 시작한다고 가정).서식 버튼을 클릭하여 원하는 서식을 선택 (예: 채우기 색).확인을 클릭하여 서식 규칙을 적용.이 과정을 통해 선택한 범위 내에서 0을 포함한 모든 셀의 배경색이 변경됩니다.사용자가 제공한 데이터를 이용해 Python 코드를 통해 직접 서식을 적용하고 엑셀 파일..
IT/Software 2024. 4. 2.
VI 팁 - 특정 문자열 포함 라인 전체 없애기
vi나 vim 내부에서 문자열을 찾아 삭제하는 명령어들을 사용할 수 있는데, 이는 sed 명령어를 사용하는 것과는 조금 다른 방식입니다. vi나 vim에서는 파일을 직접 수정하면서 볼 수 있는 장점이 있습니다. 단일 줄에서 문자열 삭제하기 vi나 vim에서 특정 문자열을 포함하는 모든 줄을 삭제하려면, 다음과 같은 명령을 사용할 수 있습니다: :g/특정문자열/d이 명령은 "특정문자열"을 포함하는 모든 줄을 찾아서 삭제합니다. g는 전역(global) 검색을 의미하며, /d는 삭제(delete)를 의미합니다. 줄바꿈을 포함하는 문자열 삭제하기 vi나 vim에서 줄바꿈을 포함하는 문자열을 삭제하는 것은 직접적으로는 지원되지 않습니다. 하지만 줄바꿈 문자를 직접 찾아서 다루는 대신, 연속된 줄들을 하나의 줄로..
IT/Software 2024. 3. 29.
VI 기능 - 문자열에서 바로 파일 열기 - gf
Vi나 Vim에서 특정 문자열 위치에 가서 그 문자열과 같은 이름을 가진 파일을 바로 여는 기능은 몇 가지 단계를 거쳐서 사용할 수 있습니다. 다음은 기본적인 방법입니다: 문자열 검색: 먼저, 파일 내에서 찾고 싶은 특정 문자열을 검색해야 합니다. /문자열 명령어를 사용해서 검색할 수 있습니다. 여기서 문자열은 찾고자 하는 문자열입니다. 커서 이동: 검색된 문자열 위치로 커서가 이동하면, 그 문자열이 포함된 라인에 커서가 위치하게 됩니다. 문자열과 같은 이름의 파일 열기: 이제 그 문자열과 동일한 이름을 가진 파일을 열기 위해, gf (go to file) 명령을 사용할 수 있습니다. 이 명령은 현재 커서 위치의 단어나 문자열을 파일 이름으로 간주하고 그 파일을 엽니다. 단, 이 파일이 현재 작업 중인 ..