본문 바로가기

Javascript139

홈페이지 다언어 지원을 위한 i18next.js 라이브러리 사용법 홈페이지를 배포함에 있어 다언어 지원 기능은 매우 중요하다고 할 수 있다.최근 이러한 언어지원 기능을 쉽게 할 수 있는 i18next.js라는 라이브러리를 찾게 되었다.본 라이브러리는 사용법도 간단하다. 아래는 reference 사이트이고 친절히 잘 설명되어있다. http://i18next.com/docs/ 물론 주의할 점이 있다면 본 라이브러리가 동작하려면,해당 스크립트는 번역하려는 페이지 보다 먼저 로딩되면 안 되기에 맨 아래다 기입해줘야 한다. (라이브러리 선언은 위에다 해도 된다.)초반에 이것때문에 에러 생긴것 빼고는 그 다음과정들은 무난했다. 2017. 5. 17.
node.js 파일을 업로드하고 해당 파일을 서버에 저장하는 방법 최근 사이트에서 회원들의 프로필 사진을 업로드 하여 서버에 저장하는 기능을 구현하는 작업이 필요했다.조금 부끄럽지만 이전에 업로드 기능을 사용해본적이 없기에 이번에 그 기능을 구현하느라 조금 고생을 하였다.생각외로 방법은 간단하였다. https://www.youtube.com/watch?v=2jwNNFbs4ic 자세한 방법는 본 동영상에 잘 설명되어 있다.물론 방법은 잘 설명되어 있지만 실제 해보게 되면 여러가지 난관에 부딫히게 된다. 첫번째 난관은 어떻게 업로드 파일의 데이터를 받아올 것인가에 대한 문제였다.동영상에서는 form 형식 안에서 submit 이벤트가 발생할때 그에 따라 데이터를 보내주지만나는 따로 만들어준 특정 버튼을 클릭했을때 데이터를 보내주게 만들었다. 문제는 전자는 알아서 데이터 형식.. 2017. 5. 15.
cookie를 이용하여 로그인시 아이디 비밀번호 저장 기능 구현 로그인 편의성을 위해 많은 사이트들에서는 사용자의 로그인 아이디와 비번을 쿠키로 기억해 놓았다가 뿌려주게 된다.최근 본 기능을 구현하게 되었는데, 아래의 블로그에 잘 설명되어 있었다. http://kkotkkio.tistory.com/64 2017. 4. 27.
jquery로 이벤트 끄고 켜기 가끔 버튼 UI를 비활성화 시켜야 할 순간이 있다.예를 들어 동의서 페이지를 구현할때 스크롤을 다 내릴때까지 버튼을 비활성화 시키는 경우가 있을 것이다.본 기능은 jquery의 on, off 함수로 쉽게 구현할 수 있다.자세한 설명은 아래 링크에 잘 나와 있다. http://makitweb.com/enable-and-disable-event-element-jquery/ 2017. 4. 21.
ajax에서 loading.gif 사용하기 ajax 통신중에 loading.gif를 만들어주고 싶을때가 있다.아래의 링크를 참고하면 쉽게 만들 수 있다. http://skylhs3.tistory.com/4 2017. 4. 17.
nodemailer로 이메일 가입 인증하기 회원가입을 하고 이메일 인증을 하는 절차를 node.js로 구현해 보았다.정확히는 nodemailer이라는 모듈을 이용했다.nodemailer으로 가입 인증을 하는 코드는 아래의 블로그에 잘 나와있었다. https://codeforgeek.com/2014/07/node-email-verification-script/ 다만문제가 있다면 아래의 코드에서 SMTP를 지워버리기 바란다. var smtpTransport = nodemailer.createTransport("SMTP",{ service: "Gmail", auth: { user: "Your Gmail ID", pass: "Gmail Password" }}); 아무래도 이전버전의 nodemailer 형식을 따른거 같은데 지금은 SMTP 서버를 이용해 .. 2017. 4. 17.
google captcha 쓰는 방법 최근 로그인 페이지를 만들면서 많은 것들을 배우고 있다.그중하나다 바로 로봇방지 기능이라고 불리는 captcha이다.평소에 많이 보기는 했지만 직접 구현해 본것은 이번이 처음이다. 본 captcha를 쓰는 클라이언트에서 쓰는 방법은 아래의 링크에 잘 나와있다. http://son10001.blogspot.kr/2015/12/api-google-recaptcha.html 문제는 내가 구현하는 로그인 페이지에는 가입 페이지까지 같이 들어가 있어서 한 페이지에 두개의 captcha를 구현해야 했다.하지만 위의 링크의 방법으로는 하나의 captcha밖에 구현되지 않았다.그래서 좀더 찾아 보았더니 아래의 링크에 그 방법이 나와있었다. http://mycodde.blogspot.kr/2014/12/multiple-.. 2017. 4. 14.
node.js 라우터에서 post를 쓸때 주의할점 삽질을 하고 올려본다.node.js에서 로그인 값을 post 방식으로 전달하고 통신이 완료 되면 메인 페이지로 돌아가게 하려고 했다.그래서 res.redirect('/')라는 함수를 주구장창 사용했지만 반응이 없었다..벼래별 해답을 찾으며 방법을 찾는데 1시간이 걸렸다. 결론은 ajax 통신에서는 res.redirect('/') 함수가 먹히지 않는다.ajax의 post 통신에 있어서 res는 클라이언트로 그 값을 전달해주는 역할만 한다.ajax의 success 함수가 장식용으로만 있는것이 아니었다.ajax는 요청한 값에 의해 응답을 확실히 받았을때 다음 작업을 할 수 있었다.고로 내가 로그인 완료후에 다른 페이지로 접근하려면 ajax의 success 함수에 그 기능을 만들어줘야 했다.그래서 node.js.. 2017. 4. 13.
express 4.x 버전의 router 기능 이번에 node.js를 써서 로그인 페이지를 구현할 일이 생겼다.그 와중에 삽질을 통해express의 router 기능에 대해 알게 되었다.(node.js를 오랫동안 안 써서 그런지 이전과 새삼 달라진 느낌이었다.)이전에 node.js로 라우터를 구성해줄때는 app.get, app.post 등등을 주구장창 써줬었는데,본 router 기능이 생기니 많은 것들이 편해졌다. 그중하나가 바로 url 묶음 기능이다.예를 들어 sign_in_up.js 이라는 폴더에다가 라우팅을 설정해주고,그것을 아래와같이 require로 불러와서 var sign_in_up = require('./routes/sign_in_up'); 아래와 같이 app.js에 추가해 주면 된다. app.use('/users', sign_in_up).. 2017. 4. 13.