토막 지식 5

고정폭 글꼴이란?

고정폭 글꼴이란?고정폭 글꼴이란 말 그대로 글자의 가로 길이가 일정한 글꼴을 뜻한다. 모노스페이스(mono-space) 글꼴이라고도 부른다. 구글 폰트(Google Fonts)에서 필터링으로 모노 스페이스 글꼴만 검색할 수도 있다. 필터 기능의 Classification 항목을 들여다보면 'Monospace' 버튼이 바로 보일 것이다. 고정폭 글꼴은 결과값을 콘솔에서 출력하는 프로그램을 실행시킬 때 출력 결과의 가독성을 높이는데 많은 도움을 준다. ansi-code와 고정폭 글꼴을 함께 사용하면 눈이 아주 편안한 포멧팅이 가능할 것이다. VS Code 에서 터미널 글꼴 설정그럼 이제 개발자들이 많이들 사용하는 VS Code IDE에서 고정폭 글꼴을 적용해보자. VS Code를 실행한 후 아래 경로로 들어..

토막 지식 2024.07.16

정적 타입 언어 VS 동적 타입 언어, 그리고 Typescript

동적 타입 언어와 정적 타입 언어의 차이는 다른 코딩 일기 포스팅에서 몇 번 언급한 적이 있다. 하지만 이 둘의 차이를 좀 더 구체적으로 알고싶어 챗지피티의 힘을 빌렸다. 정적 타입 언어인지 동적 타입 언어인지는  변수의 타입이 어느 시점에 결정되느냐에 따라 결정된다. 컴파일 타임(파일 수준)에 결정되면 정적 타입 언어, 런타임(앱 실행)에 결정되면 동적 타입 언어이다.  애초에 프로그래밍에서 정적, 동적 이라는 단어를 사용했을 때의 의미는 대부분 위의 의미와 일맥상통한다.  정적 타입 언어 (Statically Typed Languages) 는 앱 실행 전 모든 변수의 타입이 미리 설정되고, 컴파일러가 타입 체크를 수행해 오류를 미리 잡아낼 수 있어 매우 안정적이다. 하지만 동적 타입 언어에 비해 유연..

토막 지식 2024.06.13

[javascript] 즉시 실행 함수(IIFE) - 타입스크립트 enum 컴파일

즉시 실행 함수란 함수를 정의하고 바로 실행하는 패턴이다. 익명함수를 정의한 후 바로 실행된다. 구조는 다음과 같다. (function (BoardStatus) { ... })(...); (function (BoardStatus) { ... }) 부분에 함수가 정의되고, (...) 부분에서 실행된다. 익명함수이기 때문에 해당 함수는 다시 재활용할 수 없다. 타입스크립트에서는 자료형(타입)을 지정하는 방식으로 enum 자료형을 지원하고 있다.  enum 자료형은 타입 스크립트가 자바 스크립트로 컴파일 될 때 즉시 실행함수 형태로 변환된다. //타입스크립트 표현식export enum BoardStatus { PUBLIC = 'PUBLIC', PRIVATE = 'PRIVATE',}//javascript 컴..

토막 지식 2024.06.13

파이썬에서 클래스를 함수 안에 정의할 수 있는 이유

자바스크립트와 파이썬은 C++나 JAVA와 달리 변수 타입이 동적으로 설정된다. 변수 타입이 런타임에서 결정된다는 뜻이다. 때문에 파일 수준이나 멤버 수준에서 정적으로 타입을 지정하는 C++나 JAVA와 달리 함수에서 동적으로 클래스의 멤버를 수정하거나 추가하는게 가능하다. 예를 들면 다음의 예시다.  #동적으로 클래스의 멤버 변수를 추가하는 경우class MyClass: passobj = MyClass()obj.new_attr = "New Attribute"print(obj.new_attr) # 출력: New Attribute#클래스를 함수 안에서 정의하는 경우def create_class(): class InnerClass: def __init__(self, value): ..

토막 지식 2024.06.12

[html, css] margin 영역끼리 겹치는 마진 상쇄 해결

html 구조가 복잡해지다보면 marin 영역끼리 겹치는 마진 상쇄 현상과 심심찮게 마주한다. 마진 상쇄가 발생하는 경우는 대략 다음과 같다.1. 형제 노드끼리 맞닿는 영역에 각자 마진영역이 설정되어있을 경우 (더 넓은 쪽이 작은 쪽을 상쇄한다.)2. 부모 요소의 상단 마진 과 자식 요소의 상단 마진이 맞닿았을 경우 (부모 요소의 마진만 적용되고, 자식 요소의 마진은 상쇄된다.) - 개인적으로 가장 짜증난다. chat-gpt한테 물어보면 몇가지 경우 더 있지만, 난 주로 위 두 가지 경우를 많이 마주쳤다. 짜증나긴 하지만 오류는 아니라고 하고, 브라우저가 레이아웃을 더 깔끔하게 관리하기 위한 규칙이라는 모양이다. 마진 상쇄는 블록 요소에서만 발생하기 때문에, 요소를 인라인 속성(inline, inline..

토막 지식 2024.06.06