[DB/데이터베이스] 데이터베이스의 기본 개념
·
개발/DATABASE
나는 현재 데이터 베이스에 대해 공부하고 있다.데이터 베이스의 기본 개념을 더욱 확실히 알아갈 필요가 있다고 생각했다.그래서 오늘은 데이터 베이스의 개념에 대해 포스팅해보려고 한다.  💻데이터 베이스란? 데이터베이스(Database, DB)는 데이터를 체계적으로 저장하고 관리하는 시스템이다.단순히 데이터를 저장하는 것이 아니라, 효율적인 검색, 수정, 삭제가 가능하도록 설계된 것이 특징이다.소프트웨어 및 정보 시스템에서는 데이터 관리가 필수적이며,데이터베이스를 활용하면 데이터를 일관성 있게 유지하고, 안전하게 저장하며, 효율적으로 활용할 수 있다. 💻파일 시스템과 데이터베이스의 비교 과거에는 데이터를 관리하기 위해 파일 시스템(File System)을 많이 사용했다. 하지만 데이터가 많아지고 여러 사..
[JAVA/자바] 개인 미니 프로젝트 - 호텔 예약 시스템
·
개발/JAVA
프로젝트 진행 계기학원에서 수업 중 자바를 거의 다 배우고 객실 예약 프로그램이라는 마지막 과제를 끝냈다.해당 프로그램은 단순히 101호에서 303호까지의 방을 예약하고 취소하고현재 예약 현황을 조회하는 정도의 간단한 프로그램이었다. 하지만 해당 과제를 진행하고 나서 나는 좀 더 욕심이 생겼다.객실 예약이라는건 고객의 정보를 바탕으로 예약이 되어야하지 않을까?연장이나 취소등을 자유롭게 해야할 수 있지 않을까? 등등.. 많은 기능을 담고 싶어졌다.어쩌면 정말 사용할만한 제대로된 프로그램이란걸 만들어보고 싶단 욕심이 생겼던 것 같다. 그래서 개인적으로 과제로 진행했던 객실 예약프로그램을 더욱 업그레이드 하여호텔 예약 프로그램이라는 나름 거창한 이름으로 해당 미니 프로젝트를 진행하였다. 아직 데이터베이스를 배..
[JAVA/자바] 배열과 리스트
·
개발/JAVA
자바에서는 배열과 리스트라는 자료구조가 있다.두 자료구조 모두 겉으로 봤을 때는 비슷하지만 파헤쳐보면 꽤나 다른 쓰임새를 보인다.나는 해당 부분에 더 정확한 이해와 알맞은 사용을 위해 공부를 한 후 포스팅해보려고 한다. 배열 (Array)배열의 정의배열은 고정된 크기의 동일한 타입의 데이터를 연속된 메모리 공간에 저장하는 자료구조이다.배열은 인덱스(index)를 사용하여 데이터에 접근하며, 첫 번째 요소의 인덱스는 0이다.배열에서의 인덱스인덱스는 배열의 각 요소를 식별하고 접근하기 위한 정수 값이다.인덱스를 사용하면 요소에 직접 접근할 수 있어 매우 빠르며, 시간 복잡도는 O(1)이다. 리스트 (List)리스트의 정의리스트는 자바에서 제공하는 컬렉션 프레임워크(Collection Framework)의 한..
[Git] - Git Branch와 명령어
·
개발/GIT
Git bash 창을 열면 명령어를 입력하는 곳 맨 오른쪽에 master라는 글자를 확인 할 수 있다.해당 문구는 'master'라는 브랜치를 뜻하는 것이다. 오늘은 Git에서 가장 중요한 개념 중 하나인 Git branch에 대해 알아보려고 한다.  Git Branch란?  Git 브랜치는 프로젝트에서 "새로운 가지"를 친 작업 공간이라고 할 수 있다.예를 들어, master 브랜치에서 새로운 기능을 개발하기 위해 별도의 브랜치를 만들어 독립적으로 작업하고,작업이 완료되면 다시 master 브랜치에 병합하는 방식이다.이렇게 하면 master 브랜치의 안정성을 유지하면서도 실험적이거나 새로운 기능을 손쉽게 추가할 수 있다.Git 브랜치를 사용하면 다음과 같은 이점이 있다: 안정적인 작업 환경 제공: ma..
[Git] - Git 시작하기 (feat.기본 명령어)
·
개발/GIT
저번 포스팅에는 Git의 개념과 사용하기위한 초기 설정을 알아보았다.이번 포스팅에서는 저번 포스팅에 이어 Git을 시작할 수 있도록 명령어 소개와 기초적인 사용방법을 남기려고 한다. 해당 포스팅을 보기 전 아래 링크의 포스팅을 먼저 보고 시작하길 바란다.https://rege97.tistory.com/7 [Git] - Git 개념 및 초기 세팅Git을 처음 접했을 때 나는 이게 정확히 어떤 개념인지 잘 이해가 되질 않았다.그냥 개발자들 Git 많이 쓴다던데~ 그거 필수라던데~ 라는 말만 들어보고 어떻게 써야 할지는 감조차 오지 않았다.그rege97.tistory.com   Git add(스테이징 영역으로) 이전 포스팅에서 git init 명령어를 이용하여 버전관리가 필요한 폴더를 git 원격저장소로 초기..
[Git] - Git 개념 및 초기 세팅
·
개발/GIT
Git을 처음 접했을 때 나는 이게 정확히 어떤 개념인지 잘 이해가 되질 않았다.그냥 개발자들 Git 많이 쓴다던데~ 그거 필수라던데~ 라는 말만 들어보고 어떻게 써야 할지는 감조차 오지 않았다.그래서 제대로된 공부를 시작하기 전에 Git을 먼저 이해해 보자고 생각하고 얕지만 공부를 해봤고 다양한 시행착오도 겪어봤다. 그리고 현재 나는 Git을 사용하고 있다.단순 버전 관리용도로만 사용하고 있지만 좀 더 제대로 된 개념 이해와 사용법에 더욱 익숙해지기 위해Git의 사용법을 글로 남겨보려고 한다.  Git이란? Git은 리누스 토르발스라는 개발자가 개발한 분산형 버전 관리 시스템(VCS)이다.여기서 분산형 버전 관리 시스템이라는 말이 어떤 뜻이냐면 내 코드의 버전을 관리할 수 있다는 얘기이다.  일상적으로..
[JAVA/자바] StringTokenizer 문자열 분리
·
개발/JAVA
백준 온라인 저지 문제를 처음 풀었을 당시 순조롭게 풀고 있던 나는 멘붕에 빠졌었다.입력을 받을 때 대부분 프롬프트 출력 없이 공백을 구분하여 받게 되는데 Scanner를 사용하면 손쉽게 해결할 수 있었다.하지만... 해당 문제의 경우 빠른 처리 시간을 위해 Scanner 대신 BufferedReader를 사용하여 문제를 풀라는 것이었다.BufferedReader를 사용하는 방법은 알고 있었지만 해당 클래스는 문자열을 분리해서 입력을 받는 기능이 없었고해당 문제를 풀기 위해 StringTokenizer라는 클래스에 대해 추가적으로 알게 되었다. StringTokenizer란?StringTokenizer란 말 그대로 문자열(String)을 토큰화(Tokenizer)한다는 뜻이다.즉 문자열을 분리된 조각인 ..
[JAVA/자바] Scanner와 BufferedReader의 차이
·
개발/JAVA
Scanner와 BufferedReader 한참 학원에서는 자바 진도를 나가고 있고 입력을 받기 위해 강사님께서 BufferedReader를 소개하며 클래스를 사용하라고 소개시켜주셨다. 하지만 나는 코드를 길게 작성해야 하고 문자열이 아닌 다른 자료형으로 사용 시 파싱 작업도 해야하는 번거로움 때문에 이전에 알고 있었던 Scanner 클래스를 주로 사용하곤 했다. 그런데 문득 두 클래스의 차이점이 과연 무엇인지 의문이 들기 시작했다.  분명 장단점이 있을텐데 어떤 클래스를 어떤 상황에서 사용하는게 좋을까?더 확실한 이해를 위해 두 클래스의 차이점을 기록으로 남겨 보려고 한다. ScannerScanner 클래스는 입력받은 데이터를 다양한 타입으로 변환하여 반환하는 클래스 이다. 간단하게 기본형과 Strin..