문자열 인코딩이란 무엇인가? 컴퓨터에는 문자열 자체를 저장할 수 없다. 컴퓨터에는 숫자가 저장되며, 출력될 때 문자열로 변환될 뿐이다. 즉, 우리가 만약 'a'라는 문자를 저장하면 컴퓨터에는 'a'가 저장되는 것이 아닌 61이라는 16진수 숫자가 저장된다.(10진수로는 97이다). 저장된 2자리 16진수 숫자는 출력될 때 다시 문자열로 변환된다. 이를 확인하기 위해서 Kotlin으로 아래 코드를 실행하면 "ASCII value of a is 97" 이라는 결과가 나온다. fun main(){ println("ASCII value of a is ${'a'.code}") } ASCII 인코딩 방식 처음 컴퓨터가 발명되었을 때는 영어권 국가에서만 언어가 사용되었기 때문에 문자열을 저장할 수 있는 공간이 128..
Programming
API 란? API란 개발자와 API 제공자 사이에 프로그램을 작성하기 위해 만든 규약(Protocol)이자 계약(Contract)이다. 더 자세히 들어가면 API는 Application Programming Interface의 약자로 개발자가 Application을 Programming하기 위해 만든 인터페이스이다. 개발자는 API 제공자가 정의한 프로토콜을 이용해 API 제공자가 정의한 기능을 사용할 수 있다. *인터페이스 : 외부에 공개되는 프로토콜 헷갈리지 말아야 할 것은 API는 인터페이스이므로 API는 그 자체로는 실제 어떻게 동작하는지에 대한 구현이 들어가지 않으며, API 제공자가 구현을 한다. 개발자는 API에서 제공하는 기능을 가져다 쓸 뿐이고, API 제공자는 API를 구현해 실제로..
LTR이란? LTR은 왼쪽에서 오른쪽으로 글자를 읽는 것이다. 대부분의 국가가 LTR 방식을 쓰고 있다. RTL이란? RTL은 오른쪽에서 왼쪽으로 글자를 읽는 것이다. 단어를 쓰는 방향은 LTR과 같다(Hello는 Hello로 쓴다). 읽는 방향만 다른 것이다. 아랍권 국가에서 RTL 방식을 쓰고 있다. RTL의 특징 단어를 쓰는 방향은 LTR과 RTL이 동일하다(Hello, Kotlin, World) RTL에서 단어를 읽는 방법((오른쪽에서 왼쪽으로)는 LTR(왼쪽에서 오른쪽으로)과 반대이다. [LTR]Hello Kotlin World -> [RTL]World Kotlin Hello LTR은 왼쪽으로 첫단어를 붙이지만 RTL은 오른쪽으로 첫단어를 붙인다. 그림1, 그림2 참조 아랍어는 영어와 반대로 쓴..
라이브러리와 프레임워크의 차이점 라이브러리와 프레임워크의 중요한 차이점은 내가 작성한 코드에 대한 제어 권한이 어느 쪽이 있는지이다. 라이브러리가 복잡해지면 프레임워크가 된다는 말이 있다. 이것은 사실이지만, 사실이 아니기도 하다. 우리는 흔히 재사용 가능한 코드를 라이브러리로 만든다. 한 번 작성된 라이브러리는 재사용이 가능해서 코드의 중복 작성을 줄여준다. 대표적인 라이브러리로는 대부분의 언어에 있는 Math 라이브러리가 있다. Math 라이브러리를 이용하면 반올림, 내림, 올림 등 다양한 연산을 손쉽게 할 수 있도록 만들어준다. 코드에 대한 제어 권한이 없는 라이브러리 Math 라이브러리에서는 우리는 우리가 원하는대로 올림, 내림, 반올림 등을 할 수 있다. 라이브러리의 내부 규약에 의해 코드를 작..