[백준 문제 추천/개발 일지] (4) Mapping table 중복 문제  + api호출 요청을 줄이기 위한 노력?
Project : 백준 문제 추천 서비스/개발일지2024. 6. 13. 02:23[백준 문제 추천/개발 일지] (4) Mapping table 중복 문제 + api호출 요청을 줄이기 위한 노력?

sovled.ac에 호출을 적게하려고 노력하다보니 생각할것이 많아졌다. 확실히 내 로직은 빠른데 데이터값을 받아오는데 시간이 걸린다. 중복처리를 안하고 설계를 했다보니 db에 중복으로 데이타가 들어간걸 보고 맨붕 그래서 중복처리 하는김에 로직도 조금씩 리펙토링 했다. 정리가 잘안되서 두서없이 글쓸꺼 같아서 죄송합니다.더보기요즘 올드팝에 빠졌는데https://youtu.be/ZDc-q3Hnldk?si=H_MYjnDW97SUlqVU들으면서 봐주시면 좋겠습니다.api로 user가 푼문제 받아 problem이랑 mapping해서 DB에 저장하기 간단 로직 설명1. GET /solved/user@GetMapping("/user") public void fetchAndSaveUser() throws IOExc..

Python/백준] 17837 새로운 게임 2
Coding Test/Python2024. 6. 12. 23:54Python/백준] 17837 새로운 게임 2

https://www.acmicpc.net/problem/17837구현 문제이다. 자료구조 선택이 중요한거 같다. 시간을 매우 짧게 줬고 공간을 매우 넓게 주었음으로 공간을 최대한 활용해서 시간을 줄이는 것이 키포인트 이다.나는 2차원 stack 공간 pieceOnBoard  + 2차원 색을 저장할 체스판  board + 각각의 체스말의 위치 저장 리스트 pieces를 사용해서 풀었다.처음에는 빨간색 칸으로 이동할때 stack를 사용해서 현재 체스말 위치칸에서 pop하고 다음에 위치하게 될 체스말 위치칸으로 append하는 식으로해서 반대로 돌리고흰색으로 갔을땐 que를 사용해서 앞에서 부터 뺄까 생각했는데 이동하지 않는 말이 앞에 위치할 수 있어서 그리고 한칸에 많아봤자 3개의 stack만 지우면 되서..

[백준 문제 추천/개발 일지] (3) 문제 DB에 저장하기 + tag랑 Mapping하기
Project : 백준 문제 추천 서비스/개발일지2024. 6. 11. 14:12[백준 문제 추천/개발 일지] (3) 문제 DB에 저장하기 + tag랑 Mapping하기

백준 문제 추천db를 만지다가 애를 먹었다. ManytoMany를 사용하는 바보같은 코딩을 하다가 정규화를 해야한다는걸 늦게나마 자각하고 다시한번 설계의 중요성을 느꼈다. jpa에 여러가지 기능이 있는거 같은데 일단 시간이 없으니 나중에 리펙토링할 때 한번 사용해보자고 생각하며 마무리했다.sovled.ac api로 Problem 받아 DB에 저장하기간단 로직 설명1. GET /solved/problem@GetMapping("/problem") public void fetchAndSaveProblem() throws IOException, InterruptedException { int start = 1000; int end = 31980; int batchSiz..

[CS/OS] Interrupt
Computer Science/Operating System2024. 6. 9. 22:08[CS/OS] Interrupt

1. 인터럽트 기본 개념 인터럽트란 무엇이며, 컴퓨터 시스템에서 왜 중요한가요? 인터럽트라는걸 알기위해선 CPU는 한번에 한가지 일만 할 수 있다는 것을 이애해야 한다,(1core = 한가지 일) 이렇게 CPU가 한가지 일을 할 때 일을 중지하고 다른 일을 시키는 요청 이것을 인터럽트라고 한다.인터럽트 = "방해하다" 즉 하는 일을 방해한다는 의미를 그대로 사용한다.cpu가 키보드 입출력을 기다리지 않고 다른일을 하다가 키보드에서 입력이 완료되고 인터럽트 요청하면 키보드에서 입력된 것을 처리하는 것처럼 인터럽트를 사용하면 cpu가 무엇인가를 기다릴 일 없이 효율적으로 일처리가 가능해서 중요하다.키보드같은 입출력 장치는 cpu에 비해서 느리기 때문에 작업이 완료됐는지 cpu에서 확인이 필요한데 cpu가 계..

[백준 문제 추천/개발 일지] (2) 문제 Tag DB에 저장하기 + 회고
Project : 백준 문제 추천 서비스/개발일지2024. 6. 4. 00:03[백준 문제 추천/개발 일지] (2) 문제 Tag DB에 저장하기 + 회고

백준 문제 추천Json을 사용해서 데이터 처리를 처음 해봤다. 공식 문서를 읽고 했는 데도 데이터가 잘 안떠서 내가 만들면서 잘못한 점도 적으려고 한다. 또한 solved.ac의 api를 사용하는 만큼 호출을 적게 해야하는데 이에 대한 고민도 생각해 봐야겠다. sovled.ac api로 Tag 받아 DB에 저장하기간단 로직 설명1. GET /solved/tagpublic class SolvedAPIController { private final ProblemTagService problemTagService; //24-06-03날자상 206개의 tag존재 5page까지 가져오면 됨 @GetMapping("/tag") public void fetchAndSaveProblemTag() ..

[백준 문제 추천/개발 일지] (1) 개발 이유 + sovled.ac API 사용하기
Project : 백준 문제 추천 서비스/개발일지2024. 6. 1. 00:49[백준 문제 추천/개발 일지] (1) 개발 이유 + sovled.ac API 사용하기

백준 문제 추천 알고리즘 스터디를 하다보니 다양한 실력을 가진 사람들을 만난다. 나보다 훨씬 뛰어난 실력으로 문제를 풀어가는 사람이 있는가 하면 내가 어떤 문제를 풀어보면 좋을 것 같다고 추천을 해줄 수 있는 사람들도 만난다. 근데 나를 포함한 이들의 모든 공통점이 어떤 문제를 풀어야 할지 고민을 한다. 자신의 실력대가 어디에 있는지, 자신의 실력대에 풀면 가장 좋은 문제가 뭔지, 어떤 알고리즘을 공부하고 싶은데 어떤 문제를 풀어야 하는지 고르기 힘들어 하거나 모른다. 이런 문제를 추천해주는 블로그, 포스트글 같은건 엄청 많다. 하지만 문제를 풀라고 하는 사람의 개인에 맞춘 추천을 해주지 않는다. 나는 그래서 사용자 개인에게 맞춤 문제 추천 사이트를 만드려고 한다. 요구사항1. 개인의 실력에 맞춘 추천 ..

728x90
반응형
image