전체 글 43

[Node.js] Random Access File 대해서 알아보자

Random Access File은 파일 시스템에서 임의의 위치에 직접 접근하여 데이터를 읽거나 쓰는 방식입니다. 일반적인 순차적 파일 접근(sequential file access)과 달리, 파일 내 특정 위치로 바로 이동하여 데이터를 처리하는 것을 말합니다 Random Access File1. 성능 최적화순차적으로 파일을 처음부터 끝까지 읽을 필요 없이, 필요한 데이터가 있는 위치로 바로 이동하여 빠르게 접근할 수 있습니다. 예를 들어, 아주 큰 파일에서 특정 부분만 자주 읽거나 수정해야 하는 경우, 파일의 처음부터 끝까지 모두 읽는 것보다 특정 위치에 직접 접근하는 것이 훨씬 빠르고 효율적입니다.예시: 대용량 로그 파일에서 마지막 몇 줄만 읽고 싶을 때, 파일의 처음부터 읽는 것이 아니라 파일 끝으..

서버/Node.js 2024.10.29

[PowerShell] PowerShell 스크립트로 JSON 파일 수정하기

이번 글 에서는 PowerShell Script로 JSON 파일을 PowerShell Object로 변환하여 수정하는 방법을 알아봅니다. 주의: PowerShell Script를 Window에서 실행 시 , 실행 정책을 설정해야 됩니다. 저자는 RemoteSigned(인터넷에서 다운로드한 모든 스크립트 및 구성 파일에 대해 신뢰 할 수 있는 게시자가 서명해야 한다)를 추천 합니다.설정 방법은 아래 글을 참고하세요.https://johnny-developer-story.tistory.com/16 VSCode 터미널에서 PSSecurityException 오류 해결 방법Windows에서 VSCode 터미널에서 발생하는 PSSecurityException 오류를 해결하는 방법을 설명합니다. PowerShell..

PowerShell 2024.10.29

[PowerShell] 파워쉘 스크립트의 장,단점

PowerShell Script1. PowerShell 스크립트(주로 Windows 환경에서 사용되지만, Linux와 macOS에서도 지원)장점객체 지향 처리: PowerShell은 **객체(Object)**를 다루는 셸입니다. 명령어의 출력을 텍스트가 아닌 객체로 반환하므로, 스크립트 내에서 속성과 메서드를 다룰 수 있어 더 강력한 데이터 조작이 가능합니다.예: Get-Process 명령어는 프로세스의 속성(메모리, CPU 등)을 포함한 객체를 반환하여 필터링 및 조작이 쉽습니다.Windows 시스템 관리에 최적화: Windows 운영 체제의 다양한 관리 작업 (파일 시스템, 레지스트리, WMI, Active Directory 등)을 매우 쉽게 수행할 수 있습니다.리치한 표준 라이브러리: 기본으로 제공..

PowerShell 2024.10.29

[Linux] Ubuntu CIFS Mount: CIFS로 네트워크 드라이브 마운트하는 방법(2): Samab 설정 방법

Samba를 사용하여 Linux에서 파일을 공유하고 다른 시스템에서 접근할 수 있도록 설정하는 과정은 다음과 같습니다. 이 가이드는 Ubuntu를 기준으로 설명합니다. Samab 설정 방법1. Samba 설치먼저, Samba 패키지를 설치합니다.sudo apt updatesudo apt install samba2. 공유할 디렉토리 생성 및 권한 설정공유할 디렉토리를 생성하고, 해당 디렉토리에 대한 접근 권한을 설정합니다. 예를 들어, /srv/samba/share라는 디렉토리를 공유한다고 가정해 봅니다sudo mkdir -p /srv/samba/sharesudo chown nobody:nogroup /srv/samba/sharesudo chmod 0775 /srv/samba/share chown nobo..

Linux 2024.10.28

Bun 런타임: Node.js를 대체할 혁신적인 선택 (3): Bun과 Node.js 차이점과 선택 가이드

최신 런타임 Bun과 Node.js의 차이점과 그에 따른 선택 가이드를 다룹니다. 성능, 생태계, 사용성 측면에서 어떤 런타임이 적합한지 알아봅니다.Bun과 Node.js: 차이점과 선택 가이드JavaScript 및 TypeScript 개발 환경에서 Node.js는 오랜 기간 동안 주류 런타임으로 자리잡고 있었습니다. 그러나 최근 등장한 Bun은 성능과 효율성 측면에서 크게 주목받고 있는 대안 런타임으로, 웹 개발자들 사이에서 빠르게 인기를 끌고 있습니다. 이번 글에서는 Bun과 Node.js의 주요 차이점을 비교하고, 상황에 맞는 런타임 선택 가이드를 제공하겠습니다.1. Bun이란 무엇인가?Bun은 JavaScript 및 TypeScript 코드를 실행할 수 있는 런타임으로, 주로 웹 개발을 겨냥해 만..

서버/Bun 2024.10.09

Bun 런타임: Node.js를 대체할 혁신적인 선택 (2): Bun의 메모리 효율성 Node.js보다 나은 점은?

Bun의 메모리 관리와 효율성을 Node.js와 비교하여 분석합니다.Bun의 메모리 효율성: Node.js보다 나은 점은?JavaScript 런타임 환경에서 새로운 선택지로 떠오른 Bun은 빠른 속도뿐만 아니라 메모리 효율성에서도 많은 장점을 가지고 있습니다. 특히 기존의 Node.js와 비교했을 때 Bun의 메모리 관리 방식이 어떻게 다른지, 그리고 어떤 점에서 더 나은 효율성을 보여주는지에 대해 자세히 알아보겠습니다.1. Bun의 메모리 관리 개요Bun은 Zig 언어로 작성된 런타임으로, 메모리 관리와 성능 최적화에 유리한 구조를 가지고 있습니다. Zig는 시스템 언어로서 메모리 관리와 성능 최적화를 목표로 설계되었기 때문에, Bun 역시 이와 같은 강점을 자연스럽게 가지게 되었습니다. 이는 Node..

서버/Bun 2024.10.09

Bun 런타임: Node.js를 대체할 혁신적인 선택 (1): Bun 런타임의 개념과 주요 특징 자세히 알아보기

Bun 런타임의 개념과 주요 특징에 알아보고, 빠른 빌드 속도와 TypeScript 지원 등 개발자 편의성을 제공하는 Bun의 매력을 자세히 설명합니다.Bun의 내부 동작 과정 다이어그램 설명:입력 (JavaScript/TypeScript 코드)개발자가 작성한 JavaScript 또는 TypeScript 코드가 Bun에 입력됩니다.프론트엔드 컴파일러 (Zig로 구현)Bun은 컴파일러 역할을 하여 JavaScript/TypeScript 코드를 분석하고 변환합니다.Zig 언어로 작성된 이 컴파일러는 최적화된 성능을 제공하며, 코드를 빠르게 파싱합니다.번들러 & 트랜스파일러Bun은 JavaScript 번들러와 트랜스파일러를 사용하여 모듈들을 하나의 파일로 번들링합니다.TypeScript의 경우 트랜스파일 과정..

서버/Bun 2024.10.09

Certbot을 사용한 SSL 인증서 갱신 가이드(1): ERR_CERT_AUTHORITY_INVAL_ID 오류

Certbot을 활용해 Ubuntu 서버에서 SSL 인증서를 자동으로 갱신하는 방법을 단계별로 안내합니다.Certbot을 사용한 SSL 인증서 갱신 가이드SSL 인증서는 웹사이트 보안에 필수적입니다. 인증서를 정기적으로 갱신하지 않으면 사이트 방문자들이 ‘신뢰할 수 없는 사이트’ 경고를 받을 수 있습니다. 이번 포스트에서는 Certbot을 사용해 Ubuntu 서버에서 SSL 인증서를 자동으로 갱신하는 방법을 알아보겠습니다.1. SSL 인증서 오류 해결: ERR_CERT_AUTHORITY_INVALIDSSL 인증서가 만료되었을 때 종종 발생하는 오류 중 하나가 ERR_CERT_AUTHORITY_INVALID입니다. 이 오류는 신뢰할 수 없는 인증 기관에서 발급된 인증서 또는 만료된 인증서에서 주로 발생합니..

Linux 2024.10.08

Zod 사용법: 타입스크립트 유효성 검사를 쉽게 하는 방법 (3)

Zod로 커스텀 유효성 검사 만들기Zod의 기본적인 유효성 검사 기능 외에도 특정 조건에 맞는 데이터를 검증해야 할 때가 있습니다. 예를 들어, 비밀번호 복잡성이나 커스텀 비즈니스 로직에 맞는 유효성 검사가 필요할 수 있습니다. Zod는 이러한 요구를 만족시키기 위해 refine()와 같은 메서드를 제공하여 커스텀 유효성 검사를 손쉽게 구현할 수 있게 합니다.4.1 기본 커스텀 유효성 검사refine() 메서드를 사용하면 간단한 조건을 추가하여 커스텀 유효성 검사를 수행할 수 있습니다. 예를 들어, 비밀번호가 8자 이상인지 검증하려면 다음과 같이 할 수 있습니다:const passwordSchema = z.string().refine((val) => val.length >= 8, { message: "..

Language/Typescript 2024.10.02

Zod 사용법: 타입스크립트 유효성 검사를 쉽게 하는 방법 (2)

Zod의 다양한 스키마 유틸리티 메소드 사용법Zod는 유효성 검사를 위한 스키마 라이브러리로, 다양한 유틸리티 메소드를 통해 타입스크립트의 데이터 검증을 더욱 간편하게 수행할 수 있습니다. 이번 포스트에서는 Zod의 pick() 메소드를 중심으로, omit(), extend(), merge() 등 여러 메소드를 사용해 유연하게 스키마를 조작하는 방법을 알아보겠습니다.1. Zod의 Pick 메소드란?pick() 메소드는 기존 스키마에서 특정 필드만을 선택하여 새로운 스키마를 생성할 때 사용됩니다. 이는 기존의 스키마를 재사용하면서 필요한 부분만 가져올 때 매우 유용합니다.1.1 기본 사용 예제아래는 사용자 정보를 정의한 userSchema에서 일부 필드만 선택하여 새로운 스키마를 만드는 예제입니다:impo..

Language/Typescript 2024.10.02