예비군을 다녀오면서 잠시 손을 놨었는데 다시 하기가 지~~~~~인~~~짜 귀찮았다. 근데 해야지 하고 막상 앉아서 하니까 재미있어서 계속만들게 됐다. 생각보다 빨리 되서 기분 좋긴한데 내 수학적 능력이 좀 부족해서 추천 알고리즘을 좀더 깔꼼하게 작성하지 못한거 같아서 나중에 보정할 생각이다.또한 좋은 문제라는 것이 뭘까 고민한 시간이기도 하다 많은 사용자정답을 많이 맞춘 문제? 정답률이 60% ~ 30%사이에 있는 문제? 시도한 사람이 많은 문제? sovled.ac는 사람들이 평가를 해주는 커뮤니티 형식으로 되어 있고 나는 이 사이트를 따라가는 사람이니 많은사람이 맞춘만큼 많은 정보가 있어 랭킹이 정확히 매겨질 확률이 높은 그리고 많은 사람이 관심을 가지는 문제가 좋은 문제라고 판단했다.더보기개인적 사정..
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..
백준 문제 추천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..
백준 문제 추천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. 개인의 실력에 맞춘 추천 ..