개발계발 24

JavaScript immutability

변수는 자유롭게 선언 가능하고 값도 변경할 수 있기 때문에 활용도가 높다. 하지만 변하면 안 되는 값이 변경 가능한 상태라면 신뢰성 문제가 생길 수 있다. 이런 때에는 변경 불가능한, 불변(immutability)의 변수를 만들어 볼 수 있다. 여기서는 변수를 불변하도록 변경하는 것과 그 특징을 알아본다. *생활 코딩 javascript immutability 내용을 공부하며 정리한 것입니다. 1. var vs const - var로 변수 선언 시 변수 값 변경이 가능하지만 const로 변수 선언 시, 값 변경이 불가능하다. var a=1; a=2; console.log(a); //2 위 코드처럼 a의 값을 1로 주고나서 2로 변경하면 a의 값은 최종적으로 2라는 것을 확인할 수 있다. 즉, 변수의 값 ..

[git] git branch 업데이트 하기

최초로 git clone과 git remote add origin을 하면 origin에 있던 브랜치도 자연스럽게 따라온다. 하지만 작업 과정 중에 origin에 브랜치가 새로 생길 수 있다. master만 있던 test repository에 develop 브랜치를 만들어 봤을 때 로컬에서는 이 변화가 잡히지 않는다 이럴 때는 remote 업데이트를 해주면 된다. $git remote update 그리고 다시 확인 해보면 레파지토리 업데이트를 통해 최신 상태를 반영해 주는 것을 확인할 수 있다

[2]ssh를 사용하여 서버 접속하기

ssh는 내 컴퓨터에서 다른 서버로 접속하거나 파일 전송 등을 가능하게 하는 프로토콜이다. 예를 들어, 내 pc에서 aws 인스턴스 접속할 때 ssh를 통해 접속한다. ssh 명령어는 아래와 같다. $ssh ec2-user@ * ec2-user는 username으로, aws에서 Amazon Linux AMI를 사용하면 ec2-user가 된다. 그런데 접속하고 싶은 서버에 다 접속할 수 있는 것은 아니다. 내가 아무 서버에 막 들어갈 수 있으면 다른 사람도 막 들어올 수 있다는 거니까 당연히 막아뒀을 것이다. 이처럼 서버에 아무나 들어올 수 없도록 하는, 권한이 있는 사람만 접근할 수 있도록 하는 장치가 바로 키인증이다. 다시 말해, 내가 이 서버에 들어갈 권한이 있다는 것을 키인증을 통해 증명이 되어야만..

개발계발 2019.04.01

[1]해시함수를 활용한 비밀번호 암호화

사용자의 비밀번호를 그대로 DB에 저장하는 행위는 매우 위험합니다. 비밀번호가 해킹당할 상황이 생기면 그대로 개인정보에 위협이 되기때문입니다. 뿐만아니라 실서비스에서 이같이 저장하면 불법입니다. 그러므로 비밀번호를 db에 저장할 때는 암호화하여 보안을 유지해야 합니다. mysql에서 AES_ENCRYPT라는 비밀번호 인코딩 함수를 제공하고 있습니다.하지만 이 함수는 디코딩이 가능한 양방향 인코딩으로, 이 역시 실서비스에 적용시 불법입니다. (혼자 공부용은 무관해요^_^) 인코딩된 비밀번호가 유출되더라도 디코딩하지 못하도록 단방향 인코딩을 사용해야 합니다.비밀번호 암호화에 쓰이는 단방향 해시 함수로는 SHA-1, SHA-256,Bcrypt 등이 있습니다. SHA-1보다 SHA-256이 보안적으로 더 좋고,..

개발계발 2019.03.23