LF와 CRLF 중 어떤 것을 사용해야 할까요? 결론부터 말하자면, LF를 사용해야 합니다. LF, CRLF LF와 CRLF에 대해 알아보게 된 계기는 이전에 git을 사용하여 협업을 진행할 때 CRLF와 LF로 인해 코드 충돌이 일어났었을때 찾아보게 되었습니다. CR은 캐리지 리턴(Carriage Return)을 의미하며, LF는 라인 피드(Line Feed)를 의미합니다. 보통 우리가 '\n'으로 표시하여 문자열 출력 시 줄바꿈을 표현하는 것이 바로 LF입니다. 또한, CR은 '\r'로 커서를 맨 앞으로 이동시키는 역할을 합니다. 그렇다면 LF와 CRLF의 차이는 무엇일까요? 두 개는 모두 줄바꿈을 표현하는 것을 의미합니다. 그러나 운영 체제에 따라 줄바꿈을 나타내는 표준이 다릅니다. LF: Linu..
최근에 Github Copilot 무료 사용이 만료되었습니다. 다시 Github Edu로 어찌어찌 연장해보려 하다가 귀찮아져서, 이전에 AWS의 코드 도우미가 개인용으로 무료로 제공된다는 소식을 들어본적이 있어서 사용해보기로 결심했습니다. AWS CodeWhisperer https://docs.aws.amazon.com/codewhisperer/latest/userguide/whisper-setup-indv-devs.html Setting up CodeWhisperer for individual developers - CodeWhisperer In order to use CodeWhisperer, all individual developers must sign up through the procedure..
SvelteKit에서 환경변수 사용법 SvelteKit에서 환경변수를 사용하는 방법은 여러 가지가 있다. JS기반으로 라이브러리를 사용할 수도 있고, Vite에 있는 기능이나 dotenv 등을 사용할 수도 있다. 그러나 SvelteKit에는 자체적으로 제공하는 환경변수 기능이 있다. 이를 사용하면 보안 등에서 이점이 있다. SvelteKit에는 2가지 기준으로 분류해 4가지의 환경변수 기능을 지원한다. Static / Dynamic값인지, Public / Private 한지를 따져 4가지 방식으로 사용할 수 있다. 우선 환경변수 저장파일인 .env를 프로젝트 루트에 생성해 준다. 아래에 Private Key와 Public Key를 예시로 작성했다. # .env # Private SECRET_API_KEY..
이진 트리는 노드들이 최대 2개의 자식 노드를 가지는 트리를 말합니다. 이러한 이진 트리를 순회하는 방법에는 전위 순회, 중위 순회, 후위 순회가 있습니다. 전위 순회 (Pre-order traversal) : 루트 노드부터 시작하여, 루트를 방문하고 왼쪽 서브 트리를 순회하고, 오른쪽 서브 트리를 순회합니다. 순서는 루트 -> 왼쪽 -> 오른쪽입니다. (예시: 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8) 중위 순회 (In-order traversal) : 왼쪽 서브 트리부터 시작하여, 왼쪽 서브 트리를 순회하고, 루트를 방문하고, 오른쪽 서브 트리를 순회합니다. 순서는 왼쪽 -> 루트 -> 오른쪽입니다. (예시: 3 -> 2 -> 5 -> 4 -> 6 -> 1 -> 8 -> 7)..
Django의 유저 모델들 Django에서는 기본적으로 유저 모델 django.contrib.auth.models의 User를 제공하고, 이를 통해 간편하게 인증 등을 처리할 수 있다. 또한 기본제공되는 유저모델을 확장할 수 있게 다음과 같은 다양한 방법이 있다. User에 기반한 Proxy Model 생성하기 1:1 로 User에 연결된 모델 만들기 AbstractUser 상속받아 커스텀 유저 모델 만들기 AbstractBaseUser 상속받아 커스텀 유저 모델 만들기 AbstractUser 모델 기본적으로 제공하는 django.contrib.auth.models의 User을 사용하더라도, 이후에 유저 모델을 수정할 일이 생길수있다. 그런데 이후에 이를 수정한다면 그 과정이 매우 힘들기에, 기본적으로 ..
대표적인 클라우드 Azure, AWS, GCP, Oracle에서 제공하는 프리티어 서비스를 비교해 보았습니다. 지속적으로 추가 중입니다.일반 FreetierAzure은 아래 외에도 30일간 USD200 토큰을 지급합니다.GCP는 아래 외에도 90일간 USD300 토큰을 지급합니다.Oracle의 1oCPU는 1개의 실제 물리적 코어를 의미하며, x86에서는 1oCPU = 2vCPU, Arm에서는 1oCPU = 1vCPU가 됩니다. AzureAWSGCPOracleComputeAzure Virtual MachineAmazon EC2Compute EngineComputeB1s(1vCPU, 1GiB) Linux, Window용 각각 월 750시간 제공(12개월)t3.micro(0.2vCPU, 1GiB) 또는 t2..
오늘 Svelte 튜토리얼을 보며 Await 응용을 해보고 있었다. async function getRandomNumber() { const res = await fetch(`/tutorial/random-number`); const text = await res.text(); if (res.ok) { return text; } else { throw new Error(text); } } let promise = getRandomNumber(); {#await promise} ...waiting {:then number} The number is {number} {:catch error} {error.message} {/await} Svelte에서는 위와 같이 간단한 방식으로 비동기적으로 fetch할 수..