ALL

728x90
반응형
· Projects/Dev
파이썬 파일(.py) 파이썬과 AI를 활용한 윈도우용 리네이머 만들기파이썬과 AI를 활용한 윈도우용 리네이머 만들기회사나 집에서 자유롭게 사용할 수 있는 리네이머를 만들어보려고 합니다. 주로 업무에 필요한 부분은1. 포토샵으로 레이어를 개별 PNG파일로 내gameuiux.tistory.com 전 편에서 파이썬과 AI를 사용해서 윈도우용 리네이머를 만들었다.이 파일을 다른 PC에서도 사용할 수 있게 .py 파일이 아닌.exe 파일로 변환하고자 한다. 파이썬 스크립트를 실행 파일로 변환하는 방법은 여러 가지가 있으며,가장 일반적으로 사용되는 방법은 PyInstaller와 cx_Freeze와 같은 패키지를 사용하는 것이다.이 방법들을 통해 파이썬 코드를 .exe와 같은 실행 파일로 변환할 수 있다. PyIns..
· Graphic/UIUX
시각 밸런싱(Visual Balancing)시각 밸런싱, 시각 보정이라고도 한다. 디자인에서 시각적 요소들을 균형 있게 배치하여 전체적인 조화와 안정감을 주는 것을 말한다.시각적인 밸런스는 사용자가 디자인을 자연스럽고 직관적으로 받아들이게 하는 중요한 원칙 중 하나이다.이 과정에서 디자이너는 색상, 크기, 형태, 여백, 대비 등의 요소를 고려하여 디자인의 시각적 흐름을 조정한다. 사람의 눈은 정확하지 않아서 정확한 수치의 완벽한 그림과 실제 눈으로 봤을 때 완벽한 그림이 다르다.그래서 시각적으로 안정된, 그리고 기대하고 의도된 결과물을 내기 위해 보정을 사용하는 사례가 있다.   예시구글 로고왼쪽 구글의 로고는 원형의 프레임 안에 균등하지 않은 비율로 배치된 색상 영역으로 구성되어 있다.비율이 맞지 않으..
· Programming
네이밍 컨벤션(naming convention)소프트웨어 개발에서 변수, 함수, 클래스, 파일 등의 이름을 정하는 규칙이나 관례를 의미합니다.네이밍 컨벤션은 코드의 가독성, 유지보수성, 일관성을 높이기 위해 사용되며,팀 내 또는 프로젝트 내에서 개발자들 간의 협업을 원활하게 할 수 있도록 도와줍니다. 대표적인 네이밍 컨벤션1. 카멜 표기법 (Camel Case)소문자로 시작하고, 각 단어의 첫 글자는 대문자로 표기예: firstName, getUserInfo2. 파스칼 표기법 (Pascal Case)모든 단어의 첫 글자를 대문자로 표기예: FirstName, GetUserInfo3. 스네이크 표기법 (Snake Case)모든 단어를 소문자로 작성하며, 단어 사이를 언더스코어(_)로 구분예: first_n..
스페이스바(공백) 생기는 문제네이버 카페 대문 이미지를 파일첨부로 추가하거나 게시글을 복사해서 추가하게되는 경우이미지 사이에 간격이 생기는 문제가 있는데 수정 방법을 찾아보니 이렇게 해결할 수 있었다. 연속되는 이미지를 사용할 때 이렇게 간격이 생기면 안되기 때문에 수정이 필요했다.   원인 파악 하기이미지 사이에 여백이 생기는 이유기본적으로 HTML의 img 요소는 인라인 요소로 간주되기 때문에브라우저는 이미지 사이에 작은 간격을 만들 수 있다고 한다.   수정 방법방법 1: display: block 사용방법 2: float 사용방법 3: font-size를 0으로 설정 gpt한테 원인과 방법을 물어보고 3번의 방법을 사용하였다. 카페 대문 에디터에서 html을 선택하고 div style="font-..
· Projects/Dev
파이썬과 AI를 활용한 윈도우용 리네이머 만들기회사나 집에서 자유롭게 사용할 수 있는 리네이머를 만들어보려고 합니다. 주로 업무에 필요한 부분은1. 포토샵으로 레이어를 개별 PNG파일로 내보낸 다음2. 파일명 앞에 붙은 불필요한 이름(_0000_)들을 수동으로 수정해줄때 리네이머가 필요한데챗GPT와 파이썬을 활용해서 간단하게 만들어볼 수 있었습니다.    파이썬 윈도우 리네이머 GUI 구현사용자가 GUI를 통해 디렉토리를 선택하고, 파일 이름에 대한 규칙을 정한 뒤, 미리보기를 통해 확인한 후 파일 이름을 일괄 변경할 수 있도록 구현한 프로그램을 GPT로 생성했습니다. Tkinter를 사용하여 GUI를 생성하고, 사용자가 입력한 규칙에 따라 파일 이름을 변경하는 프로그램이 간단히 생성되었습니다.impor..
ParticleEffectForUGUIUnity UGUI에 파티클 효과를 추가하기 위한 Unity 플러그인기본적으로 3D 공간에서 작동하는 Unity의 파티클 시스템을 2D UI 환경에서도 사용할 수 있게 해준다.   주요 기능UI와 통합파티클 효과를 UI 요소 위에 렌더링할 수 있다. 이를 통해 게임 내 UI에 다양한 시각적 효과를 추가할 수 있다.2D 공간일반적인 파티클 시스템은 3D 공간을 기반으로 하지만, 이 플러그인은 2D 공간에서도 효과적으로 파티클을 사용할 수 있게 해준다. 따라서 UI 레이아웃을 유지하면서 시각적 효과를 추가할 수 있다.마스크 지원마스킹 기능을 지원하여 파티클이 특정 UI 영역에서만 보이도록 제어할 수 있다.이를 통해 UI의 특정 부분에서만 파티클 효과를 보여줄 수 있습니다..
파이썬의 bin 함수정수를 2진수 문자열로 변환해주는 함수bin(number)이 함수는 입력된 정수를 2진수 문자열로 변환하며,결과 문자열은 0b로 시작한다. 0b는 해당 문자열이 2진수를 나타낸다는 것을 의미함.   예제# 십진수 10을 2진수로 변환decimal_number = 10binary_representation = bin(decimal_number)print(f"{decimal_number} in binary is {binary_representation}")결과10 in binary is 0b10100b를 제외하고 순수한 2진수 문자열만 필요하다면, 슬라이싱을 통해 0b를 제거할 수 있음.# 십진수 10을 2진수로 변환하고 0b 제거decimal_number = 10binary_repres..
10 = 1010(2)10 // 2 = 5 (나머지 0)5 // 2 = 2 (나머지 1)2 // 2 = 1 (나머지 0)1 // 2 = 0 (나머지 1)나머지를 거꾸로 읽으면 1010   방법 1 - 파이썬 bin 함수 사용decimal_number = 10binary_representation = bin(decimal_number)[2:]print(f"{decimal_number} in binary is {binary_representation}")   방법 2 - 나눗셈과 나머지def decimal_to_binary(n): binary_num = [] while n > 0: binary_num.append(n % 2) n = n // 2 binary_num.r..
· Programming
핫픽스(Hotfix)와 아이픽스(iFix)소프트웨어 유지보수와 관련된 용어 핫픽스 (Hotfix)목적: 긴급한 문제를 해결하기 위해 소프트웨어에 빠르게 적용되는 수정.특징- 특정 문제에 대한 즉각적인 해결책 제공.- 소프트웨어의 전체 업데이트나 새 버전 출시를 기다리지 않고도 배포 가능.- 일반적으로 중대한 버그 수정이나 보안 취약점 패치에 사용.- 배포와 테스트가 신속하게 이루어짐. 아이픽스 (iFix)목적: 보다 포괄적인 소프트웨어 수정 및 개선.특징- 여러 문제를 포함할 수 있으며, 새로운 기능이나 향상된 기능도 포함될 수 있음.- 테스트가 더 광범위하게 수행되며, 공식적인 릴리즈 과정에 포함될 수 있음.- 핫픽스보다는 적용 및 배포가 느릴 수 있음.요약핫픽스는 긴급한 문제 해결을 위한 즉각적인 수..
파이썬 모듈 module관련된 함수, 클래스, 변수 등을 하나의 파일로 묶은 것이다.이를 통해 코드를 재사용하고 관리하기 쉽게 할 수 있다.   모듈 만들기모듈 파일 생성모듈로 사용할 파일을 만든다. (예를 들어 my_module.py라는 파일을 생성)# my_module.pydef greet(name): return f"Hello, {name}!"class Person: def __init__(self, name): self.name = name def introduce(self): return f"My name is {self.name}."모듈 불러오기만든 모듈을 다른 파일에서 사용할 수 있다. (예를 들어, main.py에서 my_module.py를 불러와 ..
부정 연산자 !=두 피연산자가 같지 않음을 검사하는 데 사용#include int main() { int a = 5; int b = 1; // != 연산자의 결과를 출력 int result = (a != b); printf("결과: %d\n", result); // a와 b가 같지 않으므로 1이 출력 return 0;}#include int main() { int a = 1; int b = 1; // != 연산자의 결과를 출력 int result = (a != b); printf("결과: %d\n", result); // a와 b가 같으므로 0이 출력 return 0;}
조건식거짓(false = 0)참(true = 1)#include void main() { int a=1, b=2, c=3, i, j; char d='w'; i = (a >= 2) && (d == 'w'); j = (b  첫 번째 조건식i = (a >= 2) && (d == 'w');a >= 2는 1 >= 2로 거짓(false = 0)d == 'w'는 참(true = 1)논리 AND 연산자 &&두 피연산자가 모두 참일 때만 참이므로false && true는 false 따라서, i = 0  두 번째 조건식j = (b b d == 'w'는 참(true = 1)논리 OR 연산자 ||두 피연산자 중 하나라도 참이면 참이므로false || true는 true따라서, j = 1따라서, 프로그램의..
do-while먼저 루프 본체를 실행하고,그 다음에 조건을 검사하여 조건이 참이면 다시 루프를 반복한다. 조건이 거짓이 될 때까지 이 과정을 반복한다.즉, 최소한 한 번은 루프 본체가 실행된다. #include int main() { int n = 0, sum = 0; do { n++; sum += n; } while (n n과 sum을 각각 0으로 초기화do-while 루프 시작n이 1씩 증가(n++), 증가된 n 값을 sum에 더한다(sum += n).n이 5보다 작을 동안 루프가 계속된다.각 반복에서 n과 sum의 값첫 번째 반복: n = 1, sum = 1두 번째 반복: n = 2, sum = 1 + 2 = 3세 번째 반복: n = 3, sum = 3 + ..
중첩된 반복문 forint a, b, sum=0;for(a=0; a1; b--) sum+=1;   외부 루프for(a=0; aa = 0부터 a = 10까지 11번 실행   내부 루프    for(b=5; b>1; b--)b = 5부터 b > 1일 때까지 5, 4, 3, 2로 4번 실행 따라서, 내부 루프는 외부 루프가 한 번 실행될 때마다 4번 실행   전체 sum의 값 계산각 반복마다 sum이 1씩 증가하므로 최종 sum의 값은 44외부 루프의 실행 횟수: 11번내부 루프의 실행 횟수 (외부 루프 1회당): 4번따라서, 전체 반복 횟수는 11 * 4 = 44번   만약 외부 루프의 조건이 a 외부 루프는 a = 0부터 a = 9까지 총 10번 실행 전체 sum의 값 계산외부 루프의 실행 횟..
(x > y) ? x : y;이 형식은 C 언어에서 삼항 연산자 (ternary operator) 또는 조건 연산자 (conditional operator)라고 불린다.이 구문은 다음과 같은 형태를 가지고 있다.condition ? expr1 : expr2;condition: 평가될 조건, 이 조건이 참이면 expr1 반환expr1: 조건이 참일 때 실행되는 표현식expr2: 조건이 거짓일 때 실행되는 표현식예를 들어,(x > y) ? x : y;는 x가 y보다 크면 x를 반환하고, 그렇지 않으면 y를 반환이 구문은 if-else 문을 간단하게 표현할 수 있어서 코드가 더 간결해지는 장점이 있다.   예시#include int max(int x, int y) { return (x > y) ? x :..
조건문프로그램의 흐름을 제어하는 데 사용주로 사용되는 조건문 if, else if, else, switch if 문if 문은 주어진 조건이 참인지 거짓인지에 따라 특정 코드 블록을 실행 else if 문else if 문은 앞선 if 문이 거짓일 때, 다른 조건을 테스트 else 문else 문은 모든 if 및 else if 조건이 거짓일 때 실행되는 코드 블록 switch 문switch 문은 하나의 변수 값에 따라 여러 코드 블록 중 하나를 실행할 때 사용각 코드 블록은 case 라벨로 구분switch (변수) { case 값1: // 변수 값이 값1일 때 실행되는 코드 break; case 값2: // 변수 값이 값2일 때 실행되는 코드 bre..
복합 대입 연산자C 언어에서 += 연산자는 복합 대입 연산자 중 하나이다.변수에 값을 더하고그 결과를 다시 변수에 저장하는 기능좀 더 자세히 설명하면,x += y는 x = x + y와 같은 의미이 연산자를 사용하면 코드를 더 간결하고 읽기 쉽게 만들 수 있다.   예시#include int main() { int x = 5; int y = 3; x += y; // x = x + y 와 동일 printf("x의 값: %d\n", x); // 결과는 8 return 0;}   특징간결함: x += y는 x = x + y보다 짧고 간결효율성: 컴파일러 수준에서 최적화가 이루어질 수 있다.다양한 자료형 지원: 정수형, 실수형 등 여러 자료형에서 사용할 수 있다.   += 외 다른 복합..
증감 연산자변수의 값을 1씩 증가시키거나 감소시키는 연산자이 연산자는 전위형(prefix)과 후위형(postfix)으로 나눌 수 있다.   전위형 연산자 (prefix)++a 또는 --a변수의 값을 먼저 증가시키거나 감소시킨 후에 해당 값을 사용한다.   후위형 연산자 (postfix)a++ 또는 a--변수의 현재 값을 사용한 후에 값을 증가시키거나 감소시킨다.int a = 2, b = 3, c = 4;a = b++ + --c;// a = 3++ + --4; 여기서 ++는 연산 후 증가 --는 감소 후 연산// a = 6// b = 4// c = 3printf("Wn %d %d %d", a, b, c);b = --a + c++;printf("Wn %d %d %d", a, b, c);// b = --6 +..
파이썬에서 메소드(method)는 클래스(class)에 정의된 함수(function) 메소드는 특정 객체(object)에 대한 동작을 정의하며,객체의 상태를 조작하거나 정보를 반환하는 등의 작업을 수행메소드는 객체 지향 프로그래밍(OOP)에서 중요한 개념   메소드의 특징1. 클래스 내부에 정의메소드는 클래스 내부에 정의되며, 클래스의 인스턴스(객체)와 관련된 작업을 수행2. 첫 번째 매개변수로 self모든 인스턴스 메소드는 첫 번째 매개변수로 self를 가진다.self는 해당 메소드가 호출된 인스턴스를 참조한다. 3. 인스턴스 메소드, 클래스 메소드, 정적 메소드메소드는 인스턴스 메소드(instance method), 클래스 메소드(class method), 정적 메소드(static method)로 나..
[파이썬] 딕셔너리(dictionary)딕셔너리(dictionary)파이썬 딕셔너리(dictionary)는 키(key)와 값(value) 쌍으로 이루어진 자료 구조 딕셔너리는 키를 통해 값을 빠르게 조회할 수 있으며,키는 고유해야 하고 변경할 수 없는 자료형이gameuiux.tistory.com 딕셔너리를 얕은 복사(shallow copy)한다는 것은 딕셔너리의 구조 자체는 복사하지만,딕셔너리 내부에 있는 객체들은 원래 딕셔너리와 같은 참조를 가지게 된다는 것을 의미한다.   얕은 복사와 깊은 복사의 차이1. 얕은 복사 (Shallow Copy)새로운 딕셔너리가 생성되지만, 원래 딕셔너리에 있는 객체들은 같은 참조를 공유한다.복사된 딕셔너리에서 값을 변경하면 원래 딕셔너리에도 영향을 미친다. 2. 깊은 ..
포인터(pointer)C 언어에서 포인터(pointer)는 메모리 주소를 가리키는 변수포인터는 다른 변수나 메모리 주소의 위치를 저장하고 이를 통해 메모리의 특정 위치에 접근할 수 있다. 포인터는 C 언어에서 매우 중요한 개념으로, 메모리 관리, 배열 처리, 함수 호출 등에서 유용하게 사용된다.   포인터의 주요 개념과 사용법1. 포인터 선언포인터를 선언할 때는 데이터 타입 뒤에 *를 붙인다.int *ptr; // 정수형 포인터 변수 ptr 선언 2. 포인터 초기화포인터는 선언한 후 메모리 주소를 할당받아야 한다.주소 연산자 &를 사용하여 변수의 주소를 얻을 수 있다.int var = 10;int *ptr = &var; // 변수 var의 주소를 포인터 ptr에 할당 3. 포인터 사용포인터를 통해 간접 ..
딕셔너리(dictionary)파이썬 딕셔너리(dictionary)는 키(key)와 값(value) 쌍으로 이루어진 자료 구조 딕셔너리는 키를 통해 값을 빠르게 조회할 수 있으며,키는 고유해야 하고 변경할 수 없는 자료형이어야 한다. 값은 어떤 자료형도 될 수 있다.   딕셔너리 생성 및 기본 사용법딕셔너리 생성 1. 빈 딕셔너리 생성empty_dict = {}# 또는empty_dict = dict()2. 키-값 쌍을 포함한 딕셔너리 생성person = { "name": "Alice", "age": 30, "city": "New York"}  딕셔너리 요소 접근print(person["name"]) # 출력: Aliceprint(person.get("age")) # 출력: 30get 메..
num = 1234def reverse_number(num) : while num != 0: digit = num % 10 num = num // 10 print(digit,end="")reverse_number(num)# 결과 4321 변수 초기화num이라는 변수에 1234를 할당 함수 정의reverse_number라는 함수를 정의이 함수는 하나의 인자 num을 받는다. while 루프num이 0이 아닐 때까지 계속 실행num이 0이 되면 루프 종료 digit = num % 10num의 마지막 자리 숫자를 추출% 연산자는 나머지를 구하는 연산자로, num을 10으로 나눈 나머지가 마지막 자리 숫자가 된다.예를 들어, 처음에는 1234 % 10 = 4 num = num // 10num의..
*argsargs는 파이썬에서 가변 인수를 받을 때 사용되는 관용적인 이름이다.이는 "arguments"의 약어로, 함수에 전달되는 여러 인수를 의미주로 *args와 함께 사용되며, 이를 통해 함수가 가변적인 수의 위치 인수를 받을 수 있다. 관용적 사용 args는 관용적인 이름으로, 코드를 읽는 사람에게 이 변수는 함수에 전달된 여러 인수를 의미한다는 것을 쉽게 이해시킨다. 이는 명명 규칙으로 확립된 것이며, 꼭 args를 사용해야 하는 것은 아니지만, 이를 따르는 것이 가독성 면에서 좋다.def example_function(*args): for arg in args: print(arg)example_function(1, 2, 3) # 출력: 1 2 3 다른 이름 사용 *args는..
파이썬에서 함수의 매개변수(parameter)는 함수가 호출될 때 전달되는 인수(argument)를 받기 위한 변수이다.매개변수는 다양한 방식으로 정의될 수 있으며, 각각의 방식은 함수 호출 시 인수를 다루는 방법에 영향을 미친다.기본 매개변수 (Default Parameters) 기본값을 가지는 매개변수를 정의하면, 함수 호출 시 해당 매개변수를 생략할 수 있다.def greet(name, msg="Hello"): print(f"{msg}, {name}")greet("Alice") # 출력: Hello, Alicegreet("Bob", "Hi") # 출력: Hi, Bob 키워드 매개변수 (Keyword Arguments) 함수를 호출할 때 매개변수 이름을 지정하여 인수를 전달..
지역변수와 전역변수파이썬에서 지역변수와 전역변수는 변수의 범위(scope)에 따라 나뉜다.변수의 범위는 변수가 어디서 접근 가능한지를 결정한다. 전역변수(Global Variable) 전역변수는 함수 외부에서 정의되며, 코드의 모든 범위에서 접근할 수 있는 변수전역변수는 전역 네임스페이스(global namespace)에 속한다.x = 10 # 전역변수def foo(): print(x) # 전역변수에 접근foo() # 출력: 10print(x) # 출력: 10 지역변수(Local Variable) 지역변수는 함수 내부에서 정의되며, 그 함수 내에서만 접근할 수 있는 변수함수가 종료되면 지역변수는 소멸된다.def bar(): y = 20 # 지역변수 print(y)bar() # ..
파이썬에서 return 키워드는 함수에서 값을 반환할 때 사용return 키워드를 사용하면 함수의 실행이 종료되고, 지정한 값을 호출한 곳으로 반환 예제 1: 간단한 함수에서 return 사용def add(a, b): return a + bresult = add(3, 5)print(result) # 출력: 8 예제 2: 조건에 따라 다른 값 반환하기def check_even_or_odd(number): if number % 2 == 0: return "Even" else: return "Odd"print(check_even_or_odd(4)) # 출력: Evenprint(check_even_or_odd(7)) # 출력: Oddcheck_even_or_odd ..
구구단 계산기format() 함수를 사용하여 구구단을 계산하고 표 형식으로 출력하는 파이썬 코드def multiplication_table(n): # 표 헤더 출력 print("구구단 {}단".format(n)) print("-" * 10) # 구구단 계산 및 출력 for i in range(1, 10): result = "{} x {} = {}".format(n, i, n * i) print(result)# 구구단 표시할 단 입력num = int(input("구구단 몇 단을 출력하시겠습니까? "))# 입력받은 단에 해당하는 구구단 계산 및 표 출력multiplication_table(num)구구단 7단----------7 x 1 = 77 x 2..
format() 함수는 문자열을 특정 형식에 맞춰서 포맷하는 파이썬의 내장 함수이 함수를 사용하면 문자열 내에 변수나 값들을 쉽게 삽입하고, 형식을 지정할 수 있다. name = "John"age = 30height = 175.5result = "이름: {}, 나이: {}, 키: {}".format(name, age, height)print(result)위 코드에서는 format() 함수를 사용하여 문자열 내에 변수 name, age, height를 삽입하고 있다.{}는 위치 지정자로, 이 자리에 format() 함수의 인자들이 순서대로 들어간다.format() 함수의 인자로 넣은 변수들이 문자열 내에 순서대로 들어가게 된다. 또한, format() 함수는 형식을 지정할 수 있는데,예를 들어 소수점 이하..
파이썬에서 def 키워드는 함수를 정의하는 데 사용함수를 정의하면 특정 작업을 수행하는 코드를 하나의 단위로 묶어서 반복적으로 사용할 수 있다.def 함수이름(매개변수1, 매개변수2, ...): """ 함수에 대한 설명 (선택 사항) """ 함수 본문 return 반환값 (선택 사항) 예제 1: 매개변수가 없는 함수def 인사(): print("안녕하세요!")# 함수 호출인사() 예제 2: 매개변수가 있는 함수def 인사(이름): print(f"안녕하세요, {이름}님!")# 함수 호출인사("철수")예제 3: 반환값이 있는 함수def 더하기(a, b): return a + b# 함수 호출결과 = 더하기(3, 5)print(결과)예제 4: 기본값을 가지는 매개변수d..
728x90
반응형
gameuiux
'분류 전체보기' 카테고리의 글 목록