//
Search
🧧

송용호 0726

<front>
EMMET 제발 외우기
nav>ul>li*3>a[herf=”#”]{내용}
<JAVA>
옵저버 패턴 + 익명클래스
aButton.addOnClickListener(new 홍길동()); aButton.addOnClickListener(new 홍길순()); aButton.fireClickEvent(); aButton.addOnClickListener((msg)-> System.out.println("익명의사람1이 받은 메세지 : " + msg)); aButton.fireClickEvent(); aButton.addOnClickListener(new OnClickListener() { @Override public void onClick(String msg) { System.out.println("익명의사람2이 받은 메세지 : " + msg); } }); aButton.fireClickEvent();
Java
복사
<db- SQLyog>
한줄한줄 실행하는 쉘에 가까움.
SHOW DATABASES; (TABLES;)= 데이터베이스(테이블) 목록 확인
DESC \`name\`; = name 의 구조
USE name = name 사용
UPDATE 목표 SET 새정보 WHERE 구정보; = 수정하기
DB를 켜는 이유 → DB는 속도가 생명이라서
키워드는 ` 백틱 으로 감싸고, 문자열은 따옴표로 감싼다
사원과 부서명과 같은
연동 데이터를 이름으로 적으면, 수정이 불편하고
번호로 적으면 직관적이지가 않다.
테이블 연동
SELECT * FROM emp, dept 무분별한 JOIN
emp dept 를 조인한다. (emp * dept)
모든 join 경우의 수를 내뱉는다.
조건을 걸면 맞는 데이터만 가져올 수 있을것 같은데?
SELECT * FROM emp INNER JOIN dept ON emp.deptId=Dept.id; 조건부 JOIN
ID가 같은 부분만 가져오자.
그럼 데이터베이스 내의 독립된 테이블끼리는 연관성을 줄 수 없고,데이터를 꺼내는 사용자가 필요시마다 일일히 조인해서 사용하는 건가요?
A : 그렇습니다. 일일히 쿼리 짜야합니다.(지옥)
<서블릿>
form
method=””:
GET → Url 에 드러남
평소에 사용함
POST → Url 에 드러나지 않음
게시물 등록,수정,삭제
action=””;
폼이 붙을 주소
default 는 현재 주소
흐름
컨트롤러 → 서비스 → 레포
DTO 란 → 데이터를 담는 용기이다.
ArticleRepository에서 디폴트 생성자로 리스트랑 lastId를 초기화 안해주고 static으로 한 이유가 있을까요?
static {} 은 프로그램 시작시 1번만 실행됨
그냥 생성자에 넣었다간, 객체 생성될때마다 Static 도 초기화되어 버림.
흔히 커뮤니티 글 작성페이지 연타하면 글 2개 나오는 경우처럼
/usr/article/write/free 를 연타하면 글이 계속 나올 것.