본문 바로가기

PROGRAMING

(82)
go gin-gonic 라우터 빼고 파일 나누고!! 꼭 C#같았다. 여러파일이 하나처럼 동작했다. 일단 package main func main() { r := gin.Default() gin.ForceConsoleColor() //r.Static("/", "./views") r.Static("/src", "./views/src") r.HTMLRender = ginview.Default() r.GET("/ping2", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "pong", }) }) r.GET("/index", func(c *gin.Context) { c.Header("Content-Type", "text/html") //views폴더가 자동으로 지정되는 듯하다. view로 폴더이름 했을땐 에러났다. ..
golden layout 가상 dom이라는게 이런것 이구나. 가상 dom이라는 걸 글로만 봐서 그리고 앙귤라는 그런건 id가 보여서.. 이런거라고는 생각도 못했었다. 이야기를 풀자면 이렇다. 동일한 컴포넌트 창으로 2개가 열리지 않게 하고 하나가 열려있을때는 포커스가 되도록 구현하려고 했다. componetName으로 컴포넌트 별로 구분하여 창이 여러개 안열리도록 설정은 했는데 focus를 주는게 쉽지 않았다. 인터넷에 찾아보니 https://github.com/golden-layout/golden-layout/issues/430 Switching active tabs programatically · Issue #430 · golden-layout/golden-layout Hi folks, I'm struggling a bit to figure out just h..
go string builder r.POST("/realtime_contract_data", func(c *gin.Context) { var connectionString string = fmt.Sprintf("host=%s user=%s password=%s dbname=%s sslmode=disable", HOST, DB_USER, DB_PASSWORD, DB_DATABASE) // Initialize connection object. log.Println("AAA") //db, err := sql.Open("postgres", connectionString) db, err := sqlx.Connect("postgres", connectionString) log.Println("BB") checkError(err) err = db...
go multiline 문자열 여러줄 문자열 sql 쓸때. 엄청 삽질했다. 인터넷에서 보고 싱글 따움표!! 하나에 문자열 쓰고 싱글따움표 닫음이라고 생각했다. 계속에러나서 인터넷에 엄청 뒤졌다. 그러다 결국 알아낸것은 여러줄 문자열이.....엔터 옆에 싱글 따옴표가 아니라 숫자1 옆에 어퍼스트로피 였다. 개 삽질했다. r.POST("/realtime_contract_data", func(c *gin.Context) { var connectionString string = fmt.Sprintf("host=%s user=%s password=%s dbname=%s sslmode=disable", HOST, DB_USER, DB_PASSWORD, DB_DATABASE) // Initialize connection object. log.Println("AAA") //d..
Firebase 에서 request로 파라미터 받는법 Firebase 에서 request로 파라미터 받는법 import * as functions from 'firebase-functions'; // // Start writing Firebase Functions // // https://firebase.google.com/docs/functions/typescript // export const helloWorld = functions.https.onRequest((request, response) => { //console.log(request); //전체 내용이 다보인다. console.log(request.query); //queryString을 Json형태로 가져온다. { dfdf: 'aaa' } console.log(request.body); /..
firebase function 고고 설치 (TypeScript로 안하고 javscript로 하려다가 다시 typescript로) 로 했다. firebase init npm install -g typescript npm install -g ts-node 일단 여기까지 firebase init 해서 function 하고 잘 설치하자 스크립트는 typescript로 했다. function\index.ts 파일을 수정한다. import * as functions from 'firebase-functions'; // // Start writing Firebase Functions // // https://firebase.google.com/docs/functions/typescript // // export const helloWorld = functions.https.onRequest((request, response) => { // respons..
Flutter Loging 과 authentication 은 다르다!! 어제 자기 전에 인터넷 글에서 읽은 거다. firebase authentication 을 사용해서 flutter web 로그인을 구현하고 아싸 다했다 하고 있는데 관련 글을 읽었다. 로그인은 사이트에 권한을 얻는 행위이고 (로그인 대상의 권한에 따라 모든 api에 접근--딱히 제한도 체크로직도 없음) 인증은 api에 접근을 할때마다 인증토큰으로 이 api를 사용할 수 있는 지 인증하는 것을 의미한다고 한다. 인증을 로그인으로 쓸수도 있지만. 이런의미라고 한다. 지금은 그냥 넘어가지만 나중에 api 인증토큰을 붙여봐야겠다.
Flutter Web을 Firebase Authentication 사용하기 (firebase_auth)결국 쓰려면 쉘에서 (flutter run -d web-server --web-port 9090) 실행해야한다. 가려다가 결국 android에서 했다. https://www.youtube.com/watch?v=qtJU5T0tF-M 위 유투브 영상을 보고 알았다. 공식사이트는 https://pub.dev/packages/firebase_auth firebase_auth | Flutter Package Flutter plugin for Firebase Auth, enabling Android and iOS authentication using passwords, phone numbers and identity providers like Google, Facebook and Twitter. pub.dev 예제도 있고 다있다. web\index.html 에서 몇가지를 적어주어야한다. 특이점은 구글 client_id를 적어줘야한다는 것이다. firebase co..