심플하고 차분하게
HashSet<int[]>와 Hashset<ArrayList<Integer>>
| HashSet와 Hashset 문제를 풀다보면, 좌표를 집합에 넣어야 하는 경우가 있었다. 예를 들어, (0, 1), (2, 1) 그래서 아무 생각 없이 아래와 HashSet를 쓰게 되면 contains를 할 때 검색이 제대로 되지 않는 걸 볼 수 있다. 왜 그럴까? 이유는 배열의 경우 Hashcode를 비교하고, 리스트의 경우 Wrapper된 Integer값을 비교하기 때문. HashSet int 배열의 hashcode를 비교 HashSet Integer List의 Wrapper객체(Integer)를 비교 따라서, 좌표와 같은 수열의 집합을 만든다고 하면 HashSet 안에 ArrayList로 넣는 것이 좋다. [ 참고 ] https://stackoverflow.com/questions/654546..
데이터 처리 - CRUD
| CRUD - 소프트웨어가 가지는 기본적인 데이터 처리 기능 - CRUD는 MariaDB/MySQL, ORACLE 모두 동일한 문법을 사용하는 것으로 확인됐다. (아래 코드 비교) 구분 의미 SQL REST API WHERE 필수 CREATE 삽입 INSERT PUT/POST X READ 조회 SELECT GET X UPDATE 갱신 UPDATE PUT/PATCH O DELETE 삭제 DELETE DELETE O -- CRUD -- INSERT INSERT INTO bootcamp_member2 (name, email, mobile_no, password, marketing_yn, register_date) VALUES ('테스트3', 'test3@gmail.com', '01022223212', '22..

테이블 - 데이터 자료형, DDL/툴을 통한 생성 및 삭제
| 테이블 정의 - 정형화된 데이터는 RDBMS의 기본 단위인 Table 형태로 저장된다. - Table은 관계(Relation)라고도 불리며, 특정 종류의 데이터를 구조적으로 묶은 목록을 말한다. (1) 칼럼 = 필드 = 속성 : 변수 EX. email, name, addr... (2) 로우 = 레코드 = 튜플 : 실제 값 EX. kim1234@gmail.com, kim1235@gmail.com... | 데이터 자료형 - 종류 : 숫자 / 문자 및 문자열 / Boolean / 날짜 및 시간 / 큰 객체 - 각 DBMS마다 자료형을 표현하는 방식에 차이가 있다. Oracle MySQL/MariaDB SQL Server PostgreSQL 숫자 NUMBER FLOAT TINTINT SMALLLINT MED..
데이터베이스 - 데이터베이스 생성 및 권한 부여(DDL)
| 개요 📌 인스턴스란? = database(데이터의 집합) = table space = 테이블이 위치하는 공간(디렉토리) 📌 계정은 왜 여러개 생성할까? 접속자마다 DB 관리권한이 다를 수 있다. 📌 원격으로 접속하는 컴퓨터에 대한 접속권한도 고려해야 한다. 📌 SQL명령어 - DDL, DML, DCL | SQL (Structured Query Language) - 의미 : DBMS와 소통하기 위한 구조화된 질의어 - 구분 데이터 정의어(DDL, Data Definition Langugae) CREATE, DROP, ALTER, TRUNCATE 데이터 조작어(DML, Data Manipulation Language) INSERT, UPDATE, DELETE, SELETE ( CRUD ) 데이터 제어어(..
JAVA 라이브러리 - 컬렉션
| 컬렉션이란? - 자바에서 자료구조를 구현한 클래스를 말한다. - 컬렉션을 추상적으로 구분한 분류는 크게 아래와 같다. - 단, 실제 Collection을 상속하는 건 List와 Set, Queue이며 Map은 별도의 인터페이스이다. - Collections를 통해서 List를 정렬할 수 있으며, Set이나 Map의 경우 TreeSet과 TreeMap을 쓰면 data가 정렬되어 저장된다. 구분 하위 클래스 중복 순서 List ArrayList, LinkedList, Vector, Stack(Vector 상속) o o Set HashSet, LinkedHashSet, TreeSet x - Map Hashtable, HashMap, LinkedHashMap, TreeMap key x, value o - |..
[알고리즘] 정렬
| 정렬이란 - 특정 값을 기준으로 데이터를 순서대로 배치하는 방법 - 기본 : 버블, 삽입, 선택 - 비교적 속도가 빠른 정렬 : 합병, 힙, 퀵, 트리 - 하이브리드 정렬 : 팀, 블록병합, 인트로 - 기타 : 기수, 계수(카운팅), 셸, 보고 | 정렬의 시간복잡도 요약 - 안정성이라는 것은, 어떤 데이터 { 1, 2, 3, 1, 1, 1 } 을 정렬한다고 할 때, 같은 숫자 1에 대해서 { 1, 1, 1, 1 } 의 순서가 유지되도록 정렬되는 것을 '안정성이 있다'라고 한다. - 아래의 보조 메모리는 추가적으로 드는 메모리를 이야기하는데, 버블이나 삽입, 선택의 경우 swap시에 드는 변수 1개만 필요하기 때문에 보조메모리가 1개만 소요된다. 정렬 방법 시간 복잡도 보조 메모리 안정성 Ω(n) Θ(..

데이터베이스 환경 구축(설치)
| 데이터베이스의 순위 - 출처 : https://db-engines.com/en/ranking - 2022년을 기준으로 데이터베이스의 순위는 아래와 같다 * 아래 [바로가기]를 선택 시, 해당 DBMS 사용 메뉴얼로 이동 - 예전에 오라클을 설치하는 것을 포스팅한 적이 있었는데 이번에는 MariaDB를 설치하는 법을 작성해보려한다. 1 Oracle RDMBS 오라클사 바로가기 2 MySQL RDMBS 오라클사 바로가기 3 Microsoft SQL Server RDMBS Microsoft 바로가기 4 PostgreSQL RDMBS PostgreSQL단체 바로가기 5 MongoDB NoSQL계열 MongoDB, Inc 바로가기 | MariaDB 설치하기 1. Windows 환경 (1) 다운로드 사이트로 이..
JAVA 라이브러리 - 제네릭 클래스
| 제네릭이란? [사전] Generic = 일반적이다 [정의] 하나의 코드로 여러 타입을 동시에 처리하는 기술 1. 타입 변수 표기법 - 제네릭에 지정하는 타입 변수 이름은 지정하는 사람의 마음이지만, 적어도 그 타입 이름을 사용하는 클래스 또는 인터페이스 내에서는 통일성있게 사용하게 한다. - 일반적으로 변수명과의 구분을 위해 한 개의 대문자로 표시하는 것이 관례이다. - 타입 매개 변수는 기초 자료형으로 객체화될 수 없다. T Type E Element(요소) N Number K Key V Value S,U,V..... 2. 제네릭 클래스 - 최상위 클래스 Object를 사용하면 어떤 타입의 인스턴스건 참조할 수 있다. (업캐스팅, 다형성) - 이러한 원리를 이용해서 클래스를 작성할때 데이터 타입을 ..