전체 글 313

SSR, Hydration

1. React는 라이브러리, Next.js는 프레임워크 2. React는 CSR자바스크립트가 로드 되지 않으면 HTML이 온전히 작동하지 않는다.웹 페이지가 실행되고 React, Javascript가 로드되어야 페이지가 유저에게 보인다.코드로 작성된 Component를 페이지에서 Javascript 파일을 다운 받고 유저에게 렌더링한다.=> 작성된 코드가 HTML에 남아있지 않는다.구글 봇의 경우 페이지 크롤링을 HTML 기준으로 진행하기 때문에 SEO에 적합하지 않다. 3. Next.js는 SSR코드로 작성된 Component가 서버에서 HTML로 변환된 후 클라이언트에게 전송된다.페이지 작성 중, console.log()를 찍어보면 브라우저가 아닌 서버에 출력된다. 4. HydrationSSR로 생..

Client/Next.js 2024.11.25

Next.js14 시작하기

1. 패키지 설치npm initnpm install react@latest next@latest react-dom@latest 2. package.json 수정 "scripts": { "dev": "next dev" }, 3. 파일 및 폴더 구성Next.js는 app 폴더 하위의 page 파일을 찾아 실행한다.// app/page.tsxconst Start = () => { return HI;}export default Start; 4. 실행npm run devnextjs를 구동하면 필요한 라이브러리들을 자동으로 설치한 후, 실행한다.Next.js는 app/page 파일과  app/layout 파일을 필요로하고, 생성되지 않은 layout 파일을 생성해준다.

Client/Next.js 2024.11.22

JSON 사용하기 - nlohmann json

1. 헤더파일 다운로드json.hpp 파일을 다운로드한다.https://github.com/nlohmann/json/releases  Releases · nlohmann/jsonJSON for Modern C++. Contribute to nlohmann/json development by creating an account on GitHub.github.com 2. VS 세팅편의성을위해 다운로드 받은 헤더파일을 위치를 옮겼다.   프로젝트 속성 - C/C++ - 일반 - 추가 포함 디렉터리 3. 예제#include using json = nlohmann::json;void TestJSON(){ json j = { {"name", "John"}, {"age", 30}, {"city", "New Yo..

Server/C++ 2024.11.20

Boost 라이브러리 사용하기

이번에도 최신버전을 설치했다가 호환되지 않아 다시 설치했다.Visual studio 2022, C++ 20에 맞는 버전으로 Boost 1.79를 선택했다. 1. zip파일 다운로드https://www.boost.org/users/history/version_1_79_0.html Version 1.79.0Version 1.79.0 April 13th, 2022 14:22 GMT Documentation DownloadsPlatformFileSHA256 Hash unixboost_1_79_0.tar.bz2475d589d51a7f8b3ba2ba4eda022b170e562ca3b760ee922c146b6c65856ef39boost_1_79_0.tar.gz273f1be93238a068aba4f9735a4a2b00..

Server/C++ 2024.11.19

백준 2240) 백트래킹을 dp로 바꿀 때

https://www.acmicpc.net/problem/2240 W 최대 30번 2^30백트래킹 -> 시간초과 #include using namespace std;/* 자두를 심고 먹는다 자두까 떨어지면 받아먹는다 자두가 바닥에 떨어지기 전 허공에 있을 떄 잡아야한다 매 초, 두개 나무중 하나의 나무에서 자두가 떨어진다 만약 열매가 떨어지는 순간, 자두가 그 나무의 아래에 서 있으면 자두는 그 열매를 받아먹을 수 있다. 자두는 하나의 나무 아래에 서 있다가 다른 나무 아래로 빠르게(1초보다 훨씬 짧은 시간에) 움직일 수 있다. 자두는 T초동안 떨어진다 자두는 최대 W번 움직인다 1≤T≤1,000 1≤W≤30 자두가 받을 수 있는 자두의 최대 개수를 출력한다 자두는 1번 자두나무 아래에 위치해 있다고 한..

포트폴리오) C++ TCP IOCP 게임서버

시연 영상https://youtu.be/P2FXk0AkOes   Github)소켓서버https://github.com/Juzdalua/exam-cpp-tcp-iocp-server GitHub - Juzdalua/exam-cpp-tcp-iocp-server: Making it while studying, TCP IOCP ServerMaking it while studying, TCP IOCP Server . Contribute to Juzdalua/exam-cpp-tcp-iocp-server development by creating an account on GitHub.github.com기술 상세제작기간2024. 08. 23 ~ 2024. 09. 24 클라이언트Unity 2022.3.24f1C# 비동기 ..

개인 자료 2024.09.25

BFS, 너비 우선 탐색

Breadth First Search다음 깊이의 정점으로 이동하기 전, 현재 깊이의 모든 정점을 탐색한다.방문한 정점은 다시 방문하지 않는다.같은 가중치를 가진 그래프에서 최단거리 알고리즘으로 사용된다.자료구조 Queue를 사용한다.최단거리 알고리즘으로 사용하기 때문에, visited 배열은 bool값이 아닌 최단경로를 기입한다.BFS(G, u){ u.visited = 1 q.push(u); while(q.size()) u = q.front() q.pop() for each v ∈ G.Adj[u] if v.visited == false v.visited = u.visited + 1 ..

DFS, 깊이 우선 탐색

Depth First Search그래프 탐색 알고리즘인접한 노드들을 재귀적으로 방문한다.방문한 노드는 다시 방문하지 않는다.각 분기마다 가능한 가장 멀리 있는 노드까지 방문한다.DFS(u, adj){ u.visited = true for each v ∈ adj[u] if v.visited == false DFS(v, adj)} 1차원 DFS#include using namespace std;const int n = 6;vector adj[n];int visited[n];void DFS(int u){ visited[u] = 1; cout  2차원 맵 DFS#include using namespace std;/* N * M맵, 맵의 배열이 주어진다.*/int a[104][104];boo..