본문 바로가기

Programming61

[Typescript] Module 절대경로 설정 방법 Module 절대경로 설정 방법 타입스크립트 프로젝트에서 소스코드 관리를 위한 절대경로 설정 방법을 알아보자. 절대경로를 사용하는 이유 타입스크립트 프로젝트는 기본적으로 상대경로를 통해 module을 import 하도록 되어있는데 프로젝트나 소스파일의 규모가 커지면 자연스럽게 import 구문도 늘어나면서 소스코드가 더러워질 수 있다. ../으로 도배된 import 구문으로 인해 가독성 저하 소스파일 이동 시 상대경로 변경으로 인한 사이드이펙트 등의 문제가 발생한다. 상대경로 대신에 절대경로를 적용하면 위 문제를 해결할 수 있다. 절대경로 설정 절대경로를 적용하려면 tsconfig.json를 수정해야한다. // tsconfig.json { "compilerOptions": { "baseUrl": ".",.. 2024. 3. 14.
[Typescript] Typescript와 OOP 언어의 Function Overloading 비교 Typescript와 OOP 언어의 Function Overloading 비교 타입스크립트와 객체지향 언어의 함수 오버로드의 차이점에 대해 알아보자 사전 지식 함수 오버로드 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 함수 오버로드(영어: Function overloading)는 다양한 에이다(Ada), C#, C++, 자바(Java) 등의 다양한 프로그래밍 언어에서 사용되는 함수의 특징으로, 같은 함수 이름을 가 ko.wikipedia.org Typescript와 OOP 언어의 함수 오버로드 정의 방법과 차이점 스타크래프트 오버로드 프로그래밍 언어들은 다형성을 만족시키기 위해 함수 오버로드를 지원한다. 그러나 타입스크립트에서는 일반적인 객체지향 언어에서의 함수 오버로드와 다른 .. 2024. 3. 7.
[Python] Python 라이브러리 패키지를 Github Actions를 이용하여 PyPi에 배포하는 방법 Python 라이브러리 패키지를 Github Actions를 이용하여 PyPi에 배포하는 방법 파이썬 라이브러리를 Github Actions을 이용하여 쉽고 빠르게 pypi에 배포하는 환경을 구축해보자. 시리즈 2023.12.08 - [Programming/Javascript] - [Javascript] Javascript 라이브러리 패키지를 Github Actions를 이용하여 npm에 배포하는 방법 2023.12.15 - [Programming/C#] - [C#] C# 라이브러리 패키지를 Git Actions를 이용하여 NuGet에 배포하는 방법 2024.01.02 - [Programming/Java] - [Java] Java 라이브러리 패키지를 Git Actions를 이용하여 Maven centra.. 2024. 2. 23.
[Java] Java 라이브러리 패키지를 Github Actions를 이용하여 Maven central repository에 배포하는 방법 Java 라이브러리 패키지를 Git Actions를 이용하여 Maven central repository에 배포하는 방법 자바 라이브러리를 Github Actions을 이용하여 쉽고 빠르게 Maven central에 배포하는 환경을 구축해보자. 시리즈 2023.12.08 - [Programming/Javascript] - [Javascript] Javascript 라이브러리 패키지를 Github Actions를 이용하여 npm에 배포하는 방법 2023.12.15 - [Programming/C#] - [C#] C# 라이브러리 패키지를 Git Actions를 이용하여 NuGet에 배포하는 방법 2024.02.23 - [Programming/Python] - [Python] Python 라이브러리 패키지를 G.. 2024. 1. 2.
[C#] C# 라이브러리 패키지를 Github Actions를 이용하여 NuGet에 배포하는 방법 C# 라이브러리 패키지를 Git Actions를 이용하여 NuGet에 배포하는 방법 C# 라이브러리를 Github Actions을 이용하여 쉽고 빠르게 NuGet에 배포하는 환경을 구축해보자. 시리즈 2023.12.08 - [Programming/Javascript] - [Javascript] Javascript 라이브러리 패키지를 Github Actions를 이용하여 npm에 배포하는 방법 2024.01.02 - [Programming/Java] - [Java] Java 라이브러리 패키지를 Git Actions를 이용하여 Maven central repository에 배포하는 방법 2024.02.23 - [Programming/Python] - [Python] Python 라이브러리 패키지를 Githu.. 2023. 12. 15.
[Javascript] Javascript 라이브러리 패키지를 Github Actions를 이용하여 npm에 배포하는 방법 Javascript 라이브러리 패키지를 Github Actions를 이용하여 npm에 배포하는 방법 자바스크립트 라이브러리를 Github Actions을 이용하여 쉽고 빠르게 npm에 배포하는 환경을 구축해보자. 시리즈 2023.12.15 - [Programming/C#] - [C#] C# 라이브러리 패키지를 Git Actions를 이용하여 NuGet에 배포하는 방법 2024.01.02 - [Programming/Java] - [Java] Java 라이브러리 패키지를 Git Actions를 이용하여 Maven central repository에 배포하는 방법 2024.02.23 - [Programming/Python] - [Python] Python 라이브러리 패키지를 Github Actions를 이용하.. 2023. 12. 8.
[프로그래밍 이론] HTTP forward와 redirect HTTP forward와 redirect HTTP 통신에서 request를 다른 URL로 보내버리는 기법인 forward와 redirect를 알아보자. 포워딩 (Forwading) 포워딩은 클라이언트의 request를 서버 내부에서 다른 리소스로 전달하는 기법이다. 모든 처리가 서버 내부에서 이루어지기 때문에 클라이언트는 이 과정을 알 수 없으며, 클라이언트는 처음 요청한 URL을 유지하게 된다. 단일 요청/응답 구조를 가진다. 리디렉션 (Redirection) 리디렉션은 클라이언트의 request를 새로운 URL로 이동하도록 서버가 클라이언트에게 재안내하는 기법이다. 서버는 클라이언트에게 HTTP 상태코드와 함께 새로운 URL을 제공하여 다시 request를 보낼 것을 명시적으로 알린다. 클라이언트는 .. 2023. 12. 7.
[Javascript] native math operator와 mathjs의 performance 비교 native math operator와 mathjs의 performance 비교 자바스크립트의 기본 수학기호와 mathjs의 함수, fraction 연산의 성능을 비교해보자 Github 본 포스팅에 작성된 소스코드와 예시 데이터는 깃허브에 공개되었습니다. SpiralMoon/mathjs_performance Native operator VS mathjs performance comparison. Contribute to SpiralMoon/mathjs_performance development by creating an account on GitHub. github.com mathjs란? mathjs는 JS에서 수학 관련 기능만 전문적으로 다루는 라이브러리이다. 수학식을 파싱하며 실행하거나 분수표현, 행.. 2022. 1. 24.
[Algorithm] 이동 평균 필터 (Moving average filter) 이동 평균 필터 (Moving average filter) 튄 데이터 값을 보정(평활화)하는 이동 평균 필터 알고리즘에 대해 알아보자 Github 본 포스팅에 작성된 소스코드와 예시 데이터는 깃허브에 공개되었습니다. GitHub - SpiralMoon/moving_average_filter: Move Average Filter Move Average Filter. Contribute to SpiralMoon/moving_average_filter development by creating an account on GitHub. github.com 이동 평균 필터링이란? 이동 평균 필터링은 연속된 데이터에서 인접한 n개 데이터의 평균을 구하여 순차적으로 데이터를 필터링하는 기법이다. 연속된 데이터가 급격하.. 2021. 12. 4.
[Algorithm] 선형 보간법 (Linear interpolation) 선형 보간법 (Linear interpolation) 선형 보간법을 구현하는 방법에 대해 알아보자. 선형 보간법이란? 선형 보간법은 1차원 직선상에서 두 점의 값이 주어졌을 때 그 사이의 값을 추정하기 위해 직선 거리에 따라 선형적으로 계산(비례식)하는 방법이다. 선형 보간이 필요한 상황 위 사진을 보면 점 a와 b가 양쪽에 있고, 그 사이에 점 c가 있다. a와 b의 좌표는 각각 (2, 1)와 (7, 4)로 미리 알고있는 상황이며 c는 a와 b사이의 어느 한 지점이라는 점만 알고 있다. 이와 같은 상황에서 점 c의 x좌표가 임의로 주어졌을 때 선형 보간법을 사용하면 점 c의 y좌표까지 알아낼 수 있다. 선형 보간법을 적용하는 방법 선형 보간법을 적용하는 방법은 다음과 같다. 사진을 보면 a와 b가 어느.. 2021. 4. 22.
[Java] 자바에서 벡터를 다루는 법 (Apache.commons.math3) 자바에서 벡터를 다루는 법 (Apache.commons.math3) 아파치 수학 라이브러리를 이용하여 자바에서 벡터를 다뤄보도록 하자. 벡터란? 벡터(Vector)는 크기와 방향이 있는 성분으로, 수학이나 물리에서 사용하는 개념이다. 특히 수학을 전문적으로 다루는 프로그래밍 언어(matlab)에서도 필수적으로 등장한다. 사실 벡터는 단순하게 생각하면 행이 n개, 열이 1개인 한 줄짜리 행렬에 불과하다... 벡터는 사실 1차원 숫자 배열이다 벡터는 행이 n개, 열이 1개로 고정이 되어 있으므로 1차원 숫자 배열과 다르지 않다. 다음은 자바에서 벡터를 만드는 3가지 방법이다. import org.apache.commons.math3.linear.MatrixUtils; import org.apache.comm.. 2021. 1. 26.
[Typescript] 배열의 타입을 괄호의 어디에 선언해야 할까? 배열의 타입을 괄호의 어디에 선언해야 할까? Typescript에서 배열 요소의 타입을 지정할 때 괄호의 안과 밖 둘 중에 어디에 선언해야 하는지 알아보자 작성환경 Typescript 3.9.7 배열에 타입을 선언하는 여러가지 방법 타입스크립트에서는 여러 방법으로 배열 요소의 타입을 지정해 줄 수 있다. 첫 번째, 타입을 [] 괄호의 왼쪽에 선언. const array1 : number[] = [1, 2, 3]; 두 번째, 타입을 [] 괄호의 안쪽에 선언. 사실 이건 number 요소가 1개로 고정된 배열, 즉 튜플이다. const array2 : [number] = [1]; 세 번째, 배열을 Generic으로 선언. const array3 : Array = [1, 2, 3]; 위 3가지 방법 모두 배열.. 2021. 1. 8.
반응형