보통 action 추가, resource 추가를 하면
templates 아래에 해당 폴더가 추가되는데

그냥 templates 아래에 components 라는 폴더를 만들었다.

그리고는 loading 표시는 하는 _loadingcontainer.html 을 추가하고
buffalo dev를 하자

buffalo: 2022/09/28 11:26:25 === Error! ===
buffalo: 2022/09/28 11:26:25 === exit status 1
templates/embed.go:10:12: pattern *: cannot embed directory components: contains no embeddable files

혹시 몰라서 component 아래에 list.plush.html 을 추가하니 오류가 사라진다.
partial로 쓰려고 _를 붙여 만들었는데....
뭔지는 모르겠지만 어쨌거나 해당 파일 추가로 오류는 해결

728x90

3인가족으로 캠핑하기가 쉽진 않지만 해 냅니다 ㅎ


시작 전 모아놓고

상자 하나, 의자 큰거 두개, 작은거(스벅 꺼) 하나, 마렉스 테이블 추가요~~

먼저 박스와 가방하나를 양쪽으로
사이에는 팩가방과 망치


타프를 사이에 끼우고
뒷자리에 텐트


릴선 추가


구이바다


까먹고 안 넣은 루프타프 ㅡㅡ


에어박스+이너텐트, 위에 철제받침2개짜리(알록달록한 가방), 위에 검은 부직포에 3단 받침대, 회색 그리들 가방은 오른쪽에


뒷자석 발 쪽은 작은 테이블, 전기장판


가방 2개


가장 눈물나는 짐
이불가방인데 점점 빵빵해지면 시트를 위협(?)한다는


팔걸이 사이에는 펌프



천장에는 매트를 끼우고

깜박하고 안찍었지만
테이블, 의자, 삼각대까지 넣고 마무리

빡쎈 테트리스 ㅎ

728x90

머리털이 하얘져도 못 느꼈는데

수염도 하얀게 나고
코털도 하얀게 나고

허나 다리털은 아직 하얀 것을 못봤는데
다리 사이털은 하얀게 나네

728x90

golang framework 중 하나인 buffalo에서

생성은 액션명만 주면 되는데
계층구조로 만들려면 이름을 계층을 줘서 만든다

1. action

추가는
buffalo g a aaa list

이렇게 하면 aaa는
app.go 에 app.GET("/aaa/list", AppList) 가 추가되고
aaa.go 파일, aaa_test.go 가 생성된다.
templates에 aaa 폴더 아래에 list.plush.html 이 추가된다.

buffalo g a bbb/bcd list
이렇게 하면 bcd 는
app.go 에 app.Get("bbb_bcd/list", BbbBcdList) 가 추가되고
actions/bbb 폴더 아래에 bcd.go, bcd_test.go 가 생성된다
templates/bbb/bcd 아래에 list.plush.html 가 추가된다.

삭제는
buffalo destroy action aaa 를 하면 생성됐던 파일 및 app.go의 설정이 지워진다.
그러나, 계층구조로 만든 경우에는
bbb/bcd 를 bbb_bcd 로 변환하기 때문에 파일을 찾지 못해 삭제가 되지 않는다.

삭제는 수동으로

ps : action 생성시 기본은 GET 인데 Post 로 만들 때에는 --method POST 를 추가하면 된다
ex) buffalo g a aaa list create --method POST 를 하면
app.go에 list는 get으로 create는 post로 설정된다.

 

2. resource

action은 만들고 싶은것들을 하나하나 설정할 때 사용하고
resource는 list,show,create,update,destroy를 한번에 생성하여 관리할 때 사용한다.
app.go 에서는 app.Resource("이름", xxxResource{}) 로 설정된다.
장점은 구조만 맞으면 작업량이 줄수 있지만 추가 설정을 하려면
조금 복잡하다.

추가는
buffalo generate resource "리소스이름"  "생성할 컬럼명"
ex) buffalo generate resource efg title desc 를 하면
efg 그룹에 crud가 생성되고 efg table에 column으로 id, title, desc 가 정의된다.

리소스는 그룹으로 만들 수 없다.
eee/efg 로 만들려고 해도 eee_efg로 변경하여 생성된다.
table의 경우 마지막 언더바(_) 이후에 s를 붙여서 생성한다.
eee/efg -> eee_efg -> efg -> efgs 로 table명이 정해진다.
create table efgs

삭제는
애초에 변환해여 생성하므로 삭제도 가능하다
buffalo destroy resource efg
buffalo destroy resource eee/efg   -> 생성할 때 eee/efg로 생성해도 eee_efg로 생성

리소스는 이름에 주의를 하면 된다. 언더바 사용하지 않는것이 좋고
즉 버팔로 가 정의한 구조에 딱맞으면 resource를 쓰고 안맞으면 actions로 일일이 설정

계층구조로 만들면 삭제는 수동으로 해야한다는 것.

 

728x90

하... 00시 27분
웬 망치소리가...
이 시간에

이제는 읽씹이라 더 화가난다

728x90

buffalo 는 buffalo-pop을 통해 model(table)을 관리한다.

buffalo pop g m abc 를 하면 연결된 db에 abc라는 table이 생기고
migrations 폴더아래에 up, down 파일이 추가된다.

관리 편의를 위해 구조를 적용하려면 모델이름에 경로를 사용하면 된다.
buffalo pop g m abc/def 를 하면 models 폴더 아래 abc 폴더 아래에 해당 모델이 추가된다.

삭제는 반대로 하는데
생성은 buffalo pop 인데, 삭제는 하이픈이 있다. buffalo-pop

buffalo-pop destroy model 모델명
ex) buffalo-pop destroy model user 를 하면
먼저 모델을 삭제할 지 묻고, migration도 삭제할 것인지 묻는다
y 를 눌러야 삭제 됨.

buffalo-pop destroy model user
Want to remove model? (y/N)y
INFO[0003] - Deleted models/user.go                     
INFO[0003] - Deleted models/user_test.go
Want to remove migrations? (y/N)y
INFO[0007] - Deleted migrations/20220914044342_create_users.up.fizz 
INFO[0007] - Deleted migrations/20220914044342_create_users.down.fizz

실제로 해당 폴더에 파일들이 삭제되었는지 확인한다.

폴더구조로 추가한 경우 model과 migration 이 따로 논다 ㅡㅡ
abc/def 로 생성을 한 경우 model은 동일하게
buffalo-pop d m abc/def 로 하면 abc_def로 바뀌어서 삭제 시도를 한다.
migragions에서는 끝에 s 를 붙여서 시도한다.
파일명이 다르면 삭제가 되지 않으므로 꼭 확인해야 한다.

buffalo-pop d m abc/def
Want to remove model? (y/N)y
INFO[0002] - Deleted models/abc_def.go                  
INFO[0002] - Deleted models/abc_def_test.go
Want to remove migrations? (y/N)y

migrations 가 제대로 지워지지 않은 경우 이름을 고려해서 다시 호출해 본다.
buffalo-pop d m abc_def
Want to remove model? (y/N)y
INFO[0003] - Deleted models/abc_def.go                  
INFO[0003] - Deleted models/abc_def_test.go
Want to remove migrations? (y/N)y
INFO[0005] - Deleted migrations/20220914054656_create_abc_defs.up.fizz 
INFO[0005] - Deleted migrations/20220914054656_create_abc_defs.down.fizz

models/abc/def.go 가 그대로 남아있다 ㅡㅡ;
migrations에서 정상적으로 삭제 되었으면 model 폴더아래에 있는 abc 폴더의 파일을 직접 삭제한다.

 

728x90

bufallo 에서 action 생성명령은 g(generate) a(action) 이다.
buffalo g a 액션명
buffalo g action 액션명
buffalo g actions 액션명

하지만 그냥 액션명을 하면
actions 아래에 바로 생긴다.
로직이 많아지면 복잡해지므로 package를 추가하는 것이 좋다
buffalo g a te/tt show index create 를 하면
actions/te/ttt.go
actions/te/ttt_test.go 파일이 생성된다.

뒤에 show, index, create는 routing 과 template 파일을 생성하기 위한 것임.

추가한 action을 삭제하려면 d(destroy) 를 사용한다
buffalo d action 액션명

방금 추가한 te/ttt를 삭제
buffalo d action te/ttt
Want to remove actions? (y/N)y
INFO[0003] - Deleted actions/te_ttt.go                  
INFO[0003] - Deleted actions/te_ttt_test.go
INFO[0003] - Deleted References for te_ttt in actions/app.go

actions/app.go 에 가보면 route에 추가되어있던 te/ttt 관련사항이 삭제된 것을 확인할 수 있다.

728x90

buffalo create 로 프로젝트를 생성( buffalo new mypro --db-type mysql )

buffalo dev 를 실행하면
찍히는 log 중에
starting application
starting simple server on 127.0.0.1:3000
starting Simple background worker
가 나오면 정상적으로 실행이 된 것이다.

그래서 localhost:3000 으로 접속을 해 보면
똬란~ 이 아니라... 500 - Error 가 남.

couldn't start a new transaction: could not create new transaction: Error 1049: Unknown database 'mypro'

 

db접속을 해야하는데 database가 없어서 나는 에러이다.
database.yml에 db 접속정보가 있기 때문에
해당정보로 DB 설정을 시켜야 한다.

buffalo pop create -a

db는 test, develope, production 세가지가 필요하며 이미 있으면 생성이 되지 않고 에러가 난다.
처음 프로젝트를 만들었고 새로운 db를 생성하는 것인데 생성도중 에러가 나면
삭제하고 다시 생성해야한다.

buffalo pop drop -a
모든 db가 삭제되는 것이 아니고 database.yml 로 생성하려고 한 db들(test, dev, prod)을 날리는 것이다.

삭제가 다 되었으면 다시 생성명령(buffalo pop create -a) 을 실행해서 db 생성하고
buffalo dev
하면 정상적으로 서버가 가동되고 localhost:3000으로 접속하면 똬란~~~ Welcome to Buffalo 라고 나온다.

 

728x90

golang 을 이용한 framework 로 buffalo 가 있다.

buffalo create <프로젝트명> 을 하면 프로젝트가 생성되는데
buffalo dev 를 하면 서버가 실행되어서 기본설정인 경우 localhost:3000으로 접속하면 똬란~ 하고 나와야 하는데

Error: you need to be inside your buffalo project path to run this command

저게 뭐냐...ㅡㅡ;

프로젝트 생성한 뒤에 생성한 프로젝트에서 실행시켜야 하는데 바로 buffalo dev를 해서 그렇다 ㅋㅋㅋ

cd <프로젝트명> 을 해서 생성한 프로젝트 안으로 들어가서 하면 됨.

ㅡㅡ.

728x90

분명히 터미널에서 git version으로 확인했을 때 git이 설치되어 있는 것이 확인되는데

"Git이 설치되지 않았습니다.
 Git 프로세스가 1 코드와 함께 종료되었습니다." 하고 다운로드 및 설치가 나오는데

다운로드 설치누르면 윈도우에 설치하려고 한다. ㅡㅡ;

 

설정 법은 다음과 같다.
터밀널에서 git 설치 경로를 확인한다 : which git
/usr/bin/git

Settings  > Version Control > Git 에서 Git 실행파일 경로를 설정하게 하면 된다.
(한글일때 : 설정 > 버전관리 > Git)

wsl 안의 경로이므로 \\wsl 로 찾아가야 한다.
\\wsl$\Ubuntu-20.04\usr\bin\git

(폴더에서 경로 찾기)


경로설정을 하고 "테스트" 버튼으로 적용을 테스트 한다.

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

카테고리

nobang이야기 (1933)
Life With Gopro (7)
Life With Mini (79)
Diary (971)
너 그거 아니(do you know) (162)
난 그래 (159)
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 :