용돈의 쓰임

2023. 3. 7. 06:53

새학기가 되어 용돈을 주기로 했다.
3학년이니까 3천원 ㅎ

일요일에 증정식(?)을 하고
어제 용돈 썼다는데
세뱃돈 받은거에서 만원짜리를 더 빼서 친구랑 문방구에 다녀왔다고

자신은 아이브 포토카드 1개 천원에 사고
같이 간 친구에게도 장난감을 사 주고
거스름 돈을 3천원 받아 왔다고 ㅎㅎ

그 소식을 듣고 당장 세뱃돈 은행에 입금하고 왔다고
돈을 주면 바꿔주는 것만 알고 가치는 제대로 모르네
이녀석 이번에 좀 배웠을라나?

728x90

할아버지야?

2023. 2. 26. 15:57

딸내미 충치로 토요일에 치과에 방문했다.

치료를 다 마치고 설명도 다듣고 나와서 집으로 돌아가는 길에

의사선생님이 할아버지랑 왔냐고 물었다고 한다.

"아빤데요?"라고 했더니 미안하다고 했다며ㅋㅋㅋ

내가 그렇게 늙어보이는지 이제야 알았다.

수염깎을 때 보이는 듬성듬성 하얗게 보이는 것이나 운동할 때 쉬이 통증이 올 때 문득 '아! 나이가 들었구나' 하는 생각은 많이 했는데

주변에서 염색 좀 하라는 이야기를 할 때에도 그런 충격은 없었는데
아이를 통해 전해들은 이야기 이거 꽤 충격이네

TV같은 데에서 전해듣기만 했었는데 바로 내가 그 대상이었다니...

쩝.

728x90

ChatGPT 가입하기

2023. 2. 23. 01:16

1차에서의 링크로는 안되고 다른 링크로는 가입화면으로 가네

https://openai.com/blog/chatgpt/

 

ChatGPT: Optimizing Language Models for Dialogue

We’ve trained a model called ChatGPT which interacts in a conversational way. The dialogue format makes it possible for ChatGPT to answer followup questions, admit its mistakes, challenge incorrect premises, and reject inappropriate requests. ChatGPT is

openai.com

여기로 가면 화면 좌측 하단에 "TRY CHATGPT" 버튼이 있다.
(화면 상단에서 Try 버튼이 있으나 링크가 다르므로 화면 아래에 있는 버튼을 누른다)


이동은 (https://chat.openai.com/auth/login)으로 하지만 해당url로 바로 접근은 안된다.
"TRY CHATGPT"버튼을 눌러 이동해야 한다.
그러면 아래와 같이 버튼 2개가 보인다.

회원 가입이므로 "Sign Up"버튼을 누른다.

그러면 계정 생성을 위한 form이 나온다. 아무거나 해도 되는데
우선은 Email로 가입해본다.

Email 주소입력하고 Continue 버튼을 누르면 사용할 Password를 입력하라고 나오고
가입했는데

제대로 처리가 안됐다. "Return to homepage" 링크를 타고 들어갔더니
https://openai.com/api/ 로 이동하고(url로 직접 이동해도 됨)
화면 오른쪽에 "Sign up"버튼이 있네.
직접쳐도 되는데 왜 이리 돌아 왔나...

가입한 뒤 "Log In" 버튼을 눌러 처음 로그인하면

가입한 Email로 인증메일을 보냈다고 한다.
Email을 확인해서 "Verify email address' 버튼을 누르면 된다.

다시 로그인을 하면
내 정보를 내 놓으라고 하네

그 다음은 전화번호 ㅡㅡ;

휴대전화로 인증받은 코드를 입력하고 나면
추가로 정보 내놔

그냥 둘러본다고 I'm exploring personal use를 선택하고 나면
드디어... 준비된 화면이 나오네 ㅋㅋ

playground를 클릭하면 입력하는 form이 나와서
test겸 안녕을 여러나라 언어로 물어보니

한글이 빠져있네

그래서 다시 물어보니
"안네용~~~"

우선 이걸로 준비는 된 것으로~ ㅎ

728x90

ChatGPT 도전

2023. 2. 23. 00:48

작년 12월 중순 즈음 아는분이 chatGPT 이야기를 한 적이 있다.
당시에는 AI가 얼마나 똑똑하겠냐하며 흘려들었었는데 최근 돌풍이라

나도 도전~~~

우선 가입부터 해야한다.

https://chat.openai.com/chat 로 접속하면 아래와 같은 화면이 나온다.

영어로 나오니 파파고를 불렀다.

뭔가 이상하다...
Google 번역을 불렀다.

ChatGPT 상태에 대한 두 가지 진실과 거짓을 작성하십시오.
1. ChatGPT는 현재 높은 트래픽을 경험하고 있습니다.
2. 개발자는 모든 사용자를 수용하기 위해 열심히 노력하고 있습니다.
3. ChatGPT는 100% 정확도로 미래를 예측할 수 있습니다.

결론. 현재 용량이 가득찼으니 나중에 다시 시도하라는 뜻. ㅠㅠ

링크가 걸려있는 "Get noticed when we're back' 를 클릭하면
notice받을 email을 입력하라고 한다.

 

결국 다시 공지가 열릴때까지 기다려야 한다.
1차 시도 실패!!!!

728x90

나만 또 잘못 본거야?

2023. 2. 21. 23:25

이 그림을 보고
곰돌이를 주문했다.

그런데
온 상품은 곰돌이가 아니었다.
그럼 무엇이 왔을까??

"반구"가 반원모양이었다
곰돌이 이름이 반구인줄...

상품 상시 페이지에 10개의 이미지 중 딱 1개 동그란 모양이 있었는데 그게 "반구"였더라....
첫번째 그림에 동그란게 하나라도 있었으면 헤깔리지 않았을텐데...
반품비가 더 나올 것 같고
내가 잘못한게 맞는데 속상한 건 어쩔 수 없네

게다가 이걸로 딸내미랑 티격태격하고
아빠가 주문을 잘못했으니 다시 주문하라고하고
나는 상품등록을 헤깔리게 해 놔서 저기 주문하고 싶지는 않고

에휴...

728x90

엣씨디? ETCD 라는 key/value 형태의 database(?) 가 있다.

우선 설치되어있는 서버에서
export ETCDCTL_API=3

으로 버전을 지정한다음
etcdctl get --prefix / 를 하면 모든 keyvalue 가 나온다.
나의 경우 너무 많아서

etcdctl get --prefix / >> etcddata.txt 로 파일로 바꾸어서 확인했다.

추가 명령들

export ETCDCTL_API=3
etcdctl get / --prefix --keys-only
etcdctl get "/" --prefix --keys-only
ETCD_CTL=3 etcdctl get / --prefix --keys-only
ETCD_CTL=3 etcdctl --endpoints=http://localhost:2379 get / --prefix --keys-only
ETCD_CTL=3 etcdctl --endpoints=http://localhost:2379 get  --prefix --keys-only
ETCD_CTL=3 etcdctl --endpoints=http://localhost:2379 get --prefix --keys-only
ETCD_CTL=3 etcdctl --endpoints=http://localhost:2379 get --prefix --keys-only --sort
ETCD_CTL=3 etcdctl --endpoints=http://localhost:2379 get --prefix="" --keys-only --sort
ETCD_CTL=3 etcdctl --endpoints=http://localhost:2379 get --keys-only --sort
ETCD_CTL=3 etcdctl --endpoints=http://localhost:2379 get --keys-only

 

728x90

창업을 해 보려고 창업계획서를 작성하면서

하나하나 적어가며 나를 되돌아 보는 시간이 되기도 하고
내 아이디어가 이렇게 진행되면 좋을 것 같다는 행복회로도 돌려보고

아래쪽에 시장현황란이 있어 조사를 해 보니
이미 유사한 서비스가 생각보다 많이 있네...

얼추 비슷한 특허들도 있고

이거 창업계획서 완료하기전에 현타가 몇 번 오네

일단 만들어 봐? 아니면 계획이라도 우선 세워?
계속 왔다갔다 하다보니 둘 다 제대로 되지도 않고 ㅜ.ㅜ

이번달 목표는 우선 계획서 작성으로 잡고 조금씩이라도 써 내려가 보자.
사업화는 그 다음 생각해보자구~

728x90

한번 migration up으로 반영한 뒤에는 다시 반영할 수 없다.
수정을 하려면 down으로 반영 취소한 다음에 다시 up으로 반영해야하는데

권장하지는 않는다.
보통 create에 대한 down은 drop table이므로 data가 다 날아간다.

따라서 alter table을 하는 경우는 추가로 fizz파일을 생성하도록 한다.

1. Model 생성

명령어 : buffalo pop g model "모델명"
여기에서 모델명은 단수로 적는다.
실제 db에 생성되는 table명은 복수로 's'가 붙는다.
예) buffalo pop g model region
이러면 /models/region.go 가 생성되고
DB에는 regions 라는 table이 생성된다.
table에는 id, created_at, updated_at 세 칼럼이 기본으로 추가된다.

2. table 변경

명령어 : buffalo pop g fizz "작업구분_테이블명"
구분을 하기위한 이름이고 해당 이름기준으로 순번_이름_up.fizz 와 _down.fizz 파일이 생성된다.
예) 테이블명이 regions 이고 columng을 추가할 것임
buffalo pop g fizz update_regions
명령을 실행하면 20230101_update_regions_down.fizz 와 20230101_update_regions_down.fizz 두 개의 빈 파일이 생성된다.
각 파일을 수정한다

20230101_update_regions_down.fizz 에는
drop_column("regions", "test")

20230101_update_regions_up.fizz 에는
add_column("regions", "test", "string", {} )

저장 한 뒤에 적용
buffalo pop migrate up

테이블을 확인해보면 regions 테이블에 test라는 칼럼이 추가된 것이 확인된다.

변경사항은 다음 내용을 따른다.

테이블 삭제 drop_table("테이블명") drop_table("regions")
테이블명 변경 rename_table("테이블명", "바꿀 테이블 명") rename_table("regions", "new_regions")
칼럼 추가 add_column("테이블명", "칼럼명", "data타입", {}) add_column("regions", "desc", "int", {} )
칼럼 변경 change_column("테이블명", "칼럼명", "data타입", {}) change_column("regions", "desc", "string", {} )
칼럼 삭제 drop_column("테이블명", "칼럼명" ) drop_column("regions", "desc" )
인덱스 추가
(단일칼럼)
add_index("테이블명", "칼럼명", {} )
-> index명 : 테이블명_칼럼명_idx
add_index("regions", "abc", {} )
-> regions_abc_idx
인덱스 추가
(복수칼럼)
add_index("테이블명", ["칼럼1", "칼럼2"], {} ) add_index("regions", ["abc", "def"], {} )
unique 인덱스 add_index("테이블명", "칼럼명", {"unique":true} ) add_index("regions", "abc", {"unique" : true } )
인덱스 이름지정 add_index("테이블명", "칼럼명", {} ) -> 기본이름
add_index("테이블명", "칼럼명", { "name" : "인덱스이름"} ) -> 인덱스 이름으로 생성
add_index("regions", "abc", { "name" : "i_abc" } )
-> i_abc
(이름 지정 안했으면 : regions_abc_idx )
인덱스 이름 변경 rename_index("테이블명", "인덱스명", "바꿀인덱스명") rename_index("regions", "i_abc", "idx_abc")
인덱스 삭제 drop_index("테이블명", "인덱스명") drop_index("regions", "i_abc")
fk 추가 add_foreign_key("테이블명", "칼럼으로 쓸 이름", {"참조 테이블명" | ["참조칼럼명"]}, { "name" : fk이름" }) add_foreign_key("regions", "parent_id", { "csp" : "id"]}, "name" : "fk_regions_csp_id"} )
fk 삭제 drop_foreign_key("테이블명", "칼럼명", {"if_exists":true}) drop_foreign_key("regions", "fk_regions_csp_id", {"if_exists": true})

3. model 변경

model은 처음 생성할 때 빼고는 변경되지 않음 따라서 변경내용을 직접 변경해야함.

최초 생성시
type Region struct {
    ID         uuid.UUID      `json:"id" db:"id"`
    CreatedAt  time.Time      `json:"created_at" db:"created_at"`
    UpdatedAt  time.Time      `json:"updated_at" db:"updated_at"`
}
변경내용 반영
type Region struct {
    ID         uuid.UUID      `json:"id" db:"id"`
    ParentID uuid.UUID      `json:"parent_id" db:"parent_id"`
    CSP   *CSP `belongs_to:"csp"`
    CreatedAt  time.Time      `json:"created_at" db:"created_at"`
    UpdatedAt  time.Time      `json:"updated_at" db:"updated_at"`
}

 

참고1 : 최초 모델 생성 시 db에 반영은 되나 migration up 은 안되어 있는 상태임.
필요내용을 직접 수정 한 다음 migration up을 하면 1번은 반영이 됨.
참고2 : generate model로 여러 model을 생성부터 먼저하고 migration up을 하면 한번에 적용 됨.
migration up으로 한번 반영이 되면 down으로 내리거나 새로운 파일을 생성하여 적용해야 함.

 

결론
변경내용 기록을 위해서도 변경내용은 매번 buffalo pop g fizz "작업구분_테이블명" 으로 추가한다.
기존내역은 재반영 되지 않는다.

728x90

더 퍼스트 스램덩크 - 송태섭이야기, 해남전

남은 멤버는 4명
능남, 상양, 능남 연습경기, 북산 3학년 대 1학년 연습경기로 4게임

한사람씩 스토리랑 붙이면 될 듯


728x90

영하 10도 ㅎㅎ

728x90
BLOG main image
"그게 뭐 어쨌다는 거냐?" 늘 누가 나에게 나에대한 말을할 때면 이말을 기억해라. by nobang

카테고리

nobang이야기 (1932)
Life With Gopro (7)
Life With Mini (79)
Diary (971)
너 그거 아니(do you know) (162)
난 그래 (158)
Study (290)
속지말자 (10)
Project (34)
Poem (15)
Song (0)
Photo (113)
낙서장 (45)
일정 (0)
C.A.P.i (2)
PodCast (0)
nobang (27)
고한친구들 (4)
recieve (0)
History (0)
android_app (2)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :