etc(5)
-
JPA - 등장 배경
SQL 중심적 개발의 문제점1. 무한 반복동일한 crud 작업 계속해서 반복해야 함.자바 객체를 sql로 변환해야 함.sql을 자바 객체로 변환해야 함. 2. 변화에 대응하기 어려움컬럼 추가, 제거 등의 설계 변경 시, 기존 작성 코드를 전부 수정해야 함. 나는 자바를 기반으로 한 개발자가 되고자 함. Q1. 객체를 중심적으로 설계하고, 사고하고, 개발하기 위해서는? Q2. 정보는 어떻게 저장하지?- memory- db- file- 등 등 개발자가 해야하는 작업객체&SQL 매핑객체 - sql 변환 - sql = rdb 객체와 관계형 데이터 베이스의 차이1. 상속2. 상속객체의 상속과 다르게, DB에는 상속관계라는 것이 없음.비슷하게 Super, Sub 타입의 테이블을 만들어 관계를 형성하고 필요에 따라 ..
2024.11.06 -
휴먼에러_지역변수, 인스턴스 변수 착각
상황- LinkedList 학습- 편의상 add() 메서드 등을 main() 이 있는 class 에서 static method() 로 작성함- Node를 연결시키고 마지막 Node에 새로운 노드를 추가하려고 함public class Node { private Object item; private Node next;} 문제점- 아래와 같은 코드를 통해새로 노드를 추가했다고 생각했으나 추가가 안 됨.private static void add(Node node, String param) { Node lastNode = getLastNode(node); Node next = lastNode.getNext(); next = new Node(param);} 문제점착각 내용getLastN..
2024.06.28 -
h2_문법 오류_큰 따옴표, 작은 따옴표
select * from member; insert into member(NAME) values("WTF"); 위와 같이 작성하면, 문법 에러가 딱! 값으로 넣으려는 "WTF" 를 Column 으로 찾으려는 모양이다.. 값으로 넣을 건데.... 변화를 줘 봤다. select * from member; insert into member(NAME) values('WTF'); 얜 된다. 바뀐 내용은 아래와 같다. 기존 : insert into ~~~ values("WTF"); 변경 : insert into ~~~ values('WTF'); H2 DB에서는 values()로 감쌌어도 큰 따옴표""를 사용하면 그 내용을 column 으로 인식하고 찾으려는 행동을 취하는 모양이다.
2024.02.27 -
순차 탐색 ? 이진 탐색?
순차탐색 처음부터 끝까지 하나씩 이동하면서 지정 값을 탐색하는 것. for문이라던가 그런 거 앞에서 시작해서 뒤로 끝나던, 뒤에서 시작해서 앞으로 끝나던. 단점 : 데이터가 많을수록, 찾는 데이터의 위치가 구석져 있을수록 느림. ex) 앞에서 시작했는데 찾는 값이 거의 뒤 끝에 있는 경우. 뒤에서 시작했는데 찾는 값이 거의 앞에 있는 경우 등. 이진 탐색 에이터를 찾는 목록을 반으로 쪼개고, 쪼개고 쪼개는 식으로 탐색해 나가는 방식 반드시 정렬(sort)가 돼 있어야 함. (정렬하지 않을 경우, 이상한 값이 튀어 나옴.) 장점 - 순차정렬보다 검색 횟수가 현저히 줄어듦. 단점 - 정렬작업이 반드시 필요하므로, 처음 준비에 비용이 많이 발생함.
2024.02.17 -
SOLID - OCP
SOLID란? 객체지향 프로그래밍 5대 원칙이다. 각 알파벳은 아래와 같은 의미를 담고 있다. Single Responsibility Principle - 단일 책임 원칙 Open-Closed Principle - 개방-폐쇄 원칙 Liskov substitution principle - 리스코브 치환 원칙 Interface segregation principle - 인터페이스 분리 원칙 Dependency inversion principle - 의존관계 역전 원칙 필요할 때 마다 내용을 추가하는 것으로 하고, 우선 OCP 원칙 부터 학습해보자. OCP 원칙 (Open-Closed Principle - 개방-폐쇄 원칙) Open for extension - 새로운 기능의 추가나 변경사항이 생겼을 때, 기존..
2024.02.12