목차 로그인 과정 Flow chart 기술 스택 Flow chart 미들웨어로 관리자 확인 겪은 문제 작업을 통해 배운 것 결과 로그인 과정 Flow chart 미들웨어로 관리자 확인 기술 스택에 대한 DB 요청은 관리자 로그인을 확인하는 과정이 필요하다고 판단 각 요청마다 admin_login cookie를 통하여 관리자를 확인하는 방법보다 공통된 작업을 처리해 주는 미들웨어를 선택 gorila/mux에서 미들웨어 adminRouter := r.PathPrefix("/access").Subrouter() adminRouter.Use(Middleware.AdminMiddleware) AccessRequest(adminRouter) 미들웨어 func AdminMiddleware(next http.Handl..
목차 관리자 계정 구분 관리자 페이지의 필요 기능 와이어 프레임 ERD Flow chart 느낀 점 관리자 계정 구분 로그인 한 사용자가 관리자인지 아닌지 구분하기 위하여 DB에 정보를 저장 고민한 방법 현재 userinfo 테이블에 관리자 구별을 위한 column을 추가하는 방법 관리자 계정만 모아서 저장하는 테이블 추가로 생성 선택한 방법 관리자 계정을 저장하는 테이블을 추가로 생성하기로 결정 이유 관리자인지 아닌지 구분하기 위하여 DB에서 값을 조회할 때 모든 사용자 정보 속에서 구분하는 것보다 소수의 관리자 정보가 저장된 테이블을 조회하는 방법이 빠를 것으로 판단 (반정규화) 관리자 페이지의 필요 기능 관리자 페이지의 기능은 프로젝트를 진행하며 추가될 것으로 예상 한 번에 모든 것을 고민하는 것보..
프로필 페이지 1차 기록에 댓글로 작업에 대한 피드백을 받게 되어 부족한 부분에 대한 보완 작업을 진행하였습니다. 테이블의 before와 after에 대한 ERD는 제일 아래에 기록하였습니다. 목차 테이블 명, 컬럼 명 통일 profile테이블의 userinfo_id를 참고하는 것은 추천하지 않음 hashtaglist에 id 컬럼이 필요하지 않을까? tech와 techcategory에 대한 이해가 어려움 R_UserInfo에서 아스테리크(*)로 가져오는 것 C_UserInfo와 R_UserInfo의 return 포맷 통일 rollback, commit 없이 exec를 실행하는 문제 결과 테이블 명, 컬럼 명 통일 문제점 테이블 명과 컬럼 명에 규칙이 제각각인 문제 규칙이 없이 작성되는 경우 혼동을 줄 수..
목차 DB와 Session을 setup 하는 함수 제거 요청 경로에 따른 분류 DB와 Session을 setup 하는 함수 제거 코드 예시 main.go var err error db, err := sql.Open("mysql", "root:"+os.Getenv("MYSQL_PW")+"@tcp(localhost:3306)/prism") if err != nil { fmt.Println("Failed to open DB") } KakaoLogin.SetupDB(db) KakaoLogin.SetupStore(store) defer db.Close() kakaologin.go func SetupDB(db *sql.DB) { MainDB = db } func SetupStore(store *sessions.Co..