2026/06 13

[인터넷활용] 01. HTML 기초와 주요 태그

웹 페이지는 결국 브라우저가 읽어 화면으로 그려내는 문서다. 그 문서의 뼈대를 기술하는 언어가 HTML이다. 이 글에서는 HTML 문서의 기본 구조, 자주 쓰는 태그, 그리고 사용자 입력을 받는 폼(Form)까지 정리한다.1. HTML 문서의 기본 구조HTML은 태그로 내용을 감싸 의미와 구조를 부여하는 마크업 언어다. 모든 문서는 다음 골격에서 출발한다. 크게 두 영역으로 나뉜다.: 문서의 메타 정보. 문자셋, 제목, 스타일·스크립트 연결 등 화면에는 보이지 않지만 문서를 설명하는 정보가 들어간다.: 실제로 브라우저 화면에 표시되는 내용. DOCTYPE와 charset은 왜 쓸까은 "이 문서를 HTML5 표준 모드로 해석하라"고 브라우저에 알리는 선언이다. 은 문자 인코딩을 지정해 한글이 깨지지..

language/html 2026.06.30

[C++] 01. C++ 기초와 입출력

C++은 C언어 위에 객체 지향이라는 새로운 패러다임을 얹은 언어다. C로 짠 코드를 거의 그대로 쓸 수 있을 만큼 C와의 호환을 목표로 설계됐지만, 거기에 클래스와 객체 개념을 더해 더 큰 프로그램을 체계적으로 다룰 수 있게 했다.이 글에서는 C++의 첫 프로그램과 입출력 방식(cin/cout)을 보며, C와 무엇이 같고 무엇이 달라졌는지를 짚는다.1. C++ 개요와 첫 프로그램#include // 입출력 헤더using namespace std; // std 네임스페이스 사용int main() { cout C의 #include , printf 자리에 #include , cout이 들어온 게 한눈에 보인다. main 함수 구조는 C와 같다. 네임스페이스(namespace)이름 충..

language/c++ 2026.06.29

[Ubuntu] 02. 홈 서버 구축 - Docker Compose 기반 개발 환경 구성과 DB 보안

이번에는 Ubuntu 서버의 기본 보안 작업을 마무리했다.Cloudflare에서 도메인을 관리하고, SSH 공개키 인증을 적용하고, Root 로그인과 비밀번호 로그인을 막고, UFW와 Fail2Ban, 자동 보안 업데이트까지 설정하면서 운영체제 자체를 먼저 단단하게 만드는 데 집중했다.오늘은 그 위에 실제 개발 환경을 올리는 작업을 진행했다.목표는 단순히 Docker를 설치하는 것이 아니라, 앞으로 게임 서버, 자동화 프로젝트, 데이터베이스 연구, 개인 실험 등을 모두 이 서버 위에서 운영할 수 있는 기반을 만드는 것이다.오늘 목표오늘 진행한 목표는 다음과 같았다.Docker Compose 구조 정리PostgreSQL 컨테이너 구축SQL Server 컨테이너 구축Portainer 구축DB 포트를 외부에 ..

study/server 2026.06.28

[C언어] 01. 첫 프로젝트

모든 프로그래밍 언어 학습은 화면에 "Hello World"를 띄우는 것에서 시작한다. 단순해 보이는 이 한 줄짜리 프로그램에도 사실 C언어의 기본 골격이 모두 담겨 있다.이 글에서는 첫 프로그램을 작성해보고, 그 안에 들어 있는 구성요소(헤더, main 함수, 전처리기, 주석)가 각각 무슨 역할을 하는지 하나씩 짚어본다.1. 첫 프로그램: Hello World#include int main(void){ printf("Hello World! \n"); printf("Kim ChulSoo \n"); return 0;}실행하면 다음과 같이 출력된다.Hello World!Kim ChulSooprintf 끝의 \n은 줄바꿈 문자다. 화면에서 커서를 다음 줄로 옮겨, 두 문장이 각각 다른 줄에 출..

language/c 2026.06.28

[컴퓨터네트워크] 01. 네트워크의 이해와 설정

지금 이 글을 보는 것도, 메시지를 보내는 것도 모두 네트워크 위에서 일어난다. 컴퓨터네트워크는 "여러 컴퓨터가 어떻게 데이터를 주고받는가"를 다루는 분야다. 첫 글에서는 네트워크의 기본 개념, 데이터 전송의 단위인 패킷, 그리고 직접 네트워크를 들여다보고 설정하는 도구들을 정리한다.1. 네트워크란?네트워크(Network)통신 장비들이 그물망처럼 연결되어 데이터를 교환하고 협력할 수 있게 해주는 통신망이다. 가장 단순하게는 통신 설비로 두 대 이상의 컴퓨터를 연결한 것이다.네트워크로 우리는 데이터와 주변장치(프린터 등)를 공유하고, 멀리 떨어진 사람과 통신하며, 함께 작업한다. 혼자 동작하던 컴퓨터가 서로 연결되며 가능해진 모든 것이 네트워크의 산물이다.2. 데이터 전송의 단위: 패킷패킷(Packet)네..

[Ubuntu] 01. 홈 서버 구축 - 원격 접속 환경과 기본 보안 설정

오늘은 집에서 남는 노트북으로 운영할 ubuntu 서버의 기본 환경을 정리했다. 목표는 단순히 SSH 접속이 되는 서버를 만드는 것이 아니라, 외부에서도 비교적 안전하게 관리할 수 있는 개발 서버의 기반을 만드는 것이다. 앞으로 Docker, PostgreSQL, Nginx, GitHub Actions 등을 올릴 예정이라, 그 전에 운영체제 수준에서 필요한 기본 보안과 원격 관리 환경부터 먼저 구축하기로 했다.목표오늘의 목표는 다음과 같았다.Cloudflare를 이용한 도메인 구성Windows와 Ubuntu를 각각 서브도메인으로 분리SSH 공개키 인증 적용비밀번호 로그인 차단Root 로그인 차단UFW 방화벽 구성Fail2Ban 설치자동 보안 업데이트 설정웹 서비스를 올리기 전에 OS 자체를 먼저 단단하게..

study/server 2026.06.26

[데이터베이스실습] 01. 데이터베이스 기초

이 시리즈는 오라클(Oracle)을 직접 다루며 SQL을 손에 익히는 실습 과정이다. 본격적으로 테이블을 만들고 쿼리를 던지기 전에, 첫 글에서는 무엇을 다루는가에 대한 토대를 잡는다.관계형 데이터베이스가 무엇이고, 데이터를 담는 그릇인 릴레이션이 어떤 규칙 위에 서 있으며, 데이터가 망가지지 않게 지키는 제약조건이 무엇인지를 짚어야한다. 이 토대가 흔들리면 이후의 SELECT·조인·서브쿼리가 전부 모래 위 집이 된다.여러명이 동시 사용할 수 있는, 검색이라는 목적을 가진.1. 데이터베이스와 DBMS데이터베이스와 DBMS데이터베이스: 조직체의 응용 시스템들이 공유해서 사용하는 운영 데이터(operational data)가 구조적으로 통합된 모임.DBMS: 데이터베이스를 정의하고, 질의어를 지원하며, 리포..

data/oracle 2026.06.26

[데이터베이스] 02. DBMS 데이터베이스 시스템

DBMS와 3단계 스키마데이터베이스는 여러 사용자를 위해 데이터를 통합·공유하고, 위치가 아닌 내용으로 데이터를 찾게 해준다. 그런데 누가 그걸 실현해줄까?사용자가 직접 디스크를 뒤져 데이터를 통합하고 동시 접근을 조율할 수는 없다. 그 일을 전담하는 소프트웨어가 바로 DBMS다.이 글에서는 DBMS가 무엇이고, 그것이 데이터를 세 층(3단계 스키마)으로 나눠 다루는 이유, 그리고 그 결과로 얻는 데이터 독립성이라는 핵심 가치를 살펴본다.1. DBMS와 발전 세대DBMS(DataBase Management System)란?데이터베이스를 관리하고, 사용자/응용 프로그램과 데이터베이스 사이를 중재하는 소프트웨어. 오라클·MySQL·PostgreSQL 등이 여기 해당한다. DBMS의 핵심 역할은 "사용자가 데..

data/database 2026.06.25

[컴퓨터구조] 01. 컴퓨터 시스템 개론

컴퓨터구조는 "컴퓨터가 안에서 어떻게 동작하는가"를 다룬다. 우리가 작성한 코드가 어떻게 0과 1이 되어 CPU에서 실행되는지, 그 밑바닥을 들여다보는 과목이다. 첫 글에서는 컴퓨터 시스템의 큰 구성과, 코드가 기계어로 번역되는 과정을 정리한다.1. 컴퓨터 시스템의 구성컴퓨터 시스템은 크게 하드웨어와 소프트웨어로 나뉘고, 하드웨어는 다시 네 부분으로 구성된다.요소역할예입력장치데이터 입력키보드, 마우스, 스캐너출력장치결과 전달모니터, 프린터중앙처리장치(CPU)두뇌. 제어장치+연산장치+레지스터-기억장치데이터 저장주기억(RAM/ROM), 보조기억(HDD/SSD) 이 중 CPU가 핵심이다. 명령을 해석·제어하는 제어장치(CU), 실제 계산을 하는 연산장치(ALU), 값을 임시로 담는 레지스터로 이뤄진다. 소프트..

github actions auto deploy workflow

코드를 수정할 때마다 서버에 접속해서 pull하는 과정을 자동화하기 위해,github에 코드를 push하면 원격 서버에 자동으로 반영되도록 해주는 github actions workflow 구축 방법 기록 github actions는 CI/CD(지속적 통합/배포) 도구. architecture- push- action trigger (github 서버 감지 후 .yml workflow 실행)- ssh access- pull & restart 사전 준비- ssh key ● ssh key (public/private) 생성 ● public key 서버의 ~/.ssh/authorized_keys에 추가해 접근 허용 - github repo에 secrets 등록 settings > secrets and ..

study/git&github 2026.06.25