반응형

전체 글

반응형
프로그래밍, 개발, IT, 일상
Programing/C#

LINQ 메서드 정리 및 사용법

안녕하세요 인터럽트입니다.C# 개발 시에 LINQ 자주 사용하시나요?저는 자주 사용하는 메서드들만 익숙하게 사용하고 나머지는 기억도 하지 못하는 제 자신을 위해서이번 기회에 LINQ메서드들 정리해서 필요시에 찾아보기 위해 포스팅을 작성하려고 합니다.1. 필터링(Filtering)Where컬렉션에서 특정 조건을 만족하는 요소만 선택var numbers = new List {1, 2, 3, 4, 5};var evenNumbers = numbers.Where(w => w % 2 == 0);//결과 : {2, 4} FindAll (List 전용)List에서만 사용가능하며, Where와 동일한 기능 수행 Distinct컬렉션에서 중복을 제거한다.var numbers = new List { 1, 2, 2, 3, 3..

CS지식/프론트엔드

브라우저 렌더링 파이프라인이란?

브라우저가 웹페이지를 화면에 표시하기 위해 거치는 과정을 렌더링 파이프라인이라고 한다.1. DOM생성브라우저가 HTML파일을 받으면, byte단위로 읽기 시작하고 브라우저의 파서는 바이트들을 문자로 변환한다.이후 이 문자를 다시 HTML 토큰으로 변환하는데 토큰들은 각각의 태그와 그안에 포함된 텍스트, 속성등을 의미한다. 2. CSSOM생성브라우저는 CSS파일을 파싱한다. CSS파일 역시 바이트로 전송되므로 브라우저는 문자로 변환한 뒤 CSS 규칙으로 나눈다. 각 CSS 구칙은 선택자(Selector)와 선언(decaration)으로 구성되는데 선택자는 스타일을 적용할 HTML 요소를 정의하고, 선언은 적용할 스타일을 정의한다.브라우저는 CSS규칙들을 기반으로 CSSOM 트리를 생성한다. CSSOM트리는..

CS지식/프론트엔드

인터넷 주소창에 www.google.com 입력하면 무슨일이 일어나는가?

1.DNS조회(DNS Lookup)사용자가 www.google.com 입력하면 브라우저는 먼저 이 도메인을 IP 주소로 변환한다.이 과정을 DNS조회(DNS Lookup)이라고 한다.브라우저는 캐시된 DNS 기록을 먼저 확인하고 없으면 로컬 DNS 서버에 요청하여 도메인에 해당하는 IP주소를 얻는다.2. TCP 연결 수립IP주소가 확인되면, 브라우저는 서버와 TCP연결을 수립한다.이 과정에서 브라우저는 서버와 3-way handshake를 수행한다.브라우저가 서버로 SYN 패킷을 보낸다.서버가 SYN-ACK 패킷을 다시 브라우저로 보낸다.브라우저가 마지막으로 ACK 패킷을 서버로 보내고 마무리3. HTTP요청TCP연결이 수립되면 브라우저는 HTTP, HTTPS요청을 보낸다. 이 요청은 웹 페이지를 요청하..

CS지식/백엔드

TDD란 무엇인가?

TDD(Test-Driven Development)는 소프트웨어 개발 방법론 중 하나입니다.테스트를 먼저 작성한 후 실제 코드를 작성하는 방법을 일컫습니다. TDD는 여러 장점이 있습니다.디버깅 시간을 단축할 수 있다.자동화된 테스트를 통해 오작동하는 영역을 쉽게 좁혀나갈 수 있다.리팩토링이 용이해진다.작성된 테스트가 리팩토링 후에도 코드가 올바르게 동작하는지 확인해 주기 때문에 코드를 수정하는 데 자신감을 가질 수 있다.좋은 설계가 유도된다.테스트를 통해 요구 사항을 명확하게 이해하고, 이를 바탕으로 더 나은 설계를 할 수 있다.

CS지식/백엔드

웹서버(Web Server)와 WAS(Web Application Server)의 차이점

1️⃣ 개념정리✅ 웹서버(Web Server)란?웹서버는 정적(Static) 콘텐츠를 클라이언트(브라우저)에 제공하는 역할을 한다.HTML, CSS, JavaScript, 이미지, 동영상 등의 정적인 파일을 처리HTTP요청(Request)을 받고, HTTP응답(Response)을 반환대표적인 웹서버 : Apache HTTP Server, Nginx, Microsoft IIS예제- 사용자가 웹사이트 주소를 입력하면, 웹서버가 HTML, CSS, JavaScript 파일을 브라우저에 전달- 사용자가 이미지를 요청하면, 웹서버가 해당 이미지파일을 제공✅ WAS(Web Application Server)란?WAS는 동적(Dynamic) 콘텐츠를 생성하고 처리하는 역할을 한다.웹서버의 기능 + 비즈니스로직처리, ..

CS지식/프론트엔드

디바운스(debounce)와 쓰로틀(throttle) 정리

디바운스(debounce)와 쓰로틀(throttle)은 이벤트 핸들러가 너무 자주 실행되지 않도록 조절하는 기법입니다. 디바운스는 이벤트가 연속적으로 발생할 때, 마지막 이벤트가 발생한 후 일정 시간이 지나야 이벤트 핸들러가 실행되는 방식입니다. 이를통해 불필요하게 많은 이벤트 호출을 방지할 수 있습니다.예를들어, 검색창에 사용자가 키를 입력할 때마다 검색 요청을 보내면 부하가 지나치게 커지기 때문에, 사용자가 입력을 멈춘 후 일정 시간이 지나면 검색 요청을 보내는 방식으로 디바운스를 적용할 수 있습니다.  쓰로틀은 일정 시간 간격 동안 발생한 이벤트 중 첫 번째 또는 마지막 이벤트만 처리하는 방식입니다.즉, 이벤트가 계속해서 발생하더라고 설정된 시간 동안은 한 번만 이벤트 핸들러가 실행됩니다.예를들어,..