Summer의 괴발개발 일기

IT 5분 잡학 사전 - 노개북 챌린지 12일차

Summer Lim 2024. 11. 19. 19:13

 

1. TIL (Today I Learned)

 

Day12. 오늘 읽은 범위 : 에피소드 35~38 복습

1. 책에서 기억하고 싶은 내용을 써보기!

 

35. 비밀번호는 어떻게 저장될까?

나는 카카오 로그인을 활용한 비밀번호 시스템을 구현해본적이 있다. 그걸 구현할 생각만 했지 비밀번호가 어떻게 저장될까?에 대해는 생각해보지 못했다. 해시 함수를 사용하면 비밀번호 시스템을 더 안전하게 구현할 수 있는 점을 알게됐다.

 [마법사 해시 함수는 어떻게 동작하지?]
규칙1. 동일한 입력값에 대해 동일한 출력값을 가진다.

규칙2. 입력값이 아주 살짝만 바뀌어도 출력값은 엄청나게 크게 바뀐다.

규칙3. 반대로 입력한다고 해서 원래 값이 나오지 않는다.

 

이 해시함수의 단점을 보안한 레인보우 테이블(rainbow table), 솔트(salt)가 있다.

- 레인보우 테이블(rainbow table) : 해시 함수가 변경한 값을 원래의 값과 연결한 표.

- 솔트(slat) : 무작위 텍스트인 솔트와 합쳐 해시함수에 통과시킴. 레인보우 테이블이 있어도 원래 비밀번호를 찾을 수 없게하는 방법.

 

36. 객체 지향 프로그래밍이 뭐죠? (1)

프로그래밍 패러다임(programming paradigm)이란?
프로그래머가 프로그래밍을 할 때의 관점, 방식. 프로그래밍 언어는 이런 프로그래밍 패러다임을 하나 또는 하나 이상을 지원.
ex) Java는 객체 지향 프로그래밍, 함수형 프로그래밍을 지원함.

이것을 게임 만드는 과정을 통해 클래스, 속성을 설명하는 부분이 놀라웠다.

 

37. 객체 지향 프로그래밍이 뭐죠? (2)

심즈 게임 만들기 과정을 통한 상속 개념을 설명했다. 긴 코드의 공통된 속성을 통해 코드 양을 줄이는걸 설명하다니 놀라웠다.

 

38. 함수형 프로그래밍이 뭐죠?

함수형 프로그래밍을 지원하는 언어 자바, 자바스크립트, 파이썬 등이 있다. 이것을 샌드위치 만들기 과정으로 설명하다니 ㅋㅋ 학부때 배우는거랑은 달라서 더 눈길이 갔다.

 

2. 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보기!

 
이 4개의 에피소드를 읽고나니 IT 쿠키상식 : 개발자의 번아웃, 이렇게 대처해 봐!가 나왔다.

 [IT 쿠키상식 : 개발자의 번아웃, 이렇게 대처해 봐!]

예방 팁 1. 휴식 시간을 가져라.
예방 팁 2. 일하는 시간을 제한하라.
예방 팁 3. 몸을 움직이고 건강한 음식으로 활력을 찾아라.

 

예방1, 2은 해보고 있는 규칙이였고, 건강한 음식을 먹는 것은 새로운 사실이였다. 맞다. 인스턴트 많이 먹으면 몸이 무겁고 생산성이 떨어진다. 음식도 신경써봐야겠다는 생각이 들었다.

 

3. 궁금한 내용이 있거나, 뭘 이해되지 않는 내용이 있다면 적기!

기술면접볼때 객체 지향 프로그래밍, 함수형 프로그래밍 질문이 들어온다면, 책의 설명방식처럼 설명해봐도 좋겠다는 생각이 들었다. 이거 어떻게 말로 설명하지? ㅋㅋ 고민해봐야겠다.

 

 

2. 슬랙 인증

슬랙 인증 성공!