안돼요(여기서 안돼요는 동작하지 않는다는 의미이다.), 느려요. 이 말을 들으면 난감하다.

느리다는 것은 여러 의미가를 담고 있다. 인터넷이 느려서 느려요. 서비스 로직의 결과가 느려서 느려요. 사용자의 컴퓨터가 느려서 자바스크립트가 많아서 느려요. 화면 스크롤이 느려요. 리스트 개수가 많으면 느려요. 저장 할 때 느려요. 상세 페이지 볼 때 느려요. 검색할 때 느려요. 맵이 느려요. 등등의 의미를 담고 있다. 

안돼요라는 의미도, 제 계정에서만 안돼요. 인터넷이 잠시 끊껴서 안돼요. 권한이 없어요. 저장할 때 안돼요. 등등이 있다. 

어떤 경우에는 개발자만 이해할 수 있는 문제이고, 어떤 경우는 비개발자도 알 수 있는 경우가 있다. 어떤 경우에는 비개발자도 알 수 있도록 에러 문구를 넣기도 한다. 

어째든 그냥 무턱되고 "느려요." 라는 말을 들으면 참 난감하다. 그래서 불필요한 서버 사이드 개선을 하기도 하고, 서버 사양을 높이기도 한다. 어떤 면에서는 비개발자도 그 정도는 알 수 있는 것인데 라는 생각이 들기도 한다. 버그 리포팅 같은 경우도 상세히 해주면 참 좋은데 라는 생각이 많이 든다. 

 

 처음으로 오픈소스 프로젝트에 버그 리포팅을 했다. (https://github.com/olifolkerd/tabulator/issues/2461 )
저번에 구글맵에 대해서 버그 리포팅한 적은 있었으나 오픈소스 프로젝트에는 처음이었다. 회사에서 사용하는 라이브러리인데, 우선 대충 고쳤으나 원칙적인 해결책을 제작자에게 리포팅하는게 좋을 것 같고, 대략적인 문제라도 같이 공유하는게 좋을 것 같아서 리포팅했다. 그리고 내가 대충 고치면 다음에 라이브러리를 업데이트 할 때 그 코드를 다시 패치해야 하는 문제가 있다. 또, 잠재적인 문제가 있을 지도 모른다. 

 가장 좋은 것은 내가 pull request 을 내가 보내는 것인데, 그럴러면 코드를 규칙을 지켜야 해서 그러기에는 너무 귀찮았다. 또, 내가 임시로 만든해결책이 다른 문제를 안고 있을 수도 있다. 

 어째든 개발자의 답변이 달리니까 뭔가 기분이 좋다. 대략적인 문제의 원인과 해결해야 하는 방향을 제시했으니 더 뿌듯하다. 

 

요즘 회사에서 웹서비스의 속도 향상을 위해 tunning 중이다.

전에 개발하는 것은 대부분  admin 만 개발하는 것이라 속도에 대해서 별다른 생각이 없었는데, 사용자 서비스 위주의 웹서비스도 필요하다보니 속도를 향상시키고 싶은 욕구가 생겼다. 그러다가 파이썬으로는 어쩔 수 없나 하는 생각이 들었다. 

https://www.techempower.com/benchmarks/ 

 

TechEmpower Web Framework Performance Comparison

Performance comparison of a wide spectrum of web application frameworks and platforms using community-contributed test implementations.

www.techempower.com

이 사이트에 보면 여러 서비스별 속도를 측정한 것이 보인다. 내가 전에 사용했던 django 그리고 요즘 사용하고 있는 flask 모두 좋은 점수는 아니다. 그러다 이 사이트에서 uvicorn, sanic 이라는 시스템을 발견했다. 이것도 파이썬인데 꽤 괜찮은 순위에 올라 있는 항목이 있었다. (물론 다른 것들에 비해서는 순위가 낮지만 파이썬 치고는 상위 랭크로 된 테스트들이 있었다.) 여기에 관심을 갖다보니 그래도 어느정도 매뉴얼이 있고 개발환경이 완성되어 보인 sanic 이라는데 관심이 생겼다. 

 비동기성을 이용한  방식인데, 이 방식으로 하려면 기존 개발 방식에서 많이 변경되어야 한다. 그래서 기존에 만든 회사 프로젝트로는 무리이고 그냥 내 개인 프로젝트에 적용해 보고 싶은 욕구가 생긴다.