분류 전체보기
-
Python Typing에 대해 알아보기(1) Literal (openai python 소스코드로 살펴보기)카테고리 없음 2024. 2. 24. 22:47
Literal Literal은 타입 체커에게 특정 값을 가진다는 것을 명시적으로 전달할 때 쓰입니다. 코드로 예시를 보겠습니다. 아래 func함수에서 x값에는 4가 들어와야 합니다. func에 3을 넘기면 IDE(pycharm)에서 문제가 있다고 노란 불이 들어오는 것을 볼 수 있습니다. 에러 내용도 4가 들어와야 하는데 3이 들어왔다고 말하고 있습니다. openai 코드 예시 (Literal ) openai 소스코드로 Literal을 살펴보겠습니다. exception 클래스를 정의할 때 http 상태코드에 맞는 명시적인 값을 받도록 Literal을 사용했습니다. Literal[400] => 400 에러 Literal[401] => 401 에러 .. Literal 은 여러 값을 정의해놓을 수 있습니다. ..
-
python @runtime_checkable이란? (openai 개발자들이 짠 python code 예시 함께 살펴보기)python 2024. 2. 24. 14:38
python 3.8부터 도입된 @runtime_checkable 데코레이터를 사용하면 프로토콜 클래스를 런타임에서 isinstance() 및 issubclass() 함수와 함께 사용할 수 있게 됩니다. 프로토콜 클래스란 typing.Protocol을 상속받은 클래스를 말합니다. runtime_checkable은 같은 클래스를 상속받진 않았지만, 런타임에서 타이핑 검증을 하고 싶을 경우 유용하게 쓸 수 있는 데코레이터입니다. 말로 하면 이해가 잘 안되니 코드로 설명해보겠습니다. 1. @runtime_checkable를 사용하지 않은 경우 우선 @runtime_checkable를 사용하지 않은 일반적인 상황입니다. JsonSerializable, Person 두 클래스 모두 아무것도 상속받지 않은 순수 클래..
-
python RecursionError: maximum recursion depth exceeded 발생시python 2023. 5. 2. 19:21
python이 기본적으로 제공하는 재귀 호출의 최대 깊이는 1000입니다. 때문에 재귀 함수 호출이 1000을 넘어가는 순간 RecursionError가 발생합니다. 대부분 로직에 문제가 있어 해당 오류가 발생합니다. (일반적으로 1000depth의 재귀 함수 호출은 좋지 않다...) 하지만 꼭 재귀함수가 1000회이상 돌아야 한다면, sys.setrecursionlimit 를 사용해 해결할 수 있습니다. 함수 이름처럼 재귀함수 limit을 늘려주는 기능입니다. 함수 인자에는 limit값을 설정해주면 됩니다. (아래 예시에서는 10의 6제곱을 사용함) import sys sys.setrecursionlimit(10 ** 6)
-
독서노트) 자기 신뢰의 힘book 2023. 2. 5. 15:32
자신의 생각을 믿는 것, 자신이 진실이라 여기는 것을 다른 모든 사람들도 진실이라고 생각하리라 믿는 것, 이것이야말로 비범한 재능이다. 그대 마음속에 숨겨두었던 확신을 드러내라. 그러면 그 말은 보편적인 의미를 가질 것이다. 그대 마음속에만 있던 것이 때가 되면 겉으로 드러나고, 그대가 처음에 가졌던 생각이 결국에는 마지막 심판을 알리는 나팔소리와 함께 다시 그대에게로 돌아올 것이다. 우리가 모세나 플라톤, 밀턴을 높이 평가하는 이유는, 그들이 책이나 전통 같은 것을 무시하고, 다른 사람이 아닌 자신의 생각을 말했기 때문이다. 우리는 서로에게 의지하는 버드나무가 아니다. 우리는 홀로 설 수 있고, 홀로 서야만 한다. 자신에 대한 믿음이 확고하면 그 속에서 새로운 힘이 생겨난다. 우리는 신의 말씀을 대변하..
-
독서노트) 프랑스 아이들은 왜 말대꾸를 하지 않을까book 2023. 2. 4. 11:48
명확한 규칙을 정하고 절대 물러서서는 안된다. 부모와 아이 사이에 불변의 규칙을 정해야 한다. 예를 들어 차를 탈 때는 안전벨트를 한 채 카시트에 얌전히 앉아 있는다, 길을 건널 때는 엄마나 아빠의 손을 잡는다, 정해진 시간에 잔다, 식탁에서는 똑바로 앉아 있는다 등. 가족마다 구체적 내용은 다를 수 있지만 무엇이 됐든 반드시 지키도록 한다. 아이의 눈물 앞에서 냉정을 유지해라. 아이가 울 때 그 이유가 정당한지 정확히 파악하려 노력해야 한다. 단순한 생떼인지 부모가 가려내야 한다. 만약 생떼를 쓰고 있다면 철저히 무시하도록 한다. 아이들은 관심을 끌고 싶을 때나 부모의 마음을 돌리고 싶을 때, 부모로부터 양보를 얻어내고 싶을 때 울음을 터뜨리는 경우가 많다. 아이에게 기다리는 법을 가르쳐야 한다. 기다..
-
100세 철학자의 행복론book 2022. 12. 31. 22:53
인간은 기계가 아니다. 정서적으로 여유가 없을때는 긴장을 풀기 위한 방법으로 술자리를 찾거나 오락을 찾는 경우가 자주 생긴다. 그러나 그런 생활이 거듭되면 점점 더 건전한 인격 생활에서는 탈락되고 만다. 그것인 기계적인 조건 속에서 움직이는 자아의 각박한 인간성이다. 자아 상실의 위기를 느끼는 이유가 여기에 있다. 사람은 누구나 할 수 있다는 신념과 용기를 가졌을 때 목적한 바와 그 이상의 일을 해낼 수 있다. 건강을 목적으로 조깅이나 수영을 한는 것은 취미보다는 의무적인 노력이 될지 모른다. 가 아는 한 교수는 흔히 말하는 야구광이다. 자기가 야구를 하는 것이 아니다. 야구를 즐겨 보는 동안에 야구 전문가가 된 셈이다. 국내 선수들의 동정이나 승부에 관한 연구뿐이 아니다. 외국 선수들의 기록까지 메모..
-
실리콘벨리의 팀장들 책리뷰book 2022. 12. 31. 21:56
애플의 최고디자인책임자 조너선 아이브는 애플대학교 강연에서 관리자의 가장 중요한 역할은 "침묵하는 자에게 발언권을 주는 것" 이라고 언급했다. 구글 CEO에릭 슈미트는 또 다른 말을 했다. "사람들이 시끄럽게 떠들도록 만들어야 한다." 160p 회의인원이 많을 때 소수의 인원만 주도적으로 말을 하고, 나머지 인원들은 말할 틈을 얻지 못해 조용히 있는 경우가 있다. 이럴 때는 리더가 침묵하는 자에게 발언기회를 확보해줘야 한다. 그들이 무관심해서 가만히 있는 것은 아닐 것이다. 자기 태도 떄문에 상대가 불편함을 느끼지 않도록 특별한 방안을 마련해야 한다. 우선 아무 의미 없이 모호한 표정을 짓지 않도록 주의할 필요가 있다. 직원들이 솔직한 생각을 꺼내도록 격려하려면, 때로 먼저 자기 생각을 말해야 한다. 리..
-
실리콘밸리 리더십 책리뷰book 2022. 12. 31. 18:26
정보가 없을 때 사람들은 진실에 관해서 가능한 최악의 시나리오를, 그것도 대개는 스스로가 가진 최악의 두려움을 반영하는 시나리오를 생각해 낸다. 281p - 조직에 안좋은 소문이 퍼지는 메커니즘을 설명하는 문장. 회색지대에서 퍼지는 안좋은 소문을 예방하기 위해 커뮤니케이션을 잘 해야 함. 팀 구성원의 30퍼센트는 당신(리더)의 업무 수행에 만족하지 못한다. - 리더를 맡은 이상 모든 구성원을 만족시킬 수 없다는 뜻. 불만은 끝이 없고 죽었다 깨어나도 구성원들의 불만 전부를 알 수 없다고 한다. 리더가 됐을 때 이사실을 인지하고 받아들이기만 해도 스트레스 관리에 도움이 될 것 같다. 바쁘다는 것의 이면에는 당신이 바빠지려고 의도적으로 애를 쓰기 때문에 바쁘다는 사실을 정작 자신은 모른다는 사실이 자리한다...