20231213 TIL

김민석·2023년 12월 13일
0

1. 계획

  • 오늘부터 다시 공부모드 돌입
  • Spring 입문주차부터 차근차근 밟기

2. 문제점

  • 휴식하고 싶은 보상 심리 발생
  • 키보드가 고장났다.

3. 보완할 점

  • 진득한 마음가짐과 여유 가지기
  • 키보드 재주문

4. 내일 계획

  • Spring 입문주차 공부 진행

5. 오늘의 공부

1. 그레이들 = 빌드 자동화 시스템
* 빌드 = 자바 소스 코드를 설정에 맞게 자동으로 실행가능한 결과물로 만드는 과정

2) Build.gradle 
ㄱ. 개발하면서 필요로 하는 외부 라이브러리들을 dependencies 부분에 작성하면 해당 라이브러리들을 외부저장소에서 자동으로 다운로드 해옴 -> 간편하다?
ㄴ. 소스 코드를 빌드하고 라이브러리 의존성을 쉽게 관리할 수 있다 -> 아직 무슨 말인지 잘 이해못하겠음
ㄷ. Maven Repository 사이트 활용하면 좋다는 것 같다.
ㄹ. External Libraries에서 Gradle이 다운로드 해온 라이브러리 확인 가능

2. 서버
1) 네트워크
- 여러 장비가 서로 연결되어 정보를 주고 받을 수 있는 기술
- 컴퓨터, 라우터, 스위치, 허브 기타 등등
- IP주소, 서브넷마스크, 게이트웨이 등의 정보를 설정 후 네트워크 프로토콜 사용
-> 예전에 따로 배운 TCP/IP 같은 프로토콜(통신규약)같은거 말하는 듯

2) 사진1 클라이언트 <-> 서버
- 사용자는 브라우저를 통해 서버에 정보를 요청하고 응답받음
- ip는 사용자 식별 위치 주소라고 보면 됨(송/수신은 ip 기준으로 이루어짐)

3) 웹서버
- 인터넷을 통해 http를 이용, 클라이언트(사용자)의 요청을 응답해주는 일종의 컴퓨터
- 기본 원리
ㄱ. 브라우저(크롬,엣지)를 통해 http Requset로 웹서버에 웹사이트 요청
ㄴ. 웹서버는 요청 승인 후 Response를 통해 웹 사이트 데이터를 브라우저에 전송
ㄷ. 브라우저는 받아온 데이터(웹사이트)를 브라우저에 표현
ㄹ. 기본적으로 브라우저가 웹서버에 요청하는 방식 = Get method 사용 => Get method가 뭐지?

4) API
1) 다른 소프트웨어 시스템과 통신하기 위한 규칙
-> 프로토콜이랑 비슷한 개념인가?

5) Interface
1) 서로 다른 두 개의 시스템 또는 장치 사이에서 정보나 신호를 주고 받는 경우의 접점이나 경계면을 의미
-> 사용자가 기기를 쉽ㄱ세 동작시키는데 도움을 주는 시스템
-> 말이 어려워서 잘 이해가 안됨

6) RESTful API => 늘 궁금했음. Restful하게 작성했냐는 말이 무슨 의미인가?
1) Representational State Transfer = 줄여서 REST
2) API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍쳐
3) REST 아키텍쳐 스타일을 따르는 API를 REST API라고 한다함.
4) REST 아키텍쳐를 구현하는 웹 서비스를 RESTful 웹 서비스라고 한다함.
-> 그래서 Restful하게 작성했다는 말이 무슨 뜻??

7) Apache Tomcat
1) Spring의 불편한 점을 해소하고자 SpringBoot가 나왔음
2) 거기서 가장 강력한 장점이 아파치톰캣이라는 것 밖에 이해 못함

3. http
1) 데이터 통신규약 중 하나가 http라고 함. 
-> TCP/IP같은 네트워크 프로토콜의 한 종류인가?
-> 표준화기구 ISO나 IEEE같은 곳과 관련이 있나?
2) 브라우저 -> 서버 (요구 (Request))
3) 서버 -> 브라우저 (응답 (Response)) / 이때 페이지에 대한 정보가 없다면 없는 페이지에 대한 데이터 반환
-> 이 통신에서 우리가 쓰는 URL주소값이 사용되는 듯?

4. 테스트
1) 블랙박스 테스트
간단하게 말하면 누구든 사용자가 되어서 버그를 발견해보는 테스트 방식 -> 시간 또는 퀄리티 문제 발생
2) 개발자 테스트
테스트 코드를 작성해서 실제 동작과 예상 동작을 비교 검증하는 방식 -> 개발 시간 및 유지보수 비용 발생
-> 장단점이 존재하는 것 같음. 실제 회사에선 어떨까..?

5. Lombok
1) 프로젝트 만들 때마다 넣는 것 같은데 얘 뭐하는 애지..? 설명 들어도 모르겠다.
profile
개발자가 되고 싶지만 허덕이는 으른이

0개의 댓글