전체 글 229

[JavaScript] JavaScript의 `this` 키워드에 대한 이해

JavaScript에서 this 키워드는 함수나 메서드가 호출되는 컨텍스트에 따라 그 값이 달라진다. 간단히 말해, this는 현재 메서드나 함수가 실행되고 있는 객체를 참조한다. 하지만, 이 값은 코드가 실행되는 위치와 방식에 따라 다르게 동작한다. 이번 포스팅에서는 다양한 상황에서 this가 어떻게 동작하는지 살펴본다.  1. Global Context (전역 컨텍스트)this가 함수 외부에서 사용되면 전역 개체를 참조한다.브라우저 환경에서는 전역 객체가 window이고, Node.js환경에서는 global이다.  예시 (브라우저 환경):console.log(this === window); // true   예시 (Node.js 환경):// 전역 변수 정의global.myGlobalVar = 'Hel..

[Git] 모든 개발자가 알아야 할 18가지 Git 명령어

오늘도 dev.to를 둘러보다가 Git을 필수적으로 사용하는 개발자들에게 유익할 20가지 Git 명령어를 정리한 포스트를 보게 되어, 직접 한글로 번역하여 포스팅하게 되었다. (20가지 중 18가지만 추려서 포스팅하였다.) [원본 포스팅: https://dev.to/jagroop2001/20-git-command-line-tricks-every-developer-should-know-1i21] 20 Git Command-Line Tricks Every Developer Should Know20 Git Command-Line Tricks Every Developer Should Know Git is an essential version control tool for...dev.to  Git은 개발자에게 필..

Git 2024.11.13

ASP.NET에서 데이터 전송 및 상태 관리 방법 비교: ViewBag, Session, TempData..

ASP.NET에서의 데이터 전송 및 상태 관리  웹 애플리케이션을 개발할 때, 여러 페이지 간에 데이터를 전달하거나, 특정 데이터 상태를 유지할 필요가 자주 있다.ASP.NET에서는 이를 위한 다양한 방식이 제공된다. 여기서는 ViewBag, Session, TempData와 그 외의 옵션들에 대해 살펴보고, 각 방법의 특징과 사용 예시를 정리해보고자 한다.      1. ViewBagViewBag은 컨트롤러에서 뷰로 데이터를 전달하기 위한 동적 객체이다.- 생존 범위: 단일 요청 사이클, 같은 페이지 요청에서만 유효하며, 새로고침이나 다른 페이지 요청 시 데이터가 초기화된다.- 사용 예시: 단순히 컨트롤러에서 뷰로 데이터를 전달할 때 유용하다. public ActionResult Index(){ Vie..

Language/ASP.NET 2024.11.02

C#에서 비동기 프로그래밍 이해하기 - Task와 async/await의 활용

await doAsync();...public async void doAsync() {...}public async Task doAsync() {...}  1. Task란?C#에서 Task는 비동기 작업을 나타내는 클래스이다. .NET의 비동기 프로그래밍을 지원하는 핵심 요소 중 하나로, 백그라운드 스레드에서 작업을 수행하거나 I/O 바운드 작업을 비차단 방식으로 처리할 수 있게 도와준다. Task클래스는 다음과 같은 역할을 한다. - 비동기 작업을 표현: 백그라운드에서 실행되는 작업을 나타내며 작업의 시작 및 완료 여부를 추적할 수 있다.- 작업 생명주기 관리: 작업의 상태를 관리하고 완료된 작업의 결과를 반환할 수 있다.- 결과 반환 기능: 작업 결과를 반환해야 하는 경우 Task 형식을 사용하여 비..

Language/C# 2024.10.26

인덱스의 개념과 성능이 향상되는 이유/유의사항 (With SSMS)

실제 현업에서 몇억 개의 row를 가진 테이블에 적절한 인덱스를 추가했더니, 조회 시간이 수십 초에서 몇 초 이내로 대폭 감소한 경험이 있었다. 이런 현상은 대용량 데이터베이스 성능 최적화의 대표적인 사례로, 인덱스가 어떻게 데이터베이스에서 성능을 향상시키는지 보여준다. 이번 포스팅에서는 인덱스의 개념과 성능이 향상되는 이유를 SQL Server Management Studio(SSMS) Version 16을 중심으로 정리해보고자 한다.  1. 인덱스란?데이터베이스에서 인덱스(Index)는 특정 데이터를 빠르게 찾기 위해 사용되는 구조로, 책의 색인 역할을 한다고 볼 수 있다. 데이터베이스 테이블은 수백만, 수억 개의 데이터를 포함하고 있을 수 있으며, 인덱스는 이러한 대용량 데이터를 효율적으로 조회하는..

DataBase/MSSQL 2024.09.19

GitHub Actions를 활용한 React 애플리케이션의 EC2 배포

이 포스팅에서는 GitHub Actions를 사용하여 React 애플리케이션을 AWS EC2 인스턴스에 자동으로 배포하는 방법을 설명한다. (이전 CI 포스팅에서는 Docker를 활용하여 CI/CD를 구성하려고 계획하였으나.. 사용하는 EC2의 자원으로는 턱없이 부족해서 컨테이너만 띄웠다 하면 인스턴스가 멍텅구리처럼 멈추는 현상이 발생했다. 그래서 그냥 빌드된 파일을 직접 nginx가 띄울수 있게 던져주기로..) *시스템 환경구성 일자: 2024-08-09AWS EC2 Instance: Ubuntu 18.04Local PC: Windows 10React: 18.3.1    1. GitHub Actions를 활용한 배포1.1 CD(Continuous Deployment) 워크플로우 설정CD 워크플로우는 새..

Server 2024.08.09

앱 버전 번호와 빌드 번호의 차이

오늘은 앱의 버전 번호와 빌드번호에 대한 개념과 그 차이에 대해 포스팅을 작성하고자 한다.  예를 들어, Flutter에서 `pubspec.yaml` 파일을 보면, 다음과 같이 default 버전이 작성되어있다.   버전 번호(Version Number)버전 번호는 일반적으로 `MAJOR.MINOR.PATCH` 형식으로 표기된다. 예를 들어 `1.0.0`은 다음과 같은 의미를 가진다. - MAJOR(주 버전): 주요 기능 변경 또는 대규모 업데이트를 나타낸다. 예를 들어, `1.0.0`에서 `2.0.0`으로의 변경은 앱의 큰 변화가 있음을 의미한다. - MINOR(부 버전): 기존 기능의 개선이나 작은 새로운 기능의 추가를 나타낸다. 예를들어, `1.0.0`에서 `1.1.0`으로의 변경은 주 버전과 호환..

VirtualBox에서 macOS 설치 가이드

macOS는 Apple 실리콘에 최적화되어 있으며, macOS는 iOS와 같은 Apple 생태계의 다른 운영체제와 깊이 통합되어 있다. 이러한 이유로 다양한 플랫폼에서 설치하는 데 제약이 따른다.  VistualBox로 macOS 운영체제를 구축한 후의 이점VirtualBox로 macOS를 설치하면 다음과 같은 개발상의 이점을 누릴 수 있다:1. iOS 개발 환경 구축: macOS가 있어야만 Xcode를 사용할 수 있으며, 이를 통해 iOS, macOS, watchOS, tvOS 앱을 개발할 수있다.2. 테스트 및 디버깅: 다양한 macOS버전에서 앱을 테스트하고 디버깅할 수 있다.3. 다중 플랫폼 개발: Windows나 Linux에서 macOS 가상 머신을 통해 여러 플랫폼에서 개발 환경을 통합할 수 ..

ETC 2024.07.27

[Flutter] `pubspec.yaml` 파일 설명 및 작성법

`pubspec.yaml`파일은 Flutter 및 Dart 프로젝트에서 필수적인 구성 파일이다. 이 파일은 프로젝트의 메타데이터, 의존성, 자산 등을 정의하는 데 사용된다. 아래에서 `pubspec.yaml` 파일의 주요 구성 요소와 사용법을 자세히 설명한다.    `pubspec.yaml` 파일 구조 다음은 `pubspec.yaml`파일의 기본 구조이다.name: my_appdescription: A new Flutter project.version: 1.0.0+1environment: sdk: ">=2.12.0    주요 섹션 설명1. 메타데이터name: my_appdescription: A new Flutter project.version: 1.0.0+1 - `name`: 프로젝트의 이름을 정의한..

[MSSQL] SQL Server 문자열 데이터 타입: `varchar`와 `nvarchar`의 차이점 및 사용 가이드

SQL Server에서는 문자열 데이터를 저장할 수 있는 다양한 데이터 타입을 제공한다. 이 중에서 `varchar`와 `nvarchar`는 가장 많이 사용되는 타입이다.  이 글에서는 `varchar`와 `nvarchar`의 차이점, 다른 대표적인 문자 타입과의 비교, 길이 선언 방법, 그리고 실제 사용 시 권고사항을 다룬다.   1. `varchar`와 `nvarchar`의 차이점- `varchar` (Variable Character):   - 비-Unicode 지원: 주요 영어와 같은 단일 언어의 문자열 데이터를 저장할 때 사용한다.   - 저장 크기: 각 문자는 1바이트를 사용한다. 예를 들어, `varchar(20)`은 최대 20바이트를 차지한다.   - 사용 사례: 영어 텍스트, 로그 데이터..

DataBase/MSSQL 2024.07.26
반응형