Go로 만드는 웹 (2): 회원가입, 로그인&아웃 기능 구현..! # 2021-04-12 드디어 어제..! 내가 개인 프로젝트로 진행하던(Crud.gg라고 하겠습니다) crud.gg에 로그인, 로그아웃, 회원가입 기능을 붙였다. 이를 구현하기위해 1. 쿠키와 세션, 2. 비밀번호 암호화, 3. db 분리, 4. 로그인 원리? 등의 키워드로 ...
[삽질] 자꾸 예상치 못한 301 redirect가 일어날 때...
자꾸 예상치 못한 301 redirect가 일어날 때… 아니 분명 맞는데 왜 내 생각대로 코드가 안돌아가 - - ;;;;; 오늘 아래 코드를 돌리는데 "/bar"로 갈 때 bar.gohtml가 보여지도록 해주었는데 자꾸 index페이지로 돌아가는 것이었다… func main() { http.HandleFunc("/", index) htt...
[Go] Golang에서의 쿠키
[Go] Golang에서의 쿠키 쿠키란 무엇인가? 쿠키는 서버가 클라이언트의 웹 브라우저에 저장하는 정보/파일 입니다. 최대 4kb까지 저장이 가능하며 쿠키의 최대 갯수는 브라우저마다 상이합니다. 상태를 유지를 포함해 여러 활용이 가능하며 클라이언트에게 파일을 저장하게 하므로 서버의 부하를 덜어주는 역할도 합니다. 쿠키는 key:value쌍을 가지...
[Go] 정적파일을 서버에 올려보자
[Go] 정적 파일을 서버에 올려보자 Go언어로 웹 서버를 구현을 해보다가 분명 올바른 위치에 js, css파일이 있는데 서버를 실행시켰을 때 js, css파일을 찾지 못하는 상황이 발생했었다. 경로를 몇번 고쳐보기도 하고 구글링을 해보다가 웹서버에 파일을 올려주어야 한다는 것을 알게 되었다.. 그래서 오늘은 어떻게 서버에 정적 파일들을 서버에 올리...
[Js] var, let, const의 차이점에 대해 알아보자
[Js] var, let, const의 차이점에 대해 알아보자 javascript에서는 var, let, const 세가지 키워드로 변수를 선언해 줄 수 있습니다. 그런데 자바스크립트에서 var키워드로 변수를 생성하는 방법은 지양해야한다고 합니다. 그렇다면 왜 var키워드를 쓰면 안되는지, 이 세가지 키워드의 차이점은 무엇인지에 대해 알아봅시다. ...
[Go] Golang에서 커스텀 에러를 생성해보자
[Go] Golang에서 커스텀 에러를 생성해보자 go는 error타입을 기본적으로 제공해줍니다. go공식페이지에서 error타입을 찾아보면 아래와 같습니다. type error interface{ Error() string } 문자열을 반환해주는 Error() 메소드를 갖는 객체들은 모두 에러 타입이 될 수 있습니다. 따라서 우리는 아...
[Js] 자바스크립트: (4)프로토타입과 this
[Js] 자바스크립트: (4)프로토 타입과 this 프로토타입 이란? 자바스크립트의 모든 객체는 프로토타입을 갖습니다. 프로토타입이란 객체의 부모 역할을 담당하는 객체로 해당 객체에 존재하지 않는 프로퍼티에 접근하려고 할 때, 자바스크립트는 객체의 프로토타입 객체에서 그 프로퍼티를 찾으려 시도합니다. 나한테 존재하지 않은 프로퍼티를 프로토타입(부모...
[Devlog] Go로 만드는 웹 (1): MySQL 연동
Go로 만드는 웹 (1): MySQL 연동 현재 golang, mysql을 사용하여 로그인, 회원가입을 하는 웹페이지를 만들고 있다. 음.. 일단 이 처음부터 다른 사람이 짜놓은 코드라던가 best practice는 보지 않고 만들어 보기로 했다. 뭔가 한번 봐버리면 그 틀에서 헤어 나오지 못할까 봐 일단 내 방식대로 완성을 시키고 다른 사람들이 주...
[Js] 자바스크립트: (3)스코프
[Js]자바스크립트: (3)스코프 스코프란? 스코프란 말 그대로 어떤 객체의 유효범위를 의미합니다. 혹은 어떤 함수가 어떤 변수를 참조할 때 그 변수를 어떻게 찾는지, 참조하려는 변수의 이름이 중복되었을 경우 어떻게 명시할 것인지 찾는 규칙이라고도 볼 수 있습니다. 아래와 같은 코드가 주어졌을 때 console.log(x)함수는 어떤 x값을 참조해...
[Js] 자바스크립트: (2)함수
[Js]자바스크립트: (2)함수 함수 선언 함수 선언문 가장 일반적인 함수 선언 방식입니다. 함수 선언문은 아래와 같이 작성할 수 있습니다. function hello(){ console.log("hello world!"); } function printInput(input){ console.log(input); retu...