source code 공식 문서 링크 정규 표현식 관련 링크 정규표현식(Regular Expressions) 정규 표현식이란 복잡한 문자열을 처리할 때 사용하는 기법으로 파이썬, C, java 등 문자열을 처리해야 하는 다양한 곳에서 활용할 수 있다. 파이썬에서 정규표현식을 이용하려면 re 모듈을 사용한다. 만약 주민등록 번호 뒷자리를 *로 바꾸는 프로그램을 작성한다면 아래와 같이 작성할 수 있다. data = """ 안녕하세요 저는 이윤태입니다. 제 주민등록 번호는 970701-1234567 만약 다음 8월에 태어났다면 970801-1234567 겠네요. """ result = [] for line in data.split("\n"): word_result = [] for word in line.spl..
textwrap 공식 문서 링크 source code shorten 문자열을 원하는 길이에 맞게 줄여 표시 import textwrap # shorten text = "life is too short, you need python" result = textwrap.shorten(text=text, width=15) print(result) # life is [...] 문자열에 포함된 모든 연속 공백은 하나의 공백 문자로 줄어든다. 축약된 문자열임을 뜻하는 [...] 역시 전체 길이에 포함되며 문자열은 단어 단위로 길이에 맞게 줄어든다. 한글도 마찬가지로 적용된다. 단, 한글 1 문자를 길이 2가 아닌 1로 계산한다. text = "인생은 짧으니 파이썬이 필요해" result = textwrap.short..
Python에서의 캡슐화 Python 캡슐화는 객체의 내부 세부 정보를 숨기고 필요한 정보와 기능만 노출하는 방법입니다. 캡슐화는 클래스 특성 및 메서드의 가시성을 제어하는 특수 키워드인 access modifiers를 사용합니다. Python에서의 3가지 access modifiers Public : Public 속성과 메서드는 클래스 내부, 외부 어디에서나 접근할 수 있습니다. Python에서는 모든 속성과 메소드가 기본적으로 공개됩니다. Protected : Protected 속성과 메서드는 하나의 언더바(_)로 표시합니다. 클래스 및 하위 클래스 내에서는 접근할 수 있지만, 클래스 계층 구조 외부에서는 접근할 수 없습니다. Private : Private 속성과 메서드는 두 개의 언더바(__)로 ..
CGI(Common Gateway Interface) CGI란 CGI는 공용 게이트웨이 인터페이스로 웹 서버와 외부 프로그램 간의 통신을 위한 표준 인터페이스이다. CGI를 사용해 웹 서버가 클라이언트로부터 요청을 받고, 이러한 요청을 외부 프로그램으로 전달하여 프로그램이 요청을 처리하고 결과를 다시 웹 서버로 전달할 수 있다. 지금 말하는 외부 프로그램은 웹 서버에서 실행되는 프로그램이 될 수 있다. 예를 들어 python과 같은 스크립팅 언어로 작성된 CGI 스크립트가 웹 서버에서 실행되면, 이 스크립트는 웹 서버에서 동작하는 외부 프로그램이 된다. 즉 이 스크립트가 웹 서버와 통신하여 브라우저의 요청을 처리하고 그 결과를 브라우저에게 반환하는 것이다. 그래서 이 CGI를 사용하면 웹 서버와 외부프로..
예제 source code 링크 First-class Citizen(일급 객체) First-class 는 값으로 취급 될 수 있는 모든 요소를 나타냅니다. 변수는 할당하거나 함수의 파라미터로 전달될 수 있는데 이러한 경우가 값으로 취급 될 수 있음을 말합니다. 즉, 변수는 First-class의 Citizen으로 간주되는 것입니다. 또 다른 First-class citizen의 예로는 정수, 문자열, 배열, 객체 등이 있습니다. First-class Function(일급 함수) First-class Function은 프로그래밍 언어중에서 함수를 First-class Citizen으로 취급하는 것을 말합니다. 즉, 함수를 변수에 할당하거나 파라미터로 전달하는 등을 할 수 있는 언어를 말합니다. 이러한 언어..
Named Function Expression (기명 함수 표현식) 예제 코드는 아래 링크에서 확인할 수 있습니다. sourcecode GitHub - yesaroun/JavaScriptStudy: javascirpt 공부 javascirpt 공부. Contribute to yesaroun/JavaScriptStudy development by creating an account on GitHub. github.com 기명 함수 표현식은 함수 표현식으로 함수를 만들 때 함수 내부에 정의된 이름이 있는 함수 유형입니다. 이 이름은 식 내부에서 함수를 참조하는 데 사용할 수 있습니다. 아래 예시가 기명 함수의 예시입니다. let myFunc = function hi() { console.log("hi!");..
예제 코드는 예제 코드 주소 이 링크에서 확인할 수 있습니다. BigInt는 ECMAScript 2020에 도입된 데이터 유형으로, 아주 큰 정수(Integer)를 표현하기 위해 등장한 데이터 타입입니다. 자바스크립트의 숫자에는 안전한 정수 표현의 한계가 있었습니다. 자바스크립트에서 안전한 최대 정수는 2**53 - 1인 'Number.MAX_SAFE_INTEGER'까지의 정수만 나타낼 수 있습니다. 안전한 정수 표현이라는 의미는 이 숫자 범위를 초과하는 정수를 나타내려고 하면 부정확한 계산이 되어 반올림 오류가 발생하기 때문입니다. 예를 들면, 9007199254740991 + 1과 9007199254740991 + 2를 비교하면 true라는 결과가 리턴됩니다. 실제로 콘솔에 90071992547409..
UniqueConstraint에 대한 설명과 django Model클래스의 Meta 클래스에 대한 설명은 아래의 글을 통해 확인할 수 있습니다. Django Model에서의 Meta 클래스 Meta Python에서 'Meta'클래스는 일반적으로 Django 프레임워크에서 models, forms, serializers, views 와 같은 클래스에 대한 추가 정보를 제공하는 데 사용합니다. Meta 클래스는 Django 클래스에 대한 다양한 옵 yesaroun.tistory.com UniqueConstraint 사용 예시 1. True이면서 고유한 경우만 class Employee(models.Model): name = models.CharField( max_length=100, ) department ..
Meta Python에서 'Meta'클래스는 일반적으로 Django 프레임워크에서 models, forms, serializers, views 와 같은 클래스에 대한 추가 정보를 제공하는 데 사용합니다. Meta 클래스는 Django 클래스에 대한 다양한 옵션과 구성을 지정하는 방법입니다. Model에서의 Meta 클래스 Model 클래스에서 Meta 클래스는 다양한 방법으로 모델의 동작을 지정하는데 사용됩니다. Model 클래스에서 Meta 클래스에서 주로 사용되는 옵션은 아래와 같습니다. 'db_table' : 모델에 사용할 DB 테이블 이름을 지정합니다. 지정하지 않으면 Django는 앱 이름과 모델 이름을 기반으로 테이블 이름을 자동으로 생성합니다. 'ordering' : QuerySet에 대한 ..
프로젝트 링크 : https://github.com/yesaroun/MoneyLog GitHub - yesaroun/MoneyLog Contribute to yesaroun/MoneyLog development by creating an account on GitHub. github.com 1년 전에 spring 기반의 가계부를 구현하는 프로젝트를 진행했었습니다. 이 프로젝트를 통해서 DB 설계와 정규화를 직접 구현해 볼 수 있었습니다. 전체적인 ERD 구조는 위와 같습니다. 하나씩 구체적으로 살펴보면서 설계한 이유를 적어보겠습니다. 이용자 식별 코드 '이용자식별' 테이블을 만들었습니다. 이렇게 설계한 이유는 후술할 탈퇴 계정과 추가회원정보와 연관이 깊습니다. 저희 서비스는 회원의 정보를 활용한 통계 자..