Community

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

← Go back

IT 5분 잡학사전] TIL 230905(Day12)

#book_club
1년 전
574
3

오늘 TIL 3줄 요약

  • 레인보우 테이블 해킹 위험을 방지를 위해 솔트(salt)를 이용해 해시함수를 사용한다. 솔트는 비밀번호와 합쳐져 해시 함수를 통과함으로써 비밀번호를 안전하게 보호한다.

  • 선언형 프로그래밍은 결과 값을 선언하는 것이고(like CSS), 명령형 프로그래밍은 원하는 결과값에 어떻게 도달하는지를 선언하는 것이다(like 함수 구현).

  • 함수형 프로그래밍은 함수 중심으로 코드를 작성하는 방식으로 선언형 프로그래밍 콘셉트를 유지하며, 버그가 발생하기 어려운 구조라서 개발자에게 매우 유용하다.

TIL (Today I Learned) 날짜

  • 2023. 09. 05

오늘 읽은 범위

  • EP35 비밀번호는 어떻게 저장될까?

  • EP36 객체 지향 프로그래밍이 뭐죠? ①

  • EP37 객체 지향 프로그램이 뭐죠? ②

  • EP38 함수형 프로그래밍이 뭐죠?

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

  • 해시함수

    • 입력값을 무작위값으로 변경해서 리턴함 → 비밀번호 시스템 구현에 적합

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

    • 입력값이 바뀌어도 출력값은 완전 다르게 바뀐다

    • 반대로 입력한다고 해서 원래 값이 나오지 않는다. → 한쪽 방향으로 설계된 함수

    • 레인보우 테이블 : 해시 함수가 변경한 값을 원래 값과 연결한 표 → 알려지면 위험해짐

    • 솔트(Salt) : 무작위 테스트 → 비밀번호와 솔트를 합쳐서 해시 함수에 통과시키면 원래 비밀번호를 레인보우 테이블에서 찾을 수 없음!

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

    • 프로그래머가 프로그래밍을 할 때의 관점, 방식, 사고의 틀

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

  • 객체 지향 프로그래밍

    • 코드의 효율성을 높이는 여러 요소를 사용

    • 클래스 : 속성은 같지만 데이터는 다른 객체를 생성하기 위한 개념

    • 상속 : 클래스의 기본 속성을 다 가지면서도 자신 만의 속성을 가져갈 수 있도록 하는 개념

  • 함수형 프로그래밍

    • 버그가 발생하기 어려운 구조라서 개발자에게 매우 유용

    • 함수 중심으로 코드를 적는 방식으로 선언형 프로그래밍 콘셉트를 유지함

  • 선언형 프로그래밍

    • 원하는 결과값을 선언

    • 결과 중심으로 코드를 작성하기 때문에 실수가 적고 동료가 이해하기 쉬움

    • ex) replaceAll함수 이용하기

      → 모든 선언형 프로그래밍은 명령형 프로그래밍 위에 쓴다고 할 수 있음

  • 명령형 프로그래밍

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

    • 할 일을 세세하게 지시할 수 있지만, 개발자가 실수하기 쉽고 동료가 이해하기 어려움

    • ex) replaceAll 함수 구현하기

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

  • 막연히 알고 있었던 프로그래밍 기법(?)을 패러다임이라고 칭하는 것을 알게됨

더 알아보기

3 comments