본문 바로가기

분류 전체보기

(668)
List - Python, Dart, Golang(배열/슬라이스) Python 추가 - append, insert append >>> a = [1, 2, 3] >>> a.append(4) >>> a [1, 2, 3, 4] >>> a.append([5,6]) >>> a [1, 2, 3, 4, [5, 6]] extend >>> a = [1,2,3] >>> a.extend([4,5]) >>> a [1, 2, 3, 4, 5] >>> b = [6, 7] >>> a.extend(b) >>> a [1, 2, 3, 4, 5, 6, 7] insert 0번째 자리, 즉 첫 번째 요소(a[0]) 위치에 값 4를 삽입하라는 뜻이다. >>> a = [1, 2, 3] >>> a.insert(0, 4) >>> a [4, 1, 2, 3] 리스트 a의 a[3], 즉 네 번째 요소 위치에 값 5를 삽..
[GO] Booking - HTML rendering HTML에서 중복되는 부분은 base.layout.tmpl 로 처리하고 페이지 재조립하는 방법에 대해서 알아보자. 프로젝트 기본 구조 main.go package main import ( "GO/trevor/bookings-31/pkg/handlers" "fmt" "net/http" ) const portNumber = ":3000" // main is the main function func main() { http.HandleFunc("/", handlers.Home) http.HandleFunc("/about", handlers.About) tmp := fmt.Sprintf("Staring application on port %s", portNumber) fmt.Println(tmp) _ = htt..
[GO] Todo list - postgresql DB를 sqlite 에서 postgresql 로 변경하는 방법입니다. 최종소스는 여기서 참고하세요 ==> [heroku 배포용 최종소스] 여기서 다루는 내용은 postgresql - heroku 에 postgresql 설치하는 방법 postgresql - 패키지 설치 postgresql 핸들러 만들기 model.go, main.go - 핸들러 및 DB 변경 코드 수정 1. heroku 에 postgresql 설치하는 방법 heroku_todos>heroku addons:create heroku-postgresql:hobby-dev » Warning: heroku update available from 7.53.0 to 7.59.2. Creating heroku-postgresql:hobby-dev on ..
[GO] Todo list - 배포(heroku) 이전 블로그[[GO] Todo list - session 별 데이터 관리] 소스를 이용하여 heroku.com 에서 배포하는 방법입니다. 최종소스는 여기서 참고하세요 ==> [heroku 배포용 최종소스], 변경된 DB까지 반영된 버전. 1. 기존 소스 코드를 모두 복사하여 자신이 원하는 폴더를 만든다. heroku_todos> 2. mod, sum 파일 삭제 후 mod 초기화. go mod tidy heroku_todos>go mod init heroku/todos go: creating new go.mod: module heroku/todos go: to add module requirements and sums: go mod tidy heroku_todos>go mod tidy go: finding..
[GO] Todo list - session 별 데이터 관리 이전 블로그에서는 session 정보를 이용하여 로그인 여부만 확인하여 다른 사람의 리스트도 볼 수 있는 구조임. 이번에는 session 정보를 이용하여 자신의 todo list만 볼수 있도록 샘플 코드를 수정합니다. ./model/model.go 수정 사항 // 수정전 type DBHandler interface { // private 처리함 GetTodos() []*Todo AddTodo(name string) *Todo RemoveTodo(id int) bool CompleteTodo(id int, complete bool) bool Close() } // 수정후 type DBHandler interface { // private 처리함 GetTodos(sessionId string) []*Todo..
[GO] Todo list - Google Oauth2 Google Oauth 관련 참고 자료 [https://unsungit.tistory.com/98?category=1060987] [https://unsungit.tistory.com/99?category=1060987] session 관련 패키지 go get github.com/gorilla/sessions 환경변수에 "SESSION_KEY" 추가할것. 키는 임의의 값으로 입력하면 됨. 이 키값으로 session 정보를 암호화하는 키로 사용된며, 차후에 변경가능. 기본구조 "/" 로 접속하면 session 정보가 없으므로 singin.html 로 이동 이후 부터는 "http://localhost:3000/todo.html" 페이지로 자동 이동한다. 특이사항) 로그인시 "/auth/google/login..
[GO] Google Oauth 샘플 코드 필요한 패키지 go get golang.org/x/oauth2 go get cloud.google.com/go index.html Google Login main.go package main import ( "context" "crypto/rand" "encoding/base64" "fmt" "io/ioutil" "log" "net/http" "os" "time" "github.com/gorilla/pat" "github.com/urfave/negroni" "golang.org/x/oauth2" "golang.org/x/oauth2/google" ) const portNumber = ":3000" var googleOauthConfig = oauth2.Config{ RedirectURL: "http://..
[GO] Google Oauth 설정 Google Oauth 설정을 하기위해서는 2가지 설정이 필요합니다. 1. Oauth 동의 화면 2. 사용자 인증정보 1. Oauth 동의 화면 - 간략한 설명은 아래와 같음. API 및 서비스 > Oauth 동의 화면 > 유저타입에서는 외부만 선택가능(내부는 구글 워크스페이스 사용자만 사용가능) > 만들기 클릭. 1 OAuth 동의 화면 앱이름은 GoWeb-Oauth 사용자 지원이메일은 본인정보로 설정. 개발자 연락처 정보는 본인정보로 설정. > 저장 후 계속 2 범위 입력안함. > 저장 후 계속 3 테스트 사용자 입력안함. > 저장 후 계속 4 요약 요략만 보여줌. 나중에 테스트사용자 등 정보변경 가능 2. 사용자 인증정보. ID와 KEY를 기억하지 못한다면, 아래의 다운로드 버튼을 통해서 확인가능하..