Programming

728x90
반응형
· 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-..
파이썬의 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는..
지역변수와 전역변수파이썬에서 지역변수와 전역변수는 변수의 범위(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..
zip 함수파이썬의 zip() 함수는 여러 개의 순회 가능한(iterable) 객체를 받아서각 객체의 요소를 순서대로 튜플 형태로 묶어주는 함수이다. 예를 들어, 두 개의 리스트가 있을 때, zip() 함수를 사용하여 이들을 하나의 튜플로 묶을 수 있다.각 튜플은 각 리스트의 같은 위치에 있는 요소들로 구성 list1 = [1, 2, 3]list2 = ['a', 'b', 'c']result = zip(list1, list2)for item in result: print(item) '''결과(1, 'a')(2, 'b')(3, 'c')'''  zip() 함수는 요소의 개수가 가장 적은 순회 가능한 객체를 기준으로 작동한다.만약, 각 객체의 길이가 다르다면, zip() 함수는 가장 짧은 객체의 길이..
range 함수파이썬의 range 함수는 주어진 범위의 숫자 시퀀스를 생성하는 데 사용주로 for 루프와 함께 사용된다. range(stop)range(start, stop)range(start, stop, step) start는 시작 숫자, stop는 종료 숫자, step는 증감 폭# 기본적인 range 사용 예for i in range(0, 10, 2): print(i) '''결과02468''' 구조를 개선하는데에 도움이 될 수 있음 range 함수의 역방향 사용# 예제: 10부터 1까지 1씩 감소하는 숫자 생성for i in range(10, 0, -1): print(i) '''결과10987654321''' 기타 예제# 0부터 9까지의 숫자 생성print(list(range(1..
예외 처리 위 예제에서 ValueError를 처리하기 위해 try-except 블록을 사용했다. 이렇게 하면 값이 리스트에 없을 때 프로그램이 중단되지 않고 적절한 메시지를 출력할 수 있다.index() 메서드는 지정된 범위 내에 찾고자 하는 값이 없을 때 ValueError를 발생시킨다.
end 매개변수(end="")end 매개변수는 print() 함수가 출력을 마친 후 기본적으로 추가하는 문자열을 지정한다.기본적으로 print() 함수는 출력 후 줄 바꿈 문자('\n')를 추가한다.그러나 end 매개변수를 사용하면 이를 변경할 수 있다.for i in range(1, 11): print(i)'''결과12345678910'''for i in range(1, 11): print(i, end="")# 결과 12345678910  end 매개변수에 다른 문자열을 지정할 수도 있다.예를 들어, 각 숫자 뒤에 공백을 추가하려면 end=" "를 사용할 수 있다.for i in range(1, 11): print(i, end=" ")# 결과 1 2 3 4 5 6 7 8 9 10 이처럼..
시퀀스(Sequence)파이썬에서 시퀀스(Sequence)는 순서가 있는 컬렉션 데이터를 나타내는 자료형으로,여러 요소를 인덱스와 슬라이싱을 통해 접근할 수 있다. 대표적인 시퀀스 자료형 - 리스트(List), 튜플(Tuple), 문자열(String), 레인지(Range)시퀀스는 공통된 여러 특징과 메서드를 가지고 있다.    시퀀스의 주요 특징1. 인덱싱(Indexing)시퀀스의 각 요소는 인덱스를 통해 접근할 수 있다.인덱스는 0부터 시작하며 음수를 사용하면 뒤에서부터 접근할 수 있다.s = "hello"print(s[1]) # 출력: 'e'print(s[-1]) # 출력: 'o' 2. 슬라이싱(Slicing)시퀀스의 부분집합을 추출할 수 있다.s = "hello"print(s[1:4]) # 출력..
728x90
반응형
gameuiux
'Programming' 카테고리의 글 목록