최근 글

more

맥북) 특정 폴더로 파일 추가하면 해당 파일 이름을 규칙에 맞게 자동 변경

따로 개인 블로그를 만들면서 생긴 필요성인데, 게시글 소스 파일 이름을 작성한 날짜(=현재날짜)를 yymmdd 형식으로 사용하고 있었다.노션에 글을 작성하고 export 한 파일을 글감 소스 폴더에 넣어주고 현재 날짜고 이름을 변경하는 작업을 수동으로 해주고 있었는데, 이게 은근히 번거롭다.특히 현재 날짜로 파일 이름을 변경하는 게 귀찮아서 자동화할 수 있을까 찾아보았다.맥북에서 제공하는 automator 기능을 이용하면 쉽게 구현할 수 있었다. (나는 삽질하느라 쉽지 않았지만..) 1. Automator 실행⌘ + Space → “Automator” 검색 후 실행 2. 문서 유형 선택폴더 적용 스크립트를 선택해서 새로운 작업을 만들 것이다.참고로 작업흐름은 폴더를 계속 감시하고 있는 게 아닌,..

프로그래밍 2025.05.08 0

맥북 자동 음소거 기능 만들면서 발생했던 문제 해결 과정

맥북에서 와이파이 연결 시 음소거가 되지만, 이어폰이 연결되었을 때는 예외처리가 되는 기능을 만들었다.이 기능을 추가하면서 겪은 문제가 있었는데 문제를 해결하는 과정에서 알게 된 것들이 있어 정리한다. *과정을 담은 글:맥북에서 특정 와이파이 연결 시 자동 볼륨 조절 스크립트(+이어폰 연결 시엔 예외처리) [문제 발견]CURRENT_OUTPUT 을 가져오는 부분을 처음에는 아래처럼 썼었다.CURRENT_OUTPUT=$(SwitchAudioSource -c) 그런데 테스트를 해보니 이어폰을 꼈는데도 음소거가 되어버렸다.스크립트 파일을 터미널에서 직접 실행해 봤을 때는 정상 동작해서 음소거가 안되었다.혹시 출력 장치 이름을 잘못써서 그런가 싶어서 확인을 위해 아래 코드를 스크립트 파일에 추가해서 터미널에서..

프로그래밍 2025.05.07 0

맥북에서 특정 와이파이 연결 시 자동 볼륨 조절 스크립트(+이어폰 연결 시엔 예외처리)

재택근무 시에는 맥북 음량을 켜놓는데 사무실 출근하면 음소거를 해야 하기 때문에 번거롭다.hammerspoon으로 이를 구현할 수 있다고 듣긴 했는데, 이거 하나 때문에 hammerspoon을 설치하긴 싫어서 버티고 있다가, 스크립트로 자동화해볼까 싶어서 해보기로 했다. [특정 와이파이 연결 시 음소거] 1. 설정하려는 Wi-Fi 이름 확인하기networksetup -getairportnetwork en0 위 명령어로 볼륨 조절이 필요한 Wi-Fi의 이름을 확인한다.Wi-Fi 이름을 알고 있다면 스크립트에 직접 적으면 되지만, 내가 설정하려는 Wi-Fi는 이름이 길어서 직접 치기 번거로워 명령어로 확인해 주었다.Current Wi-Fi Network: your-wifi-name 위처럼 your-wif..

프로그래밍 2025.04.24 0

고도 엔진

more

고도 엔진 슈팅게임 #7: 사운드&이펙트

[사운드]1. 사격 & 엔진사격과 엔진 사운드를 추가해 보자.Player에 AudioStreamPlayer 노드를 2개 추가하고 각각 LaserSound, EngineSound로 바꾼다. 먼저 사격 사운드를 위해 shoot()에 다음 코드를 추가한다.$LaserSound.play() 만약 소리가 너무 크거나 작다고 느껴지면 Volumne dB 에서 조절할 수 있다. 다음으로 엔진 사운드는 thrust 입력을 받고 있을 때만 재생되어야 하며, 입력을 누르고 있는 동안은 계속 재생되어야 한다.get_input()에 EngineSound를 조건부로 재생하고 멈추는 코드를 추가한다.if Input.is_action_pressed("thrust"): thrust = transform.x * engine_po..

토이프로젝트 2025.01.08 0

고도 엔진 슈팅게임 #6: 플레이어 보호막 기능

[플레이어 보호막]적이나 바위에 부딪혔을 때 혹은 적의 총알에 맞을 때 보호막이 작동해서 바로 목숨을 잃지 않도록 하는 기능을 추가할 것이다.  다음 코드를 player.gd 에 추가한다.signal shield_changed@export var max_shield = 100.0@export var shield_regen = 5.0var shield = 0: set = set_shieldfunc set_shield(value): value = min(value, max_shield) shield = value shield_changed.emit(shield / max_shield) if shield  코드에서 shield_changed 시그널을 보낼 때 shield/max_shield 로 보내는데, HU..

토이프로젝트 2024.12.20 0

고도 엔진 슈팅게임 #5: 적

[일시 정지]적 씬을 만들기에 앞서 '일시 정지' 기능을 추가해 보자. 고도에서 일시 정지는 SceneTree의 함수이며, paused 속성을 사용해 설정할 수 있다.SceneTree 가 일시정지되면 다음 3가지 일이 발생한다.물리 스레드 실행 중지_process()와 _physics_process()가 어떤 노드에서도 호출되지 않음_input()과 _input_event() 메서드가 입력이 있어도 호출되지 않음일시 정지가 트리거 되면 모든 노드가 개발자가 설정한 대로 반응한다.이는 [인스펙터] 창의 하단에 있는 Process - Mode 속성을 통해 설정할 수 있다.선택할 수 있는 옵션은 다음과 같다.Inherit: 해당 노드가 부모와 동일한 모드를 사용Pausable: 씬 트리가 일시 정지되면 해당 ..

토이프로젝트 2024.12.17 0

인기 글

[CSS] 말줄임(...)표: 한줄 또는 여러줄 말줄임 표시

아래처럼 말줄임표를 표시하는 방법을 알아보자. 1. 한 줄일 때 말줄임표 말줄임표를 적용해야 하는 텍스트가 한 줄인 경우는 아래처럼 css를 작성한다. div { width: 200px; /* 오버되면 말줄임 적용할 최대 넓이 */ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } 결과 2. 여러 줄일 때 말줄임표 말줄임표를 적용해야 하는 텍스트가 한 줄인 이상인 경우는 아래처럼 css를 작성한다. div { width: 200px; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; /* 2줄 넘어가면 말줄임 */ -webkit-b..

WEB 2023.03.30 0
[React/CSS] 리액트 줄 바꿈: 자바스크립트 줄 바꿈(\n) 안됨

문제 상황 문자열을 줄바꿈을 해주고 싶을때가 있다. 문자열 자체에 정규식 개행문자를 추가했지만 JSX 안에서 보여줄 때, 줄바꿈이 먹히지 않는다. const str = '줄바꿈\n테스트'; 줄바꿈 html 태그인 을 넣어도 태그가 문자 그대로 출력된다. 해결방법 JSX안에서는 개행문자 \n 이 먹히지 않아서 일어나는 문제이다. 이럴때는 CSS에서 아래처럼 설정해준다. white-space: pre-line; * 참고로 여기서 줄바꿈 뿐 아니라 들여쓰기도 필요하다면 아래 옵션으로 설정해준다. white-space: pre-wrap; 공식 문서: https://developer.mozilla.org/en-US/docs/Web/CSS/white-space white-space - CSS: Cascading S..

React 2022.11.16 0
고도 엔진으로 게임 만들기 #1: 플레이어 씬

[미리보기]이번 편에서 할 것: 플레이어 애니메이션과 움직임 구현    [환경 세팅] https://godotengine.org/ 에서 최신 버전 고도를 다운로드한다.* 스팀에서도 설치가능 (godot 로 검색 후 설치)   [프로젝트 생성하기]godot 를 실행하고 [+새로 만들기] 버튼으로 프로젝트를 생성한다.* 새로 만들 프로젝트 이름을 적어주고 프로젝트 이름 인풋 옆에 [폴더 만들기] 로 폴더를 먼저 만들어줘야 한다.    그 후 프로젝트 설정을 하면 되는데 앱용으로 게임을 만들것이기 때문에 세로 뷰로 창을 설정한다. 세로로 게임화면 설정하기1. [프로젝트 설정]으로 들어간다.  [창] 탭을 선택하고 아래 설정을 해준다.뷰포트 너비 480 / 높이 720‘스트레치' 에서 ‘모드'를 canvas_i..

토이프로젝트 2024.08.31 1
[MSSQL] where절에 if문 같은 조건 사용하기

프로시저에서 데이터 조회 쿼리를 짤 때 where절에서 파라미터 값에 따라 다른 조건을 넣어줘야 하는 경우가 생겼다. sql실행문을 string변수에 담아 실행하는 방법도 있지만 이미 짜 놓은 쿼리가 있어서 전부 string형으로 변경하려면 시간이 꽤 소요될 것 같았다. create table #temp_table ( fruit varchar(10), quantity int ) insert into #temp_table values('apple',2) insert into #temp_table values('pear',0) insert into #temp_table values('banana',3) insert into #temp_table values('strawberry',0) insert into ..

MSSQL 2021.05.21 0