5) 문화권별로 다른 문자열을 생성하려면 FormattableString을 사용하라 앞선 보간 문자열을 다루는 글에서 문자열 보간 기능을 이용해서 가독성 좋은 string 생성 방법을 배웠다. 하지만 여러 문화권과 다양한 언어를 다뤄야 하는 경우에는 좀더 세부적인 제어가 필요하기 때문에 문자열을 생성하는 과정을 조금 더 자세히 알아둬야 한다. 앞의 글에서 다뤘듯이, 문자열 보간 기능을 이용해서 string을 생성할 경우 아래 코드와 같이 선두에 '$'를 붙이고 중괄호 { }를 사용해서 string을 생성하는 것이 전부다. 근데 특이한 것은 이 보간 기능의 결과로 생성되는 반환값의 타입이 string일 수도 있지만 FormattableString을 상속하는 타입일 수도 있다. string fir..
4) string.Format()을 보간 문자열로 대체하라 C#에서도 C에서 널리 사용되는 string.Format과 같은 방법으로 string을 만들 수 있지만 C# 6.0에 새롭게 도입된 문자열 보간 기능을 사용하는 편이 여러모로 좋다. 문자열 보간 기능의 장점 1. 코드 가독성이 매우 좋아진다. 2. 컴파일러 입장에서는 정적 타입 검사를 수행할 수 있기 때문에 개발자의 실수를 미리 방지할 수 있다. 3. 기존 방식에 비해 string을 생성하기 위한 표현식이 다양하다. 기존에 사용되는 string.Format() 형식은 포맷 문자열과 출력할 내용을 담고 있는 배열이 나뉘어 전달되면서 string이 생성된다. 포맷 문자열에 나타난 인수의 개수와 실제 전달된 인수의 개수가 일치하지 않는 ..
3) 캐스트보다는 is, as가 더 좋다 C#은 정적 타이핑을 수행하는 언어다. 따라서 타입이 일치하지 않더라도 컴파일러가 컴파일타임 에러를 잡아주기 때문에 타입 검사를 자주해줄 필요는 없다. 하지만 코딩을 하다보면 형변환을 수행해야할 경우가 생긴다. (정적 타이핑에 대한 간단한 소개는 다음 링크를 참조해주었으면 한다 - https://devmas.tistory.com/entry/%EB%8F%99%EC%A0%81%ED%83%80%EC%9D%B4%ED%95%91 - https://itmining.tistory.com/65) 형변환을 하는 방법은 캐스트 연산자 구문을 사용하는 방법, as 연산자를 사용하는 방법이 있으며 더 방어적으로 형변환을 하고 싶다면 is 연산자를 사용하여 형변환이 가능한지를..
2) const보다는 readonly가 좋다 C#에는 컴파일타임 상수와 런타임 상수가 있다. 결론부터 말하자면 컴파일타임 상수보다는 런타임 상수를 사용하는 편이 좋다. 컴파일타임 상수가 약간 더 빠르긴 해도 성능면에서 차이가 크지 않고 런타임 상수를 사용하여 얻을 수 있는 유연성이라는 장점은 큰 이득이다. 그래서 컴파일타임 상수는 성능이 중요하고 상수의 값이 절대로 어떤 경우에도 바뀌지 않을 때 사용해야 한다. 런타임 상수는 readonly 키워드를 사용하고, 컴파일타임 상수는 const를 사용한다. // 컴파일타임 상수 public const string MyName = Kim Min Soo; // 런타임 상수 public static readonly MyNickname = SoBoroo; re..
1) 지역변수를 선언할 때는 var를 사용하는 것이 낫다 C#은 타입을 암시적으로 선언할 수 있는 var을 제공한다. 특정 변수를 var로 선언하면 연산자 오른쪽의 타입을 환산하여서 왼쪽 변수의 타입을 결정하게 된다. 그렇다면 var를 무작정 사용하면 타입 선정하는 데 걸리는 시간이 늘어나 컴파일 타임에 악영향을 주는게 아닐까? 결론부터 말하자면 "그렇지 않다." 이다. var를 사용한다고 해서 컴파일 타임에 큰 영향을 주지도 않을 뿐더러 몇 가지 이득을 취할 수 있다. 1. 암시적으로 변수를 선언한 코드가 더 잘 읽힌다. var를 사용하면 변수의 타입 같은 중요하지 않은 부분보다 변수의 의미 자체에 더 집중할 수 있다. 하지만 변수의 타입 정보가 필요할 때, 정확하게 유추할 수..
주의!) 본 글은 이 글의 작성자가 공부한 내용을 정리하기 위해 마음대로 써재낀 글이므로 이 글의 내용을 맹신했다가는 큰일 날 수도 있습니다. 1. 자바스크립트 엔진이란? 말 그대로 자바스크립트 코드를 실행하는 프로그램 또는 인터프리터를 의미한다. 표준적인 인터프리터로 구현될 수도 있고, 혹은 자바스크립트 코드를 바이트 코드로 컴파일하는 JIT 컴파일러가 구현할 수도 있다. 여러 목적으로 사용될 수 있지만 일반적으로는 웹 브라우저를 위해 사용된다. 가장 유명한 자바스크립트 엔진은 구글의 V8 엔진이다. 오픈소스로 구글에서 개발했고 C++로 작성되었으며, 구글 크롬과 Node.js에서 사용되고 가장 유명하다. 2. 자바스크립트 엔진은 어떻게 동작하는가? 자바스크립트는 싱글 스레드 언어로 한번에 하나의 태스..