728x90
반응형

프로그램 47

리눅스란? 오픈소스 운영체제의 모든 것

리눅스(Linux)란?리눅스는 1991년 핀란드의 리누스 토르발스(Linus Torvalds)가 처음 개발한 오픈 소스 컴퓨터 운영체제(OS)입니다. 유닉스(UNIX)에서 영감을 받아 만들어졌으며, 누구나 소스 코드를 자유롭게 열람, 수정, 배포할 수 있는 것이 가장 큰 특징입니다. 전 세계 수많은 개발자와 커뮤니티의 참여로 발전해왔으며, 오늘날 서버, 클라우드, 모바일, 임베디드, 슈퍼컴퓨터 등 다양한 분야에서 폭넓게 사용되고 있습니다. 리눅스의 역사와 구조탄생 배경: 1991년 리누스 토르발스가 커널(Kernel)만을 개발해 배포하면서 시작되었습니다. 이후 GNU 프로젝트(리처드 스톨만 주도)의 다양한 오픈 소스 유틸리티와 결합되어 완전한 운영체제로 자리 잡았습니다.커널: 리눅스의 핵심으로, 하드웨어..

리눅스 2025.05.19

C# ASP.NET MVC로 블로그 만들기 #1: CRUD 기본 기능 구현

ASP.NET MVC로 블로그 만들기: 실전 예제아래는 C# ASP.NET MVC로 간단한 블로그(게시글 CRUD) 기능을 구현하는 실전 예제입니다.Visual Studio에서 새 MVC 프로젝트를 만들고, 아래와 같이 따라 하면 블로그 게시판의 기본 뼈대를 완성할 수 있습니다.!!! 1. 모델(Model) 만들기Models/BlogPost.csusing System;using System.ComponentModel.DataAnnotations;namespace YourProject.Models{ public class BlogPost { public int Id { get; set; } [Required, StringLength(200)] public s..

C# 2025.05.18

C# 개발자를 위한 JWT 토큰 고급 활용법: 암호화부터 운영 전략까지

https://rogi221.tistory.com/226 C# 로그인 시스템 완벽 구현: 비밀번호 해싱과 JWT 토큰 인증 실전 가이드C# 로그인 시스템: 비밀번호 해싱과 토큰 인증 완벽 가이드웹 또는 데스크탑 환경에서 로그인 기능을 구현할 때, 단순히 아이디와 비밀번호를 비교하는 방식은 보안상 매우 취약합니다. 이 포스rogi221.tistory.com JWT 토큰 인증 심화 가이드: 구조·코드·보안 팁기존 글을 보강할 수 있는 심화 내용을 추가 설명드리겠습니다. JWT 구조 심층 분석JWT는 .으로 구분된 세 부분(Header.Payload.Signature)으로 구성됩니다.1. Header{ "alg": "HS256", // 해시 알고리즘 (HS256, RS384 등) "typ": "JWT"..

C# 2025.05.16

C# 권한 관리 레볼루션: 세션 → Role-Based 전환으로 얻는 200% 효과

C# 권한 관리 마스터 클래스: 세션 vs Role-Based 완전 정복웹 개발에서 권한 관리는 보안과 사용자 경험을 좌우하는 핵심 요소입니다. 오늘은 C# 환경에서 세션과 공식 Role 기반 방식을 비교하며, 상황에 맞는 최적의 권한 관리 전략을 알려드립니다. 권한 관리의 핵심 원칙"최소 권한의 법칙: 사용자에게는 반드시 필요한 권한만 부여하라"인증(Authentication): 사용자 신원 확인 (로그인)권한(Authorization): 리소스 접근 권한 부여감사(Audit): 모든 접근 이력 기록 1. 세션으로 시작하는 초간단 권한 관리// 로그인 시 권한 정보 저장HttpContext.Session.SetInt32("RoleLevel", 1); // 1=관리자, 2=일반@if (Context.S..

C# 2025.05.15

C# 로그인 시스템 완벽 구현: 비밀번호 해싱과 JWT 토큰 인증 실전 가이드

C# 로그인 시스템: 비밀번호 해싱과 토큰 인증 완벽 가이드웹 또는 데스크탑 환경에서 로그인 기능을 구현할 때, 단순히 아이디와 비밀번호를 비교하는 방식은 보안상 매우 취약합니다. 이 포스팅에서는 C#으로 비밀번호 해싱과 JWT 토큰 기반 인증을 활용해 안전한 로그인 시스템을 만드는 방법을 단계별로 설명합니다. 1. 로그인 UI 설계 및 기본 구조먼저 로그인 폼을 설계합니다.WinForm, WPF, ASP.NET 등 환경에 따라 컨트롤 배치만 다를 뿐, 기본 구조는 동일합니다.필수 컨트롤: Label, TextBox(아이디/비밀번호), Button(로그인)비밀번호 TextBox: PasswordChar = '*' 속성 적용// WinForm 예시if (txtID.Text == "asdf" && txtPW..

C# 2025.05.15

C# API 완전 정복: 개념부터 실전 예제, REST 원칙, 보안, Swagger 문서화까지

C# API란?"API(Application Programming Interface)"는 소프트웨어끼리 데이터를 주고받거나 기능을 사용할 수 있게 해주는 인터페이스입니다.C#에서는 주로 ASP.NET Core Web API를 이용해 서버에서 데이터를 JSON 등으로 주고받는 REST API를 만듭니다.REST API는 HTTP 메서드(GET, POST, PUT, DELETE 등)를 활용해 클라이언트와 서버가 데이터를 주고받는 대표적인 방식입니다. C# API의 주요 특징리소스 중심: 데이터를 리소스(예: 책, 사용자 등)로 보고 각각을 고유한 URI로 식별합니다.HTTP 메서드 활용: GET(조회), POST(생성), PUT(수정), DELETE(삭제) 등 표준 HTTP 메서드로 동작합니다.표현의 다양성..

C# 2025.05.14

자바 초급 예제: 콘솔 기반 사칙연산 계산기

자바 예제 프로젝트 추천1. 초급 – 콘솔 계산기사용자가 두 숫자와 연산자(+, -, *, /)를 입력하면 결과를 출력하는 간단한 콘솔 계산기.Scanner 클래스를 사용해 입력을 받고, 조건문과 반복문을 활용해 구현할 수 있습니다.실전 팁입력은 Scanner: 사용자 입력이 필요하다면 Scanner 클래스를 사용하세요.코드 가독성: 변수명과 메서드명은 직관적으로 작성하면 주석 없이도 이해하기 쉽습니다.객체지향 연습: 클래스와 메서드를 적절히 분리해 설계해보세요. 예를 들어, 회원 정보를 관리하는 Member 클래스를 만들어 Builder 패턴을 써보는 것도 좋습니다.StringBuilder 사용: 문자열을 반복적으로 합칠 때는 StringBuilder를 사용하면 성능이 좋아집니다.!향상된 for문, S..

자바 2025.05.13

C# 닷넷, 어렵지 않아요! 내 스타일로 쉽게 배우는 사용법 & 활용법

C# 닷넷 사용법 & 응용 – 내 스타일로 쉽게 정리!안녕하세요, 코딩하는 록입니다!오늘은 C# 닷넷(.NET) 사용법이랑 응용 방법을 한 번에 쫙 정리해보겠습니다.!!!C# 닷넷이 뭔데?C#은 마이크로소프트에서 만든 프로그래밍 언어고, 닷넷(.NET)은 이걸 돌려주는 플랫폼이에요.쉽게 말해서, 우리가 C#으로 코드를 짜면 닷넷이 알아서 컴퓨터에서 돌아가게 해주는 거죠.닷넷은 윈도우뿐만 아니라 맥, 리눅스에서도 다 돌아가니까 요즘은 크로스플랫폼 개발에도 많이 써요.환경 세팅부터 시작!닷넷 SDK 설치닷넷 공식 사이트에서 운영체제에 맞는 .NET SDK 다운받아서 설치!코드 에디터 설치Visual Studio Code(이하 VSCode) 추천!VSCode 공식 사이트에서 설치.Visual studio 에서..

C# 2025.05.12

C# 필수 기초: 데이터 타입과 변수 선언 완벽 가이드

C#의 기본 데이터 타입과 변수 선언 방법C#은 강력한 타입 시스템을 갖추고 있으며, 다양한 기본 데이터 타입을 제공합니다. 기본 데이터 타입(Primitive Types)C#의 기본 데이터 타입은 다음과 같습니다: 데이터타입.NET 형식범위설명sbyteSystem.SByte-128 ~ 127부호 있는 8비트 정수byteSystem.Byte0 ~ 255부호 없는 8비트 정수shortSystem.Int16-32,768 ~ 32,767부호 있는 16비트 정수ushortSystem.UInt160 ~ 65,535부호 없는 16비트 정수intSystem.Int32-2,147,483,648 ~ 2,147,483,647부호 있는 32비트 정수uintSystem.UInt320 ~ 4,294,967,295부호 없는 32..

C# 2025.05.09

C# LINQ 완전 정복: 데이터 처리의 혁명!

LINQ를 활용한 데이터 처리LINQ(Language Integrated Query)는 C#에서 데이터를 쿼리하고 처리하는 강력한 기능으로, 다양한 데이터 소스에 일관된 프로그래밍 모델을 제공합니다. LINQ의 기본 개념LINQ는 C# 언어에 통합된 쿼리 기능으로, 배열, 컬렉션, XML, 데이터베이스 등 다양한 데이터 소스에 대해 동일한 구문으로 쿼리를 작성할 수 있습니다. SQL과 유사한 구문을 사용하기 때문에 데이터베이스에 익숙한 개발자들이 쉽게 배울 수 있습니다. LINQ의 주요 종류1. LINQ to Objects: 메모리에 있는 컬렉션이나 배열에 대해 쿼리를 수행합니다.List numbers = new List { 1, 2, 3, 4, 5 };var evenNumbers = from n..

C# 2025.05.09

예외가 뭐길래? C# try-catch-finally 한 번에 정리

C# 예외 처리(Exception Handling)란?프로그래밍을 하다 보면 예상하지 못한 오류가 발생할 수 있습니다.예를 들어, 파일이 없거나, 0으로 나누거나, 배열의 범위를 벗어난 값을 접근할 때 등 다양한 상황에서 예외(Exception)가 발생합니다.C#에서는 이런 예외 상황을 안전하게 처리하기 위해 try-catch-finally 구문을 사용합니다.1. 기본 구조try { // 예외가 발생할 수 있는 코드 } catch (Exception ex) {// 예외가 발생했을 때 실행할 코드 } finally { // 예외 발생 여부와 상관없이 항상 실행되는 코드 (선택) }try 블록: 예외가 발생할 수 있는 코드를 작성합니다.catch 블록: 예외가 발생했을 때 실행할 코드를 작성합니다.Excep..

C# 2025.04.30

C#이란?

C#이란? 프로그래밍 입문자를 위한 쉬운 설명프로그래밍 언어를 공부하다 보면 한 번쯤 들어보는 이름이 바로 C# 입니다. C#은 마이크로소프트에서 만든 언어로, 윈도우 프로그램이나 게임, 웹사이트 등 다양한 분야에서 쓰이고 있습니다.C#의 특징C#은 문법이 깔끔하고, 배우기 쉬운 편에 속합니다.자바(Java)나 C++와 비슷한 부분이 많아서, 다른 언어를 배워본 적이 있다면 금방 익힐 수 있습니다.또한, 객체지향 언어라서 코드 관리가 쉽고, 규모가 큰 프로그램도 체계적으로 만들 수 있습니다.어디에 쓰이나요?C#은 정말 다양한 곳에서 활용됩니다.윈도우 프로그램: 우리가 자주 쓰는 윈도우용 앱 대부분이 C#으로 만들어집니다.웹 개발: ASP.NET을 이용하면 웹사이트도 만들 수 있습니다.게임 개발: Unit..

C# 2025.04.29

Spring Boot - 쇼핑몰 프로젝트 07 (주문 기능 구현하기)

주문 기능 구현하기 주문하면 현재 상품의 재고에서 주문 수량만큼 재고 감소상품의 주문 수량보다 재고의 수가 적을 때 발생시킬 exception을 정의 com.shop.exception.OutOfStockException.java// OutOfStockException.javapackage com.shop.exception;public class OutOfStockException extends RuntimeException { public OutOfStockException(String message) { super(message); }} com.shop.entity.Item.java// Item.java... 생략 ... public void removeStock(int..

Spring boot & JPA 2023.04.06

Spring Boot - 쇼핑몰 프로젝트 06 (상품 등록 및 조회하기 - 3)

https://rogi221.tistory.com/177 Spring Boot - 쇼핑몰 프로젝트 06 (상품 등록 및 조회하기 - 1)상품 등록 및 조회하기 상품 등록하기 상품 이미지 엔티티는 이미지 파일명, 원본 이미지 파일명, 이미지 조회 경로, 대표 이미지 여부를 갖도록 설계 대표 이미지 여부가 “Y”인 경우 메인페이rogi221.tistory.com https://rogi221.tistory.com/179 Spring Boot - 쇼핑몰 프로젝트 06 (상품 등록 및 조회하기 - 2)상품 등록 및 조회하기 - 2 상품 수정하기 상품 등록 후 콘솔창을 보면 insert into item 쿼리문에서 item_id에 들어가는 binding parameter 값 확인 해당 상품 아이디를 이용해서 상품 ..

Spring boot & JPA 2023.04.06

Spring Boot - 쇼핑몰 프로젝트 06 (상품 등록 및 조회하기 - 2)

상품 등록 및 조회하기 - 2 상품 수정하기상품 등록 후 콘솔창을 보면 insert into item 쿼리문에서 item_id에 들어가는 binding parameter 값 확인해당 상품 아이디를 이용해서 상품 수정 페이지에 진입 예제 진행 상품 수정하기com.shop.service.ItemService.java// ItemService.javapackage com.shop.service;import com.shop.dto.ItemFormDto;import com.shop.dto.ItemImgDto;import com.shop.entity.Item;import com.shop.entity.ItemImg;import com.shop.repository.ItemImgRepository;import com...

Spring boot & JPA 2023.04.06
728x90
반응형