언어/Golang

    고루틴(goroutine)은 무조건 빠를까?

    goroutine 고루틴은 go에서 제공하는 기능으로 go 키워드를 이용해 쉽게 병렬 처리를 가능하게 하는 기법이다. 나는 고루틴을 쓰면 쓰지 않은 것보다 항상 빠를 것이라고 생각했다. 결론적으론 고루틴을 사용한 코드가 사용하지 않은 코드보다 더 느렸는데, 더 느린 이유가 궁금해서 검색하다가 다음 글을 찾았다. https://appliedgo.net/concurrencyslower/ Slow down your code with goroutines - Applied Go Concurrent code can be slower than its serial counterpart due to CPU cache synchronization appliedgo.net 내가 했던 방식처럼 하나의 슬라이스를 여러 CPU ..

    외박 신청 어플 API 리팩토링

    좀 더 나은 성능으로 이전에 고루틴을 활용해 외박 신청에 실패한 글을 작성하였다. 그래서 사실 API 코드를 리팩토링 하는 것은 포기하고 있었으나 문득 그런 생각이 들었다. 다른 부분에서 고루틴을 활용(파싱이라던가)하면 되지 않을까? 만약 안되면 고루틴이 아니더라도 Go가 js보다 빠르지 않을까? 따라서 리팩토링을 진행해보기로 했다. 결과는 잘 완료돼서 현재 Lambda에 배포하였다. https://github.com/AUTO-Overnight/Auto_Overnight_API GitHub - AUTO-Overnight/Auto_Overnight_API: 학교 외박신청 자동화 App이 사용하는 API 학교 외박신청 자동화 App이 사용하는 API. Contribute to AUTO-Overnight/Au..

    고루틴을 이용해서 외박 신청 해보기

    고루틴을 이용해서 외박 신청 해보기

    문득 든 생각 https://smgthings.tistory.com/10?category=965902 학교 외박 신청 어플 제작 후기 : serverless를 이용한 aws lambda backend 우리 학교 외박 신청은 절차도 복잡하고 인터페이스도 사용자 친화적이지 않아서 학생들의 원성이 높다. (물론 나를 포함) 그래서 가끔 이런 외박 신청을 쉽게 해주는 어플이 만들어지기를 기대 smgthings.tistory.com 나는 학교 외박 신청 어플의 API를 만들어서 운영하고 있다. 사실 조금 아쉬운 점이 존재했는데 바로 한 달 외박 신청이 조금 느리다는 것이다. 느린 이유는 28개의 외박 신청을 하나하나 http requests 보내기 때문이다. 바로 이 부분인데, xml을 만들고 axios post..