no image
입문자를 위한 자바스크립트 기초 강의_JS기초01
* HTML + CSS(웹 페이지는 이렇게 생겼어)에서 하나 더 추가 => JavaScript : 브라우저/웹페이지에 동작을 추가 가능하게 하기. * 웹 콘텐츠에 JS 추가하는 방법으로는 두 가지가 있다. 첫 번째는 HTML 내부에 작성하기. 두 번째는 .js 확장자로 자바스크립트 문서 만들고 html 문서에 파일 연결시켜주기. 이때 * 자바스크립트에서 객체란? 어떤 사물이나 개념을 소프트웨어적으로 표현하기 위해 사용하는 문법적 수단. 자바스크립트 코드 내에서 객체란 '값 또는 기능을 가지고 있는 데이터'라는 의미. 여기서 새롭게 알게 된 사실! 웹브라우저는 소프트웨어 세계에 존재하는 사물 즉 객체이다. 대표적인 웹브라우저 객체는 window. 이것을 이용해서 웹브라우저에게 다양한 명령어를 내릴 수 있다..
2022.06.04
자바와 JUnit을 활용한 단위테스트_04
4장. 테스트 조직. 4장에서는 테스트 코드를 잘 조직하고 구조화할 수 있는 JUnit 기능들을 소개한다. 준비-실행-단언을 사용하여 테스트를 가시적이고 일관성 있게 만드는 방법 메서드를 테스트하는 것이 아니라 동작을 테스트하여 테스트 코드의 유지 보수성을 높이는 방법 테스트 이름의 중요성 및 @Before @After 애너테이션 활용하여 공통 초기화 및 정리 코드 설정 방법 테스트를 가시적이고 일관성 있게 만드는 방법은 AAA로 작성하는 것이다. AAA는 준비(Arrange), 실행(Act), 단언(Assert)을 의미하는데 각각의 의미에 대해서 더 구체적으로 설명해보도록 하겠다. 먼저 준비는 말 그대로 테스트 코드 실행 전에 시스템이 적절 상태에 있는지 확인하는 것이다. 객체들을 생성하거나, 이것과 ..
2022.06.04
자바와 JUnit을 활용한 단위테스트_03
3장. JUnit 단언 깊게 파기. 3장에서는 햄크레스트라는 라이브러리를 활용하여 JUnit에서 다양한 방법으로 단언을 활용하는 거랑, 예외가 발생하는 테스트를 작성하는 방법에 대해서 알아본다. JUnit에서 단언은 테스트에 넣을 수 있는 정적 메소드 호출이다. 각 단언은 어떤 조건이 참인지 검증하는 방법인데 조건이 참이 아니면 테스트는 그 부분에서 멈추고 Failure를 보고한다. 가장 기본적인 단언인 assertTrue 사용을 위해 먼저 아래와 같은 코드를 import 해 주고 사용해주자. import static org.junit.Assert.*; 예시 코드는 아래와 같은데 Account 인스턴스가 먼저 초기화 되어 있어야 한다고 하니, 이거는 @Before 메소드에서 객채 생성하고 그것에 대한 참..
2022.04.09
no image
HTTP 웹 기본 지식_캐시와 조건부 요청
캐시 기본 동작 캐시가 없을 때에는, 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운받아야 한다. 이렇게 되면 인터넷 네트워크는 매우 느려지고 로딩 속도도 느려지고 하는 문제가 발생한다. 캐시를 적용하게 된다면 첫 번째 요청이 올 시, 위와 같이 요청받아서 웹브라우저에 별을 띄워 주고 응답 결과를 캐시에 저장한다. 여기서 두 번째 요청이 온다면????? 캐시에서 조회해서 브라우저에 별을 띄워줄 수 있다. 즉 캐시 기능 시간 동안 네트워크를 사용하지 않아도 되고 빠른 로딩 속도, 빠른 사용자 경험을 할 수 있다. 그럼 여기서 만약 캐시 유효 시간이 초과한다면??? 위와 같이 서버를 통해 데이터를 다시 조회하고 캐시를 갱신하게 된다. 이때 다시 네트워크 다운로드도 발생한다. 검증 헤더와 조건부..
2022.03.24
no image
HTTP 웹 기본 지식_HTTP 일반 헤더
HTTP 헤더 개요 HTTP 헤더의 용도란 HTTP 전송에 필요한 모든 부가정보가 들어가 있는 것이다. 표준 헤더는 많고도 많다..필요시 임의의 헤더도 추가가 가능하다고 한다. 과거에는 General 헤더, Request 헤더, Response 헤더, Entity 헤더로 구분했다. 그런데.. 2014년 RFC7230~ 7235의 등장으로 엔티티 -> 표현. 표현 = 표현 메타데이터 + 표현 데이터로 변화. 메시지 본문을 통해 표현 데이터를 전달하고 표현 헤더는 표현 데이터를 해석할 수 있는 정보를 제공하는..그런거.. 표현 구체적으로 표현에 대해 하나씩 알아보도록 하자. 먼저 표현 헤더는 전송, 응답 둘 다 사용한다는 것 잊지 말기! Content-Type은 표현 데이터 형식의 설명으로 미디어 타입, 문..
2022.03.24
no image
HTTP 웹 기본 지식_HTTP 상태코드
HTTP 상태 코드 소개 클라이언트가 보낸 요청 처리 상태를 응답에서 알려주는 기능. 주로 2xx - 요청 정상 처리, 4xx - 클라이언트 오류, 5xx- 서버 오류 정도 기억해두자. 만약 모르는 상태 코드가 나타난다면?? 클라이언트는 상위 상태 코드로 해석해서 처리한다. 예를 들어 299가 ???? -> 2xx(Successful) 1xx는 요청이 수신되어 처리 중인 것을 뜻하는데 거의 사용하지 않는다고 한다. 2xx - 성공 클라이언트의 요청을 성공적으로 처리함을 뜻한다. 제일 많이 봤을법한 200 OK. 201 Created는 post로 뭔가 등록했을 때 요청 성공해서 새로운 리소스 생성을 알려준다. 204 No Content는 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이..
2022.03.24
no image
HTTP 웹 기본 지식_HTTP 메서드 활용
클라이언트에서 서버로 데이터 전송 데이터 전달 방식은 크게 2가지 - 쿼리 파라미터를 통한 데이터 전송(GET, 정렬 필터) - 메시지 바디를 통한 데이터 전송(POST, PUT, PATCH) 정적 데이터 조회 - 이미지, 정적 텍스트 문서. 조회는 GET 사용. - 정적 데이터는 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능. 동적 데이터 조회 - 주로 검색, 게시판 목록에서 정렬 필터. - 조회 조건을 줄여주는 필터, 조회 결과를 정렬하는 정렬 조건에 주로 사용. HTML Form을 통한 데이터 전송 - HTML Form submit시 POST 전송. - Content-Type: application/x-www-form-urlencoded 사용, form의 내용을 메시지 바디를 통해..
2022.03.16
no image
HTTP 웹 기본 지식_HTTP 메서드
HTTP API HTTP API 설계에서 가장 중요한 것은 리소스 식별. 회원 정보 관리 API라면 회원 등록하고 수정하고 조회하는게 리소스가 아니라 "회원" 자체가 바로 리소스. 리소스 식별은??? "회원"이라는 리소스만 식별 -> 회원 리소스를 URI에 매핑. API URI 설계는??? 리소스와 행위를 분리. 주로 리소스는 명사, 행위는 동사. HTTP 메서드 - GET, POST GET - 리소스 단순 조회할 때. - 서버에 전달하고 싶은 데이터는 query를 통해서 전달. - 메시지 바디를 사용해서 데이터를 전달할 수도 있지만 권장하는 방법은 아님. POST - 요청 데이터 처리. - 메시지 바디를 통해 서버로 요청 데이터 전달. - 서버는 요청 데이터를 처리(메시지 바디를 통해 들어온 데이터 처..
2022.03.16
no image
HTTP 웹 기본 지식_HTTP 기본
HTTP(HyperText Transfer Protocol) 모든 것이 HTTP! HTML, TEXT뿐만 아니라 음성이나 영상 파일 등 거의 모든 형태의 데이터 전송이 가능한 것. 서버 간에 데이터를 주고받을 때에도 대부분 HTTP를 사용함. HTTP 역시 및 기반 프로토콜 HTTP/1.1 1997: 가장 많이 사용, 우리에게 가장 중요한 버전. 계속 버전업 되어서 RFC 7235까지 나옴. 기반 프로토콜로는 TCP(HTTP/1.1, HTTP/2)랑 UDP(HTTP/3)인데 주로 HTTP/1.1 사용하지만 나머지도 사용 증가. HTTP 특징 - 클라이언트 서버 구조 Request-Response 구조. 클라이언트는 서버에 요청을 보내고, 응답을 대기. 서버가 요청에 대한 결과를 만들어서 응답. HTTP ..
2022.03.16