전체 글 47

[Git] 명령어 reset과 revert의 차이

개요Git의 'reset'과 'revert'는 커밋 기록을 수정하거나 되돌릴 때 사용하는 대표적인 명령어로, 초반에 개념을 확실하게 정리해야 할 중요한 내용인 것 같아 정리 글을 작성해 본다. 개념 📌'git reset' 로컬 커밋 기록을 이전 상태로 되돌리는 명령어로, 실수로 잘못된 커밋을 만들었을 때 사용한다. 특정 커밋 이후의 모든 기록을 삭제하거나 수정할 수 있기에, 협업 프로젝트에서는 신중하게 사용해야 한다. 📌'git revert' 이미 존재하는 커밋을 되돌리는 명령어로, 새로운 커밋을 생성하여 변경사항을 되돌린다. 다른 사람의 작업에 영향을 미치지 않고 커밋을 취소할 수 있기에, 협업 환경에서 안전하게 사용할 수 있다.  세부 사항 --soft: 작업 디렉토리는 유지되고 변경사항은 스테이..

Git & Github 2024.09.02

[디지털 신호 처리] 고속 푸리에 변환 FFT, DTF와의 관계

고속 푸리에 변환(FFT) : 이산 푸리에 변환을 효율적으로 계산하기 위한 알고리즘주어진 N개의 복소수 입력값에 대해 입력 신호를 N개의 동일한 길이의 부분 신호로 분할한 다음, 각 부분 신호에 대해 DFT를 계산하고 부분 신호의 길이가 1이 될 때까지 이 과정을 반복한다.이후 결과적으로 나온 DFT를 계산하고 부분 신호의 길이가 1이 될 때까지 이 과정을 반복한다.이후 결과적으로 나온 DFT값을 결합하여 전체 FFT값을 얻을 수 있다.FFT는 신호처리, 영상 등 다양한 분야에서 사용되며 고속 연산의 속도와 효율성이 좋은 것이 특징이다.FFT와 DFT 모두 주파수 영역으로의 신호 변환에 사용되는 것은 동일하다. [복소수 계산 횟수, 계산 복잡도]DFT → O(N^2) : 길이 N이 커질 때는 계산량이 급..

[디지털 신호 처리] 영차유지보간, 일차유지보간, 큐빅-스플라인 보간 방법

영차 유지 보간: 이산 신호의 샘플 값을 일정한 간격으로 유지하여 값을 보간하는 방법. 새로운 샘플이 나타나기 전까지 이전 샘플의 값을 유지함으로써 보간을 수행한다. 이는 선형적으로 변하는 값을 추정하는 것보다 단순하고 계산 비용이 적으나, 신호의 변화가 급격한 부분에서는 왜곡이 발생할 수 있기 때문에 정확한 보간이 필요한 경우 적합하지 않다.  일차 유지 보간큐빅-스플라인 보간: 이산신호의 인접한 두 샘플 사이의 값을 직선으로 연결하여 새로운 샘플 값을 추정하는 방법으로, 선형적인 보간을 수행하여 두 샘플 값을 추정한다. 영차유지보간에 비해 왜곡이 적고 더 자연스로운 복원이 가능하지만 계산비용이 더 많이 들고, 신호의 변화가 빠른 고주파 신호의 경우 왜곡이 발생할 수 있기에 신호의 정확도가 저하될 수 ..

[디지털 신호 처리] DSP 활용 자료 _음성인식

DSP(Digital Signal Processing)란 디지털 신호 처리를 뜻하는 단어로, 연속신호를 샘플링하여 생성된 이산신호를 대상으로 그 신호의 특성을 이해하고, 분석하며 원하는 신호를 출력하기 위해 행하는 일련의 모든 처리 과정을 말한다. DSP의 가장 큰 특징은 실시간 처리, 고성능 연산, 반복 연산을 고속으로 실행할 수 있는 회로가 내장되어 있어 신호를 빠르게 처리한다는 것이다. 현재 우리 삶에서 흔하게 접할 수 있는 멀티미디어, 디지털 통신 기기는 매우 복잡한 신호 처리를 요구하기에 DSP는 전자기기에 필수적인 과정이다. DSP를 이용한 활용 자료 중 음성인식은 사용자의 입력 신호인 사람의 음성을 실시간으로 컴퓨터가 인식할 수 있는 형태로 변환하는 작업으로, DSP의 실시간 처리 특성을 이..

[JAVA] 캐스팅 (Casting)

📌 캐스팅 (Casting) : 데이터 타입을 다른 데이터 타입으로 변환하는 과정으로, 형변환이라고도 불린다. 캐스팅의 필요성다형성 : 오버라이딩된 함수를 분리해서 활용할 수 있다상속 : 캐스팅을 통해 범용적인 프로그래밍이 가능하다. 캐스팅의 종류업캐스팅(upcasting) : 자식 클래스에서 부모 클래스로 형변환하는 것데이터 손실 없이 수행된다.자동 변환 : 자바 컴파일러가 자동으로 수행한다. 제한된 접근 : 업캐스팅된 객체는 부모 클래스에서 정의된 멤버에만 접근할 수 있음.(자식 클래스에서 추가된 멤버는 사용할 수 없다.)class Animal { public void makeSound() { System.out.println("Animal sound"); }}class Do..

Language/JAVA 2024.09.01

[OS / Linux] GUI와 CLI

📌GUI (Graphical User Interface) : 화면상에 보이는 아이콘, 창, 메뉴 등을 마우스 등으로 클릭하여 컴퓨터에 명령을 내리는 인터페이스아이콘, 버튼, 메뉴, 창 등의 시각적 요소가 포함되며, 사용자는 마우스나 터치스크린을 사용하여 직관적으로 조작 가능CLI를 가시적으로 확인할 수 있도록 감싼 환경사용자 친화적멀티태스킹 용이 : 여러 창을 동시에 열어 다양한 작업 수행 가능 → 효율적인 작업단점 ) 자원 소모, 속도제한, 제한된 자동화 : 효율적이지 않은 데이터 공간 필요, 반복적인 작업 자동화 불가능  📌CLI (Command Line Interface) : 입출력만을 이용해서 컴퓨터와 소통하는 텍스트 기반의 인터페이스높은 작업 효율 : GUI에서 손으로 직접 클릭하는 것보다 ..

[지능시스템] 04장. 에지와 영역

에지 검출 : 물체 내부는 명암이 서서히 변하고 물체 경계는 명암이 급격히 변하는 특성 활용미분 : 변수 x가 미세하게 증가했을 때 함수 변화량을 측정하는 기법정수 좌표를 쓰는 디지털 영상에서는 x의 최소 변화량이 1이기에, δx =1 로 한다디지털 영상의 미분해당 식을 영상 f에 적용하는 일은 필터 u(에지 연산자)로 컨볼루션 하여 구현.필터 u의 중심점은 왼쪽 화소임.에지영상 f’은 명암값이 커지면 미분값으로 양수를, 작아지면 음수를 갖는다.[현실 세계의 램프 에지] : 명암이 몇 화소에 걸쳐 변하는 에지에지의 두께가 1보다 큰 경우, 에지의 정확한 위치를 찾는 데에 문제가 생김.1차 미분은 에지 발생 여부, 에지가 어떤 방향을 향하는지에 대한 정보가 제공됨.2차 미분 영상 f’’은 컨볼루션을 두 번..

[JAVA] 패키지 (Package)

📌 패키지 : 관련 클래스와 인터페이스를 그룹화한 하나의 단위(바탕화면에 디렉토리를 생성하고, 그 안에 파일들을 정리하는 것과 유사.)패키지 안에 패키지를 생성할 수 있다. ( 계층구조)단, 계층 구조라 해서 상위-하위 관계가 아니라 각각 독립적이다.파일 시스템 구조 : com/example/rest_back패키지 구조 : com.example.rest_back내장 패키지 : 자바에서 기본적으로 제공하는 패키지들 ( java.util, java.lang 등)java.lang : 자바의 기본적인 클래스들을 포함하는 패키지로, 자바 프로그램에서 기본적으로 사용할 수 있는 클래스들 제공 java.util : 유틸리티 클래스들을 포함하는 패키지로, 컬렉션 프레임워크, 날짜와 시간 처리, 래퍼 클래스 등을 제공..

Language/JAVA 2024.08.30

[지능시스템] 03장. 영상 처리

📌 영상 처리 : 특적 목적을 달성하기 위해 원래 영상을 개선된 새로운 영상으로 변환하는 작업물체에서 반사된 빛이 카메라의 작은 구멍을 통해 안으로 들어가 뒷면에 있는 영상 평면에 맺힌다. 영상 평면이란 눈의 경우 망막, 필름 카메라의 경우 필름, 디지털카메라의 경우 CCD센서빛이라는 아날로그 신호를 받은 CCD센서는 샘플링/양자화 과정을 거쳐 디지털 신호로 변환하고, 영상을 메모리에 저장함.가로 N*세로 M(영상의 크기, 해상도)의 구간으로 샘플링 후, L단계로 양자화.L은 보통 한 바이트로 표현할 수 있도록 L=256을 사용. f(j, i) : j행 i열의 명암.원점이 왼쪽 위에 위치함.영상을 저장하는 배열에서 화소의 위치를 지정할 때는 그림처럼 (y, x) 표기를 사용하지만 그 외에는 주로 (x,..

[JAVA] 컬렉션 (Collection)

📌컬렉션(Collection) : 여러 개의 객체를 하나의 단위로 묶어서 관리할 수 있는 구조 - 컬렉션 프레임워크 (Collection Framework) :  데이터의 집합을 다루는 데 필요한 다양한 인터페이스와 클래스구성 요소인터페이스 : 컬렉션의 기본적인 동작을 정의하는 인터페이스- List, Set, Queue, Map 등구현 클래스 : 인터페이스를 구현한 구체적인 클래스- List의 경우 ArrayList, LinkedList 등알고리즘 : 컬렉션을 쉽게 조작할 수 있는 메서드를 제공하는 유틸리티 클래스- Collection 클래스에서 제공하는 정렬, 검색, 비교 등의 알고리즘  제네릭 컬렉션 타입 안정성 보장컴파일 타임에 타입 오류 잡을 수 있음불필요한 형변환(Casting) 방📄 Col..

Language/JAVA 2024.08.29