4장. 역할, 책임, 협력 책임- 객체지향에서 가장 중요한 능력은 책임을 능숙하게 객체에 할당하는 것.- 책임의 분류 : 하는것(doing), 아는것(knowing)- 책임은 하는것과 아는것을 외부에 제공해 줄 수 있는 서비스의 목록이다. 따라서 책임은 공용 인터페이스(public interface)를 구성한다. 책임과 메세지- 메세지는 협력을 위해 한 객체가 다른 객체로 접근할 수 있는 유일한 방법이다. 객체지향 설계는 협력에 참여하기 위해 어떤 객체가 어떤 책임을 수행해야하고 어떤 객체로부터 메시지를 수신할 것인지를 결정하는 것으로부터 시작된다. 어떤 클래스가 필요하고 어떤 메서드를 포함해야 하는지를 결정하는 것은 책임과 메시지에 대한 대략적인 윤곽을 잡은 후에 시작해도 늦지 않다. (구현에 대한 방..
1장. 협력하는 객체들의 공동체 역할, 책임, 협력역할과 책임을 수행하며 협력하는 객체들 객체지향 설계라는 예술은 적절한 객체에게 적절한 책임을 할당하는 것에서 시작된다. 책임은 객체지향 설계의 품질을 결정하는 가장 중요한 요소다. 1. 여러 객체가 동일한 역할을 수행할 수 있다.2. 역할은 대체 가능성을 의미한다.3. 각 객체는 책임을 수행하는 방법을 자율적으로 선택할 수 있다. 4. 하나의 객체가 동시에 여러 역할을 수행할 수 있다. - 객체지향을 객체지향이라고 부르는 이유는 패러다임의 중심에 객체가 있기 때문이다. 협력에 참여하는 주체는 객체다. - 객체는 애플리케이션의 기능을 구현하기 위해 존재한다. 협력이 얼마나 조화를 이루는지를 결정하는 것은 객체다. 결국 협력의 품질을 결정하는 것은 객체..
OpenAPI 의 chat-completions-api 부분을 정리해보았습니다. Chat 모델은 input 으로 a list of messages 를 받고, model-generated message 를 출력합니다. 비록 대화 형식이 multi-turn 대화를 쉽게 하기 위해 설계되었지만, 어떤 대화 없이도 single-turn tasks 를 하기에도 유용합니다. (Zero-shot learner 를 뜻하는 듯?) API 사용 예 import openai openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user..
어제는 우리 첫째가 유치원에서 나오자 마자 조용히.... "엄마 나 팬티에 똥 쌌어~" (엄청 해맑음) "(악 !!)" 놀이터로 돌진하려는 둘째를 TV 보여준다고 꼬셔서 집으로 데려와서 화장실에서 확인해보니 진짜였다 ㅠㅠ "언제 응가 했어~?" 물어보니,,, "응 밥먹고" 그리고 보아하니 이것땜에 쉬도 참고, 집에 오자마자 급히 쉬하러 간다. 에고.. 저 어린것이 얼마나 불편했을까... 싶기도 하고 이제 손이 덜가게 많이 컸나.. 싶었는데 아직도 아가아가 하구나~ 속으로 한숨을 내쉰다. 그런데 둘째가 표정이 안좋다. "왜 그래~?" 하니 울음을 터뜨리며 "선생님이,,,,,,,," 한다. "아 무엇인가.. 기분 안좋은 일이 있었구나~" 하며 토닥여주었다. 약속은 꼭 기억하는 5살 어린이들이기에 TV를 보여..
Relevant : 해온 일과 관련이 있는 Fun : 무엇보다 재미 Forgiving : GPT 는 아직 완전하지 않으므로 틀려도 허용이 되는 요새 업스테이지 분들의 강의를 들으며 정말 재미있고, 하고 싶은 일들이 생기고 있다. 김성훈 CEO 님은 위의 원칙에 따라 해본다고 하셨는데, 좋은 말이라 블로그에 남겨둔다. - 2023.06.16 요새 PLUS 요금을 내고 GPT4 를 사용하고 있는데, 앞으로 개발을 하며 내가 변화할 one-thing 은 지식을 습득하고 try 하는 방식 이라고 생각한다. 자꾸 예전처럼 모르면 검색을 하게 되는데, 그냥 ChatGPT 에 물어보면 바로 정답을 알려준다. 머리로 생산성을 높이는 방법을 생각하고, 행동으로 익숙히 하자. - 2023.06.17 GPT 를 사용하는데 ..
데이터가 많을 경우 특정 열 변환 시, 어떻게 진행되고 있는지, 어디까지 변환되고 에러가 나는지 궁금할 때가 있다. 그럴 때는 아래 코드가 유용하다. from tqdm.notebook import tqdm tqdm.pandas() df2['test2'] = df2['test1'].progress_apply(location_extract) 위에 tqdm 관련 두줄 선언 후 apply 대신 progress_apply 를 사용한다. 그러면 아래와 같이 초록색 bar로 진행상황을 알 수 있다.
주소를 위경도로 바꾸려고 이것저것 해보다가 가장 정확한 방법이라 생각되어 포스팅한다. 1. 파이썬 geopy 패지키 이용 (X) 위경도 기반 클러스터링 한 결과가 이상해서 확인해보니, 잘못되게 변환 되는 것들이 꽤 있었다. 2. 구글 스프레드 시트 이용하기 (X) 하루에 변환할 수 있는 개수가 제한이 있는듯 하다 1000건 미만. 3. 브이월드 사용 국토교통부에서 제공하는 공간정보 오픈 플랫폼이다. 하루 최대 40,000건 까지 이용 가능하다. (그리고 우리나라 서비스니깐 뭔가 더 정확하게 변환하리라는 믿음~~) 회원가입 후 키 발급이 필요한데, 간단하며 가입 즉시 발급된다. 아래에 geocoder 사용법이 자세히 설명되어 있다. https://www.vworld.kr/dev/v4dv_geocodergu..
머신러닝 기반 회귀의 핵심 사항은 비용함수를 최소로 만드는 w1, w0 변수가 무엇인지 알아내는 것이다. (여기서는 단순선형 회귀라고 가정한다. y = w0 + w1 * x) 비용함수를 최소로 하는 w1, w0 가 무엇인지 찾아보는 방법이 경사하강법 이다. 실제 y 와 예측된 y_pred 의 차이를 계산하는 비용함수는 아래와 같다. 비용함수를 단순히 y=x^2 로 나타내보면 위의 그래프와 같은데, 여기서 두가지 사항을 눈여겨보자. 1) 방향성 기울기+ 인 경우 : x 값이 작아질수록 y 가 작아지고, 기울기- 인 경우 : x값이 커질수록 y 가 작아짐을 알 수 있다. 2) 크기 y (비용함수)가 작을 수록 : 기울기가 작아지고 y (비용함수)가 클수록 : 기울기가 커진다. 따라서, w1_update = ..
- Total
- Today
- Yesterday
- dash
- 블록해쉬
- 마연굴
- 원계열
- Dash.html
- 김성일 작가님
- 환율이평선
- 객사오
- pandas apply
- M1/M2
- ChatGPT
- 환매시점
- 주소를 위경도 변환
- 리치고 주식
- 경제는 어떻게 움직이는가
- 연금저축
- 연금등록
- 리치고
- 블록해쉬구현
- 내 연금조회
- 통화량 데이타
- 말잔
- 환율데이터
- 경제주체별 M2
- M1M2비율
- Forgiving
- Dash 와 html 차이
- 계정조정계열
- 위경도변환
- 프로그래스바 표시
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |