Metrics Maven: Calculating a Moving Average in PostgreSQL

<span class="token keyword">SELECT</span> <span class="token number">ad</span><span class="token punctuation">.</span>date<span class="token punctuation">,</span>  
       AVG<span class="token punctuation">(</span><span class="token number">ad</span><span class="token punctuation">.</span>downloads<span class="token punctuation">)</span>
            <span class="token keyword">OVER</span><span class="token punctuation">(</span><span class="token keyword">ORDER</span> <span class="token keyword">BY</span> <span class="token number">ad</span><span class="token punctuation">.</span>date <span class="token keyword">ROWS</span> <span class="token operator">BETWEEN</span> <span class="token keyword">UNBOUNDED</span> <span class="token keyword">PRECEDING</span> <span class="token operator">AND</span> <span class="token keyword">CURRENT</span> <span class="token keyword">ROW</span><span class="token punctuation">)</span> <span class="token keyword">AS</span> avg_downloads_ytd
<span class="token keyword">FROM</span> app_downloads_by_date <span class="token number">ad</span>  
<span class="token punctuation">;</span>

express-brute

A brute-force protection middleware for express routes that rate limits incoming requests

A brute-force protection middleware for express routes that rate-limits incoming requests, increasing the delay with each request in a fibonacci-like sequence.