Files
Genesis_GameServer/GameServer/wwwroot/js/views/about.js
2026-09-03 19:18:46 +09:00

74 lines
2.5 KiB
JavaScript

// views/about.js — 소개 화면
// 라우트: #/about
// 본문은 아래 ABOUT_MD 상수 하나만 고치면 된다.
import { renderMarkdown } from '../markdown.js';
/* 여기 내용을 자유롭게 수정하세요 */
const ABOUT_MD = `
## 안녕하세요, 게임 서버를 만드는 개발자입니다.
Unity 클라이언트가 기대는 **서버**를 설계하고 만듭니다.
게임이 재미있으려면 그 아래가 조용히 잘 돌아가야 한다고 생각합니다.
지금은 개인 프로젝트 **Genesis**의 서버를 혼자 만들면서,
캐릭터 데이터 구조부터 API 설계, 배포까지 전부 직접 다루고 있습니다.
---
### 지금 하고 있는 것
- **Genesis 게임 서버** — Unity 게임용 REST API 서버.
캐릭터 생성과 성장, 유저별 보유 캐릭터 관리를 담당합니다.
- **이 포트폴리오 사이트** — 같은 서버 위에서 함께 돌아갑니다.
게임 API와 한 프로세스를 쓰면서 정적 SPA로 화면을 그립니다.
### 쓰는 기술
- **서버** — C# / .NET 9, ASP.NET Core, Entity Framework Core
- **데이터베이스** — MariaDB (Pomelo EF Core 프로바이더)
- **클라이언트** — Unity, C#
- **프론트엔드** — 프레임워크 없는 순수 ES 모듈, CSS 디자인 시스템
### 일하는 방식
> 돌아가게 만든 다음, 왜 돌아가는지 설명할 수 있을 때까지 다듬습니다.
빌드 한 번으로 끝나는 배포를 좋아하고,
남이 읽을 코드라고 생각하고 씁니다.
문제가 생겼을 때 로그만 보고 원인을 짚을 수 있는 구조를 지향합니다.
---
### 연락
작업 문의나 협업 제안은 언제든 환영합니다.
왼쪽 위 **작업** 탭에서 만든 것들을 먼저 봐 주세요.
`;
/**
* 소개 뷰.
* @param {Object} params 사용하지 않음
* @param {HTMLElement} outlet
* @returns {Function} cleanup
*/
export async function view(params, outlet) {
outlet.innerHTML =
'<section class="section">' +
'<div class="section__head">' +
'<h2 class="section__title">소개</h2>' +
'<p class="section__sub">무엇을 만들고, 어떻게 일하는지.</p>' +
'</div>' +
'<div class="glass post">' +
'<div class="post__body">' + renderMarkdown(ABOUT_MD) + '</div>' +
'</div>' +
'</section>';
document.title = '김낙준 · 소개';
return () => {
// 붙인 리스너가 없어 따로 정리할 것이 없다.
};
}
export default view;