5주차요..?
이제 백엔드로 넘어갔다
코플릿 3,4
수를 입력받아 2의 거듭제곱인지 여부를 리턴해야 합니다.
반복문(while)문을 사용해야 합니다.
2의 0승은 1입니다.
Number.isInteger, Math.log2, Math.log 사용은 금지됩니다.
문제풀이
function powerOfTwo(num) {
// TODO: 여기에 코드를 작성합니다.
while(num>1){
num=num/2
}
if (num==1) return true
else return false
}
- while을 사용해 1일때 탈출
- 계속 2로 나눠서 마지막으로 남은 숫자가 1일때 true를 리턴한다.
문자열을 입력받아 문자열을 구성하는 각 단어의 첫 글자로 이루어진 문자열을 리턴해야 합니다.
'Those who survive are strong'을(를) 입력받은 경우, 'Twsas'을(를) 리턴해야 합니다
문제풀이
function firstCharacter(str) {
// TODO: 여기에 코드를 작성합니다.
if(str.length===0) return ''
let arr=str.split(' ')
let output=''
for(let i=0; i<arr.length; i++){
output+=arr[i][0]
}
return output
}
- str를 array에 담고
- output string에 arr의 첫 letter만 붙였다.
👩💻 배운것
HTTP를 이용한 클라이언트-서버 통신과 API
- HTTP: 웹에서 HTML, JSON등의 정보를 주고받는 프로토콜
- API: 메뉴판같이 서버가 리소스를 전달할수 있게 제공, 주소(URL, URI)를 통해 접근
- Method: GET, POST, PUT, DELETE 등을 이용해 요청 유용한 링크
브라우저의 작동원리 (보이지않는곳)
- URL: Uniform Resource Locator, 네트워크상에서 파일이 위치한 정보를 나타냄
- scheme: 통신방식 결정 (일반적으로 http(s) 사용) 예) https://
- hosts: 웹 서버의 이름이나 도메인, IP로 주소 표현 예) www.google.com
- port: 웹 서버에 접속하기위한 통로 예) :3000
- url-path: 파일 경로와 이름 표현 예) /search
- URI: Uniform Resource Identifier, URL에 더해 query, bookmark 표현 예) q=JavaScript
- IP: internet protocol, 네트워크와 연결된 특정 PC의 주소
- localhost, 127.0.0.1 :현재 사용중인 로컬 PC
- 도메인: ip주소 대신 이름, DNS를 사용해 도메인의 ip주소를 찾아 전달
- 크롬 에러메세지
HTTP
![](https://velog.velcdn.com/images/juon0805/post/deb93f24-89a8-4ac9-bb52-3aa17cd53549/image.png)
HTTP 요청 메소드
HTTP 상태 코드
브라우저의 작동원리 (보이는곳)
- AJAX: Asynchronous JavaScript and XMLHTTPRequest, 비동기적으로 필요한 부분만 불러올수 있음
- fetch를 통해 서버로부터 필요한 데이터 받아올수 있음
fetch('http:// ...)
.then(function(response){
return response.json();
})
.then(function(json){
...
});
![](https://velog.velcdn.com/images/juon0805/post/607c686d-caf9-4a0d-acc3-243d6ac779b2/image.png)
Chrome Network Tab
![](https://velog.velcdn.com/images/juon0805/post/79524860-0340-4dbf-bdc2-30e143db5d08/image.png)
후기
- 배웠던것도 있고 아예 첨보는것들도 있었다. 실습을 해보고싶다.