TIL 2022/06/03

김병영·2022년 6월 3일
0

TIL

목록 보기
2/19
post-thumbnail

1일1로그 100일완성 IT지식

002 프로세서 속도와 심장 박동수 / 003 HDD와 SSD의 차이

컴퓨터의 기본구조에 대한 설명과 그 중 대표적인 몇가지 장치들에 대해 설명하고 있다.
간단히 각 장치에 대해 정리하자면

  • 프로세서(CPU) : 컴퓨터의 두뇌에 해당하며 연산, 제어등의 역할을 한다.

    • Core : 코어는 독립적으로 프로세서이지만 이를 묶어서 하나의 프로세서로 만들기도 한다.
    • Hz : 1초당 수행할 수 있는 연산이나 명령어의 수 ( 2.2GHz = 초당 22억번 )
  • 주기억장치(RAM) : 프로세서나 다른 장치들이 사용중인 정보를 저장. 데이터 뿐만 아니라 그 정보를 처리하는 명령어를 포함한다. 정보에 접근할 때 저장된 위치와 관계없이 일정한 속도로 접근한다. 휘발성으로 전원이 꺼지면 저장한 모든 정보는 사라진다.

  • 보조기억장치 : 메모리보다 많은 양의 데이터를 저장할 수 있으며 휘발성을 띠지 않아서 전원이 꺼져도 유지된다.

    • HDD : 회전하는 금속 표면의 트랙에 데이터를 저장하며 센서를 통해 데이터를 읽고 쓴다.
    • SSD : 플래시메모리를 사용하여 전원이 꺼져도 정보를 유지하며 HDD보다 빠르고 가볍다.
  • 그 외 다른장치들 : 키보드, 마우스, 모니터 등의 입출력 장치들이 있다.

VUE

vue에서 this 사용 시 주의할 사항

vue에서 this를 사용할 일이 참 많은데 this가 예상한 방향과 다르게 동작할 때가 있다.
이번에도 그런일이 있어 검색을 해서 알게된 지식을 정리해 보았다.

export default {
	data: {
    	return {
      		test: 'test'
    	}
    },
  	methods: {
    	testMethod () {
        	console.log(this.test) // test
        }
    }
}

일반적으로 우리가 예상하는 this는 위와같이 동작한다.

하지만 이렇게 에러가 나올 경우도 있다.

export default {
	data: {
    	return {
      		test: 'test'
    	}
    },
  	methods: {
    	testMethod: () => {
        	console.log(this.test) // this is undefined!
        }
    }
}

일반적인 함수와 화살표형 함수가 동일하게 동작한다고 알고 있었는데 왜 결과가 다른 것일까...
이것은 두 방식에서 this 범위가 달라서 발생한다

  • 일반적인 함수호출 : 해당 메소드를 호출한 객체
  • 화살표형 함수호출 : 선언하지 않음

무슨 말일까.. 정리하는 필자도 헷갈리지만 위의 예시로 보면 조금은 알기 쉬워진다.

첫번째 예시에서 this는 testMethod를 호출한 객체 즉 VUE 인스턴스를 참조한다. 그렇기 때문에 this.test는 VUE 인스턴스의 data에 정의된 test 출력하게 된다.

하지만, 두번째 예시에서 this는 testMethod를 통해 선언하지 않기 때문에 자동으로 전역변수를 참조한다. 전역변수로 test가 지정되어있지 않기 때문에 undefined 에러가 발생한다.



오늘의 한줄

오늘부터는 책을 읽을 내용을 복기하는 것 뿐만 아니라 업무를 진행하며 알게된 내용도 같이 정리하였다.
앞으로도 책을 읽은 내용과 함께 그날 새롭게 알게 된 내용도 같이 정리하는식으로 진행해야겠다.
profile
--- 생각중 ---

0개의 댓글