Blazor 웹어셈블리에 데이터베이스 붙히는 법 여쭤봅니다 +

안녕하세요, 여기엔 처음 글을 씁니다. 웹 개발이나 데이터베이스에는 거의 무지렁이 수준인데, 어쩌다 보니 블레이저 webassembly를 배우고 있는 유저입니다.

그냥 자습용으로,

  1. editform에서 입력받은 값을
  2. list 형태의 파일에 계속 쌓아서
  3. table로 띄우는 페이지를 만드는 게 1차 목표입니다.

최대한 간단한 형태로완성부터 해보자! 맘먹은 상태였어서 sample-data의 날씨 json 파일을 그대로 활용하려고 했습니다.

그런데, json의 리스트 파일을 테이블로 불러오는 건 기본 파일 그대로 쓰면 됐는데,

editform 입력 값을 json 리스트 파일에다가 쓰는 법을 모르겠습니다.

그냥 외부 데이터베이스 붙혀야지! 맘먹고 찾아봐도 다 서버 용이어서 제자리걸음인 상태입니다.

어떻게 해야 좋을까요??

  1. 유저가 빈 (리스트 + 테이블 페이지) 추가
  2. 테이블 페이지에서 리스트 내용 편집

이런 기능도 추가하고 싶은데… 마음만 앞서고 앞부분부터 막혀있고 그러니 답답하네요 ㅜㅜ

그리고 그동안은 유니티 등의 툴을 이용해 게임 인터페이스와 간단한 게임 구조를 설계하는 프로그래밍만 해봤는데, 닷넷코어를 처음부터 제대로 배워보고 싶습니다. 닷넷코어 개념을 밑바탕에 깔고, 블레이저로 만들고 싶은 사이트 만드는 수준이 되는 게 제 목표입니다. 어떤 책, 어떤 글 혹은 어떤 강의가 좋을까요?

2개의 좋아요

글쎄요. Microsoft에서 이미 충분한 문서는 제공하고 있습니다. 남는건 실습인것 같은데요,

먼저, .NET (구 .NET Core)에 대한 학습은 다음의 사이트를 이용하세요. 이미 충분히 잘 준비되어 있습니다.

이곳에서, 오픈 소스 .NET의 글을 쭉 읽어서 개념을 잡고, 이후 다양한 학습 프로그램을 쫓아 실습하면 될 것 같습니다.

ASP.NET Core 및 Blazor에 관한 학습은,

이곳을 이용하세요. 첫번째 개념을 먼저 잡는게 중요하고요, 이후 검색을 통해서 충분히 학습가능한 프로그램들이 많이 있습니다.

Blazor Webassembly의 동작에 대해 간략히 말씀 드리면, 웹브라우저의 Webassembly 센드박스에서 구동되기 때문에 데스크톱 어플리케이션 처럼 파일 접근 등의 권한을 가지고 있지는 않습니다. 센드박스에서 허용하는 SessionStorage나 LocalStorage에 저장할 수 는 있으나 영속적이지는 않습니다.
서버와의 데이터 통신은 Web API 기술을 이용해야만 하고 관련 학습방법은 위의 링크에 나와 있습니다.
서버 측에서의 데이터 저장 및 제공은 ORM 기술을 이용한다면 EF Core를 사용할 수 있고, ORM이 아니라면 Dapper를 추천합니다. 검색하면 관련 샘플들을 쉽게 구하실 수 있어요.

도움이 되셨으면 좋겠습니다.

2개의 좋아요

답변 감사합니다. 되짚어 보니 제가 호스트 되지 않은 프로젝트로 작업 중이더라고요. 호스트 되지 않은 wasm으로는 말씀처럼 영속적이지 않은 스토리지에만 저장할 수가 있는 듯해서, 아예 호스트 된 wasm 프로젝트를 새로 만들어서 처음부터 다시 하고 있습니다.

그 덕에 설명서를 뒤져도 제가 찾고픈 내용이 안 나오는 상태에선 벗어났는데, 맘같아선 호스트 되지 않은 wasm 프로젝트에 host를 add 하고 싶습니다. 그런데 blazor webassembly add host라고 쳐도, 한글로 검색해도 나오지가 않더라고요… 혹시 방법을 아시는 지 여쭤보고 싶습니다.

1개의 좋아요

가장 간단한 방법은 호스팅된 프로젝트를 다시 새로 만들고, 프로젝트간 어떤 관계가 있는지를 분석하는 것입니다. 이 관계가 이해가 된다면 기존 프로젝트에 적용하는것은 어렵지 않을 것 같아요. 호스팅 프로젝트는 그냥 ASP.NET Core 프로젝트 입니다. 거기에 관련 설정들이 추가되는거에요.

1개의 좋아요