Files
dbserver/.Notebook/설치패키지 체크 by claude.md

5.4 KiB

현재 설치 상태 요약 이미 설치된 것들

  1. 개발 환경 ✓ .NET SDK 8.0.123 ✓ .NET SDK 10.0 (aspnetcore-runtime-10.0) ✓ dotnet-sdk-8.0
  2. 데이터베이스 ✓ PostgreSQL 16.11 ✓ TimescaleDB 2.25.0 ✓ postgresql-client-16
  3. 시스템 도구 ✓ Git 2.43.0 ✓ curl, wget ✓ vim, nano ✓ htop (시스템 모니터링) ✓ tmux (터미널 멀티플렉서)

🔧 추가로 설치해야 할 것들

  1. OPC UA 라이브러리 (NuGet) bashcd ~/projects/OpcUaMinimal dotnet add package OPCFoundation.NetStandard.Opc.Ua --version 1.5.374.126 dotnet add package OPCFoundation.NetStandard.Opc.Ua.Client --version 1.5.374.126 또는 더 간단한 라이브러리: bashdotnet add package Technosoftware.OpcUaNetStandardLibrary --version 7.0.0
  2. Entity Framework Core (PostgreSQL) bashdotnet add package Npgsql.EntityFrameworkCore.PostgreSQL --version 8.0.23 dotnet add package Microsoft.EntityFrameworkCore.Design --version 8.0.23 dotnet add package Microsoft.EntityFrameworkCore.Tools --version 8.0.23
  3. SignalR (실시간 통신) bashdotnet add package Microsoft.AspNetCore.SignalR.Client --version 8.0.23
  4. 기타 필수 라이브러리 bash# Logging dotnet add package Serilog.AspNetCore --version 8.0.3 dotnet add package Serilog.Sinks.File --version 6.0.0 dotnet add package Serilog.Sinks.PostgreSQL --version 3.2.0

Configuration

dotnet add package Microsoft.Extensions.Configuration.Json dotnet add package Microsoft.Extensions.Options.ConfigurationExtensions

Background Service

dotnet add package Microsoft.Extensions.Hosting dotnet add package Microsoft.Extensions.Hosting.Systemd 5. 시스템 서비스 관련 (Linux에서 필요) bash# systemd 개발 헤더 (이미 설치됨) ✓ systemd-dev

추가 필요한 것

sudo apt update sudo apt install -y build-essential

📁 프로젝트 구조 생성 bashcd ~/projects mkdir -p OpcClientSystem cd OpcClientSystem

1. Core 프로젝트

dotnet new classlib -n Domain -o 01_Core/Domain dotnet new classlib -n Application -o 01_Core/Application

2. Infrastructure 프로젝트

dotnet new classlib -n Infrastructure -o 02_Infrastructure

3. OPC Client Service

dotnet new worker -n OpcDataCollector.Service -o 03_Service

4. Web API

dotnet new webapi -n IndustrialAutomation.API -o 04_WebAPI

5. Blazor Web (선택)

dotnet new blazor -n IndustrialAutomation.Web -o 05_Web

Solution 파일 생성

dotnet new sln -n OpcClientSystem

프로젝트들을 Solution에 추가

dotnet sln add 01_Core/Domain/Domain.csproj dotnet sln add 01_Core/Application/Application.csproj dotnet sln add 02_Infrastructure/Infrastructure.csproj dotnet sln add 03_Service/OpcDataCollector.Service/OpcDataCollector.Service.csproj dotnet sln add 04_WebAPI/IndustrialAutomation.API/IndustrialAutomation.API.csproj

🗄️ PostgreSQL 설정 DB 생성 (아직 안 했다면) bashsudo -u postgres psql

PostgreSQL 프롬프트에서

CREATE DATABASE scada; CREATE USER opcuser WITH PASSWORD 'your_password'; GRANT ALL PRIVILEGES ON DATABASE scada TO opcuser;

TimescaleDB 확장 활성화

\c scada CREATE EXTENSION IF NOT EXISTS timescaledb;

\q 연결 테스트 bashpsql -h localhost -U opcuser -d scada

비밀번호 입력 후 연결 확인

🔐 환경 변수 설정 bash# ~/.bashrc 또는 ~/.profile에 추가 echo 'export ConnectionStrings__DefaultConnection="Host=localhost;Database=scada;Username=opcuser;Password=your_password"' >> ~/.bashrc source ~/.bashrc

🚀 개발 시작 체크리스트 완료된 것

Ubuntu Server 24.04 설치 PostgreSQL 16 설치 TimescaleDB 설치 .NET SDK 8.0 설치 Git 설치 VSCode Remote SSH 연결

📝 해야 할 것

OPC UA NuGet 패키지 설치 EF Core PostgreSQL 패키지 설치 프로젝트 구조 생성 Database 스키마 생성 OPC Client 기본 연결 테스트 Experion 서버 연결 확인

🎯 다음 단계 제안 bash# 1. 간단한 테스트 프로젝트부터 시작 cd ~/projects dotnet new console -n OpcTest cd OpcTest

2. OPC UA 패키지 설치

dotnet add package OPCFoundation.NetStandard.Opc.Ua.Client

3. Experion 연결 테스트 코드 작성

(다음 메시지에서 샘플 코드 제공 가능)

4. 테스트 실행

dotnet run 필요한 것이 더 있으면 말씀해주세요!

OPC UA 연결 테스트 코드? DB 스키마 생성 스크립트? 전체 프로젝트 템플릿 코드? nuget 이미 설치했는데?오전 10:01아! 죄송합니다. NuGet은 .NET SDK에 포함되어 있으니 이미 사용 가능합니다. 제가 말한 건 NuGet 패키지 관리자가 아니라 NuGet 패키지(라이브러리) 설치를 의미한 거였습니다. 정리하면: 이미 있는 것 (설치 완료) ✓ NuGet (패키지 관리자) - .NET SDK에 포함 ✓ .NET SDK 8.0 ✓ PostgreSQL 16 ✓ TimescaleDB 📦 해야 할 것 (프로젝트에 라이브러리 추가) 프로젝트를 만든 후에: bashcd ~/projects/OpcUaMinimal # 또는 새 프로젝트 경로

이런 명령어들로 라이브러리 추가

dotnet add package OPCFoundation.NetStandard.Opc.Ua.Client dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL NuGet 자체는 설치할 필요 없고, NuGet을 통해 라이브러리들을 추가하면 됩니다!

🚀 바로 시작할 수 있는 것 bashcd ~/projects/OpcUaMinimal

OPC UA 라이브러리 추가

dotnet add package OPCFoundation.NetStandard.Opc.Ua.Client

PostgreSQL 라이브러리 추가

dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL

설치 확인

dotnet list package 이제 Experion 서버 연결 테스트 코드가 필요하신가요?