javascript

    Node Js,Vue - SocketIo 세팅

    지난번 JWT 토큰 관련 포스팅 이후 거의.. 일주일 만에 블로그 포스팅을 작성하네요 채팅 시스템 개발 작업은 계속하고 있으나 최근에 일이 바빠서 개발을 많이 못한 게 조금 아쉽습니다 오늘은 우선 Node JS, Vue에서 소켓 IO 세팅법에 대해 간략히 포스팅을 하고 다음에 채팅과 관련된 기능들에 대해서 포스팅하도록 하겠습니다 Socket IO 우선 소켓 IO에 대해서 알아보도록 하겠습니다 Socket IO란 실시간 웹 애플리케이션을 위한 이벤트 기반 Javascript 라이브러리입니다 즉 클라이언트와 서버 간 실시간으로 통신할 수 있도록 해주는 라이브러리이며 WebSocket 기반으로 동작하고 있습니다 Socket IO 같은 경우는 주로 실시간 서비스, WeRTC 스트리밍 등 다양한 서비스에서 사용되..

    Node JS JWT Token

    저번 포스팅에서는 Crypto 모듈을 활용하여 로그인까지 구현을 해보았는데 오늘은 이어서 로그인 이후에 인증하는 방식으로 JWT 토큰 방식을 구현해보도록 하겠습니다 JWT란? Json Web Token의 약자이며, 선택적 서명 및 선택적 암호화를 사용하여 데이터를 만들기 위한 인터넷 표준입니다 토큰은 비공개 시크릿키 또는 공개/비공개 키를 사용하여 서명이 됩니다 JWT 토큰 구조 아래와 같은 구조를 가지고 있으며 각각 부분을 점(.)으로 구분하고 있습니다 aaaaaa.bbbbb.cccccc header(aaaaaa) { "alg": "HS256", "typ": "JWT" } 서명 생성을 위해 어느 알고리즘을 사용할지를 식별합니다 payload(bbbbb) { "sub": "1234567890", "nam..

    Node js Crypto 모듈 로그인

    이전 포스팅에 이어서 데이터 베이스에 저장된 유저 정보에 기반하여 로그인하는 로직을 구현해보도록 하겠습니다 단방향 암호화 로그인 로직 구현 시 단방향 암호화에 대해서 다시 한번 정리를 해보도록 하겠습니다 단방향 암호화란? 일반적인 평문을 암호화했을 때 암호화된 문자열을 복호화할 수 없는 암호화입니다 MD5, SHA-1, SHA-256 알고리즘이 대표적입니다 단방향 암호화에 문제점 단방향 암화화에 문제점은 동일한 문자열을 암호화했을 경우, 동일한 암호문이 나오는 것이며, 저희는 이를 해결하기 위해 salt값을 추가하여 암호화된 비밀번호를 유출할 수 없도록 하였습니다 로그인 구현 실제 로그인을 구현을 할 때는 유저가 입력한 패스워드와 DB에 저장되어있는 패스워드가 동일한지 검증이 되어야 합니다 이때 저희는 ..

    단방향 암호화 와 Nodejs Crypto 모듈

    지난번 계산기 만들기 이후에 정보처리기사 실기 시험을 보느라 실시간 채팅 프로그램 개발을 진행하지 못하였는데 어제(5월 7일) 실기 시험이 종료가 되어 드디어 시작할 수 있게 되었습니다(결과는 한 달 뒤에 나오니.. 차분하게 기도해야될꺼같아요..) 채팅 프로그램에 회원가입 로직 개발 중 패스워드 암호화 관련하여 crypto라는 모듈이 있어 내용 정리합니다 이전에 주로 php에서 개발을 진행했을 때는 password_hash 함수에 salt값을 추가해서 암호화를 진행하였는데 Nodejs에서도 동일하게 진행해보도록 하겠습니다 단방향 암호화 단방향 암호화란 일반적인 평문을 암호화했을 때 암호화가 된 문자열을 복호화할 수 없는 암호화 알고리즘입니다 암호화를 진행할 시 주로 해시 알고리즘을 사용하며 대표적으로 M..

    eval 함수 없이 계산기 만들기-2일차

    eval 함수 없이 계산기 만들기 - 2일 차 eval 함수를 사용하지 않고 자바스크립트 계산기 만들기 2일 차입니다 1일 차에서 작업 예정이었던 실제 계산 로직과, AC(All Clear) 기능을 구현하였으며, 작업 내용은 아래 깃에서 확인 가능합니다 https://github.com/jungHyeonS/Calculator 2일 차 작업 내용 2일차 작업 같은 경우는 주로 자바스크립트에서 작업을 진행하였습니다 우선 실제 계산 로직을 구현하기에 앞서 바로 코드로 짜는 게 아닌 필요한 기능과 구조를 정리해보았습니다 1. 연산자와 피연산자를 입력받고 '=' 버튼 클릭 시 실제 계산이 되어야 한다 2. 피연산자가 없는 상황에서 연산자는 클릭했을 경우 연산자가 출력이 되어선 안된다 3. AC버튼 클릭 시 모든 ..

    eval 함수 없이 계산기 만들기-1일차

    eval 함수 없이 계산기 만들기 프로젝트 1일차 프로젝트를 시작한 계기 저는 주로 vue 혹은 앵귤러를 사용을 많이 하거나, 혹은 하이브리드 앱을 개발할때는 아이오닉,capacitor 와 같은 라이브러리를 사용을 하여 개발을 많이 했었습니다, 간편하고 좋은 프레임워크 이면서 라이브러리 이기는 하나 너무 간편한 나머지는 본래에 자바스크립트(바닐라자바스크립트) 에 이해도가 많이 떨어지는 거 같아 이전에 배운 자바스크립를 복습 진행하고있었는데, 자바스크립트 내부 함수인 eval 함수를 더이상 사용하지 말라는 글을 보고 흥미가 생겨 eval 함수 없이 계산기 만들기 프로젝트를 시작했습니다 eval 함수는 무엇이고 왜 사용을 하면 안되나? eval 함수는 문자열을 코드로 인식하게 하는 함수입니다 예를 들어 ev..