728x90
async await는 실무 하다보면 땔래야 땔 수 없는 패턴인데, 막상 신입들에게 promise 반환하는 함수를 직접 짜라고 하면 어디서 부터 해야 하는지 고민하는 경우가 종종 있어서, 간단하게 설명하려고 한다. 1. return 을 new Promise(resolve, reject) 로 하는 함수를 만든다. 2. Promise 안에 로직을 작성하고 try catch 로 reject를 잡아준다. 3. 로직 끝나면 resolve(result) 등으로 리턴값을 전달한다. 코드로 설명하면 다음과 같다 function somethingHappened() { return new Promise((res,rej) => { try{ ... 여기에 무언가 로직을 작성한다. ... } catch (err) { rejec..
이미 다른 프로그래밍 언어를 한개 이상 알고 있다고 가정하고 간단하게 설명한다. 기본적으로 OOP 를 이해한다는 가정하에 , 아래 문법만 익히고 들어가면 flutter 개발에 문제가 없을듯 하다. 다트의 진입점은 void main() 이다. 1. 선언 void main() { int num1 = 10; double num2 = 3.0; String str = 'hello'; bool isTrue = true; // int와 double은 num을 상속받는다 num num3 = 10; num num4 = 10.0; // 으로도 사용가능 //Type Check print(num1 is int); // true print(num2 is int); // false print(num1.runtimeType) //..
이진탐색 import bisect a = [1, 2, 4, 4, 8] x = 4 print(bisect.bisect_left(a, x)) # 2 #데이터x 를 삽입할 가장 왼쪽 인덱스 print(bisect.bisect_right(a, x)) # 4 #데이터 x를 삽입할 가장 오른쪽 인덱스 collections from collections import Counter counter = Counter(['red','blue','red','green','blue','blue']) print(counter['blue']) # 3 print(counter['green']) # 1 print(dict(counter)) # 딕셔너리로 변환 # {'red' : 2, 'blue': 3, 'green': 1} itert..
f-string s = "coffe" n = 35 result = f'I like {s} and I drink {n} cups of {s} a day' print(result) 리스트 메소드 list_a = list() list_b = [1, 2, 3, 4] list_a.append(1) # 1을 추가 list_a.remove(1) # 처음 나온 1을 지움 list_a.count(4) # 4가 몇번 나오는지 list_b.reverse() #뒤집는다 list_b.sort() # 오름차순 정렬 list_a.sort(reverse=True) # 내림차순 정렬 list_a.clear() # 리스트 값 지우기 list_a.extend(list_b) # 리스트에 리스트 값 넣어버리기 (append) # 리스트 길이..
(async () => { await fetch(); })(); 이렇게 async 익명함수로 감싸줘서 사용하면 중간에 await 에서 기존에 하던것 처럼 promise 처리가 끝날때까지 기다린다.
Stateless 하게 만들고, 서버 하루에 한번 껏다켜도 아무 지장없을 수 있는 구조를 짜자. 데이터는 외부 데이터 저장소에 저장하고 stateless 하게 운영하려면 serverless 같은것도 찾아보면 좋겠지? 실제 서비스하는 런타임 환경에서 서버가 설정파일이나 데이터를 못찾아 심각한 이슈를 겪은 경험이 다들 있을건데 여러분이 배포할 때에 배포에는 포함되지 않는 로컬 파일에 불필요한 의존성이나 경로를 설정했기 때문이다. 사실, 어떤 서버가 잘 동작하는 서버라고 말하려면 불사조 처럼 매일 껐다켰다 해도 동작에 아예 지장이 없어야 한다. 서버에 파일을 막 더하고 빼고 해도 큰 이슈가 없어야 하고 유지 보수하는데 쓸데없이 복잡하게 되어있어서 예측 불가능한 일로 사람 신경쓰게 만들면 안된다는 이야기다. 예..