
ERD(Entity Relationship Diagram)란? 구조화된 데이터를 저장하기 위해서 데이터베이스를 사용합니다. 데이터베이스는 데이터의 구조 및 그에 수반한 제약 조건들은 다양한 기법에 의해 설계될 수 있습니다. 수많은 기법 중 하나인 ERM(Entity-Relationship Modeling)를 사용하여 프로세스를 개체와 관계 중점적으로 한눈에 알아보기 쉽게 그려놓은 다이어그램을 말합니다. ERD의 구성 요소 Entity (개체) Entity는 정의 가능한 사물 또는 개념을 의미합니다. 데이터베이스의 Table이 하나의 Entity로 표현할 수 있습니다. 모든 Entity는 1개 이상의 식별자(unique identifier, UID)를 지녀야 하고, 식별자가 없다면 Entity라고 할 수 ..

Visual Studio의 옵션에서 접한 라이선스 프레임워크나 라이브러리를 사용하다 보면 라이선스를 흔하게 볼 수 있습니다. Visual Studio에서도 GitHub, Azure DevOps에 있는 로컬 Git 리포지토리 기능을 사용할 때면 라이선스 템플릿 항목을 볼 수 있습니다. GNU, 아파치, 모질라, MIT 등 익숙하고 유명한 단어들이 보이고, 살다가 주워들은 이야기들로 조합해서 라이선스 템플릿이 살짝 무엇을 말하는지 느낌을 알 것 같았습니다. UNIX 시스템 수업을 듣다가 GNU 프로젝트, 오픈 소스(OSS)와 라이선스의 관계와 배경을 알게 되면서 다시 새롭게 보였습니다. GNU 프로젝트란? 등장 배경 유닉스 시스템 등장은 운영체제의 이식성을 높이려고 고급 언어인 C언어를 채택하여 개발되었습니..

클라우드 우리가 흔히 생각하는 클라우드 구름이 맞습니다. 왜 클라우드를 사용했는지는 분명하지 않지만, 초기에 인터넷을 구성하는 서버와 네트워킹 인프라를 숨겨졌고 복잡한 의미로 클라우드 모양으로 종종 표시했다고 합니다. 클라우드 어원이 명확하지 않아도, 이용자들의 입장에서 서비스 이용하는데 필요한 네트워크 요소들은 마치 구름에 가려져 눈에 보이지 않는 것을 잘 표현한 것 같습니다. 구름 속 IT 리소스를 물리적 제약에서 벗어나 인터넷 기반으로 옮겨 분산 컴퓨팅을 위한 플랫폼을 가리키는 데 널리 사용되고 있습니다. 컴퓨팅 컴퓨팅이란 넓은 의미에서는 컴퓨터 기술 자원을 개발 및 사용하는 모든 활동을 가리킵니다. 서버, 저장장치, 데이터베이스, 네트워크 및 이메일, 보안, 백업/복구 등 컴퓨터의 하드웨어뿐만 아..

SSH(Secure Shell) 시큐어 셸입니다. 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜을 가리킵니다. 암호화 기법을 사용하기 때문에 통신이 노출되더라도 암호화된 문자로 보이기 때문에 강력한 인증 및 안전하지 못한 네트워크에서 안전하게 통신을 할 수 있는 기능을 제공합니다. 기본적으로는 22번 포트를 사용합니다. FTP는 기본적으로 21번 포트를 사용하고 일반적으로 보안상 FTP보다는 SFTP를 사용할 것을 권장하고 있습니다. 동작 방식 SSH 키는 공개키와 비공개키로 이루어져있니다. 키를 생성하면 공개키와 비공개키가 만들어지는데 비공개키는 로컬 머신에 위치하고, 공개키는 원격 머신에 위치..

개발 배경 C프로그래밍 시험을 위해서 공부를 하다가 C언어 파일 입출력, 메모리 동적 할당 파트에서 엄청 재미를 느꼈습니다. 웹은 보안 상 파일을 다루기 어려운데, C에서는 파일 입출력에 관해서 다양하게 개발할 아이디어가 많이 떠올랐습니다. 제일 먼저 실무에 적용할 수 있는 건 이메일 전송용 간단한 HTML을 백오피스 웹 사이트를 이용하여 제작할 수 있게 만들었었는데, 시안 제안용 등 HTML 파일이 필요할 경우가 있습니다. 웹 개발에 대한 이해도가 높은 분이면 제작한 사이트에서 쉽게 소스 코드를 추출하여 만들 수 있는데 전혀 모르는 담당자분에게는 HTML 파일 제작 매뉴얼을 작성해드려야 하나 고민이 생겼습니다. 매번 파일을 만들기도, 코드를 알려드리기도 애매할 때 C의 파일입출력을 이용하여 실행 파일(..

시작 C프로그래밍을 수강하는 과목이 있어서 공부할 겸 저의 티스토리 카테고리 알파벳 순서대로 정렬하는 실행 파일을 만들고 싶어 졌습니다. 책이랑 강의만 듣는 게 조금 지루해서 인터넷 검색하면서 만드는 것부터 하면 코드 작성하다 보면 재미있을 것 같았습니다. 계획 처음 "ASP.NET,Computer Science,Curiosity,JavaScript,Monitoring,Optimism,SQL Server,Windows" - 기존 카테고리 선언 사용자 카테고리 입력해서 카테고리 받아서 1번에 추가하기 - 1번 + ',' + 사용자 입력 카테고리 구분자 ','로 문자열 자르기 - 잘라서 배열로 저장하기 저장한 배열 오름차순으로 정렬하기 처음 계획은 이렇습니다. 그런데 생각보다 C언어의 내장 함수가 별로 없어..