회사에서 컨텐츠 개발을 하다보면 'enum 비트 플래그'를 쓰는 경우가 있는데, 여러 상태를 하나의 값으로 처리 할 수 있는 장점이 있다. 이왕 쓰는거 정리포스트를 올리자 싶어 적어본다. 👩💻 예제 코드- 바구니에 과일을 담고 확인해보자.1. flags Fruit 정의[Flags]public enum Fruit{ None = 0, Apple = 1 1 각 항목을 2의 거듭제곱으로 만들어서 중복 없이 조합 가능[Flags]를 붙이면 ToString() 출력 시 "Apple, WaterMelon"처럼 나와서 디버깅도 굿All을 만들어두면 향후 자동 패치할 때 유용 2. 실제 사용하기// 장바구니에 사과랑 바나나를 담음 var basket = Fruit.Apple | Fruit.Banana;..
😃 최근에 회사 코드를 List에서 IEnumerable 코드로 몇몇개 바꾸면서 무슨 차이가 있는지 정리해 보았다. 📚 기본 개념항목IEnumerableList정의읽기 전용의 순차열 인터페이스요소 추가/삭제 가능한 가변 컬렉션 클래스자료형인터페이스클래스접근 방식foreach만 가능foreach, list[i] 등 다양한 접근 가능가공 특성Linq 사용시 지연실행모든 요소가 메모리에 있어 즉시 사용 가능 지연실행 ? - 실제로 사용될 때까지 실행을 미루는 것 - 즉 코드는 써도 당장 실행되지 않고 foreach 등으로 순회할 때 실행된다는 뜻 📚 주요 기능 비교기능IEnumerableList요소 추가 / 삭제불가능Add(), Remove() 가능인덱스 접근불가능list[i] O(1) 가능Linq ..
Blazor를 사용하다 보면 Razor 컴포넌트의 @code {} 안에서 버튼 클릭 이벤트 같은 걸 직접 처리하게 된다.이걸 보면서 "어? 이거 자바스크립트 하는 역할을 C#이 하네?" 라는 생각이 든다면, 그게 맞다. 😎이 글에서는 Blazor가 클라이언트 단에서 어떻게 동작하는지,그리고 JavaScript를 얼마나 대체할 수 있는지를 정리하려한다. 1. Razor 컴포넌트는 클라이언트 코드다.Blazor에는 두 가지 실행 방식이 있다. Blazor 종류설명Blazor Server서버에서 실행되고, SignalR을 통해 브라우저와 통신Blazor WebAssembly (WASM)C# 코드가 브라우저 안에서 직접 실행됨 (JavaScript 대체!) 즉, Blazor WebAssembly는 완전히 클라..
https://medium.com/@sudipdevdev/how-to-detect-and-log-slow-queries-in-entity-framework-core-e2ab71024849 How to Detect and Log Slow Queries in Entity Framework CoreAs applications grow in complexity, performance bottlenecks can become a significant challenge, particularly with database queries…medium.com 요즘 EntityFramework사용해서 작업 중입니다. EntityFramework는 쿼리 로그 옵션을 넣어서 프로그램을 동작하면 실행하는 모든 쿼리에 대한 로그를..