-
TIL#7. IT 5분 잡학사전 ep35-38TIL 2023. 10. 17. 10:07728x90
노마드코더의 북클럽 챌린지 IT 5분 잡학사전
오늘 읽은 내용
에피소드 35 - 비밀번호 저장 방법
에피소드 36, 37 - 객체 지향 프로그램
에피소드 38 - 함수형 프로그래밍
기억할 내용
[비밀번호 저장을 위해 사용하는 해시함수, 솔트]
- 해시함수는 동일한 입력값에 대해 동일한 출력값을 가짐. / 입력값이 살짝 바뀌어도 출력값은 크게 변화 / 반대로 입력한다고 해서 원래 값이 나오지 않는다 (한 방향으로만 설계되어있음)
- 하지만 해시함수도 '레인보우 테이블(해시 함수의 값을 원래 값과 연결한 테이블)' 때문에 완벽할 수 없다.
=> 솔트(Salt)라는 무작위 텍스트를 비밀번호와 결합해서 해시함수를 통과시켜 보완
[프로그래밍 패러다임]
- 객체 지향 프로그래밍, 절차 지향 프로그래밍, 함수형 프로그래밍
[객체 지향 프로그래밍]
- class: 상품 찍어내는 '공장' 역할.
- 상속: 클래스와 같이 코드의 효율성을 높여주는 개념. 중복된 요소가 있을 경우, 해당 요소들을 상속받음 (예. 심즈 게임에서 기본 인간 속성은 상속. 성인, 아이에 따라 다른 특성만 부여)
[함수형 프로그래밍]
- 버그가 발생하기 어려운 구조
- 함수형 프로그래밍을 지원하는 언어: 자바, 자바스크립트, 파이썬 등
- 샌드위치를 만든다고 할 때, 선언형 프로그래밍은 "샌드위치를 만들어줘"라고 결과만 선언하고, 명령형은 "빵 2개 꺼내서 구워, 양상추 준비하고 토마토를 썰어라 등등"과 같이 결괏값에 도달하는 단계를 다 알려줌.
- CSS가 대표적인 선언형
- 명령형은 세세한 지시가 가능하지만 개발자가 실수할 수 있고, 코드를 이해하기 어려운 반면, 선언형 프로그래밍은 결과 중심으로 코드를 작성하니 실수도 적고 이해하기 좀 더 쉬움
생각과 메모
- <비전공자를 위한 이해할 수 있는 IT지식>이라는 책과 비교하게 된다. 그 책도 개발자가 아닌 사람들이 개발을 이해할 수 있게 하기 위해 쓰인 좋은 책이지만, IT5분 잡학 사전은 프로그래밍을 공부하기 위해 시작하는 사람들에게, 전체적인 개념과 중요한 포인트를 더 쉽게 이해하기에 좋다. 무엇보다, 현실적인 예시들로 '쉽게'설명한다는 것이 큰 장점.
- 이번에 책을 읽으면서 '어려운 개념을 쉽게 설명하는 것'의 중요성과 필요한 능력치에 대해 다시 생각해 볼 수 있었다. 얼만큼 본질을 정확하게 꿰뚫고 있는지, 중요한 것은 무엇인지 파악하고 중심을 잡는 것은 프로그래밍 공부뿐만 아니라, 다른 영역에서도 공통적으로 필요하다.
728x90'TIL' 카테고리의 다른 글
[1주차: 5/23~] 프로젝트 계획 다듬고 기존 코드 이해하기 (0) 2024.05.24 TIL#8. IT 5분 잡학사전 ep39-45 (1) 2023.10.19 TIL#6. IT 5분 잡학사전 ep30-34 (2) 2023.10.15 TIL#5. IT 5분 잡학사전 ep26-29 (24) 2023.10.13 TIL#4. IT 5분 잡학사전 (23) 2023.10.12