분류 전체보기 95

[서평] 파이썬 FastAPI 개발 입문

오늘날 웹 개발 생태계에있어 API의 중요성은 나날이 커져만 가고 있다. 웹 기반의 비즈니스를 영위하는 기업 또는 특정 서비스를 제공하는 조직은 풍부한 API를 수요자에게 제공함으써 수요자의 요구와 기대를 충족할 수 있으며, 다양한 수요자의 참여를 통해 생태계는 더욱 확장되고 이는 곧 서비스의 발전을 제고하는 선순환을 촉진한다. 그런데 양질의 API를 빠른 시간 내에 다양한 수요자에게 제공하는 것은 결코 쉬운 일이 아니다. 보안, 성능, 효율성, 유지 보수성등의 다양한 요소를 고려해야 하고, 무엇보다 프로그래밍 언어와 짝을 이루는 웹 프레임워크가 개발자를 충분히 지원하지 못한다면 빠르고 안정적인 개발은 허상에 불과할 뿐이다. 파이썬 기반의 웹 프레임워크인 FastAPI는 바로 앞서 언급했던 다양한 요구 ..

2024.04.14

[Python] CLI 인터프리터 환경 Tab/자동 완성

Windows 환경에서 CLI 기반의 파이썬 인터프리터를 사용할 때 Tab을 이용한 자동 완성 기능이 제공되지 않아 여간 불편하지 않을 수가 없다. 다행히 이를 해결해 주는 라이브러리가 존재하는 걸 이제서야 알게 되었다-.- pyreadline3 라이브러리를 설치 후 Tab을 통해 자동 완성이 가능하다! C:\>python -m pip install pyreadline3 Collecting pyreadline3 Downloading pyreadline3-3.4.1-py3-none-any.whl.metadata (2.0 kB) Downloading pyreadline3-3.4.1-py3-none-any.whl (95 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 95.2/..

IT/Programming 2024.04.14

[Python] sorted 함수, sort 메서드 정렬 시 key 함수 활용 용례

sorted 함수와 리스트의 sort 메서드 사용 시, 매개변수로 key 함수를 별도로 지정하면 key 함수에서 리턴되는 값을 기준으로 정렬이 적용된다. >>> sorted(student_tuples, key=lambda student: student[2]) [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)] >>> sorted(student_tuples, key=lambda student: student[2], reverse=True) [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)] >>> student_tuples = [ ... ('john', 'A', 15), ... ('jane', 'B', ..

IT/Programming 2024.04.12

[Python] Docstring 정보 출력

클래스나 메서드, 함수 내부에 Docstring을 정의 후, help 함수 또는 __doc__ 변수를 통해 해당 정보에 대한 출력이 가능하다. >>> class Test_Class: ... """ This is Test Class """ ... def test_method(self): ... """ This is Test Method """ ... return True ... >>> help(Test_Class) Help on class Test_Class in module __main__: class Test_Class(builtins.object) | This is Test Class | | Methods defined here: | | test_method(self) | This is Test Me..

IT/Programming 2024.04.10

[Python] Dunder Method

파이썬에서 더블 언더스코어(__)로 명명되는 메서드가 무수히 존재하는데, 이를 '매직 메서드'라고 칭하고 '던더 메서드'라고 표현되기도 한다. * 참고 Python Magic methods are the methods starting and ending with double underscores ‘__’. They are defined by built-in classes in Python and commonly used for operator overloading. They are also called Dunder methods, Dunder here means “Double Under (Underscores)”. Python Magic Methods Built in classes define many ..

IT/Programming 2024.04.09

[Python] Dictionary의 값이 List 타입일 때 Append 메서드 용례

Dicionary의 특정 키에 대한 값이 List 타입일 때, List 타입에서 제공하는 Append 메서드를 활용하여 요소를 추가할 수 있다. >>> test_dict = {"a":[], "b":[]} >>> test_dict["a"].append(10,20,30) Traceback (most recent call last): File "", line 1, in TypeError: list.append() takes exactly one argument (3 given) >>> test_dict["a"].append(10) >>> test_dict["a"].append(20) >>> test_dict["a"].append(30) >>> test_dict {'a': [10, 20, 30], 'b': []..

IT/Programming 2024.04.09

[서평] 현장에서 바로 써먹는 SQL with PostgreSQL

세상에는 다양한 DBMS가 존재한다. 그중 Oracle DB의 아성은 아직까지 철옹성으로 굳건히 존재하고 있으나, 오픈 소스 세계에서 MySQL 다음으로 유명한 DBMS인 PostgresQL의 명성은 시간이 흐를 수록 점점 높아지고 있고, 사용률 역시 꾸준히 점증하고 있는 추세다. 그만큼 PostgreSQL은 다양한 사용자와 커뮤니티에 의해 사랑받고 있고 지지를 확보하고 있으며, 어디에 내놓아도 손색없을 정도로 뛰어난 퍼포먼스와 여러 기능을 제공하며 연신 변화를 거듭하고 발전 중이다. 그런데 국내 출판 시장에서는 PostgreSQL을 다루는 서적이 거의 없기 때문에 PostgreSQL을 배울 수 있는 기회 역시 흔치 않은 실정이다. 이러한 와중에 PostgreSQL 기반의 SQL을 학습할 수 있는 서적이..

2024.03.15

도서 리뷰: 프로덕트 매니지먼트의 기술

우리가 사용하고 있는 모든 제품과 서비스는 프로덕트 매니저에 의해 탄생하고 관리된다. 그만큼 프로덕트 매니저의 역할은 굉장히 중요하고, 프로덕트 매니징에 요구되는 능력과 역량의 수준이 프로덕트의 품질을 좌우하게 된다. 그런데 진정한 프로덕트 매니저가 되기 위해선 무엇을 준비해야 하고, 어떤 과정을 거쳐야만 하는 것인지 그리고 프로덕트 매니지먼트의 세계에서 온전히 살아남기 위해선 어떻게 해야만 하는 것인지, 이에 대한 명쾌한 답을 찾는 여정은 결코 녹록지 않다. 수많은 프로덕트 매니저가 이 세상에 존재하지만, 각자 저마다의 생존 방식이 존하고 그들이 프로덕트 매니저가 되기까지의 과정은 결코 동일하지 않으며 정해진 답이 없기 때문에 프로덕트 매니지먼트를 둘러싼 다양한 담론과 논의는 언제나 진행 중이다. 그럼..

2024.02.25

[서평] AI와 살아가기 위한 기초 지식

AI 기술이 나날이 발전하면서 우리 삶의 모습도 AI에 영향을 받으며, 더이상 AI를 떼어 놓고 얘기할 수 없는 시대가 되어 버렸다. 좋으나 싫으나 AI는 분명 우리 삶에 지대한 영향을 끼치고 있다. 어떻게 하면 인간으로서 비인격 대상인 AI와 공존할 수 있을까? AI와 공존하다는 것은 도대체 무슨 의미일까? AI가 공존할 수 있는 방법은 과연 존재하는 것일까? 그렇다면 과연 그 방법은 무엇일까? 이러한 일련의 질문은 꼬리에 꼬리를 물고 우리를 더욱 고민스럽게 만들며, 도대체 AI가 우리에게 미치는 영향이 무엇인지 이해하지 않고선 우리는 더 나은 삶을 영위하기 어렵게 되어 버렸다. 오늘 소개하는 이 책은 앞서 제기된 질문에 대한 답을 찾아가는 여정을 제시하는 도서다. 본 도서는 AI를 알아야 하는 이유를..

2024.02.08

도서 리뷰: Release의 모든 것

IT를 근간으로 하는 제품과 서비스는 출시되고 나서 끝이 아니라 비로소 시작이라고 할 수 있다. 출시 이후에 발생하는 예측 불가한 상황과 다양한 변수, 그리고 이벤트는 비즈니스 영속성을 위협하는 문제를 야기할 수 있을 정도로 커다란 파급을 내재할 수 있기 때문이다. 그렇기 때문에 IT 제품이 출시되는 라이프 사이클 전반의 모든 과정에서 심혈을 기울이지 않는다면 작은 문제 하나가 장애로 비화하고, 이는 곧 기업의 존립 자체를 흔들어 놓을 수 있는 나비효과를 불러일으킬 수 있다. 'Release의 모든 것'은 IT를 기반으로하는 소프트웨어 또는 이를 둘러싼 인프라를 망라한 시스템의 강건성을 주제로 한 서적이다. 이 책에서 언급되고 있는 시스템과 관련된 다양한 안티 패턴, 실패 사례 등은 현실에서 실제 발생한..

2023.12.25