if(book.getGuest().getName().equals(guest.getName())){
System.out.println(book.getBookDate() + ", " + book.getRoom() + "," + book.getBookId() + ", " + book.getGuest());
}
/*
book.getGuest().getName(), book.getGuest 가 Guest 클래스.
class Guest 의 getName을 저렇게 불러올수 있다는 것을 배웠다.
*/
class를 타고 타고 연결이 된다는걸 알았다...
생성자

클래스는 니 생각이고, 밑에 지역변수는 니 머리속에만 있는거야!!
니 머릿속에 있는걸 내가 어떻게 알아?! 찍어서 보여줘야 할거 아냐?! 그게 생성자야!! 찍는 놈이 생성자라고!! 찍어서 이세상에 태어나야지!!! 레시피가 하나야? 여러개일수 있잖아?! 그러니까 생성자는 여러개일수 있는거야!!
함수는 머리뜯어먹을건지, 날개죽지를 뜯어먹을지 방법이 다르잖아!! ..
인스턴스 선언 위치
객체를 사용하려면
A라는 class에서 B라는 class를 사용하고 싶으면, 인스턴스 해줘야 함.
A a = new A();
인스턴스는 heap 메모리에 저장
일반적인 함수들은 stack 메모리에 저장.
라는 설명을 해주셨는데.. 그 부분을 이해 못해서
scope개념으로 객체 선언 위치를 알려주심.
상위스코프에서 선언 시, 하위스코프에서 사용가능하나 반대의 경우는 안 됨.
CS특강
이전cs특강에 나온 개념들 중요. 프로세스 스레드 멀티프로세스 멀티 스레드
선수개념
OSI 7계층, TCP/IP, UDP
중요키워드
통신흐름, HTTP, HTTPS
선수개념-IP주소
IP주소란 인터넷에 연결되어있는 모든 장치들을 식별할수 있는 고유 주소.
기존 IPv4 -> IPv6 으로 변경 중.
| IPv4 | IPv6 |
| 32bit 주소개수가 약 43억개 까지가능 전세계에서 쓰다보니 할당된 IP주소가 다 소진됨. |
128bit 43억*43억*43억*43억 한꺼번에 넘어가자니 비용문제가 있어 넘어가는 중. |
선수개념-도메인 네임 시스템(DNS, Domain Name System)
IP주소를 사람들이 이해하기 쉽게 문자로 표현한 것
IP주소에 도메인네임을 할당하고 그걸 관리하는 시스템을 DNS
도메인은 웹페이지의 URL에 포함
포트(port)
IP를 통해 목적지 도달 후 ㅇ
잘 알려진 포트(well-known port)
80(http), 443(https)
사실은 붙어있지만, 잘 사용하는 코드라 괄호안의 형식이면 생략가능
컴퓨터가 DNS서버
| 회선 통식 | 패킷교환 |
| 먼 옛날 사용 미리 설정된 경로를 따라 전송. 네트워크나 트레픽에 따라 이동에 문제가 생길수 있음 |
전송 데이터를 네트워크를 통해 전송되기 전에 패킷으로 쪼개서 효율적인 경로로 보넴. 패킷을 작게나누는 이유는, 데이터가 너무 클 경우, 네트워크의 대역폭을 너무 많이 차지해서 원래 데이터에 영향을 줄수 있음. |
TCP/IP
IP 패킷들을 가장 효율정인 방법으로 목적지로 가장빠르게, 순서보장X 전달여부보장X
TCP패킷을 안전하게 해주는 전송프로토골 IP위에 동작하고 데이터의 전달을 보장하고 순서도 보장.
IP레이어 위에 TCP레이어가 있음
그러기 위해 흐름제어(송식측,수신측의 데이터 처리 속도 차이 해결하기위한기법)
혼잡제어 : 송수신측이 아니라 네트워크 데이터에 데이터가 쌓여있어 느려질때를 해결하기 위한 기법
인터넷 프로토콜+전송제어프로토콜
TCP/IP를 줄여서 TCP라고도 많이 부름. (암묵적으로)
--------------------------------------------------------------------------------------------------
HTTP
서버와 클라이언트 간 자원 교환을 위한 TCP/IP기반 통신 프로토콜
단반향성 :클라이언트가 요청을 보내야만 서버가 응답가능.
비연결성 :요청에따라 연결 후, 응답하면 연결 종료.
즉, 실시간 통신 불가.
문제점
HTTP 평문 통신이기때문에 문자 그대로 보냄. 그래서 도청, 변조가 가능하다.
우리가 계속쓰고 있었데!!
--------------------------------------------------------------------------------------------------
HTTP메소드는
요청을 할때, 어떤 목적을 할시 명시하는것
주요 메소드5
GET: 리소스 조회
POST:리소스 새로 생성
PUT:리소스가 있으면 대체, 없으면 생성.
PATCH:리소스 일부분만 변경.
안전, 멱등, 캐시가능 이런 기능이 있는데 그것은 한번 읽어봐라.
--------------------------------------------------------------------------------------------------
상태코드
클라이언트 요청에 대한 상태를 코드에 담아서 보내주는것.
종류
100~500 번대.. 100번대 단위로 주요상태가 다름
400번대 클라이언트측 잘못으로 오류
500번대 서버측 오류
메소드 상태코드 목적에 맞게 써야하나요?
:꼭 지켜야만 실행되는건 아닌 가이드라인이지만, 표준이 괜히 있는게 아니므로 지켜쓰면 좋겠다.
--------------------------------------------------------------------------------------------------
느낀 점.
구현하는걸 사다리타기해서 맡은 부분이 그냥 단순 리스트 조회였는데...
코드는 분명 한줄인데 객체지향부분을 잘 모르다보니.. 한줄 적는데 많은시간과 배움이 있었다.
일단 다른 클래스를 불러오는 방법도 다시금 인지하게 되었고, 인스턴스 선언도 변수선언과 같이 스코프 값을 동일하게 쓴다는 것도 알게 되었고, 또 까먹었던 'equals' 도 다시금 쓰고...
진짜 내가 직접 작성하는건 몇줄이 되지 않는데 그동안 막연하게 생각하며 어떻게 되지?? 했던부분이 하나하나씩 뻥뚫려서 너무 속이 시원해졌다.
'TIL' 카테고리의 다른 글
| 22.11.29_TIL_내배캠_[발표]미니프로젝트(호텔) (0) | 2022.11.29 |
|---|---|
| 22.11.28_TIL_내배캠_미니프로젝트(호텔) (0) | 2022.11.28 |
| 22.11.24_TIL_내배캠_미니프로젝트(호텔) (0) | 2022.11.25 |
| 221123_TIL_내배캠 (1) | 2022.11.24 |
| 22.11.22_TIL_내배캠 (0) | 2022.11.22 |