0%

201027_TIL(interpreter, compile 언어)

오늘 한 것

설계관점

  1. 논리적인 순서
    • 설계 디자인도 중요하지만 논리적 순서가 탄탄해야한다. 이는 브라우저가 구문을 파싱(구문해석)할 때 논리적 흐름에 따라 랜더링하기 때문이다.
  2. Semantic MarkUp
    • semantic 마크업에 대한 얘기는 전에도 많이 했기 때문에 생략한다.
  3. naming
    • 네이밍은 직관적이어야한다. 변수명부터 class명까지 직관적이고 연관성이 있는 이름을 작성해야한다.
  4. 구조설계
    • 위의 과정을 통해 전체 구조를 논리적, 직관적이고 접근성이 높게 설계한다.

interpreter 언어와 compile 언어

  • 프로그래밍 언어에는 interpreter 언어와 compile 언어가 있다.

interpreter

  • interpreter 언어는 소스코드를 한줄 한줄 읽는 동시에 실행한다.
  • 위와 같은 특징 때문에 실행 중 에러 발생 시 더 이상 실행이 이뤄지지 않는다.
  • 구문에 대한 해석과 실행이 동시에 이뤄지기 때문에 별도의 실행파일이 존재하지 않는다.
  • 컴파일이 없기 때문에 신속하게 동작한다.
  • 대표적으로 HTML, CSS, JavaScript, Python 등이 있다.

compile

  • compile 언어는 interpreter 언어와 다르게 소스코드를 전부 해석하고 수집한 후 재구성한다.
  • 전체 코드를 변환 후 에러를 보고한다. 이렇기 때문에 보안측에서는 interpreter 언어보다 취약하다.
  • 컴파일 언어는 한번 컴파일하게 되면 실행 파일이 생성되며 실행파일은 interpreter 언어보다 빠르다.
  • 대표적으로 C, C++, JAVA 등이 있다.

기타

  • 캡처링은 상위 요소(최상위=Window)로부터 이벤트 발생 요소까지 하위 요소로 전파된다. 반면 버블링은 이벤트 발생 요소부터 상위요소로 전파한다.

오늘 느낀 것

  • 변경된 약관은 <a>여기</a>를 클릭하세요., 변경된 <a title=”공지사항”>약관</a>을 클릭하세요. 후자가 더 접근성이나 직관적으로 좋지 않을까?라는 생각을 진지하게 해봤다.

  • HTML/CSS는 어렵지만 참 재밌다.

  • 실습은 참 많이하지만 TIL에 정리하기는 애매하다. 실습한 내용은 대부분 gitHub에 남겼으니 괜찮겠지.

  • 오늘도 고생했다. 내일도 즐코..

Nyong’s GitHub