[JavaScript] 콜백 지옥 (3)
·
카테고리 없음
async , awaitasync함수의 앞에 붙여 해당 함수가 비동기 함수임을 나타냄await비동기 함수의 실행 결과를 기다리는 키워드async 함수 안에서만 사용 가능해당 비동기 작업이 완료될 때까지 코드 실행을 일시 중지하고 결과를 기다린 다음, 해당 결과를 반환 가독성runTaks() 함수를 보면 콜백 지옥, Promise 객체의 then 보다 가독성이 훨씬 좋은 모습을 볼 수 있음 // async, awiat 사용하면 좀 더 동기적인 것을 사용하는 느낌으로 사용 가능// async 백그라운드에서 사용하는 느낌 -> 이 자체가 반환하는 값이 promise객체임// 내 프로미스에서 동작한 것을 다음 동작에게 넘기는 느낌// await 뒤에 오는 것들은 Promise 객체에서 resolve된 결과임co..
[JavaScript] 콜백 지옥 (2)
·
FE/JavaScript
Promise 객체의 등장문제점기존 콜백함수의 경우, 중첩해서 사용하게 되면 가독성이 매우 떨어짐 (콜백 지옥)좀 더 가독성이 좋은 방법은 없을까 ? -> Promise 객체의 등장특징resolve, reject 함수를 인자로 갖는 함수를 인자로 가짐then의 return 값 또한 Promise 객체임resolve조건이 성공되었을 때 반환하는 콜백함수then에서 전달해준 함수가 들어감reject조건이 실패하였을 때 반환하는 콜백함수catch에서 전달해준 함수가 들어감// Resolve - 성공했을 때 반환하는 콜백함수// reject - 실패했을 때 반환하는 콜백함수// then 함수의 인자는 여기서 1개 -> 데이터 타입이 함수 -> 그 함수의 인자가 data// then에서 전달해준 함수가 resol..
[JavaScript] 콜백 지옥 (1)
·
FE/JavaScript
자바스크립트 콜백 함수함수의 인자로 콜백 함수를 줘서 비동기 처리가 아닌, 전 함수의 값을 받아 다음 함수를 실행하는 순차적 처리가 하고 싶은 경우에 사용 목적비동기로 오는 Task들을 같이 넣어줘서 동기적으로 Serialized 된 방식으로 Task를 처리하기 위해서 사용사용자 입장에서는 비동기 방식이지만, 작업자(컴퓨터) 입장에서는 동기적으로 처리하는 것과 같음Point함수를 하나의 데이터 타입으로 바라보자 ! 예시 1 흐름(data) => {}data를 인자로 가지는 callbackFn을 fastFunction의 인자로 보냄 -> fastFunction 함수 진입fastFunction() setTimeout이 실행이되고 data, callbackFn모두 Background로 가서 1초(1000ms)..
[백준] 2529 부등호 (Java)
·
PS/백준
백준 2529 부등호 (Java) 출처www.acmicpc.net/problem/2529  유형브루트포스(완전 탐색), 백트래킹 배운점br.readLine() -> charArraychar[] cArray = br.readLine().toCharArray();처음에 " > 어쩐지 로직은 아무리봐도 맞는데 안되더라디버깅하면서 알았음br.readLine()으로 입력을 받아서 charArray로 변경하고 싶을 때는 공백을 먼저 없애준 후에 toCharArray()를 사용하자char[] cArray = br.readLine().replace(" ", "").toCharArray();  느낀점백트래킹을 구현할 때는 조건 설정부터 생각을 하자 어떤 조건일 때 실행을 할 것이고 어떤 조건일 때 넘어갈 것인지재귀가 다..
[백준] 14620 꽃길 (Java)
·
PS/백준
백준 14520 꽃길 (Java) 출처www.acmicpc.net/problem/14620  유형브루트포스(완전 탐색), 백트래킹 배운점처음에는 3번의 조건을 모두 검사해야해서 for문을 6번 중첩해야하나 생각을 했음 ㅋㅋ (말도 안되는 소리)그러다가 백트래킹 방법에 대해서 접함.  백트래킹 (BackTraking)알고리즘 기법 중 하나로 재귀적으로 문제를 해결하되 현재 재귀를 통해 확인 중인 상태가 제한 조건에 위배가 되는지 판단하고, 해당 상태가 위배되는 경우 해당 상태를 제외하고 다음 단계로 넘어간다 백트래킹은 주로 DFS 방식으로 구현을 함구현할 때모든 경우의 수를 하다보니, 제한조건을 설정하는게 구현할 때 좋을 듯 함이 문제에서는 꽃이 3개이다 보니 dfs의 depth가 3이 될 때까지 재귀로 ..
[HTTP] 4. HTTP 메서드
·
BE/HTTP
HTTP MethodHTTP API를 만들어보자회원 정보 관리 API를 만들어라 -> API URI를 설계하자!회원 목록 조회 /read-member-list회원 조회 /read-member-by-id회원 등록 /create-member회원 수정 /update-member회원 삭제 /delete-member이렇게 설계하는 것이 좋은 URI 설계일까?? (X)-> URI 설계에서 가장 중요한 것은 리소스 식별 !!즉, URI는 리소스 식별을 기준으로 설계를 해야함API URI여기서 리소스란?회원 등록, 수정, 조회 하는 것이 리소스가 아님회원이라는 개념 자체가 바로 리소스 !즉, 회원이라는 리소스만 식별하면 됨 -> 회원 리소스를 URI에 매핑리소스 식별, URI 계층 구조 활용회원 목록 조회 /membe..
[HTTP] 3. HTTP 기본
·
BE/HTTP
모든 것이 HTTPHTTP (Hyper Text Transfer Protocol)HTTP 메세지에 모든 것을 전송IMAGE, 음성, 영상, 파일, JSON, XML ...거의 모든 형태의 데이터 전송 가능 기반 프로토콜TCP: HTTP/1.1, HTTP/2TCP 위에서 동작3 way handshake 해줘야하고, 이것저것 많이 들어가 있어서 속도가 빠른 프로토콜은 아님UDP: HTTP/3UDP 기반으로 만들어졌음 HTTP 특징클라이언트 서버 구조무상태 프로토콜 (stateless), 비연결성HTTP 메시지 (보낼 때도 받을 때도 HTTP 메시지를 통해서 통신을 함)단순함, 확장 가능클라이언트 서버 구조Request Response 구조클라이언트는 서버에 요청을 보내고, 응답을 대기 (무작정 대기)서버가 ..
[HTTP] 2. URI와 웹 브라우저 요청 흐름
·
BE/HTTP
URI (Uniform Resource Identifier)리소스를 식별하는 통합된 방법자원이 어디에 있는지 자원 자체를 식별하는 방법URI는 Locator, Name 또는 둘 다 추가로 분류될 수 있다URIUniform: 리소스 식별하는 통일된 방식Resource: 자원, URI로 식별할 수 있는 모든 것web 브라우저의 html 파일 뿐만 아니라 실시간 교통정보와 같은 우리가 구분할 수 있는 모든 것Identifier: 다른 항목과 구분하는데 필요한 정보URLLocater: 리소스가 있는 위치를 지정우리가 웹브라우저에 무언가를 검색하면 그 주소에 있는 리소스를 보여주는 개념URNName: 리소스에 이름을 부여URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않아서 많이 쓰이지는 않음U..
[HTTP] 1. 인터넷 네트워크
·
BE/HTTP
인터넷 통신인터넷 세계에서 컴퓨터 둘이 물리적으로 붙어있다면 케이블로 바로 연결해서 데이터를 받으면 됨하지만 현재 우리 세상의 인터넷은 굉장히 복잡하고 서로의 컴퓨터에게 데이터를 전송하기 위해서는 수 많은 중간 서버들을 거쳐야 함 IP (Internet Protocol)그래서 등장한 것이 인터넷 상에서의 주소 개념인 IPIP의 역할지정한 IP 주소에 데이터 전달패킷이라는 통신 단위로 데이터 전달 데이터를 보낼 때 출발지 ip와 목적지 ip를 헤더에 적어서 같이 보내줌인터넷은 다 같은 규약을 따르고 있기 때문에 인터넷 상의 노드들이 서로 ip주소를 물어가면서 최종적인 목적지에 도착하여 데이터를 전송BUTIP 프로토콜의 한계가 존재비연결성패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷을 전송비신뢰성중간..
[PS] SQL 정리 (Lv. 1)
·
PS/Sql
특정 값만 제외하고 조회하고 싶을 때# intake_condition 중 Aged 값들만 제외하고 조회where intake_condition not in ('Aged')상위 n개 레코드만 조회하고 싶을 때# LIMIT 구문은 결과에서 몇 개의 행을 반환할 것인지 제한하는 구문SELECT a.namefrom animal_ins aorder by datetimelimit 1;(IF) 특정 값 여부가 NULL인 경우, 'N'으로 출력# CASE WHEN [조건] THEN [True일 때] ELSE [False일 때] ENDSELECT a.warehouse_id, a.warehouse_name, a.address, case when a.freezer_yn is null then 'N' else a...