전체 글 (163) 썸네일형 리스트형 인덱스 사용 하는 게 효율적일까 | ChatGPT 효율적으로 인덱스를 사용하는 방법 인덱스를 추가하는 것이 효율적인지 여부를 결정하기 위해서는 다음 사항을 고려해야 한다. 1. 쿼리 패턴 어떤 종류의 쿼리가 자주 실행되는지, 어떤 컬럼을 이용하여 데이터를 검색하는지 파악하라. 자주 사용되는 쿼리가 특정 컬럼을 이용하여 데이터를 검색하는 경우 해당 컬럼에 인덱스를 추가하는 것이 성능 향상에 도움이 될 수 있다. 2. 데이터 양과 분포 데이터 양과 데이터 값의 분포에 따라 인덱스의 효과가 달라진다. 값의 분포가 넓고 중복이 적은 경우 인덱스가 더 유용할 가능성이 높습니다. 그러나 값의 중복이 많거나 데이터 양이 적을 경우 인덱스 추가가 오히려 성능을 떨어뜨릴 수 있습니다. 3. 업데이트/삽입/삭제 작업 인덱스를 추가하면 데이터 변경 작업의 성능이 저하될 수.. 자바스크립트 비동기적? 동기적? stack queue 작동 과정 자바스크립트 비동기적? 동기적? 자바스크립트는 동기적으로 처리 할까 비동기적으로 처리 할까? 동기적으로 처리 할 수도 있고 비동기적으로도 처리 할 수 있다?! 동기적 처리 : 보통 한 번에 한 줄씩 처리 비동기적 처리 : setTimeout, EventListener, ajax 함수 사용 stack queue 작동 과정 자바스크립트는 stack 으로 처리한다. stack 이 바쁘면? 웹이 바쁘겠죠? 그러므로 stack 을 바쁘게 만들지 않기 위해 queue 활용한다. stack 에 더 이상 처리할 일이 없으면 queue 에 넣어 둔 작업을 처리한다. 다만, queue 도 바쁘게 만들지 말아야 한다. 참고 | 개발자 90%가 모르는 자바스크립트 동작원리 (Stack, Queue, event loop) | .. 면접 질문 | 정규화 개념에 대해 설명해 보시오 정규화에 대해 설명해 보시오. 네? 그게 뭔데요? 들어는 봤는데, 모르겠는데요? 정규화 개념과 예시 제1정규화 - 한 컬럼에 하나의 데이터만 존재하도록 작업 - 예: 콤마로 구성된 데이터 대신, 독립된 테이블로 구성 제2정규화 - 현재 테이블의 주제와 관련 없는 컬럼을 다른 테이블로 빼는 작업 - composite primary key: 합하면 pk 역할 가능 - partial dependency: composite primary key에 종속 - 즉, partial dependency 제거 - 예: 회원 테이블에 프로그램과 프로그램의 가격이 포함한 경우, 프로그램 테이블 생 제3정규화 - 일반 컬럼에만 종속된 컬럼, 즉 기본키와 상관 없는 컬럼을 다른 테이블로 빼는 작업 - 예: 프로그램 테이블에 강사.. 면접 질문 | Clustered Index 와 NonClustered Index 를 설명하시오 | ChatGPT 클러스터 인덱스 Clustered Index 테이블 하나 당 하나의 클러스트 인덱스를 갖을 수 있다. 테이블의 물리적 순서를 바꾼다. 테이블 데이터는 클러스터 인덱스에 의해 정렬된다. 클러스터 인덱스로 정의된 컬럼은 데이터의 물리적 순서를 지정한다. 클러스터 인덱스를 만들거나 수정하면 테이블 레코드 레이아웃을 재구조화해야 한다. 따라서 많은 비용이 발생한다. 주로 기본키가 사용된다. 기본키가 없는 경우에 처음 데이터가 삽입 될 때 SQL Server에서 자동으로 고유한 클러스터를 생성한다. 넌클러스터 인덱스 NonClustered Index 테이블 하나 당 여러 넌클러스트 인덱스를 가질 수 있다. 넌클러스터 인덱스는 분리된 데이터 구조체이다. 즉 테이블의 물리적 순서를 바꾸지 않는다. 데이터 검색을 위해.. 콜백함수 개념 Callback Javascript C# 에서 사용 | ChatGPT 콜백함수 - 함수에 파라미터로 들어가는 함수 - 순차적으로 실행하고 싶을 때 Javascript 에서 콜백함수 예제 document.querySelector('.button').addEventListener('click', function(){ //... }) 클릭 이벤트 이후에 function 을 실행한다. C# 에서 콜백함수 예제 using System; namespace CallbackExample { // 콜백을 받는 함수를 정의합니다. public class Worker { public void DoWork(Action callback) { Console.WriteLine("작업을 시작합니다."); // 시간이 오래 걸리는 가상의 작업을 수행합니다. System.Threading.Thread.S.. 테스트 코드에서 Happy Path 와 Edge Cases 란 무엇인가 | ChatGPT 이 두 가지 접근 방식을 통해 소프트웨어의 품질을 검증할 수 있다. Happy path(정상 위치) : Happy path는 기능이나 기능 부분이 작동하는 가장 일반적인 클러스터를 나타냅니다. 포트 입력 데이터와 상황을 사용하여 코드의 기본 기능이 제대로 작동하는지 확인하는 데 사용됩니다. 이 경로는 사용자가 기대하는 대로 관측하게 됩니다. Edge Cases(경계 조건) : Edge Cases는 코드가 장식되어 있고 올림픽 작동 여부를 테스트하는 것을 의미합니다. 해당 상황의 상황에 따라야 하며, 별도의 문제를 처리하고 처리하는 데 도움이 되어야 합니다. 예를 들어 입력, 입력이 최소값 또는 최대값인 경우, 빈 값 또는 잘못된 형식의 값인 경우 등을 찾을 수 있습니다. 예시를 들면 아래와 같다. Hap.. C# 에서 의존성 주입 사용하는가 (Dependency Injection) | ChatGPT 의존성 주입(Dependency Injection, DI)은 외부에서 두 객체 간의 관계를 결정해주는 디자인 패턴 이다. 인터페이스를 사이에 두어, 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 동적으로 주입하여 유연성을 확보하고 결합도를 낮출 수 있게 해준다. 느슨한 결합: 클래스는 특정 구현에 대한 의존도가 낮아져 클래스를 교체, 업데이트 또는 확장하기가 더 쉬워집니다. 테스트 가능성: 종속성은 단위 테스트를 위한 모의 개체 또는 테스트 구현으로 쉽게 대체될 수 있습니다. 모듈성: 구성 요소가 더욱 모듈화되어 독립적으로 개발, 테스트 및 유지 관리될 수 있습니다. 유연성: 클라이언트 코드에 영향을 주지 않고 다양한 종속성 구현을 쉽게 교체할 수 있습니다. 단일 책임 원칙: 각 .. cshtml 파일에서 function 과 helper 차이 및 사용 용도 | ChatGPT cshtml 파일에서 html 생성 구문 만들다가 @helper 로 사용하는 함수와 function 영역에 포함된 함수는 각각 어떤 경우에 사용하는지 의문이 들었다. @helper GetMasterList(string kind){ //... } @functions { public static HtmlString GetSubList(string kind){ //... } } @functions 함수는 .cshtml 파일 내에서 서버 측 코드를 정의하는 방법이다. Razor 코드를 사용하여 C# 코드로 작성한다. 파일 내에서 사용할 때 @function 내에 함수를 작성한다. @helper @helper로 정의한 함수는 서버 측 코드 파일에서 정의된 함수이다. 다양한 .cshtml 파일에서 동일한 기능을 수.. 이전 1 ··· 10 11 12 13 14 15 16 ··· 21 다음