EP35. 비밀번호는 어떻게 저장될까?
해시함수
동일한 입력값에 대해 동일한 출력값을 가진다.
ex) 1234 -> wqkJ!J#$HJ564
입력값이 아주 살짝만 바뀌어도 출력값은 엄청나게 크게 바뀐다.
ex) 12345 -> uSELKJ@!)(*) (위에 있는 비밀번호와 비교했을 시)
반대로 입력한다고 원래 값이 나오지는 않음
ex) wqkJ!J#$HJ564 -> ?????
해시함수도 레인보우 테이블이라는 것 때문에 위험할 수 있기 때문에, 솔트를 추가해서 변형한다.
무작위 텍스트 솔트를 추가해서 해쉬함수를 통과시켜서 복잡하게 만든다.
EP36. 객체 지향 프로그래밍이 뭐죠? ①
프로그래밍 패러다임
프로그래머가 프로그래밍을 할 때의 관점, 방식 이런 것을 말함
객체지향 프로그래밍의 대표적인 것은 class가 있다.
하나의 틀로 여러가지의 것들을 만들 수 있다. (게임케릭터 만들기)
class Human{
constructer(name){
this.name = name;
this.arms = 2;
this.legs = 2;
}
}
EP36. 객체 지향 프로그래밍이 뭐죠? ②
상속
class Human{
constructer(name){
this.name = name;
this.arms = 2;
this.legs = 2;
}
}
class Baby extends Human{
constructor(name){
this.cute = true;
}
cry(){
return 'waa wa';
}
}
EP38. 함수형 프로그래밍이 뭐죠?
선언형, 명령형 프로그래밍의 차이
샌드위치를 만드는 함수로 차이점을 알아보자면
선언형은 '샌드위치를 만들어줘!' 이고
명령형은 '1. 토스트를 구워라 2. 계란, 양상추를 준비하라 3. 양상추를 잘라 계란과 함께 구워라' 이런 식이다.
함수형 프로그래밍
코드 작성 스타일 중 하나라고 할 수 있습니다. 정차지향 프로그래밍, 함수형 프로그래밍, 객체지향 프로그래밍, 함수형 반응형 프로그래밍이 있습니다. 함수형 프로그래밍의 장점 프로그래밍
pabeba.tistory.com
개발자의 번아웃 대처법
1. 휴식시간을 가져라!
2. 일하는 시간을 제한하라
3. 몸을 움직이고 건강한 음식으로 활력을 찾아라
소감
BCrypt를 이용하여 비밀번호 복호화를 해본 경험이 있어 이해가 잘 되었습니다. 객체지향형과 함수형프로그래밍 중에서는 함수형 프로그래밍이 조금 더 고난이도의 작업이라고 듣기는 했습니다. 에러 핸들링이 잘 된다는 장점도 있다고 합니다. 제가 예전에 포스팅 한 것이 있는데 가져와 보겠습니다.
그때 작성해 놓은게 있는데 함수형과 객체지향형을 복합적으로 사용해서 목적지에 잘 도달하는 것이 가장 중요하다고 합니다.
모두 번아웃되지 말고 천천히~ 달려가 보자구요.