비트 연산자란? 비트 연산자는 비트(bit) 단위로 논리 연산을 할 때 사용하는 연산자입니다. 원소의 수가 많지 않은 경우에, 작업을 여러 번 수행해야 하는 경우 비트 연산으로 최적화를 할 수 있습니다. 비트연산자 설명 & 대응되는 비트가 모두 1이면 1을 반환 | 대응되는 비트가 하나라도 1이면 1을 반환 ^ 대응되는 비트가 서로 다르면 1을 반환 ~ 비트를 서로 반전 x의 비트를 부호를 유지하면서 지정한 수만큼 오른쪽으로 이동 & (비트 AND 연산) int x = 5; // 0 0 1 0 1 int y = 19; // 1 0 0 1 1 int x_and_y = 5 & 19; // 0 0 0 0 1 => 1 비트 AND 연산은 양쪽 모두 1이어야 1을 반환합니다. boolean 타입을 &&로 연산을 ..
주요 개발 환경 Next.js 13.4.19 TypeScript Emotion Error message Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{ default: string; danger: string; outline: string; }'. No index signature with a parameter of type 'string' was found on type '{ default: string; danger: string; outline: string; }'.ts(7053) 배경 Next.js + Typescript 를 기반으로 개발 환경을 구성하였고 CS..
개념 프로그램은 어떤 파일이 실행되기 전 상태, 다시 말하면 코드 모음입니다. 이것을 개발자의 언어로 이야기하면 코드가 파일로 빌드되어 보조 기억 장치에 저장되어 있는 정적인 상태 라고 할 수 있습니다. 그리고 프로세스는 프로그램이 실행되고 있는 상태를 의미합니다. 프로그램이 메모리에 올라와서 CPU가 코드를 해석하는 과정인 것이죠! CPU는 한 번에 하나의 프로그램만 실행할 수가 있습니다. 그런데 작업관리자를 확인해보면 동시에 여러개의 프로그램이 실행되고 있는 것처럼 보이네요! 이것은 어떻게 설명할 수 있을까요?? 여러개의 프로그램을 동시에 실행하는 방법 병렬 처리 병렬 처리는 2개 이상의 코어가 각기 다른 프로세스를 같은 순간에 실행하는 방법입니다. 듀얼코어, 쿼드코어가 여기서 나오는 개념인 거죠! ..
개념 input 타입에 onChange 이벤트를 걸어서 state의 변화를 준다면 사용자가 input창에 무언가를 입력할 때마다 이벤트 핸들러가 호출됩니다. scroll event의 경우도 마찬가지입니다. 만약 무한 스크롤 기능을 스크롤 이벤트로 구현한다면 스크롤이 맨 아래에 위치했는지 여부만 체크하면 되는데 스크롤을 움직일 때마다 이벤트가 연속적으로 호출됩니다. 댓글을 작성해서 submit 하는 것이나 스크롤이 맨 아래에 위치했는지 여부를 확인해야 하는 경우에 필요한 것보다 훨씬 많은 이벤트 호출이 발생하게 됩니다. Debounce와 Throttle은 이러한 연속적으로 호출되는 이벤트 핸들러의 실행 빈도를 제어함으로써 성능상의 유리함을 가져오기 위한 개념입니다. Debounce 연이어 발생한 이벤트를 ..
record 란 무엇일까요? 불변(immutable) 데이터 객체를 쉽게 생성할 수 있도록 하는 새로운 유형의 클래스로 일반 class와 다르게 생성자, getter, hashCode(), equals(), toString() 메소드를 제공해줍니다. DTO처럼 데이터를 운반하는 특성의 클래스를 구현할 때 반복적으로 작성했던 부분을 없애줍니다. JDK14 버전에서 preview로 등장하여 JDK16 버전에서 정식 스펙으로 포함되었습니다. 어떻게 사용하는 걸까요? 선언 방식 record 레코드명(컴포넌트1, 컴포넌트2) {} class를 사용한 DTO 객체 public class Person { private final String name; private final int age; public Person..
- Total
- Today
- Yesterday
- Spring
- dfs
- 백준
- JPA
- 스프링
- Queue
- 정렬
- BFS
- 스프링부트
- 자바스크립트
- 자바
- 자바bfs
- 리액트
- SQLD
- 이분탐색
- 형변환
- SQL
- 알고리즘
- 자바트리
- CS
- JavaScript
- 해시맵
- DP
- java
- 타입스크립트
- Algorithm
- 자바dp
- 프로그래머스
- Nest
- Comparator
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |