분류 전체보기 67

C# Nullable 값 형식이란?

Nullable 값 형식이란? C#에서 int, float와 같이 값 형식은 null을 가질 수 없다. int? num = null; 하지만 Nullable을 사용하면 값 형식에도 null을 가질 수 있다. 자료형 뒤에 ?를 붙여주면 컴파일 시 Nullable 구조체로 변환된다. 즉, int?는 Nullable와 동일하다는 뜻이다. Nullable 값 형식은 주로 DB에서 값을 읽어와 저장하는 데이터 구조에 자주 사용한다. DB에는 null을 허용하는 bool, 날짜 등이 있으므로 C#에서 Nullable 값 형식으로 대체가능하다. Nullable 사용방법 Nullable 구조체는 2개의 속성을 가지고 있다. HasValue : 값을 가지고 있는지 체크하는 속성 Value : 실제 값을 나타내는 속성 s..

C#/개념공부 2024.01.07

C# var 키워드란?

var 키워드란? C#에서 변수를 선언할 때 int, float, string과 같이 자료형을 명시적으로 나타내고 제한된 값을 가지게 된다. 암시적 형식인 var 키워드를 사용하게 되면 초기화문의 식을 보고 변수의 형식을 컴파일러가 유추하게 된다. var 변수에 10으로 초기화 시 컴파일러는 int형으로 컴파일하게 된다. C# var 사용방법 static void Main(string[] args) { var num = 10; Console.WriteLine($"Type : {num.GetType()}, Data : {num}"); string str = "var키워드"; Console.WriteLine($"Type : {str.GetType()}, Data : {str}"); } C# var 키워드는 ..

C#/개념공부 2024.01.06

C# enum 열거형

enum 열거형이란? C#에서 제공하는 enum은 열거형 상수(constant)를 표현할 때 사용한다. 상수 숫자를 의미 있는 단어로 표현할 수 있어 가독성이 좋아진다. 예를 들어 계절의 경우 봄, 여름, 가을, 겨울 4가지로 고정된다. enum으로 표현하면 다음과 같다. class Program { public enum Season { Spring, Summer, Fall, Winter } static void Main(string[] args) { Season season = Season.Spring; Console.WriteLine(season);// "Spring" 출력(내부적으로 season.ToString() 호출) Console.WriteLine((int)season);// 0 출력 } } ..

C#/개념공부 2024.01.03

C# 상수(const)

상수란? 이전 포스팅에서 배운 변수는 런타임 시간에 값을 변경할 수 있었다. 상수는 해당 값이 컴파일 시간에 설정되어 런타임 시간에 값을 변경할 수 없다. C#에서는 메서드, 속성, 이벤트에는 상수(const)를 지원하지 않는다. PI와 같이 이미 정의된 값이 절대로 변하지 않는 경우에 사용하면 좋다. 상수 정의 방법 const double PI = 3.14159; C#에서 상수를 정의하는 방법은 const 키워드를 변수 선언에 접두어로 붙이면 된다. 상수는 선언과 동시에 초기화를 해야 한다. 선언과 동시에 초기화를 하지 않으면 CS0145 에러가 발생한다. 상수는 값을 변경할 수 없기 때문에 변경 시 CS0131 에러가 발생한다. 상수 사용 방법 로컬 상수 static void Main(string[]..

C#/개념공부 2024.01.02

C# 변수

변수(variable)란? 변수는 데이터를 저장할 수 있는 메모리 공간이다. 이전 포스팅에서 배운 자료형에 따라 저장할 수 있는 데이터가 달라진다. 선언 및 초기화 방법 // 정수형 변수 num 선언 int num; // 변수 num에 10 할당 num = 10; // 문자열 변수 name 선언 및 초기화 string name = "Leo"; 변수는 자료형 + 변수명으로 이루어져 있다. 선언만 할 수 있고 선언을 하면서 초기화도 가능하다. 선언 후 언제든지 값을 변경할 수 있다. 다만, 자료형에 맞는 값이 아니라면 에러가 발생한다. 변수명 규칙 반드시 문자나 밑줄로 시작해야 한다. 해당 범위 내에서 고유해야 한다. 대소문자를 구별한다. C#에서 예약되어 있는 키워드를 사용해서는 안 된다. (@을 접두어로..

C#/개념공부 2023.12.21

C# 자료형 크기 및 범위

자료형이란? 자료형(Data Type)은 프로그래밍 언어에서 여러 종류의 데이터를 식별하는 분류이다. C#에서는 정수형, 실수형, 논리형(bool), 문자(char), 문자열(string) 등 다양하게 제공한다. 자료형에 따라 크기와 가질 수 있는 값의 범위가 달라 무엇을 사용하냐에 따라 메모리를 절약할 수 있다. C# 자료형 크기 및 범위 ▶ 정수형 C# 형식/키워드 .NET 형식 크기 범위 sbyte System.SByte 부호있는 1바이트 정수 -128 ~ 127 byte System.Byte 부호없는 1바이트 정수 0 ~ 255 short System.Int16 부호있는 2바이트 정수 -32,768 ~ 32,767 ushort System.UInt16 부호없는 2바이트 정수 0 ~ 65,535 i..

C#/개념공부 2023.12.19

[PostgreSQL] 윈도우서버 외부 접속 허용하기

PostgreSQL 윈도우서버 외부 접속 허용하기 PostgreSQL 설치 시 경로를 따로 수정하지 않았다면 conf 파일 경로는 다음과 같다. C:\Program Files\PostgreSQL\15\data 여기서 15는 버전에 따라 달라진다. 1. pg_hba.conf 파일 수정 하단에 #IPv4 local connections: 부분에 외부 접속 허용하려는 IP를 추가하자. 모든 대역의 IP를 추가하려면 0.0.0.0/0으로 하면 된다. 만약, 192.168.100.*만 외부 접속 허용하려면 192.168.100.0/24로 하면 된다. 여기서 24는 Subnet Mask를 뜻하는 값이다. 2. postgresql.conf 파일 수정 Connection Setting 부분에 listen_address..

DB/PostgreSQL 2023.12.13

[Oracle] 오라클 PL/SQL(IF, CASE, LOOP, WHILE, FOR)

PL/SQL(Procedural Language/SQL)이란? 오라클에서 제공하는 절차적인 기능을 가진 프로그래밍 언어이다. 주로 SQL 명령문만으로 처리하기 복잡한 자료의 저장이나 프로시저, 트리거 등을 작성하는 데 쓰인다. PL/SQL 구조 DECLARE -- 선언부(변수, 상수, CURSOR, 사용자정의 Exeception) BEGIN -- 실행부(SQL, 조건문, 반복문) EXCEPTION -- 예외 처리 END; 만약 선언부가 없다면 DECLARE 생략 가능하다. 예외처리하지 않는다면 EXCEPTION 생략 가능하다. 조건문(IF문) 문법 -- 기본 IF문 IF 조건 THEN 실행문; END IF; -- ELSE포함 IF문 IF 조건 THEN 실행문; ELSE 실행문; END IF; -- 다중 ..

[PostgreSQL] 서버 버전 확인

PostgreSQL 서버 버전 확인하는 방법 윈도우환경에서 PostgreSQL 서버 버전 확인하는 방법을 알아보자. SQL shell(psql)을 실행하자. psql에서 로그인을 한다. [ ]에 들어있는 값은 아무런 입력을 하지 않고 엔터 누르면 적용되는 디폴트 값이다. PostgreSQL 서버 버전 확인하는 2가지 방법 select version(); show server_version; 필자의 컴퓨터에는 15.3 버전이 설치되어 있는것을 확인할 수 있다.

DB/PostgreSQL 2023.12.11

[Oracle] 오라클 뷰(VIEW) 사용법

뷰(VIEW) 란? 오라클에서 제공하는 뷰(VIEW)는 하나 이상의 테이블이나 다른 뷰의 데이터로 만든 가상 테이블이다. 자주 조회하는 데이터를 뷰에 구성함으로써 복잡한 쿼리문을 매번 작성할 필요가 없다. 또한, 조회하는 데이터의 원천 테이블을 알 수 없기 때문에 보안성도 좋다. CREATE [OR REPLACE] [FORCE | NOFORCE] VIEW 뷰이름 [(칼럼명1, 칼럼명2, ...)] AS SELECT 문 [WITH READ ONLY] [WITH CHECK OPTION [CONSTRAINT 제약조건명]] OR REPLACE : 기존에 생성한 뷰가 없으면 생성하고 있다면 수정한다. FORCE : 생성 시 쿼리문의 테이블, 칼럼, 함수 등이 존재하지 않아도 생성한다.(INVALID 상태이므로 동..