저도공부를하긴한답니다? 26

암호화 알고리즘 개요

암호화 알고리즘 개요양방향과 단방향암호화와 복호화는 보안의 핵심 기술이다.암호화 복호화는 크게 양방향과 단방향으로 나눌 수 있다.참고로 복호화는 復號化 이고, 이 때 복은 회복하다에서 쓰는 복이다.양방향 암호화양방향 암호화 (Two-way Encryption) 는 대칭 키 암호화와 비대칭 키 암호화로 나눌 수 있다.대칭 키 암호화 (Symmetric Encryption)그림원문 -> (암호화, 키 K) -> 암호문 -> (복호화, 같은 키 K) -> 원문 특징암호화와 복호화에 동일한 키를 사용한다.장점속도가 빠르다.단점키 유출 시 보안 위험이 크다.키 분배가 어렵다.대표 알고리즘AES (Advanced Encryption Standard)가장 많이 사용된다.128bit, 192bit, 256bit 가 있..

[TIL] 3 tier 환경이냐 4 tier 환경이냐

3 tier 환경 브라우저(클라이언트)  = HTTP 호출 => 애플리케이션 서버 -> DB 액세스 이렇게 크게 생각한다고 하는데 근데 왜 이거지? 브라우저 -> 웹서버 -> 웹앱서버 -> DB 액세스  이건 3 tier 환경이 아닌건가? 해서 찾아봄  대충 찾아보니 브라우저 -> 웹서버 -> 웹앱서버 -> DB 액세스 이것도 3 티어 환경인데3 티어 환경을 세분화 한 걸로 치네  4 티어 환경이라고는 크게는 안 부르나 봄

4가지 방식 비교하기

SP, EntityFramework, Dapper, SmartSQL 을 비교하는 짧은 보고서를 작성하려고 한다. 이 보고서를 작성할 때, 각 방법의 실제 사용 코드 예시를 보여주면서 진행하고자 한다. 그렇다면 내가 준비해야 할 게 어떤 게 있는지 먼저 생각해보자. 일단 나는 select 문을 사용하되 메인 테이블과 서브 테이블을 join해서 조회하는 방식을 보여줄 것이다. 이렇게 하기 위해서는 메인 테이블과 서브 테이블의 정의가 일단 필요하다. 그리고 각 테이블에 들어가있는, 값을 보여줄 수 있게 실제 데이터가 필요하다. user_id 를 공통적으로 가지고 있는 메인테이블 정의와 서브 테이블 정의가 필요하다.  메인 테이블 정의를 어떻게 할까?서브 테이블 정의를 어떻게 할까? 이것에 대해서 main ta..

그러면 Docker 기반 .NET Build는 어떤 게 도커여야 한다는 거야? Web Application Server? 아니면 gitea actions가 docker에 있어야 한다는거야? 왜냐하면 내가 배포하고 싶은 Web Application Server는 VM 에 있거든. 컨테이너로 올릴 수 없어.

좋은 질문이야! Docker 기반 .NET 빌드를 사용할 때, 어떤 부분이 Docker 환경이어야 하는지가 중요한 포인트야.네가 배포하려는 웹 애플리케이션 서버(Web Application Server)는 VM에 있고, 컨테이너로 올릴 수 없다면,CI/CD에서 빌드 과정만 Docker를 활용하는지 또는 CI/CD 자체가 Docker 기반인지를 고려해야 해. 📌 Docker 기반 .NET 빌드란?Docker 기반 .NET 빌드라는 건 Gitea Actions 또는 CI/CD 환경에서 .NET SDK가 설치된 Docker 컨테이너를 이용해 코드를 빌드하는 방식을 의미해. ✅ 즉, 네 Web Application Server가 VM에서 실행되더라도, 빌드는 Docker 환경에서 수행할 수 있어!✅ 빌드된..

gitea actions 에서 Docker 기반 .NET 빌드가 가능하다고 적혀있잖아. 그러면 MSBuild와 .NET SDK 와는 무엇이 다른거야?

Gitea Actions에서 Docker 기반 .NET 빌드가 가능하다고 했을 때, 여기서 사용하는 .NET SDK, MSBuild 등의 개념이 헷갈릴 수 있어.그래서 MSBuild와 .NET SDK가 무엇이 다르고, 언제 어떤 것을 써야 하는지 설명해줄게. 📌 MSBuild vs .NET SDK 차이점개념설명용도MSBuild (Microsoft Build Engine).NET 및 C# 프로젝트의 빌드 시스템, 프로젝트(.csproj)를 기반으로 코드 컴파일, 패키징, 배포를 수행Visual Studio 빌드, 프로젝트 빌드 자동화.NET SDK.NET 개발을 위한 도구 모음, MSBuild 포함 (.NET CLI 제공)dotnet build, dotnet publish, dotnet run 명령어 ..

4개 비교함

특징EF CoreSmartSQLDapperNHibernateORM 타입 (마이크로소프트 공식 지원/권장)Full ORM (권장)Micro ORM (SQL 중심) (아닌 듯)Micro ORM (SQL 중심) (아닌 듯)Full ORM (아닌 듯)SQL 관리 방식Code-first, Database-firstXML 매핑SQL 직접 작성XML 매핑성능중간 (자동화된 매핑 및 트랜잭션 관리로 일부 오버헤드 있음)높음 (SQL 쿼리 최적화 가능)매우 높음 (최소한의 오버헤드)중간 (많은 기능 제공으로 인해 성능 최적화가 필요)학습 곡선다소 어려운 편 (ORM 개념 이해 필요)적당함 (SQL 작성법에 익숙해야 함)쉬움 (SQL에 익숙한 개발자에게 빠름)어려움 (객체-관계 매핑 및 복잡한 설정 필요)유연성적당히 유연..

웹 기반 깃티 젠킨스 비교

안녕하세요! Gitea Runner, Gitea Actions, 그리고 Jenkins에 대해 비교하고, 프로젝트에 적합한 CI/CD 도구를 선택하는 데 도움이 될 수 있도록 안내해드리겠습니다. 또한, iPad 환경에서의 테스트 방법도 함께 다루겠습니다.1. Gitea Runner와 Gitea Actions 소개Gitea는 경량화된 Git 서비스로, 자체 호스팅이 가능한 Git 플랫폼입니다. 최근에는 Gitea Actions라는 CI/CD 기능을 도입하여, GitHub Actions와 유사한 방식으로 워크플로우를 자동화할 수 있습니다. citeturn0search0Gitea Actions: Gitea 내에서 .gitea/workflows 디렉토리에 YAML 형식의 워크플로우 파일을 정의하여 자동화된 ..

깃티 젠킨스 비교

네 프로젝트 특성을 바탕으로 가장 적합한 CI/CD 솔루션을 추천해줄게.아래 내용을 기반으로 Jenkins, Gitea Actions, GitHub Actions, GitLab CI/CD, Azure DevOps 등과 비교해볼게. 📌 프로젝트 특성 요약 (기반 정보)✅ 백엔드: .NET 8.0 + C#✅ 프론트엔드: React.js✅ 저장소: Gitea (자체 호스팅 Git 사용)✅ 배포 대상: Windows Server (IIS 기반 배포 가능성 높음)✅ CI/CD 요구사항: .NET 빌드 및 테스트, 코드 품질 검사, 자동 배포 (IIS or Docker 가능성)✅ 선호 방식: 기존 Stored Procedure와의 연계 가능성 고려✅ 개발 환경: 자체 Git 서버(Gitea)를 활용하고 있음 ..

EF Core 변경 추적 기능

📌 EF Core의 변경 추적(Change Tracking) 기능이란?Entity Framework Core(이하 EF Core)의 변경 추적(Change Tracking) 기능은 데이터베이스에서 가져온 엔터티의 상태 변화를 자동으로 감지하고 추적하는 기능이야.즉, 개발자가 SQL을 직접 작성하지 않아도, 엔터티 객체의 변경 사항을 감지하여 자동으로 데이터베이스에 반영해 주는 기능.🟢 변경 추적(Change Tracking)의 기본 동작 원리EF Core는 DbContext를 통해 데이터베이스와 상호작용하는데, DbContext 내부에서 엔터티의 상태를 추적하는 Change Tracker가 작동해.EF Core는 DbContext에 의해 관리되는 객체들의 상태를 추적하고, SaveChanges() 또..