본문 바로가기

분류 전체보기

(83)
python - 파이썬 문자열 기본 규칙들 파이썬에서 문자열을 다룰 때 지켜야 하는 몇 가지 기본 규칙이 있습니다. 여기에는 문자열을 정의하는 방법, 특수 문자의 사용, 문자열 연산 및 포매팅에 관한 규칙이 포함됩니다. 문자열 정의 1. 단일 인용부호와 이중 인용부호: 파이썬에서 문자열은 단일 인용부호(')나 이중 인용부호(")를 사용하여 정의할 수 있습니다. 이는 문자열 내부에서 다른 종류의 인용부호를 자유롭게 사용할 수 있게 하기 위함입니다. string1 = 'Hello, World!' string2 = "Python Programming" 2. 여러 줄 문자열: 여러 줄에 걸친 문자열을 정의하려면 삼중 인용부호(''' 또는 """)를 사용합니다. 이 방식을 사용하면 문자열 내에서 여러 줄을 자연스럽게 포함할 수 있습니다. multiline..
server - 서버 시간 관리 및 도커 환경에서의 시간 관리 서버 시간 관리 및 도커 환경에서의 시간 관리 서버 시간 설정은 웹 개발과 클라우드 서비스 운영에서 중요한 역할을 합니다. 이 글에서는 서버 시간의 개념, 그 중요성, 그리고 Django에서의 시간대 설정 방법, 도커와 같은 컨테이너 환경에서의 시간 관리에 대해 자세히 살펴보겠습니다. 서버 시간 설정의 중요성 웹 애플리케이션과 클라우드 기반 서비스에서 시간 설정은 데이터 처리, 스케줄링 작업, 로그 관리, 사용자 인터페이스(UI) 내 날짜 및 시간 표시 등 여러 측면에서 중요합니다. 올바르게 설정되지 않은 시간대는 데이터 무결성 문제를 일으킬 수 있으며, 글로벌 사용자 기반을 가진 애플리케이션의 경우 사용자 경험에도 부정적인 영향을 미칠 수 있습니다. 따라서, 정확한 시간 설정은 애플리케이션의 신뢰성과 ..
server - Docker 이미지 최적화: .git 디렉토리 제외하기 도커 이미지 최적화: .git 디렉토리 제외하기 도커 이미지를 최적화하는 과정에서 중요한 한 단계는 이미지의 크기를 기능을 해치지 않으면서 줄이는 것입니다. 이러한 실천은 로딩 시간을 줄여 성능을 향상시킬 뿐만 아니라, 불필요한 파일의 노출을 제한함으로써 보안을 강화합니다. 도커 이미지를 불필요하게 크게 만들 수 있는 일반적인 실수 중 하나는 .git 디렉토리를 포함하는 것입니다. 이 디렉토리는 버전 관리에 필수적이지만, 도커 이미지 내에서는 필요하지 않으며 이미지의 크기를 상당히 증가시킬 수 있습니다. 이 글에서는 .dockerignore 파일을 사용하여 도커 이미지에서 .git 디렉토리를 효과적으로 제외하는 방법을 실제 Dockerfile을 통해 설명합니다. 도전: 도커 이미지의 용량 문제 Nginx..
cs - BCNF(Boyce-Codd Normal Form)와 제3정규형의 차이 설명 3NF(제3정규형)와 BCNF(Boyce-Codd 정규형) 모두 데이터베이스 테이블 내의 이행적 종속을 제거하는 것을 목표로 합니다. 그러나 BCNF는 3NF보다 더 엄격한 정규형으로, 특히 복합 키를 가진 테이블에서 발생할 수 있는 함수적 종속성 문제를 해결합니다. 3NF의 조건: 모든 비기본 키 속성이 기본 키에만 종속되어야 하며(함수적 종속성), 어떤 비기본 키 속성도 기본 키의 일부분에 대해서만 종속되어서는 안 되며(부분적 종속성), 비기본 키 속성이 다른 비기본 키 속성에 종속되어서는 안 됩니다(이행적 종속성). BCNF의 조건: 3NF를 만족하며, 모든 결정자가 후보 키여야 합니다. 즉, 어떤 속성도 후보 키가 아닌 속성에 의해 결정되어서는 안 됩니다. 차이점: 3NF는 비기본 키 속성에 초점..
python - Python에서 딕셔너리 언패킹(**) 이해하기 Python에서 딕셔너리 언패킹(**) 이해하기 Python 프로그래밍에서 종종 볼 수 있는 ** 연산자는 딕셔너리를 함수의 키워드 인자로 전달하는 데 사용되는 매우 유용한 기능입니다. 이것을 '딕셔너리 언패킹(Dictionary Unpacking)'이라고 합니다. 이 기능은 코드를 더 깔끔하고 읽기 쉽게 만들며, 함수에 다양한 인자를 동적으로 전달할 수 있게 해줍니다. 딕셔너리 언패킹의 기본 딕셔너리 언패킹은 ** 기호를 사용하여 딕셔너리의 키-값 쌍을 함수의 인자로 확장합니다. 예를 들어, my_function(**my_dict)와 같이 사용할 수 있으며, 여기서 my_dict의 모든 키-값 쌍이 my_function의 키워드 인자로 전달됩니다. 예시 사용 사례 OpenAI의 GPT-3.5 API를 ..
AI - 트랜스포머 모델을 이용한 영화 평론 감정 분류기 만들기 본 블로그 글에서는 트랜스포머 모델을 활용하여 영화 평론을 감정 분석하는 분류기를 만드는 과정을 안내합니다. 1단계: 필요 라이브러리 설치 및 로그인 huggingface_hub, datasets, transformers, evaluate 라이브러리를 설치합니다. Hugging Face Hub에 로그인하여 API 토큰을 활용합니다. from huggingface_hub import notebook_login from datasets import load_dataset from transformers import AutoTokenizer from transformers import DataCollatorWithPadding import evaluate import numpy as np from transf..
cs - 스키마의 종류와 차이점(물리스키마, 논리스키마, 내부스키마, 외부스키마, 개념스키마) 데이터베이스 스키마는 데이터베이스의 구조, 제약 조건, 관계 등을 정의하는 데 사용되는 개념입니다. 스키마는 데이터베이스를 설계, 구현, 관리하는 데 중요한 역할을 합니다. 주로 다음과 같은 다양한 종류의 스키마가 있으며, 각각의 특징과 차이점을 가집니다: 논리 스키마(Logical Schema) 논리 스키마는 데이터베이스의 논리적 구조를 정의합니다. 데이터 모델, 데이터 유형, 관계, 제약 조건 등을 포함합니다. 이 스키마는 데이터베이스 관리 시스템(DBMS)에 독립적이며, 사용자가 데이터베이스를 어떻게 보고 사용할지를 정의합니다. 예: 테이블, 뷰, 인덱스, 관계 등. 물리 스키마(Physical Schema) 물리 스키마는 데이터베이스의 실제 물리적 저장 구조를 정의합니다. 데이터 파일, 레코드의 ..
cs - 모듈러 연산자와 리터럴 모듈러 연산자와 리터럴: 프로그래밍 기초 이해하기 프로그래밍을 배우는 과정에서 자주 마주치는 개념인 '모듈러 연산자'와 '리터럴'에 대해 살펴보겠습니다. 이 두 개념을 이해하는 것은 프로그래밍의 기초를 닦는 데 있어 중요합니다. 모듈러 연산자(Modulo Operator) 모듈러 연산자는 프로그래밍에서 매우 유용하게 사용되는 연산자 중 하나입니다. 이 연산자는 나눗셈 연산을 수행한 후 남는 '나머지'를 반환합니다. 사용 예시: 7 % 3의 결과는 1 10 % 4의 결과는 2 이 연산자는 특히 반복적인 패턴을 생성하거나 특정 범위 내에서 숫자를 제한할 때 유용하게 사용됩니다. 리터럴(Literal) 프로그래밍에서 '리터럴'은 고정된 값을 나타내는 표현식을 의미합니다. 이는 변수와 달리 변하지 않는 값입니다..