[TIL] IT 5분 잡학사전 Day12

한다솜·2024년 2월 20일

IT 5분 잡학사전

목록 보기
9/11
post-thumbnail

오늘 TIL 3줄 요약

  • 중요한 데이터베이스를 저장할 때에는 🧂 솔트와 함께 해시 함수를 통과시켜 🌈 레인보우 테이블로부터 지켜내자
  • 개발 생산성을 높여주는 객체 지향 프로그래밍
  • 프로그래밍 문제 해결시 새로운 관점과 접근 방식을 얻고 싶다면, 함수형 프로그래밍을 학습하자

TIL (Today I Learned) 날짜

2024.02.20

오늘 읽은 범위

에피소드 35 ~ 38

책에서 기억하고 싶은 내용을 써보세요.

📍 해시 함수

✔️ 무작위성
✔️ 동작 규칙
1️⃣ 동일한 입력값에 대해 동일한 출력값을 가짐
2️⃣ 입력값이 아주 살짝만 바뀌어도 출력값은 완전히 다른 결과가 나옴
3️⃣ 단방향 함수
✔️ 한계와 해결방안
  • 🌈 레인보우 테이블 (rainbow table) : 해시 함수가 변경한 값을 원래의 값과 연결한 표 (➡️ 보안 문제 발생)
  • 🧂 솔트 (salt) : 무작위 텍스트로 솔트와 함께 해시 함수를 통과시키면, 레인보우 테이블이 있어도 원래 값을 알 수 없음

📍 프로그래밍 패러다임

✔️ 함수형 프로그래밍
  • 버그가 발생하기 어려운 구조
  • 함수 중심으로 코드 작성
  • 선언형 프로그래밍 콘셉트 유지
  • Java, JavaScript, Pythone 등에서 지원
✔️ 선언형 프로그래밍
  • 원하는 결괏값을 선언
  • 모든 선언형 프로그래밍은 명령형 프로그래밍 위에서 동작
  • 결과 중심으로 코드를 작성하기 때문에 개발자의 실수가 적고, 다른 동료가 코드를 이해하기 좋음
✔️ 명령형 프로그래밍
  • 원하는 결괏값에 어떻게 도달하는지 선언
  • 할 일을 세세하게 지시할 수는 있지만 개발자가 실수하기 쉽고, 다른 동료가 코드를 이해하는데 어려울 수 있음

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

✔️ 이번 챕터에서는 개발을 공부한다면 한번쯤은 들어보았을 용어들을 다루고 있어서 개념을 다시 정리하는데 도움이 되었다.
알고는 있지만 말로 설명하기 어려운 부분들을 쉽게 설명하고 있어 애매하게 알았던 부분들이 정리되었다.
✔️ 함수형 프로그래밍의 중요성에 대해서는 들어봤지만, 개념 자체를 이해하기 어려울 뿐만 아니라 적용은 더 복잡하다는 생각이 들었다.
새로운 사고방식을 배우는 과정이기 때문에 결코 쉽지 않을 것이다.
개념을 알아가기 보다는 '왜?' 사용해야 하는지에 집중하며 필요성을 느끼고, 실제 코드에도 적용해보자.

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

🙅

오늘 읽은 다른사람의 TIL

🙅

유튜브 강의

[에피소드 35] https://youtu.be/67UwxR3ts2E?si=M4H3Mq0xTIlIyuJM
[에피소드 36, 37] https://youtu.be/cg1xvFy1JQQ?si=Gy0MWNTthypbzSGA
[에피소드 38] https://youtu.be/7aEQLvvnQIY?si=KpCC4_cwG4qN1Kp4

profile
💻Preparing Web Back-end Engineer💻

0개의 댓글