Community

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

← Go back

TIL 에피소드 35 ~ 에피소드 38

#book_club
3년 전
640

오늘 TIL 3줄 요약

  • 비밀번호는 개발자, 데이터베이스를 구축하는 사람도 알아보지 못하게 저장하여 관리하자

  • 객체 지향 프로그래밍은 코드의 효율성을 위해 클래스와 클래스 간의 상속을 이용한다.

  • 선언형 프로그래밍은 원하는 결괏값을 선언하는 방식, 명령형 프로그래밍 원하는 결과를 얻는 방법을 작성하는 방법.

TIL (Today I Learned) 날짜

2023. 01. 24. 화요일

오늘 읽은 범위

에피소드 35 ~ 에피소드 38

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


비밀번호 시스템 구현

  • 잘못된 예

    • 비밀번호를 그대로 저장해서 데이터베이스에 접근할 수 있는 운영자, 개발자가 비밀번호를 볼 수 있는 경우

    • 데이터베이스 자체를 암호화해서 아무도 볼 수 없게 만든 후에 비밀번호를 저장. 사용자에게 키를 제공.

  • 해시 함수

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

    • 입력값이 유사하더도 출력값은 그와 무관하다. 무작위로 바뀐다.

    • 복원성이 없다. 출력값을 반대로 넣더라도 원래의 입력값이 나오지 않는다.

    • 레인보우 테이블을 이용하면 입력값을 알 수 있어서 완벽하지 않음.

  • 솔트 무작위 텍스트를 비밀번호와 합쳐서 해쉬함수를 통과 시킨다.


객체 지향 프로그래밍 : 클래스와 상속

  • 프로그래밍 패러다임 : 프로그래머가 프로그래밍을 할 때의 관점, 방식을 말한다. 절차 지향 프로그래밍, 객체 지향 프로그래밍, 함수형 프로그래밍등을 개발 언어들이 지원한다.

  • 일일이 데이터를 입력하는 경우, 오타가 발생할 위험이 있고, 새로운 속성을 추가하려고 할 때 어려움이 있다.

  • 게임을 만들 때 플레이어의 속성 값만을 입력하면 나머지는 자동으로 생성되는 방식, 코드를 손으로 직접 입력하는 양도 줄고, 속성도 오타가 나지 않는다. 이것이 코드의 효율성을 높여주는 클래스(class)라는 개념이다.

  • 공통적으로 가진 속성이여서 중복이 되는 부분은 상속으로 해결하여 코드의 효율성을 높인다.


함수형 프로그래밍

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

  • 선언형 프로그래밍

    • 원하는 결괏값을 미리 선언 (how to를 작성하지 않음)

    • 동료들이 이해하기 쉽고, 실수가 적다

    • 함수형 프로그래밍은 함수를 인자로 보내는 식으로 함수중심으로 코드를 작성한다.

  • 명령형 프로그래밍

    • 원하느 결괏값에 어떻게 도달하는지 선언 (how to 를 작성)

    • 모든 선언형 프로그래밍은 명령형 프로그래밍 위에 쓴다. 결국에는 어떻게 하는지 작성을 해야할 거니까


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

  • 객체 지향 프로그래밍을 활용하여 프로그램을 작성하자.

  • 보안을 유지하기 위한 다른 방법들에는 어떤 것이 있을까?

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


프로그래밍 패러다임에는 어떠한 것들이 더 있을까?

오늘 읽은 다른사람의 TIL

https://nomadcoders.co/community/thread/6907
https://nomadcoders.co/community/thread/6908