ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [노개북 챌린지] TIL 2023.02.28
    노마드코더/노개북 챌린지 2023. 2. 28. 14:09

     

     

    📖 오늘 읽은 범위

    에피소드 35 ~ 에피소드 38

     

     

     

    📝 책에서 기억하고 싶은 내용

    해시 함수는 어떻게 동작하지?

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

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

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

     

    레인보우 테이블이 있기 때문에 해시 함수도 완벽하지 않음

    그래서 나온 것이 솔트!

    비밀번호를 무작위 텍스트인 솔트와 합쳐서 해시함수에 통과시키면 됨

     

     


     

     

    프로그래밍 패러다임이란? 프로그래머가 프로그래밍을 할 때의 관점, 방식 이런 것을 말함

    절차 지향 프로그래밍, 객체 지향 프로그래밍, 함수형 프로그램 등이 있음

     

    겍체 지향 프로그래밍의 클래스

     : 속성은 같지만 데이터는 다른 녀석들을 위한 공장!

    class Player {
    	constructor(name, health, skill) {
        	this.name = name;
            this.health = health;
            this.skill = skill;
            this.xp = 0;
        }
    }
    
    // 위처럼 Player class를 작성하면
    
    const bill = new Player("Bill Gates", 85, "Programmer")
    
    // 위처럼 Player 생성 가능

     

    객체 지향 프로그래밍의 상속

    class Human {
    	constructor(name) {
        	this.name = name;
            this.armse = 2;
            this.legs = 2;
        }
    }
    
    class Teenager {
    	constructor(name) {
        	this.name = name;
            this.arms = 2;
            this.legs = 2;
            this.emotional = true;
        }
        
        curse() {
        	return '^@#$@^$^!';
        }
    }
    
    // 위의 두 클래스는 상속을 이용해 코드 중복을 해결 할 수 있음
    
    class Teenager extends Human {
    	constructor(name) {
        	this.emotional = true;
        }
        curse() {
        	return '^@#$@^$^!';
        }
    }
    
    // Human 클래스의 기본 속성은 상속받았으니, emotional과 curse만 추가하면 됨

     

     


     

     

    함수형 프로그래밍을 배워야 하는 이유 : 버그가 발생하기 어려운 구조이기 때문에!

    함수형 프로그래밍을 지원하는 언어는 자바, 자바스크립트, 파이썬 등이 있음

     

    선언형 프로그래밍 : 원하는 결괏값을 선언한다 ex) CSS

    명령형 프로그래밍 : 원하는 결괏값에 어떻게 도달하는지 선언한다

     

     

     

     

    🙂 오늘 읽은 소감

    정보처리기사 자격증 따려고 공부했던 내용들을 책읽다 가끔 마주하는데 괜히 반가움 ㅎ_ㅎ

    자바를 중심으로 공부하다보니 객체 지향 프로그래밍에 중점이 가있었는데,

    다른 프로그래밍 패러다임도 알아봐야겠다

     

     

     

    궁금한 내용, 잘 이해되지 않는 내용

    -

     

     

     

     

    댓글