Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back

IT 5분 잡학사전 TIL Day 12 of 14

#book_club
1년 전
528
2

[ 오늘 TIL 요약 ]

TIL (Today I Learned) 날짜

2023.09.5

오늘 읽은 범위

에피소드 35 ~ 에피소드 38

책에서 기억하고 싶은 내용

<에피35>

< 해시함수의 3가지 규칙 >

  1. 동일한 입력값에 대해 동일한 출력값을 가진다

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


    -> 무작위성을 갖는다

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


    -> 한 쪽 방향으로만 설계된 함수

레인보우테이블(Rainbow table)

: 해시함수가 변경한 값을 원래의 값과 연결한 표

솔트(Salt)

: 아주 작은 무작위 텍스트

-> 비밀번호를 솔트와 합쳐 해시함수에 통과시키면 레인보우 테이블이 있어도 원래 비밀번호를 찾을 수 없다! 비밀번호를 저장하는 최강의 방법

<에피36>

프로그래밍 패러다임(Programming paradigm)

: 프로그래머가 프로그래밍을 할 때의 관점, 방식 등을 뜻함, 프로그래밍을 하는 사고의 틀

-> 프로그래밍 언어는 프로그래밍 패러다임을 하나 또는 하나 이상 지원

ex) 절차지향 프로그래밍, 객체지향 프로그래밍, 함수형 프로그래밍

<에피37>

상속

  • 코드의 효율성을 높여주는 객체지형 프로그래밍 개념 중 하나

  • 기본 속성을 가지면서 각각 다른 속성을 추가할 수 있게하여 중복을 해결해줌

<에피38>

함수형 프로그래밍

  • 프로그래밍 패러다임 중 하나

  • 버그가 발생하기 어려운 구조

선언형 프로그래밍

  • 원하는 결과값을 선언

  • 결과 중심으로 코드를 작성하여 실수가 적음

  • 동료가 코드를 이해하기 쉬움

명령형 프로그래밍

  • 원하는 결과값에 어떻게 도달하는지 선언

  • 세세하게 지시할 수 있는 대신 개발자가 실수하기 쉬움

  • 동료가 코드를 이해하기 어려움

오늘 읽은 소감

절차지향과 객체지향에 대해서는 알고 있었는데 프로그래밍 패러다임에 대해서는 처음 접했다.

책에서 간단히 얘기해줬지만 따로 더 알아봐야겠다. 그리고 비밀번호를 저장하는 최고의 방법으로 솔트와 비밀번호를 섞어 해시함수에 넣는 것이란걸 알았고, 선언형 프로그래밍과 명령형 프로그래밍의 차이를 확실히 알게 되었다. 이번 독서도 유익했다! 머리를 깨웠으니 이제 코딩하러 가야겠다...

2 comments