분류 전체보기 205

C

직렬화 (Serialization)

직렬화직렬화는 데이터를 저장하거나 전송할 수 있는 형식으로 변환하는 것. (주로 텍스트 또는 바이너리)장점데이터 전송 및 저장 용이: 직렬화된 데이터는 네트워크를 통해 쉽게 전송하거나 파일에 저장할 수 있다. 예를 들어, 서버와 클라이언트 간에 객체를 전송하거나 디스크에 데이터를 저장할 때 유용하다.플랫폼 독립성: 직렬화된 데이터는 다양한 운영체제나 시스템에서 동일한 형식으로 읽고 쓸 수 있다. 예를 들어, JSON 형식은 다양한 언어에서 처리할 수 있어, 서로 다른 시스템 간 데이터 교환이 가능하다.성능 최적화 (바이너리 형식): 바이너리 형식으로 직렬화하면 데이터 크기가 작아지고, 전송 속도가 빨라질 수 있다. 특히 대용량 데이터를 다룰 때 유리하다.직렬화 단점성능 저하 가능성: 객체의 복잡도가 높거..

Dev 03:02:40

C

React Component가 리렌더링 되는 이유

웹 플젝 하던 중 Context, 모달, 소켓 등이 짬뽕되자 원하지 않는 부분에서 자꾸 렌더링이 되는 문제가 있어서 알아본 내용.Component가 리렌더링 되는 경우들State가 변경될 때: 컴포넌트의 state가 변경되면 해당 컴포넌트와 그 하위 컴포넌트들이 리렌더링됩니다. this.setState({ value: newValue });Props가 변경될 때: 부모 컴포넌트에서 전달되는 props가 변경되면 자식 컴포넌트가 리렌더링됩니다. 부모 컴포넌트가 리렌더링될 때: 부모 컴포넌트가 리렌더링되면 자식 컴포넌트들도 리렌더링됩니다.forceUpdate가 호출될 때: forceUpdate 메서드를 호출하면 강제로 컴포넌트가 리렌더링됩니다. this.forceUpdate();Context가 변경될 때: ..

Dev/React 2024.12.18

C

Bing AI Copilot 사용 중 스크롤시 Search 검색창으로 넘어지지 않게 하는 방법

https://chromewebstore.google.com/detail/copilot-prevent-scroll-do/cmdkmldlcddajdgcdbecjjkadmhgakhl Copilot - Prevent scroll down to search page This extension prevents users from accidentally scrolling down to the search page while using Bing AI Copilot. chrome.google.com 이 크롬 확장 프로그램을 설치한뒤 새로고침하면 스크롤을 내려도 다른 화면으로 넘어가지지 않는다. 아이콘 클릭시 Copilot이 새 탭으로 켜진다.

Dev 2024.02.01

C

[BOJ 10026] 적록색약 C++

난이도: Gold 5 번호: 10026 생성일: March 19, 2023 3:09 PM 알고리즘 분류: 그래프 이론, 그래프 탐색, 깊이 우선 탐색, 너비 우선 탐색 언어: C++ C++ // BOJ 10026 적록색약 #include #include using namespace std; int N; char map[102][102]; bool visit[102][102]; const int dx[] = {0, 0, 1, -1}; const int dy[] = {1, -1, 0, 0}; bool _strchr(string s, char c) { for (char _c : s) if (c == _c) return (1); return (0); } int BFS(int i, int j, string col..

Algorithm/BOJ 2023.03.19

C

[BOJ 1303] 전쟁 - 전투 C++

난이도: Silver 1 번호: 1303 생성일: March 19, 2023 12:31 AM 알고리즘 분류: 그래프 이론, 그래프 탐색, 깊이 우선 탐색, 너비 우선 탐색 언어: C++ 1303번: 전쟁 - 전투 C++ #include #include using namespace std; int N, M; char map[102][102]; bool visit[102][102]; const int dx[] = {0, 0, 1, -1}; const int dy[] = {1, -1, 0, 0}; int BFS(int i, int j, char c) { queue Q; int cnt = 1; Q.push({i, j}); visit[i][j] = true; while (!Q.empty()) { auto cur ..

Algorithm/BOJ 2023.03.19

C

[BOJ 13549] 숨바꼭질 3 C++

난이도: Gold 5 번호: 13549 생성일: March 12, 2023 9:33 PM 알고리즘 분류: 0-1 너비 우선 탐색, 그래프 이론, 그래프 탐색, 너비 우선 탐색, 데이크스트라 언어: C++ 13549번: 숨바꼭질 3 C++ #include #include using namespace std; int N, K; int visit[100001]; int BFS() { deque dq; dq.push_back(N); visit[N] = 1; while (!dq.empty()) { int cur = dq.front(); dq.pop_front(); if (cur == K) return visit[cur] - 1; if (cur * 2 < 100001 && !visit[cur * 2]) { dq.p..

Algorithm/BOJ 2023.03.12

C

[BOJ 14940] 쉬운 최단거리 C++

난이도: Silver 1 번호: 14940 생성일: March 10, 2023 5:48 PM 알고리즘 분류: 그래프 이론, 그래프 탐색, 너비 우선 탐색 언어: C++ 14940번: 쉬운 최단거리 C++ #include #include #include using namespace std; int N, M; struct Pos { int x, y; }; vector map; vector visit; vector distMap; const int dX[] = {0, 0, -1, 1}; const int dY[] = {-1, 1, 0, 0}; void BFS(Pos dest) { queue Q; distMap[dest.x][dest.y] = 0; Q.push(dest); visit[dest.x][dest.y]..

Algorithm/BOJ 2023.03.10

C

[BOJ 18232] 텔레포트 정거장 C++

난이도: Silver 2 번호: 18232 생성일: March 10, 2023 1:33 AM 알고리즘 분류: 그래프 이론, 그래프 탐색, 너비 우선 탐색 언어: C++ 18232번: 텔레포트 정거장 C++ #include #include #include using namespace std; int N, M, S, E; vector map; vector visit; int BFS() { queue Q; Q.push(S); visit[S] = true; int depth = 0; while (!Q.empty()) { int size = Q.size() + 1; while (--size) { int cur = Q.front(); Q.pop(); if (cur == E) return depth; for (int..

Algorithm/BOJ 2023.03.10

C

[BOJ 25516] 거리가 k이하인 트리 노드에서 사과 수확하기 C++

난이도: Silver 2 번호: 25516 생성일: March 9, 2023 2:39 PM 알고리즘 분류: 그래프 이론, 그래프 탐색, 깊이 우선 탐색, 너비 우선 탐색, 트리 언어: C++ 25516번: 거리가 k이하인 트리 노드에서 사과 수확하기 C++ #include #include #include using namespace std; int N, K; vector map; vector apple; vector visit; int BFS() { queue Q; Q.push(0); visit[0] = true; int depth = 0; int cnt = apple[0]; while (!Q.empty() && depth < K) { int size = Q.size(); while (size--) { ..

Algorithm/BOJ 2023.03.09

C

[BOJ 2667] 단지번호붙이기 C++

난이도: Silver 1 번호: 2667 생성일: March 8, 2023 11:39 AM 알고리즘 분류: 그래프 이론, 그래프 탐색, 깊이 우선 탐색, 너비 우선 탐색 언어: C++ 2667번: 단지번호붙이기 C++ #include #include #include #include using namespace std; int N; char map[27][27]; bool visit[27][27]; const int dX[] = {0, 0, -1, 1}; const int dY[] = {-1, 1, 0, 0}; int BFS(int i, int j) { queue Q; int cnt = 1; Q.push({i, j}); visit[i][j] = true; while (!Q.empty()) { auto cu..

Algorithm/BOJ 2023.03.08