2024/12 18

디렉터리 구조와 고아 포인터(Dangling Pointer, Orphan Pointer)

디렉터리는 파일 시스탬 내부에 있는 것으로 효율적인 파일을 사용을 하기 위해 디스크에 존재하는 파일에 대한 여러 정보를 가지고 있는 특수한 형태의 파일이다 디렉터리 구조 종류  1단계 디렉터리 : 가장 간단한 파일이다 모든 파일이 하나의 디렉터리 내에 위치하여 관리되는 구조이며 중복된 파일의 이름은 허용되지 않는다. 2단계 디렉터리 : 중앙에 마스터 파일 디렉터리가 존재한다 그 아래 사용자별로 서로 다른 파일 디렉터리가 있는 2계층 구조이다 마스터 파일 디렉터리는 사용자 파일 디렉터리를 관리하고, 사용자 파일 디렉터리는 사용자별 파일을 관리한다트리 디렉터리 : 하나의 루트 디렉터리와 여러 개의 종속 디렉터리로 구성된 구조이다. DOS, windows, UNIX등의 운영 체제에서 사용이 된다. 비순환 그래..

카테고리 없음 2024.12.20

파일시스템

파일 시스템(File System)은 컴퓨터 운영체제에서 데이터를 저장하고 관리하는 구조와 방식이다 역할 : 파일 시스템의 기능 및 특징 - 사용자와 보조기억장치 사이에서 인터페이스를 제공한다.- 사용자가 파일을 생성, 수정, 제거할 수 있도록 한다.- 적절한 제어 방식을 통해 타인의 파일을 공동으로 사용할 수 있도록 한다- 파일의 정보가 손실되지 않도록 데이터 무결성*을 유지해야 한다. - 파일을 안전하게 사용할 수 있도록 하고, 파일이 보호되어야 한다 *무결성이란? - 데이터를 전송하는 도중에 데이터가 수정되지 않도록 하는 것을 의미한다. 파일의 구조는 파일을 구성하는 레코드들이 보조기억장치에 편성되는 방식을 의미한다편성 방법에 따라 순차 파일, 색인 순차 파일, 랜덤 파일, 분할 파일 등이 있다. ..

카테고리 없음 2024.12.19

자료구조 선형구조

자료구조 (Data Structure) : 데이터를 효율적으로 저장하고, 관리하며사용할 수 있도록 조직화한 방법이나 체계를 의미한다. 자료구조는 프로그래밍에서 데이터를 처리하고 알고리즘을 설계하는데 핵심적인 역할을 한다.  *효율적인 프로그램을 작성할 때 가장 우선적인 고려사항은 저장 공간의 효율성과 실행시간의 신속성이다. 자료구조는 프로그램에서 사용하기 위한 자료를 기억장치의 공간 내에 저장하는 방법과 저장된 그룹 내에 존재하는 자료 간의 관계, 처리 방법 들을 연구 분석하는 것을 말한다.  선형 구조(Linear Structure) 종류   배열 (Array) : *배열은 동일한 자료형의 데이터들이 같은 크기로 나열되어 순서를 갖고 있는 집합이다배열은 정적인 자료 구조로 기억장소의 추가가 어렵고, 데..

카테고리 없음 2024.12.18

싱글톤(Singleton) 패턴

싱글톤(Singleton) 패턴 소프트웨어 디자인 패턴 중 하나로, 특정 클래스의 인스턴스를 단 하나만 생성하고, 그 인스턴스에 대한 전역적인 접근점을 제공하는 방식이다.  싱글톤 패턴 특징 특정 클래스의 인스턴스가 실행 중 하나만 생성되도록 보장전역적으로 접근할 수 있도록 인스턴스의 참조를 제공한다클래스 외부에서 객체를 직접 생성할 수 없도록 제어한다싱글톤 패턴을 사용하는 이유 - 객체를 여러 번 생성하지 않고, 필요한 경우 동일한 인스턴스를 재사용하므로 메모리와 자원을 절약한다- 여러 클래스나 모듈에서 데이터를 공유하거나 조작할 때 사용한다- 전역적으로 공유되는 인스턴스를 통해 애플리케이션의 일관성을 유지 public class Singleton { private static Singleton ins..

카테고리 없음 2024.12.17

class와 instance

클래스(Class)를 비유로 설명을 하자면 자동차라는클래스는 자동차가 가져야할 속성과 기능을 정의한 추상적인 개념이다 class Car {String color; // 속성int speed; void drive() { // 기능System.out.println("The car is driving.");}}  인스턴스(Instance)는 클래스를 기반으로 만들어진 실제 객체이다. "빨간색 자동차"와 "파란색 자동차" 같은 구체적인 것들이 인스턴스이다 public static void main(String[] args) {Car redCar = new Car(); // redCar는 Car 클래스의 인스턴스redCar.color = "Red"; // 인스턴스 속성 설정 redCar.drive(); // 인스..

카테고리 없음 2024.12.16

static

static은 프로그래밍에서 정적이라는 의미를 가지고 있다. 주로 java와 같은 객체지향 언어에서 사용이 된다.static 키워드는 변수, 메서드 블록 또는 내부 클래스에 적용될 수 있다  static 변수 (정적 변수)클래스에 소속된 변수이며, 클래스의 모든 인스턴스에서 공유된다.객체를 생성하지 않고도 클래스 이름을 통해서 접근이 가능하다메모리 공간은 프로그램 실행 시 한 번만 할당이 된다  class MyClass {     static int count = 0;     MyClass() {         count++;     } } public class Main {     public static void main(String[] args) {         new MyClass();     ..

카테고리 없음 2024.12.15

변수

변수(Variable) : 컴퓨터가 명령을 처리하는 도중 발생하는 값을 저장하기 위한 공간으로, 변할 수 있는 값을 의미한다. 변수는 저장하는 값에 따라서 정수형, 실수형, 문자형 등으로 구분된다.  변수명 작성 규칙 : 영문자, 숫자, _(under bar)로 시작해야 하며, 숫자는 올 수 없다.첫 글자는 영문자나 _로 시작해야하며, 숫자는 올 수 없다글자 수에 제한이 없다공백은 사용할 수 없다대/소문자를 구분한다 예약어를 변수명으로 사용할 수는 없다. 변수 선언 시 문장 끝에 반드시 세미콜(;)을 붙여야 한다. 예약어란 어떠한 정해진 기능을 수행하도록 정해진 단어이다변수 이름이나 혹은 다른 목적으로는 사용이 불가하다 상수란 ? :변수는 프로그램을 실행하는 도중 발생한 값을 저장하기 위한 공간이다 변수..

카테고리 없음 2024.12.14

블록체인

블록체인 Block : 데이터를 담는 단위로, 각각의 블록에는 거래 정보, 타임스탬프, 이전 블록의 해시 등이 포함된다.  Chain : 블록들이 순차적으로 연결되어 있으며, 이를 통해 데이터가 조작되지 않도록 보장한다.  블록체인의 작동원리 :  거래발생 : 사용자가 데이터를 블록체인 네트워크에 등록한다. 검증 : 네트워크의 참여자(노드)가 거래의 유효성을 확인한다블록 생성 : 검증된 거래가 블록에 추가되고, 새 블록이 이전 블록에 연결된다. 블록 전파 : 새로 생성된 블록이 네트워크 전체에 전파되어 동기화된다. 블록체인의 특징 : 탈중앙화 : 중앙 서버나 관리자 없이, 네트워크의 모든 참여자가 데이터를 공유한다. 투명성 : 모든 거래가 기록이 공개되어 누구나 열람할 수 있다. 변조 방지 : 블록에 한..

카테고리 없음 2024.12.13

SW관련 용어

인공지능 (Artification Intelligence):인간의 두뇌와 같이 컴퓨터 스스로 추론, 학습, 판단 등 인간지능적인 작업을 수행하는 시스템이다 뉴럴링크(Neuralink) : 사람의 뇌와 컴퓨터를 결합하는 기술을 개발하기 위해 설립한 회사이다작은 전극을 뇌에 이식함으로써 생각을 업로드하고 다운로드하는 것을 목표로 삼고 있는 회사이다 딥 러닝(Deep Learning) :인간의 두뇌를 모델로 만들어진 인공 신경망을 기반으로 하는 기계 학습 기술이다마치 사람처럼 스스로 학습할 수 있고 많은 데이터를 정형화하지 않고도 스스로 필요한데이터를 수집하고 분석하여 고속으로 처리할 수 있다 매시업(Mashup) : 웹에서 제공하는 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스, 데이터베이스등을 만드..

카테고리 없음 2024.12.12

TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)

TCP (Transmission Control Protocol) 특징 :  연결 지향적 : 데이터를 주고받기 전에 송신자와 수신자 간에 연결을 설정한다.신뢰성 : 데이터가 정확히 도착하도록 보장하며, 손실된 데이터는 다시 전송(retransmission) 된다오류 검출 및 복구 : 데이터가 손상되었거나 손실된 경우 이를 감지하고 복구한다. 데이터 흐름 제어 : 데이터의 전송 속도를 제어하여 수신자가 처리 가능한 속도로 데이터를 전달한다. 순서 보장 : 데이터 패킷이 전송된 순서대로 수신자에게 전달된다.  TCP 장점 : 신뢰성이 높아 정확한 전송이 필요할 때 적합하다. 파일 전송, 이메일, 웹 브라우징 등에서 이용된다 TCP 단점 :연결 설정 및 관리로 인해 오버헤드(부하)가 높고 속도가 상대적으로 느리..

카테고리 없음 2024.12.11