본문 바로가기

분류 전체보기125

긴 처리시간을 필요로 하는 서비스 설계 고찰 앞에서는 Rest API Request 에 대해 Response 까지 기다리는 설계에 대해 고찰해 보았다. 이는 결과가 빠른시간내에 처리되는 경우에 적합한 설계이지만 만약 긴 처리시간을 요구하는 Request 에 대해서는 다른 설계를 고찰해야 한다. 예를들면 책 1권의 Word 화일을 일정의 문자수를 분리를 하여 OpenAI 의 GPT Api 에 프롬프트와 함께 Request 한다고 하면 긴 처리가 끝날 때까지 결과를 마냥 기다릴 수는 없을 것이다. 이럴 경우에 아래와 같은 설계를 제안할 수 있다. 2023. 12. 1.
ai 모델 서비스 설계 고찰 개의 종을 학습시킨 모델을 생성하여 웹서비스를 하고자 한다고 하면, 아래와 같이 접속때 마다 Flask의 Rest API Request 처리 안에서 대응하고자 한다면 매번 모델을 로딩하는 결과를 초래한다. 대안으로써는 별도 추론 쓰레드를 생성하여 모델을 한번만 로딩하고 브로커(redis)를 사용하여 Rest API Request 와 추론쓰레드간의 중계역할을 해주도록 한다. 다음 칼럼에서는 위의 설계를 코드로 실현해 보도록 하자. 2023. 12. 1.
(React) const, var, let keyword scope const 전체 var 와 같으나 한번 값이 할당되면 바꾸지 못함 var function 내 서브블럭내에서 다시 같은 이름의 변수를 할당하여도 똑같은 변수를 가르킨다. let 블럭( { } ) 내 블럭내에 선언하면 블럭을 빠져나오면 사라짐 // case 1 function varScoping() { var x = 1; if (true) { var x = 2; console.log(x); // will print 2 } console.log(x); // will print 2 } // case 2 function letScoping() { let x = 1; if (true) { let x = 2; console.log(x); // will print 2 } console.log(.. 2023. 12. 1.
(React) map map array(list, dictionary) 를 조작하여 새로운 array 를 리턴 const fibonacciNumbers = [0, 1, 1, 2, 3, 5, 8, 13, 21, 34] const doubledFibonacciNumbers = fibonacciNumbers.map(number => number * 2) // [0, 2, 2, 4, 6, 10, 16, 26, 42, 68] const users = [ { name: "Park", age: 51, height: "1.90cm" }, { name: "Lee", age: 22, height: "1.67cm" }, { name: "Choi", age: 47, height: "1.59cm" } ] const userNames = users... 2023. 12. 1.