분류 전체보기
-
Mono의 zip method는 항상 async하지 않다개발연습/WebFlux 2024. 12. 13. 19:46
WebFlux를 열심히 공부하며 사용하고 있는 요즘, API latency mornitoring을 진행하다 이상한 점을 발견했다.이 API는 두 종류의 I/O 작업을 호출한 뒤 응답을 만드는 간단한 로직을 가지고 있다. 물론 두 I/O를 Synchronus하게 호출해도 되지만, 나는 WebFlux를 사용하니까 더욱 빠른 응답을 위해 Mono의 zip 메소드를 사용하여 Asynchronus하게 호출해야지! 라고 생각하고 구현하였다.위 그래프에서 맨 아래의 파란색, 붉은색은 각 I/O 작업을 진행한 시간을 의미한다. 분명 Mono의 zip 메소드를 사용했지만 두 I/O 작업은 Synchronus하게 진행되고 있었다.왜 Mono의 zip 메소드는 Synchronus하게 호출될까? 분명 검색해보면 두 Mono가..
-
SPC 2022 후기일기장 2022. 12. 1. 22:09
어느덧.. 마지막 SPC이다. 7학기 재학중인 현재, 다음 봄학기에 어떤 심경의 변화가 있어서 휴학을 하지 않는 이상 SPC는 더이상 참가를 할 수 없다... 마지막 SPC인데, 유종의 미를 거둬야겠다!! .......... 라고 생각했지만, 참가신청 이후 넘치는 운영체제 핀토스 프로젝트와 캡스톤디자인 개발을 진행하다보니, 알고리즘의 a자도 공부하지 못했다. 다른 친구들은 잘만 공부하던데.. 사실 어쩌면 변명일지도 대회 전날 밤 11시에 친구들의 연락을 받았다. 작년 문제 보니 너무 쉬운데 이거 그냥 참가만 해도 수상컷이라는 연락이었다. 작년 문제셋을 확인해보았다. 1번은 쉬우니까 패스, 2번은 그래프, 3번은 DP... 4번이 냅색? 오 이건 좀 어려운데 그런데 3솔만 해도 수상확정이라니.. 친구들 말..
-
CSE4152-4주차 Lane Detection7학기/고급소프트웨어실습 2022. 10. 29. 21:05
base code는 작성되어 있고, 우리는 핵심 로직 부분만 구현을 진행하면 된다. Lane Detection을 진행 할 화면은 다음과 같다. 1. Image crop and Gray scaling edge 추출을 위해서 RGB이미지를 Gray이미지로 변환한다. 그리고, 자동차의 전방 부분만 인식하기 위해 화면의 아랫부분을 자른다. 참고로 현재 이미지의 좌표계는 왼쪽 위가 (0,0) 이고, 각 픽셀의 인덱스는 [Height, Width, RGB]로 표현된다. 따라서, 자동차의 전방부분을 인식하기 위해서는 Height부분을 쪼개야하고, 이후에 계산의 편의를 위하여 Height부분을 뒤집는다. 2. Get Gradient edge를 찾기 위해 gradient를 구해준다. 이 때, gradient를 구하는 방..
-
BOJ 1019 책 페이지알고리즘/수학 2022. 7. 27. 09:22
https://www.acmicpc.net/problem/1019 1019번: 책 페이지 첫째 줄에 0이 총 몇 번 나오는지, 1이 총 몇 번 나오는지, ..., 9가 총 몇 번 나오는지를 공백으로 구분해 출력한다. www.acmicpc.net 간만에 머리좀 굴릴만한 문제를 풀었다. 1 ~ N 까지의 숫자들에 0 ~ 9 의 숫자가 각각 몇번씩 등장하는지 계산하는 문제이다. 당연히 1부터 N까지 하나하나 확인할 수 없도록 만들어놓았다. 그러면 규칙을 찾아야 할텐데.. 규칙을 찾을때는 역시 값이 작은 부분에서 손으로 노가다를 해보면 된다. 두자리수를 가지고 대충 감을 잡고, 세자리수에 적용을 해봐서 수정을 해가면서 식을 찾으면 된다. 아니 왜 세자리수인가요?? -> 가운데자리수 가 등장하는 제일 작은 숫자이..
-
BOJ 10875 뱀알고리즘/구현 2022. 7. 25. 10:49
https://www.acmicpc.net/problem/10875 10875번: 뱀 가로 길이와 세로 길이가 모두 2L + 1인 2차원 격자판이 있다. 이 격자판의 각 칸을 그 좌표에 따라 (x, y)로 표현하기로 한다. 격자판의 가운데 칸의 좌표는 (0, 0)이고, 맨 왼쪽 맨 아래 칸의 좌표는 www.acmicpc.net 문제는 단순하다. 지나온 정점을 다시 지나가려 하거나, 격자판 밖으로 나가면 죽는다!! 그런데.. 격자판의 크기가.. 2억 * 2억 이다. vis배열을 당연히 사용할 수 없다. 나의 굳어버린 머리는 vis배열 없이는 도저히 해결할 수 없을 것 같았다.. 지나간 곳만 저장하는 sparse table을 이용해볼까 했는데.. 모든 정점을 지나가면?? 결국 vis배열을 사용한 것과 같아서..
-
iis에 배포한 node 서버의 반환값이 최신화 되지 않을 때!!개발연습/node.js 2022. 7. 12. 15:55
들어가기 전에 - 노드 서버를 iis에 배포하는 방법 : https://airplane9876.tistory.com/32 node 프로젝트를 iis에 배포해보자! 이미 완성된 node프로젝트가 있다고 가정하자. 1. IIS 사이트에 노드 프로젝트 등록 서버컴퓨터에 접속하여 iis관리자를 연다. 웹 사이트 추가 클릭 사이트 이름 -> iis의 왼쪽 네비게이션 바에서 사 airplane9876.tistory.com 배포까지 완료하고 실제 사용하는 도중 이상한 현상을 발견했다. 요청 경로가 같으면, 노드 서버 내에서는 return값이 달라지는 것이 확인이 되는데, 정작 요청한 페이지에서는 기존의 return값을 가져오는 것이다!! 이것은 iis에서 url만 확인하고 바로 보유중인 캐시값을 return해버리기 ..
-
nuxt 프로젝트를 iis에 배포해보자!개발연습/vue.js 2022. 7. 11. 13:13
1. 필요한 프로그램 설치 nodejs LTS : https://nodejs.org/en/ Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org iisnode : https://github.com/Azure/iisnode GitHub - Azure/iisnode: Hosting node.js applications in IIS on Windows Hosting node.js applications in IIS on Windows. Contribute to Azure/iisnode development by creating an account on GitHub. github.com 알맞는 운영체제..
-
node 프로젝트를 iis에 배포해보자!개발연습/node.js 2022. 7. 11. 12:48
이미 완성된 node프로젝트가 있다고 가정하자. 1. IIS 사이트에 노드 프로젝트 등록 서버컴퓨터에 접속하여 iis관리자를 연다. 웹 사이트 추가 클릭 사이트 이름 -> iis의 왼쪽 네비게이션 바에서 사이트에 나타날 이름 실제경로 -> node 프로젝트의 root경로 바인딩 -> 본인의 iis서버 상황에 맞게 http / https 세팅, 상황에 알맞은 포트 세팅 호스트 이름 -> 도메인이 있다면 입력해준다. 확인 클릭. 2. 필요한 프로그램 설치 2-1. URL Rewrite. 우리는 노드 프로젝트를 pm2를 통해 구동하고, 위에 등록한 IIS 도메인으로 요청이 들어오면 URL Rewrite를 통해 pm2에서 구동되는 프로젝트로 요청을 보낼 것이다. https://www.iis.net/downloa..