Python
Python 3.10 변경점 알아보기 - 1. Parenthesized context managers, Better error messages
Python 3.10 변경을 알아보려고 한다(3.11도 곧 할 거다.). 새로운 기능 Parenthesized context managers 콘텍스트 관리자에서 여러 줄에 걸쳐 계속하기 위해 괄호를 묶는 것이 지원된다. 이를 통해 이전에 Import문에서 가능했던 것과 유사한 방식으로 여러 줄에 긴 컨텍스트 관리자 컬렉션의 형식을 지정할 수 있다. with (CtxManager() as example): ... with ( CtxManager1(), CtxManager2() ): ... with (CtxManager1() as example, CtxManager2()): ... with (CtxManager1(), CtxManager2() as example): ... with ( CtxManager1(..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeQCEY%2FbtrWitd5Jl0%2FHngygltLGnd3JQIp9G9a70%2Fimg.png)
WSL2 환경에서 Poetry 사용하기
해당 포스팅은 Poetry 공식 문서를 보고 작성하였습니다. 적확한 쓰임새는 공식문서를 보고 참고해 주세요. 1. Poetry란? 공식 문서에서는 Poetry를 다음과 같이 설명한다. Poetry는 Python에서 종속성 관리 및 패키징을 위한 도구입니다. 그것은 당신의 프로젝트가 의존하는 라이브러리를 선언하도록 허용하고 당신을 위해 그것들을 관리(설치/업데이트)할 것입니다. Poetry는 반복 가능한 설치를 보장하는 잠금 파일을 제공하고 배포용 프로젝트를 빌드할 수 있습니다. 사실 Python 개발자들은 pip를 통해 Python의 다양한 라이브러리들을 설치할 수 있다. 그렇다면 Poetry를 굳이 쓰는 이유가 뭘까? 가장 큰 이유는 아마도 라이브러리 간의 의존성 관리를 "내"가 직접 하지 않아도 된다..
[Python] GIL이 뭐죠?
오늘 면접 보다가 GIL 관련 얘기가 나왔다. 이름은 들어봤다. 보기도 봤고, 하지만 설명할 수 없었다. 그럼 모르는 거지.... GIL이 뭔지 파헤쳐보자. 1. GIL이란? GIL은 Global Interpreter Lock의 약자이다. 이게 뭔고 하니 Python 문서에서 살펴보니 다음과 같이 설명한다. In CPython, the global interpreter lock, or GIL, is a mutex that protects access to Python objects, preventing multiple threads from executing Python bytecodes at once. Python 개체에 대한 엑세스를 보호하며 여러 스레드가 Python 바이트 코드를 한 번에 실행하는..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcxLvHi%2FbtrTa7ET3dC%2FZkgIQ4k49rpDH8XbHH1u21%2Fimg.png)
[Celery] - 시작하기
이 시리즈는 비동기 작업 큐인 Celery를 활용해보는 시리즈가 되겠다. 1. Celery 란? Celery 문서를 살펴보면 이렇게 정의한다. Celery is a simple, flexible, and reliable distributed system to process vast amounts of messages, while providing operations with the tools required to maintain such a system. It’s a task queue with focus on real-time processing, while also supporting task scheduling. Celery has a large and diverse community of user..
컴파일이란
1. 컴파일 1.1 컴파일이란 compile 1. [동사] (여러 출처에서 자료를 따와) 엮다, 편집[편찬]하다 2. [동사][컴퓨터] 명령어를 번역[컴파일]하다 컴파일은 여러 출처에서 자료를 따 와서 편집한다는 뜻을 가지고 있다. 컴퓨터 용어 측면에서는 어떤 언어의 코드 전체를 다른 언어로 바꿔주는 과정이다. 즉 인간이 이해할 수 있는 고급 언어(C, Java)로 작성된 프로그램 소스 코드를 컴퓨터가 이해할 수 있는 기계어 또는 바이트 코드로 번역해 주는 것을 말한다. 이러한 컴파일을 해주는 프로그램을 컴파일러라고 한다. 컴파일 방식을 사용하는 가장 대표적인 언어는 C, 자바이다. 두 언어는 컴파일 방식이지만 정확히는 중간 코드인 바이트코드를 만드는 부분까지만 컴파일러고, 바이트코드를 다시 기계어로 번..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNTTX1%2FbtrSWcfpB8Z%2FTxwMxZLgKGqhKDJMADu091%2Fimg.png)
Python 알아보기(1) - 파이썬의 특징
Python이라는 언어를 사용하는 개발자로서 너무 모르고 썼다는 반성이 있다. 이 포스팅 시리즈는 파이썬에 대한 개념과 특징 그리고 다양한 파이썬 매직 메서드를 살펴보면서 파이썬에 대해 자세히 알아보고자 한다. 1. 파이썬의 역사 파이썬은 1991년 귀도 반 로섬이라는 프로그래머에 의해 개발된 언어이다. 파이썬이라는 이름은 귀도가 좋아하는 코미디인 〈Monty Python's Flying Circus〉에서 따온 것이다. 2. 파이썬의 특징 2.1 파이썬의 철학 핵심 철학만 추렸다. 여기에서 나머지를 더 볼 수 있다. "아름다운 게 추한 것보다 낫다." (Beautiful is better than ugly) "명시적인 것이 암시적인 것 보다 낫다." (Explicit is better than impli..
[Python] - 정규표현식을 이용한 문자열 처리
개요 현재 이직을 위한 준비로 원티드 프리온보딩 코스에서 기업과제를 소화하고 있다. 사실 어제 끝났는데, 게으름 때문에 마지막 기업과제를 수행 중에 있다. 역시 코딩의 꽃은 머리를 써서 로직을 만드는 거다.(아니다.) 여튼 내가 봉착한 문제는 문단을 구분자를 통해 list 로 변환하는 것인데, 이때 두가지 조건이 붙었다. 문제 상황 (1). 유효성 검사 한글, 영어, 숫자, 물음표, 느낌표, 마침표, 따옴표, 공백를 제외한 나머지는 문장에 포함되지 않아야 한다. (2). split() 하기 '.', '!', '?' 로 문장이 구분됩니다. 그냥 순회로 로직을 짤까 하다가 뭔가 마음에 안들었다.(개인적으로 개발자는 for 와 if 만 안다면 모든 기능을 구현할 수 있다고 생각하지만 그런 코드 짜면 돌맞는다...