728x90
반응형

 

 

 

 

IT 5분 잡학사전 Today I Learned


[오늘 TIL 3줄 요약]

  • 해시함수와 솔트를 이용하면 괜찮은 비밀번호 시스템을 만들 수 있다.
  • 객체 지향 프로그래밍은 객체 중심 프로그래밍 패러다임이다.
  • 함수형 프로그래밍은 선언형 프로그래밍과 명령형 프로그래밍이 있다.

 


[TIL (Today I Learned) 날짜]

2024.04.23

 


[오늘 읽은 범위]

Ep.35 - Ep.38

 


[책에서 기억하고 싶은 내용]

  • 해시함수
    • 해시함수는 비밀번호 데이터베이스를 무작위 값으로 변환시켜 주는 함수로 보안을 위해 사용
    • 해시함수 규칙
      1. 동일한 입력값에 대해 동일한 출력값을 가진다.
      2. 입력값이 아주 살짝만 바뀌어도 출력값은 엄청나게 크게 바뀐다.
      3. 반대로 입력한다고 해서 원래 값이 나오지 않는다.
    • 레인보우 테이블 : 해시함수가 변경한 값을 원래의 값과 연결한 표로 레인보우 테이블이 오픈되면 해킹의 위험이 있다.
    • 솔트 : 비밀번호와 솔트를 합쳐서 해시함수에 넣으면 레인보우 테이블과 관계 없이 보안을 유지할 수 있다.
  •   객체 지향 프로그래밍
    • 프트웨어 설계와 구현을 객체라는 개념을 중심으로 진행하는 프로그래밍 패러다임
    • 데이터와 이 데이터를 처리하는 함수(메서드)를 하나의 단위(객체)로 묶어 관리
    • 대규모 소프트웨어 개발에서 코드의 재사용성, 유지 보수성, 확장성을 향상시키는 데 도움
    • 객체 지향 프로그래밍의 주요 개념
      • 클래스(Class): 객체를 생성하기 위한 템플릿으로 클래스는 객체의 기본 구조와 행동을 정의
      • 객체(Object): 클래스에 기반하여 생성된 인스턴스. 객체는 클래스의 특성을 가지며 실제 프로그램에서 데이터와 함수의 결합체로 작동
      • 속성(Properties): 객체가 가지는 데이터의 일부로, 객체의 상태나 특성을 나타냄
      • 메서드(Methods): 객체의 행동을 정의하는 함수로, 클래스 내에서 정의. 메서드를 통해 객체의 속성을 조작하거나 계산을 수행
      • 상속(Inheritance): 한 클래스가 다른 클래스의 특성을 상속받는 기능. 상속을 통해 기존 코드의 재사용성을 높이고, 코드의 중복을 줄일 수 있음
      • 캡슐화(Encapsulation): 객체의 데이터(속성)와 그 데이터를 처리하는 메서드를 하나로 묶는 것을 의미. 캡슐화는 객체 내부의 세부 구현 내용을 숨기고, 외부에서는 객체에 접근할 수 있는 특정 인터페이스만을 제공하여 프로그램의 복잡성을 낮춤
      • 다형성(Polymorphism): 같은 이름의 메서드가 다른 클래스에서 다른 작업을 수행할 수 있도록 하는 기능. 이를 통해 다양한 클래스의 객체를 동일한 방식으로 처리할 수 있으며, 코드의 유연성을 증가
  • 함수형 프로그래밍
    • 선언형 프로그래밍 :
      • 원하는 결과값을 선언
      • 결과 중심으로 코드를 작성하니 실수도 적고 코드 공유가 쉬움
      • 예시) css 
    • 명령형 프로그래밍 : 
      • 원하는 결과값에 어떻게 도달할 것인지 과정을 선언
      • 할 일을 세세하게 지시할 수 있는 대신 개발자가 실수하기 쉽고, 다른 개발자가 이해가기 어려운 코드일수있음

[오늘 읽은 소감과 떠오르는 생각]

  • 객체지향프로그래밍이라는 단어를 코딩 처음 배웠을때 들었던 제일 먼저 들었던 단어인데 그때는 무슨 말인지 아무리 봐도 몰랐던 게 이번에 제대로 이해가 되었다.
  • 비밀번호 보안에 대한 부분은 어떻게 이루어질까 항상 궁금했었는데 해시함수를 사용하는구나..

[궁금한 내용이 있거나 잘 이해되지 않는 내용]

없음.


 

#노개북 #노마드코더 #개발자북클럽

728x90
반응형