본문 바로가기

분류 전체보기219

format() (문자열 포맷팅 파이썬 함수) 00 개요문자열을 다룰 때 사용되는 format() 함수에 관한 정리01 format() 함수1. 정의Python에서 문자열을 다룰 때 사용됨문자열 안에 {}을 넣어 작성한 후 (예, 'Hello my friend, {}!' ) {} 안에 원하는 값을 집어넣게끔 설정하여 최종 문자열을 추출할 수 있음2. 사용1) 기본 사용법문자열에서 {}을 사용해 특정 위치에 값 삽입하기'Hello, {}님!'.format('Pearl')print(결과)# Hello, Pearl님!2) 위치 기반 포맷팅여러 값을 넣는 경우 여러 {}들 안에 인덱스를 넣어 위치 지정 가능인덱스 번호를 사용 시 특정 위치에 값을 매핑할 수 있어 복잡한 문자열을 구성할 때 유용하게 사용됨 result = 'Name: {0}, Age: {1}.. 2024. 9. 11.
#! 셔뱅이란 (shell) 00 개요shell script 맨 윗줄에 #! 뒤에 경로가 오는 문법에 대한 정리01 Shebang #!이란1. 정의Shebang은 script file의 첫 줄에 등장하는 특별한 문법으로, script 실행 시 어떤 interpretor(해석기)를 사용할지 시스템에 지시하는 역할을 함일반적으로 LINUX와 같은 UNIX기반 운영체제에서 사용됨이 문법은 #!로 시작하며, 그 뒤에 해당 스크립트를 실행할 인터프리터의 경로를 명시2. 문법1) 기본 형식#!/path/to/interpreter설명:#! 이후에 나오는 경로는 script를 실행할 interpretor(예: /bin/bash, /usr/bin/python)의 절대 경로2) /usr/bin/env의 사용#!/usr/bin/env python이 형.. 2024. 9. 10.
고급 이론 용어 정리-동시성, 병렬성, 원자성, 의존성 00 개요운영 체제 관련 고급 이론을 이해하기 위한 기초적인 용어 정리동시성, 병렬성, 원자성, 의존성 (+ 동기화, 교착상태/데드락)정의Concurrency, Parallelism, Atomicity, Dependency (+ Synchronization, Deadlock)이 개념들은 특히 다중 스레드나 병렬 처리가 중요한 컴퓨터 과학에서 핵심적인 개념 참조한 강의: https://www.youtube.com/watch?v=-C4j7DpUtLs&list=PLXvgR_grOs1BQCziQ_MpM877BdBxwbMzA&index=1601 동시성1. 정의여러 사람이 여러 일을 각자 동시에 할 수 있는 상태여러 작업이나 프로세스를 동시에 처리하는 시스템의 능력으로, 엄밀히 말하자면 작업이 동시에 실행되는 것은.. 2024. 9. 7.
DBMS 연결 및 쿼리 처리 방법 (파이썬) 00 개요회사에서 이런 저런 DBMS를 다루다보니 여러가지 오픈소스 RDBMS를 파이썬으로 다루게 되었는데 이에 대해 기본적인 연결 방법 및 쿼리 처리 방법에 대해 정리하고자 함다양한 DBMS에서 Python으로 connection과 cursor를 생성하고 닫는 방법에 대한 정리MySQL, PostgreSQL, SQLite, Oracle(유료), Microsoft SQL Server, Vertica (유료)주요 DBMS마다 사용하는 Python 라이브러리가 다르므로, 각 DBMS별로 필요한 방법을 구체적으로 설명01 MySQL (MySQL Connector/Python)1. 설치pip install --upgrade mysql-connector-python2. 코드 예시import mysql.connec.. 2024. 9. 5.
bitmask (비트마스크) 00 개요회사에서 코드분석 중 비트 연산(bitwise operation)을 사용하여 값의 유효성을 검사함특정 비트 패턴을 검사하는 방식은 컴퓨터 과학 및 시스템 프로그래밍에서 자주 사용됨예) 플래그 값의 유효성 확인, 권한 체크, 또는 상태 플래그의 유효성 검사 등이에 대한 정리!01 비트마스크 (bitmask)란1. 정의이진수(bit)로 구성된 값을 사용하여 특정 비트들을 선택 또는 수정하는 기법주로 비트 단위의 논리 연산(AND, OR, XOR, NOT)을 통해 특정 플래그나 설정을 제어하는 데 사용됨2. 주요 개념1) 비트 연산연산 종류설명AND 연산 (&)두 비트가 모두 1일 때만 1을 반환특정 비트를 선택 또는 확인 시 사용OR 연산 (|)두 비트 중 하나라도 1이면 1을 반환특정 비트를 설정.. 2024. 9. 5.
cursor.iterate() (파이썬 메서드) 00 개요Python에서 DB와 작업 시, cursor 객체는 SQL 쿼리를 실행하고 데이터를 가져오는 중요한 도구임iterate() 메서드는 이러한 cursor 객체에서 사용되는 함수 중 하나로, DB 쿼리 결과를 한 행씩 순차적으로 가져올 수 있도록 도와줌01 cursor.iterate()란1. 정의cursor.iterate()는 쿼리 결과를 한 번에 모두 가져오는 대신, 한 행씩 순차적으로 처리할 수 있게 해주는 메서드일반적으로 fetchall()이나 fetchmany()와 같은 메서드는 쿼리 결과를 한꺼번에 메모리로 가져오지만, iterate()는 메모리 사용을 최소화하면서도 필요한 데이터만 점진적으로 처리할 수 있게 해줌2. 예시cursor.iterate() 처음 실행 시 반환값은 ['IC_cl.. 2024. 9. 4.
Decimal (파이썬 데이터 타입) 00 개요Decimal은 Python의 decimal 모듈에서 제공하는 데이터 타입으로, 소수점 숫자를 정확하게 처리할 수 있는 도구 제공Decimal 타입은 특히 금융 계산이나 정밀한 수치 연산이 필요한 경우에 유용함01 Decimal이란1. 정의소수점 이하 자릿수를 정확하게 저장하고 계산할 수 있도록 설계된 데이터 타입부동 소수점 숫자의 근사 오차를 피하고, 높은 정밀도로 숫자를 다룰 수 있음2. 주요 특징정확한 표현: Decimal은 소수점 이하 자릿수를 정확히 표현 가능설정 가능한 정밀도: 사용자가 소수점 자리수와 전체 자리수를 설정할 수 있음 부동 소수점 문제 방지: 부동 소수점 숫자는 이진수로 근사값을 저장하기 때문에, 계산 과정에서 오차가 발생할 수 있지만, Decimal은 이러한 오차를 방.. 2024. 9. 2.
Python으로 데이터 전달 - sizeof()와 strlen()로 안전한 메모리 관리 00 개요코드분석 중 C 언어에서 Python으로 데이터를 옮길 때, 문자열을 처리하는 도중 sizeof()와 strlen()을 활용하여 어느 문자열에서 사용 안 하는 공간을 0으로 초기화 시켜주는 것을 보았고 이에 대해 정리하고자 함sizeof()와 strlen() 함수를 활용하여 문자열과 메모리를 안전하게 처리하는 방법에 대한 정리!01 C에서 Python으로 데이터 전달 - sizeof() 와 strlen()로 메모리 초기화C 언어에서 Python으로 데이터를 전달할 때는 두 언어의 메모리 관리 방식의 차이로 인해 발생할 수 있는 잠재적인 문제들을 미리 방지하는 것 중요sizeof()와 strlen() 함수를 활용하여 문자열과 메모리를 안전하게 처리 가능1. sizeof()와 strlen()의 차이.. 2024. 9. 2.
구조체의 필드에 접근 방법 (->, .) 00 개요c 파일 코드분석 중 struct의 필드에 접근하는 방법이 여러가지인 것을 발견하여 이에 대한 정리01 구조체의 필드에 접근 방법C에서 구조체의 필드에 접근하는 방법은 구조체 변수의 유형에 따라 다름크게 두 가지 방법 존재: 구조체 변수가 직접적인 값일 때와 포인터일 때1. 구조체 변수로 접근 (직접 변수 접근)만약 구조체가 포인터가 아니라 직접 변수로 선언되었다면, . 연산자 사용하여 필드에 접근 가능예시struct lsInfo { int nRes; // 다른 필드들...};struct lsInfo info; // 구조체 변수를 직접 선언info.nRes = 5; // `.` 연산자를 사용하여 필드에 접근위 예제에서는 info는 lsInfo 구조체 타입의 변수info.n.. 2024. 8. 30.