전체 글

Data Scientist / Data Analyst
· Philosophy
모든 어린 아이는 이미 그 안에 노인이 있고,갓 태어난 모든 아기는 이미 그 안에 죽음을 가지고 있으며, 모든 죽어가는 사람들은 영원한 생명을 가지고 있어.우리의 삶은 죽어있으면서도, 활기를 띄고있다.돌은 흙이었으며 식물이고 동물이 될 수 있다.돌은 돌이고, 강은 강이 아니다.우리는 보여지는 것 그 자체가 가지는 모습을 사랑하고 숭배해야 한다.이것이 내가 찾은 이 책의 전부다.헤르만 헤세는 싯다르타라는 바라문의 어린 아이의 일생을 통해 인간은 어떻게 살아가야하며, 사랑이란 무엇이고,  인간은 어떻게 죽어가는가. 모든 것이 윤회인 이 세상엔 고통이 동시에 기쁨이 되는 일체 형태로 존재하고 있음을 전달하고 싶었던 것 같다. 어린 시절의 싯다르타는 인도 바라문의 자손이었다. 싯다르타는 신성했고 모든 이들에게 ..
문제부모 클래스를 상속받은 자식 클래스에서 부모의 메소드를 실행하고자 할 때.해결super()를 사용하여 쉽게 부모 클래스의 함수를 실행하자. 코드좋지 않은 예시. 상속 계층이 깊어질 때, 다중 상속일 경우일 때, 직계 부모 클래스를 지정하여 실행하면 불필요하게 메소드가 실행되는 것을 볼 수 있다. # Tricky initialization problem involving multiple inheritance.# Does NOT use super()class Base: def __init__(self): print('Base.__init__')class A(Base): def __init__(self): Base.__init__(self) print('A...
문제클래스로 인스턴스를 많이 생성할 때, 메모리도 같이 증가하여 자원을 효율적으로 쓰지 못한다. 해결클래스 속성으로 __slots__ 필드를 튜플 혹은 리스트로 생성하여, 생성자가 가지고 있어야 하는 속성으로만 제한하여 메모리를 줄일 수 있다. 자료구조 상 딕셔너리는 해시 테이블을 생성을 위한 메모리를 잡아놓기 때문에,튜플과 리스트에 비해 메모리를 많이 가지고 있다. 코드slots를 만들어주면 더 이상 해당 클래스는 slots에 정의된 변수밖에 생성하지 못한다. 반면, dictionary는 클래스의 속성을 유동적으로 추가할 수 있다.즉, immutable한 클래스에 대해서만 slots을 정의하여 사용하는 것이 좋다.import sysclass WithoutSlots: def __init__(self..
문제 함수에 인자가 너무 많을 때, 특정 파라미터를 고정하고 함수를 실행시켜야 할 때. 해결functions의 partial()를 써보자.정의된 함수에 인자를 고정한 새로운 함수를 선언하는 방법이다. 코드Sourcepartial 함수는 사용자가 정의한 인자들을 미리 받아놓는다newfunc가 선언될 때 *fargs와 **newkeywords가 override되어 newfunc를 반환한다.이때 newfunc는 callable한 객체를 리턴한다.def partial(func, /, *args, **keywords): # *args, **keywords: 미리 설정해 놓는 파라미터 def newfunc(*fargs, **fkeywords): # *fargs, **fkeywords: 나중에 설정할 파라미터..
· Philosophy
이 세상안엔 수 많은 진실과 거짓이 의도적으로 꾸며진 탈을 쓰고 세상을 돌아다니고 있다. 무엇이 진실이고 거짓인가를 판단하는 것은 이제는 정보를 소비하는 수신인의 책임이 된 것 같다. 모든 정보의 근원은 관찰되는 모든 것의 현상들이다. 누군가에 의해 관찰된 현상들은 전달의 가치를 지니는가 그렇지 않은가에 대한 가치 판단을 통과해야 한다. 그러한 현상들은 정보가 되어 매개체를 통해 수용자에게 전달되는데, 수신되는 정보가 유통되는 과정에서 얼만큼의 변조가 일어났는지는 알 턱이 없다.  가장 오래된 성서조차 관찰된 역사에 뿌리를 두고 있을텐데,세대를 거듭하여 전승되는 과정에서 모세가 홍해를 갈랐다는정보는 과연 진실일 지 명확하게 증명할 수도, 믿을 수도 없다.  우리는 오염되지 않은 진실을 원하는 경향이 있다..
pre-commit은 로컬에서 리모트 브랜치에 커밋을 할 때,특정한 룰에 의해 코드를 포맷팅하거나 기타 작업을 자동으로 적용시켜주는 기능이다.  예를 들어 내가 커밋한 코드가 black format을 따른다고 할 때,해당 포맷을 지키지 않은 채로 커밋을 하게되면 자동으로 black format을 적용시켜준다.# AS-IS : 들여쓰기와 공백이 지켜지지 않은 내 코드def add(a, b) :return a+b# TO-BE : pre-commit을 통해 black 스타일을 적용한 코드def add(a, b): return a + b> https://black.readthedocs.io/en/stable/ 가장 간단하게는 Extension을 써서 저장 시 마다 파일에 black format을 자동 적용하는..
· Philosophy
나는 20여 년간 신을 믿었다.그리고 운명은 신의 뜻이라고 믿고 살아왔다. '이것이 나의 운명'이라고 생각이 될 때는 보통 되던 일도 나의 생각대로 흘러가지 않을 때였다.  나를 비롯한 이 세계의 모든 피조물들에게 선고되는 운명이라는 것들이신으로부터 정해지는 것이 아닐 수도 있다는 생각을 하게되었다. 약한 확신이다.  우리는 보통 운명을 받아들인다라는 말을 많이 쓴다. 운명이라고 정의하는 불가항력 너머에 일어나는 현상들을 관찰할 수가 없기 때문이다. 우리는 관찰하지 못하는 진실에 대해선 받아들일 수 밖에 없는 비참한 처지에 놓여있다. 이러한 모종의 비참함에 휩싸여 본 사람은 운명에 저항해보려했던 사람일 것이다. 운명을 받아들인다는 것은 우리의 정신에 이로움을 주기도한다.더 정확히 말하면, 운명을 받아들임..
오늘은 내가 직장을 다닌 이래로손에 꼽을 정도의 야근을 한 날이었다.일에 사정없이 치였는지,밥도 먹지 못하고 집에 돌아왔다.10시 반 쯤 되었으려나.엄마가 밥을 차리고 나를 기다리고 있었다.사실 나는 이제 이 집을 나간다.어디로 갈지는 아직 정해지지 않았지만,분명한 건 나는 이 집을 떠난다.지극히 일상적이었던 이런 순간도 없다는 것일테니,매일 챙겨주는 밥을 먹을 날도 얼마남지 않았다.웬일로 엄마가 밥먹는 나를 오랫동안 보고있었다.요즘은 허리가 아프다면서, 잘 앉아있지도 못하는쪼그린 자세로 몇 분동안 날 보고 있었다.혼자 살게 되는 얘기를 했다.몇몇 가지 반찬이 깔린 이 밥상을 보기는 쉽지 않을 것 같다고 했다.반찬은 사먹을 거고,회사에서 밥을 먹고올 것 같다고 했다.내가 좋아하는 반찬 만드는 법을 들었다..
bat_huni
Growth Scientist