분류 전체보기72 해시(Hash) 해시란 해시란 데이터를 다루는 기법 중에 하나로 검색과 저장이 아주 빠르게 진행되는 방법이다. 아주 빠르게 진행될 수 있는 이유는 데이터를 검색할 때 사용할 key와 실제 데이터의 값이 (value가) 한 쌍으로 존재하고, key값이 배열의 인덱스로 변환되기 때문에 검색과 저장의 평균적인 시간 복잡도가 O(1)에 수렴하게 됩니다. (인덱스마다 바로 데이터를 찾을 수 있다는 얘기) 임의의 크기를 가진 데이터(Key)를 고정된 크기의 데이터(Value)로 변화시켜 저장하는 것 키에 대한 해시값을 사용하여 값을 저장하고 키-값 쌍의 갯수에 따라 동적으로 크기가 증가하는 자료구조이다. 키에 대한 해시값을 구하는 과정을 hashing(해싱)이라고 하며 이때 사용하는 함수(알고리즘)를 해시함수 라고 한다 해시값 자.. 2022. 2. 8. 스프링 MVC 패턴 스프링 MVC MVC 는 Model, View, Controller의 약자 입니다. 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴입니다. MVC (Model - View - Controller) 디자인 패턴 Server 에서 HTML 을 내려 주는 경우 1. 정적(Static) 웹 페이지 Controller Client 의 요청을 Model 로 받아 처리 예) 회원가입을 위한 개인 정보들 (id, password, name) 즉, 여기서 Model은 클라이언트에서 서버로 보내는 정보들이다. Client 에게 View (정적 웹 페이지, HTML) 를 내려줌 2. 동적 웹 페이지 Controller Client 의 요청을 Model 로 받아 처리 Template en.. 2022. 2. 6. ORM 과 SQL ORM이란? ORM은 Object Relational Mapping 즉, 객체-관계 매핑의 줄임말이다. 객체-관계 매핑을 풀어서 설명하자면 우리가 OOP(Object Oriented Programming)에서 쓰이는 객체라는 개념을 구현한 클래스와 RDB(Relational DataBase)에서 쓰이는 데이터인 테이블 자동으로 매핑(연결)하는 것을 의미한다. 그러나 클래스와 테이블은 서로가 기존부터 호환가능성을 두고 만들어진 것이 아니기 때문에 불일치가 발생하는데, 이를 ORM을 통해 객체 간의 관계를 바탕으로 SQL문을 자동으로 생성하여 불일치를 해결한다. 따라서 ORM을 이용하면 따로 SQL문을 짤 필요없이 객체를 통해 간접적으로 데이터베이스를 조작할 수 있게 된다. ORM의 장단점 장점 완벽한 객체.. 2022. 2. 6. 비트맵, 문자열, 복합 데이터 타입 비트맵 비트맵 이란 디지털 이미지를 저장하는 데 쓰이는 이미지 파일 포맷 또는 저장 방식의 한 형태이다. 기본 데이터 타입을 사용해 배열을 만들면 기본 데이터가 너무 클 때도 있는데 이때 비트맵을 사용한다. 예를들어 35비트를 추적하고 싶다고하자 아래 그림처럼 8비트 5개가 있으면 35비트를 충분히 담을 수 있다. 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 23 22 21 20 19 18 17 16 31 30 29 28 27 26 25 24 34 33 32 비트맵에 대해 수행할 수 있는 기본 연산은 - 비트 설정하기 (1로 설정하기) - 비트 지우기(0으로 만들기) - 비트가 1인지 검사하기 - 비트가 0인지 검사하기 이렇게 네가지이다 특정 비트가 있는 바이트 찾기 정수 나눗셈을.. 2022. 2. 3. 스프링 IoC, DI, Bean 이란 우선 Ioc, DI, Bean에 대해 알아 보기전에 자바에서 Class, Object, Instance 개념에 대해서 알아보자 Class -> 설계도 Object -> 실체화가 가능한 것 Instance -> 실체화가 된것 class abstract class 마린 (object) - 변수 - 변수 유닛 (추상적인 의미) 즉, object가 사용되면 instance 이다. IoC ( Inversion of Control )와 DI 간단히 말하면 객체 지향 프로그램에서 다른 객체를 사용하는 것을 의존성 주입(DI : Dependency Injection)이라 한다. (필요한 곳에서 가져가서 사용하는 것) (다른 객체에 의존한다.) 다른 객체를 사용하기 위해서는 객체를 생성하거나 생성되어 있어야 하는데 내가.. 2022. 1. 30. 논리 게이트(논리 회로) 논리게이트란 불 대수(bool algebra : 0(거짓)과 1(참) 2가지 값만을 처리하고 컴퓨터 스스템의 전기적인 논리회로의 상태와 서로 대응되는 성질을 가진다.)를 물리적 장치에 구현한 것으로 하나 이상의 논리적 입력값에 대해 논리 연산을 수행하여 하나의 논리적 출력값을 얻는 전자회로를 말한다. AND, OR, NOT의 기본 불 대수를 수행하며, 이 기본 불 대수들의 결합으로 복합적인 논리 기능을 수행한다. 마치 배관공이 기성 제품들을 복잡한 배관으로 연결해 수도 시스템을 만드는 것처럼 논리 게이트를 사용하면 하드웨어 설계자가 밑바닥부터 모든 회로를 설계할 필요 없이 IC(직접회로)를 선으로 연결해 복잡한 회로를 쉽게 만들 수 있었다. 인버터(NOT을 수행하는 게이트) 기호에서 중요한 부분은 O(동.. 2022. 1. 26. 이전 1 ··· 8 9 10 11 12 다음