12/29

appendChild - 사용하려면 태그가 있어야함 .
html 태그 - 인라인타입, 블록타입(한줄차지)이있음

CSS사용이유
태그를 그룹으로 묶고 그 그룹전체에 대해서 스타일적용할 수 있음

화면들어온 후, 커서 깜박이게 하고 싶은데
심리검사서 제출, 방화벽열기 , 태그다뤄보기

javascript Math
mathrandom
math.floor - 작은 정수 리턴.

;노드리스트 반환

배열이므로 1을 더할 필요가 없다.

javascript.class.list?

취업해야지. 취업할려고 하는건데

가장유사한코드를 찾아서 복사 붙여넣기
변수명을 직관적이게 ( 클래스명과 유사하게) - 자바는 대소문자 구분한다.
class는 대문자 시작 메소드이름은 소문자 변수명 소문자

add(Borad board) or add(String title)
"스프링부트에게 낱개로 주지말고 board객체를 만들어서 달라는 의미" - 이런데이터를 줘야해

클라이언트가 보낸 이름과 동일한 set메서드를 찾아서 담는다.(property)
set이 없으면 객체에 못담는다.

게시글업로드할때 시간은 클라이언트에서 보내면 안되(맘대로)
서버쪽에서 하도록 해야함

프론트엔드개발자와 백엔드는 서로 개발후 영향안주고 테스트 가능 함.

아는거 모르는거 일단 따라가다가 어느순간 경험이 쌓이도록
한꺼번에 다 할 수 는 없는 것. 모르는것을 계속 반복학습
익숙하게하기

같은 수업을 들어도 ㅡ누구는 100% 50% 70%
자기가 할 수 있는 만큼만 해라.

다른사람이 3번반복이 되면 좌절하지말고
될때까지 나도 6-8번해라.

토익토플은 연봉하고 직접관련없지만
하나하나 기술은 연봉과 관련, 퇴근 시간과 관련되어있다.
열심히해라.

개인용을 웹으로 만든 이유 - 멀티가 가능
IP주소만 알고 있으면 어느 디바이스이든, 다 사용 가능.
멀티유저가 되려면 로그인,회원가입 필요 , 세션
데이터베이스도 필요 (메모리에 데이터에 저장하면안되고, 외부파일에 저장해야 없어짐- 마리아디비)
마리아디비 - 구글 페이스북, 트위터 등이 싸용
mysql(오라클화)에서 마리아디비 오픈소스로 품

스스로를 믿고 남들과 비교하지말고
내가 익숙해질때까지 해라.

시작점기준을 강사님(개발자보편)을 따라해
그러다 나중에 너만의 스킬이 생길것. 실무에가면

조회수:

화면에 전혀 영향안주고, 이 자리에 콘텐트(텍스트)만 출력 -> 아이디부여해서 이자리에 텍스트만 넣는것,
input박스는 눈에 보이지만
안보고 될때까지 계속해라.

백엔드를 먼저만들고 프론트엔드


05.1 인스턴스멤버 사용법: 인스턴스필드

ArrayList1---> Object가 생명주기를 같이함. 단순히 포함,집합관계가 아니라 컴포지션관계
ArrayList2
ArrayList3

A는 B를 포함하는데 A가 사라지면 B도 사라진다.
UML을 보고 해석할 수 있어야함.
각 뉘앙스(의미)가 다름. 세밀한 이해가 필요..

1.A가 B를 사용, X도 B를 사용
2.A만 B를 사용 , A가 삭제되면 X에게 B를 줄수도 있음
예시) 사람과 자동차의 관계.
다른 사람에게 자동차를 넘길 수 있음.

개발자와 개발자 사이의 의사소통 UML - 그리는법, 보는 법을 알아야함.
인간의 언어 간단하게 전달. 수학기호로 표현

외국논문(영어), 인공지능개념, 수학공식에 대한 이해필요
AI <Machine learning <Deep learning <Neural networks
AI - 조건문으로 제어
머신러닝- 조건문공식을 우리가 만들어야돼
Deep learning(심화학습) - 수많은 데이터를 인식시켜서 규칙(식)을 자동으로 뽑아내는 것 (빅데이터) - 양이 많은 데이터

기능을 붙였다뗐다가 레고처럼 설계


Object 레퍼런스 변수를 가지고있음

***메소드가 중복됨 =>기능변경, 추가를 어렵게 한다. => 유지보수가 어렵다.
같은 일을 하는 클래스가 여러개 존재

방어코드 짜기 : 내가 짠 코드를 다른 개발자가 사용할 수 있다는 생각을 늘 갖고 해야한다.
잘못사용하는 문제가 생길 수 있다. 만든 나조차도
아래예시에서 유효 index검사를 하지않음.

ArrayList에 변경사항이 발생하면
ArrayList를 복사해서 만든 클래스들도 변경해야 한다. -> 매우번거롭다.

추가한 메서드를 다 삽입해줘여함. 불편함.

코드는 공유하되, 코드가 쓰는 배열을 다르게하자

복사붙여넣기 개발자- 복사후 상황에 맞게 변경해줘야함.
변경사항이 발생하면 복사해서 만든 모든 클래스를 다 바꿔줘야하는 문제가 생김.

코드중복은 기능변경, 추가를 어렵게 한다. 같은 일을 하는 클래스가 여러개 존재 , 유지보수가 어렵다.
코드중복시키지 않는게 좋다.(당위성)
static변수대신 instance변수를 사용해라.


ArrayList의 배열 관련 변수를 인스턴스 필드로 전환한다.
-레퍼런스 배열과 size변수를 인스턴스 필드로 바꾼다.

ArrayList 설계도에 따른다.


add(ArrayList, Board) 어떤 ArrayList를 쓸건지 - 사용할 인스턴스 주소를 준다.
200번지를 주면,
300번지를 주면 그 배열에 add()를 할것.

인스턴스 주소가 뭐냐에 따라 다름.

클래스소속 변수는 바로 메서드썼지만
메서드호출시마다 어떤 인스턴스주소인지 알려줘여함.

배달원에게 주소를 줘여 배달작업을 할 수 있는 것처럼
메소드 add()에게도 주소를 줘야함 .

200번저릴 주면 200번지로 가서 add()리스트 배열에tj wkrdjq
배열과 사이즈가 들어있는 인스턴스변수의 주소를 줘야함.
늘 메소드 호출시, 항상 첫번째 파라미터에 어떤 배열을 써야하는 지 인스턴스 주소를 알려줘야함.

//인스턴스 필드 

// => 인스턴스 필드는 new 명령을 통해 생성한다.
Object[] list = new Object[5];
int size = 0;

static void add(ArrayList that, Object obj) {
if (that.size == that.list.length) {
that.list = grow(that);
}
that.list[that.size++] = obj;
}

------------------------

리팩토링
자바코드 관련 변수,메서드명 바꿀 때
선택하고 오른쪽마우스 rename-repactor ( 저 변수를 사용하는 모든항목들이 바뀜)

혹은 ctrl+f replace all


같은 ArrayList에 있는 add()를 사용하려면 - 각각의 주소를 줘야한다.
ContactController나 todoController나 BoarController(ArrayLIST2,3삭제)

*intance필드는 변수만 (Heap)에 올라감.(메소드는 포함안됨)
메소드는 메소드area에 한번 올라가면 끝

메모리(객체의 주소) - 매번 메서드의 파라미터에 던져줘야함.that은 그냥 변수
그게 귀찮아서 인스턴스메소드

this라는 내장변수(reserved keyword)를 쓸 것 , 파라미터를 앞쪽으로 넘기는 것.
ArrayList.add(contactList,contact)
add 연산자
피연산자 2개

복사붙여넣기 해봐 .
contact ->board로 해봐
contact.java ->

좋은 웹페이지 즐겨찾기