개발자 99% 커뮤니티에서 수다 떨어요!
오늘 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