분류 전체보기 51

[MSSQL] INDEX 파편화 확인 인덱스 리빌드를 통한 성능 최적화

데이터베이스 성능을 유지하고 최적화하는 과정에서 인덱스 파편화는 무시할 수 없는 요소입니다. 특히, 삽입과 업데이트가 빈번하게 이루어지는 테이블에서는 시간이 지남에 따라 인덱스 페이지가 불필요하게 나뉘거나, 효율적으로 정렬되지 않음으로 인해 성능 저하가 발생할 수 있습니다. 1. 인덱스 파편화란?인덱스 파편화는 인덱스 페이지가 물리적으로 분산되어 데이터 검색 성능을 저하시키는 현상을 말합니다. 데이터가 추가되거나 삭제되면 인덱스 페이지가 비효율적으로 나뉘어져 디스크 I/O 작업이 증가하게 되고, 이로 인해 쿼리 성능이 떨어지게 됩니다. 특히 INSERT, UPDATE 작업이 많은 테이블에서 이러한 문제가 자주 발생합니다. 2. 인덱스 파편화 확인 방법SQL Server에서는 sys.dm_db_index_..

DataBase/MSSQL 2024.09.06

[Docker] Azure AppService에 Docker 배포 예제

1. Docker 설치Docker 공식 웹사이트로 이동하여 Docker Desktop for Windows를 다운로드합니다.PowerShell 또는 CMD에서 다음 명령어를 실행하여 Docker가 제대로 설치되었는지 확인합니다.docker --version  2. DockerImage 빌드Dockerfile 작성: 프로젝트 루트 디렉토리에 Dockerfile을 작성하여 Docker 이미지를 생성할 설정을 정의합니다.# Use the official .NET SDK as a build environmentFROM mcr.microsoft.com/dotnet/sdk:6.0 AS build# Set the working directoryWORKDIR /src# Copy the project file and r..

Server/Docker 2024.08.12

[Docker]Docker 예제

Docker란?Docker는 소프트웨어 개발 및 배포를 위해 널리 사용되는 컨테이너 기반의 플랫폼입니다.Docker를 사용하면 응용 프로그램과 그 응용 프로그램이 실행되는 환경을 "컨테이너"라는 독립된 단위로 패키징할 수 있습니다. 이 컨테이너에는 필요한 모든 라이브러리, 의존성, 코드 및 설정이 포함되어 있어, 어떤 환경에서도 일관되게 애플리케이션을 실행할 수 있게 해줍니다. 컨테이너란?Docker에서 컨테이너는 애플리케이션과 그 실행 환경을 하나의 독립된 패키지로 묶어주는 가상화 기술의 한 형태입니다. 이 패키지는 필요한 모든 코드, 라이브러리, 환경 변수, 설정 파일 등을 포함하며, 이를 통해 어디서나 동일한 환경에서 애플리케이션을 실행할 수 있게 해줍니다. 컨테이너는 운영 체제의 커널을 공유하면서..

Server/Docker 2024.08.12

[.NET Core] 3. Web API DB 연결 (Dapper)

이전글: [.NET Core] 2. Web API MiddleWare 구성 이전글: [.NET Core] 1. Web API 프로젝트 생성 1. 프로젝트생성 API 프로젝트 생성을 위해 ASP.NET Core 웹 응용 프로그램을 선택한다. 2.구성설정 Core 버전과 세부 프로젝트 구성을 설정할수있다. API 프로 tjddnjs625.tistory.com 먼저 Web API 에 Dapper로 DB연결을 하기위해 Nuget 패키지 관리자에서 Dapper 를 추가해준다. appsettings.json 파일에 connection string 을 정의하고 연결 문자열에 액세스할 수 있게 SqlConnection 개체를 반환하는 CreateConnection 메서드를 DapperContext 에 만든다. apps..

[.NET Core] 2. Web API MiddleWare 구성

이전글: [.NET Core] 1. Web API 프로젝트 생성 1. 프로젝트생성 API 프로젝트 생성을 위해 ASP.NET Core 웹 응용 프로그램을 선택한다. 2.구성설정 Core 버전과 세부 프로젝트 구성을 설정할수있다. API 프로젝트 뿐만아니라 일반적인 웹응용프로그 tjddnjs625.tistory.com 해당 프로젝트는 API 프로젝트로 사용할 예정이기 때문에 MiddelWare 를 구성하여 API Key 값에 대한 유효성 검사를 진행한다. APIKey 값을 appsettings.json 파일에 정의해두고 입력받은 헤더 값을 비교하여 결과를 리턴하기위해 먼저 위와 같이 폴더와 클래스 파일을 생성해주고 아래와 같은 코드를 작성한다 appsettings.json { "Logging": { "Lo..

[.NET Core] 1. Web API 프로젝트 생성

1. 프로젝트생성 API 프로젝트 생성을 위해 ASP.NET Core 웹 응용 프로그램을 선택한다. 2.구성설정 Core 버전과 세부 프로젝트 구성을 설정할수있다. API 프로젝트 뿐만아니라 일반적인 웹응용프로그램으로도설정이 가능하다. 버전은 2.2를 사용할예정이며 인증은 별도로 MiddleWare를 사용하여 검사할 예정이므로 별도의 설정없이 생성한다 확인버튼을 누르면 아래와같은 디렉토리 구조로 프로젝트가 생성된다. Startup.cs 기존 .NET 프레임워크의 Global.asax와 같다. 이름에서 알 수 있듯이 응용 프로그램이 시작될 때 가장 먼저 실행된다. 참고 : https://www.tutorialsteacher.com/core/aspnet-core-startup Startup ASP.NET C..

[MSSQL] 일별통계 데이터 작성시 spt_values 활용

일별통계 쿼리 작성시 데이터가 없어 데이터가 빠지는 현상이 있다. 이럴땐 spt_values 을 활용하여 LEFT OUTER JOIN 을 걸어 데이터 추출이 가능하다 DECLARE @S_DATE smalldatetime,@E_DATE smalldatetime SET @S_DATE = CONVERT(smalldatetime, '2019-02-01') -- 특정월 시작일자 SET @E_DATE = DATEADD(day, -1,DATEADD(MONTH, 1,DATENAME(YEAR,@S_DATE) + DATENAME(month,@S_DATE)+'01')) -- 특정월 종료일자 SELECT CONVERT(CHAR(10), DATEADD(d, NUMBER, @S_DATE),120) AS DT FROM MASTER..

DataBase/MSSQL 2022.03.15

[JavaScript] Object foreach 문 사용법

Object.entries() Object.entries() 메서드는 for...in와 같은 순서로 주어진 객체 자체의 enumerable 속성 [key, value] 쌍의 배열을 반환합니다. (for-in 루프가 다른점은 프로토 타입 체인의 속성도 열거한다는 점입니다). Object.entries() 에 의해 반환된 배열(array)의 순서는 객체가 정의된 방법과 관련이 없습니다. 배열 순서가 쓸 곳이 있다면, 다음과 같이 정렬을 먼저 하시는 것이 좋습니다 Object.entries(obj).sort((a, b) => b[0].localeCompare(a[0]));. const object1 = { a: 'somestring', b: 42 }; for (const [key, value] of Objec..

Web/JavaScript 2021.12.08