AWS에서 운영하던 서비스를 내리게 되면서 EC2를 정리했습니다. EC2 인스턴스 종료 방법은 간단하지만 모르면 헤매게 설정이 되어있어 간략하게 EC2 인스턴스를 내리는 방법을 정리합니다. EC2 인스턴스를 삭제하는 방법 AWS에서 제공하는 EC2 기능은 애플리케이션 서버 혹은 OS(운영체제)의 인스턴스를 생성해서 쓰는 개념이기 때문에 삭제하는 기능이 존재하지 않습니다. 대신 사용 중에 멈출 수 있는 정지와 사용을 하지 않겠다는 종료 기능을 제공합니다. 따라서 사용하던 EC2 인스턴스를 삭제하려면 삭제가 아닌 종료 기능을 사용해 EC2 인스턴스를 정리하면 됩니다. EC2 인스턴스 종료가 안될 때 글을 시작하면서 이야기 한 부분인데요. EC2 인스턴스를 정지해도 종료 버튼이 활성화되지 않아 이 기능을 활성..
타입스크립트의 장점 중 하나가 자바스크립트와 달리 명시적으로 타입(Type)을 정의해서 활용할 수 있다는 부분입니다. 개인적으로는 Type을 타입이라고 부르기보다는 유형이라고 생각하는 게 개념적으로 이해하기에는 좋다고 생각하는데요. 이번 글에서는 타입 스크립트가 가지는 타입 주석과 타입 추론에 대해 알아보겠습니다. 타입 주석 - type annotation let n: number; let b: boolean; let s: string; 타입 주석은 변수에 할당되는 값의 유형을 정의하는 타입스크립트 문법입니다. 사용 방법은 변수를 선언하고 콜론(:)과 변수에 정의할 수 있는 값의 유형을 기입하면 됩니다. number는 숫자를 boolean은 true, false은 string은 문자를 받을 수 있다는 의..
자바스크립트에서 숫자 값은 Number 타입으로 정의해서 사용 할 수 있습니다. 다르게는 자바스크립트에서 숫자는 Number로 취급된다고 이야기 할 수 있죠. 그런데 자바스크립트에서 취급하는 숫자(Number)가 어떻게 정의되는지 코드로 사용되는 유효 값의 범위가 얼마인지 알고 계신가요? 얼마 전 숫자를 다루는 기능을 만들다보니 Number에 대해 추상적으로만 생각하고 사용했구나 라는 생각이 문득 들었습니다. 오늘은 자바스크립트의 숫자 정의와 유효 범위에 대해 이야기해볼까 합니다. Number의 정의 Javascript는 숫자 값을 다루기 위한 타입으로 Number를 제공합니다. Number는 정수, 실수, 양수, 음수, 지수 등 모든 숫자 값을 나타낼 수 있습니다. Number 타입은 64비트 형식의 ..
숫자에 금액 단위 형식을 적용하면 어떻게 될까요? 돈(금액)을 화면에 보여주다 보면 단순히 숫자로 10,000원 이렇게 표기되는 것보다, 1만원이라고 표기되는 게 단위를 세지 않아도 되어 읽기가 편합니다. 돈의 단위를 숫자에 적용하면 가독성이 좋다는 건 사람마다 주관적인 부분이라 다르게 생각할 수 있는 부분이니 이게 꼭 옳다고 이야기는 어려운 부분이네요. 숫자 금액 단위 형식 적용하면? - 원, 만, 억, 조, 경 일반적으로 숫자에 포맷 형식을 적용하면 천 단위를 기준으로 "," 를 사용해 표기를 합니다. 하지만 금액(돈)을 셀 때는 만, 억, 조, 경 단위를 붙여 읽습니다. 위에서 제시한 결과처럼 말이죠 처음에 금액에 단위 형식을 적용하면 가독성을 높이고 문자의 길이가 짧아져서도 좋을 거라고 생각했는데..
지금 사용하고 있는 개발 환경에 문제가 생겨 MacOS를 다시 설치하게 되었습니다. 오늘은 MacOS Ventura를 설치 할 수 있는 USB를 만드는 방법에 대해 알아보겠습니다. Ventura MacOS 다운로드 App Store를 통해 macOS Ventura 페이지로 이동해 Ventura 설치 파일을 받기 버튼을 눌러 다운로드 합니다. Ventura OS 다운로드가 완료되면 아래의 캡쳐 화면과 같이 OS를 설치하라는 실행 화면을 확인 할 수 있습니다. Ventura 설치 USB를 만들기 위해서 Ventura OS를 설치 할 필요는 없기때문에 OS 설치를 종료합니다. 키보드의 Command + Q 를 눌러 설치를 종료하거나, 화면의 좌측 상단의 macOS 설치 종료 버튼을 눌러 종료 할 수 있습니다...
ESNext는 다음 버전의 자바스크립트를 말합니다. 처음에 이 단어를 접했을 때는 "이건 뭐지?"라고 했었는데, 다음의 Javascript를 가리킨다니 어떻게 보면 재미난 용어인 것 같기도 합니다. ESNext의 정의 ESNext에 대한 명확한 정의는 Mozila의 문서에서 확인할 수 있습니다. 본문 내용을 해석해본다면, ESNext는 작성 시점에 다음 버전을 가리키는 역동적인 이름이다. ESNext 기능들은 제안이라고 부르는 것이 더 정확하다. 정의에 따라 사양이 아직 확정되지 않았기 때문에라고 설명되어 있습니다. 즉 ESNext는 단순히 신규 버전의 자바스크립트로 생각하기보다는 앞으로 발전할 자바스크립트를 통칭하는 단어라고 말할 수 있을 것 같습니다.
Github과 Jenkins 연동을 검색해서 하다 보니 불편해, 글로 필요한 부분만 정리해봅니다. 매번 신규로 CI/CD 환경을 구축하는 게 쉽지 않네요. 1. Github 토큰 발급받기 1.1 사용자 정보 메뉴 중 Settings 항목 선택 1.2 환경설정(Settings) 메뉴 중 Developer settings 항목 선택 - URL: https://github.com/settings/profile 1.3 개발자 설정(Developer settings) 메뉴 중 Personal access tokens 항목 선택 후 Generate new token 버튼 클릭 - URL: https://github.com/settings/apps 1.4 Generate token 버튼을 눌러 Github Acces..
앱 배포 환경 구축을 위해 젠킨스(Jenkins)를 처음부터 설치해서 사용하다 다음과 같은 상황을 문제를 확인했습니다. "Failed to connect to repository : Error performing git command: git ls-remote" Failed to connect to repository 문제 해결 방법 Github의 repository를 연결하려다 발생한 문제인데, 그냥 Git이 설치되지 않아 생긴 문제였네요.. Jenkins가 운영되는 서버에 "yum install git" 명령어를 사용해 git을 설치합니다. git을 설치하는 명령어는 운영체제마다 다르니 운영 환경을 확인 후 알맞는 설치 스크립트를 작성해서 사용해주세요.
정확한 어떤 이유인지는 알수 없지만 갑자기 Git push를 할 때 Invocation failed Unexpected end of file from server 메시지가 뜨면서 commit한 내용을 올릴 수 없었습니다. Invocation failed Unexpected end of file from server 문제 해결 방법 이 문제를 해결하는 방법은 stack overflow를 참고하였습니다. Invocation failed Unexpected end of file from server 에러가 발생하지 않게 하는 방법은 Git의 Use credential helper 옵션을 활성화 시키면 문제가 해결됩니다. 동일한 문제로 Git push를 하지 못하는 경우 위의 이미지 내용대로 git의 Use c..
얼마 전까지 문제없이 사용하던 DataGrip에서 갑자기 Communications link failure 메시지가 출력되면서 데이터 베이스에 접근하지 못하는 문제가 발생했습니다. Communications link failure 문제 해결 방법 이 문제를 해결하는 방법을 찾아보니 몇 가지가 있었는데 문제를 유일하게 해결했던 방법은 데이터베이스에 연결할 때 사용하는 드라이버 옵션을 바꾸는 방법이었습니다. YouTrack에 동일한 이슈와 해결 방법이 있어 문제를 해결 할 수 있었습니다. 기존에 사용하는 드라이버를 MySQL에서 > Amazon Aurora MySQL로 변경하면 Communications link failure 문제를 해결할 수 있습니다. TLS 프로토콜 옵션을 수정하면 문제를 해결 할 수 ..
오늘은 Axios를 사용해 파일 업로드 기능을 구현하는 방법에 대해 알아보겠습니다. 이전에 Axios 파일 다운로드 기능에 대한 글을 쓴 적이 있는데, 이번에는 그 후속 편으로 Axios로 파일을 업로드하는 방법을 코드로 확인해보겠습니다. Axios 파일 업로드 요청하기 axios({ headers: { "Content-Type": "multipart/form-data", }, url: "https://7942yongdae.tistory.com/file-upload", // 파일 업로드 요청 URL method: "POST", data: formData, }).then(...); Axios를 사용해서 파일을 업로드할 때 중요한 부분은 headers의 Content-Type, data입니다. 이 두 가지 ..
Enum은 Enumeration를 줄여서 사용하는 단어로 한국 말로는 열거형이라고 표현하는 단어입니다. 여기서 이야기하는 열거라는 단어는 `나열`되는 것들을 의미하는데, 프로그램에서는 특정한 특질이나 속성으로 분류해서 사용하는 값들을 나열할 때 쓰입니다. 간단히 말해 상수들을 나열해 놓은 것을 열거형(Enum)이라고 표현합니다. 열거(Enumeration) 개념 알아보기 일반적으로 프로그램을 개발할 때 상수(Constant)로 지정해서 사용하면 좋은 값들이 있습니다. 예를 들어 최대 값과 같이 값(리터럴) 자체가 의미를 가지고 있는 경우입니다. fun main() { val number = 10 validateNumber(number) if (number > 9) { // 사용하지 못하는 값을 전달 받은..