본문 바로가기

2016/08/10

거듭제곱 계산하기 RSA 암호화를 하는 과정에 있어서 거듭 제곱을 계산할 필요가 있습니다. $a^n$을 계산할 때 for이나 while 문과 같이 반복문을 이용해서 $n$번을 곱하는 방법이 가장 쉽게 생각할 수 있는 방법입니다. def easy_mod_pow(base, exp, mod): base %= mod result = 1 while exp > 0: result = (result * base) % mod; exp -= 1 return result 이 알고리즘의 경우에는 시간 복잡도를 생각하면 $O(n)$이라는 것을 알 수 있습니다. (반복문이 n번 돌기 때문) 즉 $n$의 값이 크면 그 만큼 속도가 느려진다는 것을 의미하고, RSA 암호화 과정에서는 $n$의 값을 큰 것으로 사용하기 때문에 이러한 방법으로는 어렵다는..
카카오톡 자동응답 템플릿 제작중.. 현재 github에 올라가 있는 카카오톡 자동응답의 경우에는 css를 거의 적용하지 않아서 디자인적인 측면을 거의 고려하지 않고, 단순히 기능 구현에만 치중하였다. https://github.com/humit0/kakao_auto_reply/issues/1 여기에서 UI가 너무 딱딱하다는 말을 보고, UI를 좀 더 새롭게 꾸며보자라는 측면에서 템플릿을 제작하기 시작했다. 처음에는 Bootstrap을 사용해서 디자인을 꾸밀까도 생각을 해보았는데, 이왕이면 다른 라이브러리를 사용해보는 것이 어떨지 생각을 해서 사용을 한 것이 Materializecss이다. 구글의 디자인패턴인 Material을 구현하는데 편리하다는 장점이 있으며 Bootstrap에 비해서 좀 더 지원을 해주는 component가 많다는 점이..