markdown AEMathExpShake.md

AEMathExpShake.md
[![Image from Gyazo](https://i.gyazo.com/e9090392d547ad6218a2e9237a5dbd44.gif)](https://gyazo.com/e9090392d547ad6218a2e9237a5dbd44)

```
vel=45;
amp=40;
decay=2.;
amp*Math.sin(vel*time)/Math.exp(decay*time);
```

## Math.exp()
自然対数の底e(ネイピア数)を、引数に指定した指数xで累乗する

したがって指数関数的に後半で急激に上昇するアニメーションに使える。今回は割る数が急激に増えることでぶるぶる震えて0に近似して止まるアニメーションになっている

cf. [AfterEffects エクスプレッション Math.expを使って加速減速を表現する](https://bizvalley.co.jp/blog/5215.html)

markdown AEPositionToDegrees.md

AEPositionToDegrees.md
[![Image from Gyazo](https://i.gyazo.com/09ffe2beb8d77595f27d3fbe8ab220c2.gif)](https://gyazo.com/09ffe2beb8d77595f27d3fbe8ab220c2)

位置情報を角度に変換する

```
angle = thisComp.layer("Star").transform.position - position;
radians = Math.atan2(angle[1], angle[0]);
radiansToDegrees(radians);
```

## atan2
直交座標の点の偏角を求める。  
=ベクトル(座標)を与えるとx軸と成す角度を出す

cf.
- [atan関数とatan2関数の意味と違い](https://mathwords.net/atan2)
- [arctan2(アークタンジェント2)ってなんぞ?](http://nomoreretake.net/2013/10/21/arctan2/)

markdown Mailcatcher

mailcatcher
### Get mailcatcher working on linux   
`mailcatcher --ip=0.0.0.0`   
Then in the browser go to `{yourIP}:1080`

markdown 通过Techno

詹金斯

list of techno


Jenkins
- [https://github.com/gquere/pwn_jenkins](https://github.com/gquere/pwn_jenkins)

markdown Node.js到处都有环境变量!

node-environment-variables.md
Node.js Everywhere with Environment Variables: https://medium.com/the-node-js-collection/making-your-node-js-work-everywhere-with-environment-variables-2da8cdf6e786

markdown AEseedRandomIndex.md

AEseedRandomIndex.md
[![Image from Gyazo](https://i.gyazo.com/edda9b99ba17004b435a82e9652a6c96.gif)](https://gyazo.com/edda9b99ba17004b435a82e9652a6c96)

```
a = effect("周波数")("スライダー");
b = effect("強さ")("スライダー");

seedRandom(index/5);

wiggle(a,b);
```

seedRandomで乱数値が時間の影響を受けるようにする。  
indexで少しずつズラす。  
スクリプトが完成したら複製する。

cf.
- [イトウ先生のTips note 【AfterEffects CC 2019】randomメソッドとseedRandomメソッド](https://www.dsp.co.jp/tocreator/all/itohsensei-randommethod_seedrandommethod/)

markdown AELeftTime.md

AELeftTime.md
[![Image from Gyazo](https://i.gyazo.com/2725389d490db38922680a366f59e4ff.gif)](https://gyazo.com/2725389d490db38922680a366f59e4ff)

```
timeToTimecode(t = thisComp.duration - time - thisComp.frameDuration,timecodeBase = 30,isDuration = true);
```

markdown 对比度

contrast-ratio.md
Designing for Accessibility: Contrast Ratio: https://blog.heroku.com/designing-for-accessibility-contrast-ratio

markdown AEloopOut.md

AEloopOut.md
`Property > loopOut` でキーフレームの繰り返し

[![Image from Gyazo](https://i.gyazo.com/7f398c37c6a1a83a0fc2d5eee7fb0c8d.gif)](https://gyazo.com/7f398c37c6a1a83a0fc2d5eee7fb0c8d)

部分的に修正したい場合には、  
キーフレーム補助 > エクスプレッションをキーフレームに変換  
で1フレームずつキーを打ち手動で調整する方法もあり

markdown

cypress-resources.md
- Cypress Scenario Recorder (chrome extension): https://chrome.google.com/webstore/detail/cypress-scenario-recorder/fmpgoobcionmfneadjapdabmjfkmfekb
- Cypress image snapshot: https://github.com/mjhea0/cypress-visual-regression
- Dashboard: Once `cypress open`, go to Runs tag and click "Set up project to record"
- Testing mobile, tablet and desktop devices with Cypress: https://maximilianschmitt.me/posts/cypress-testing-mobile-tablet-desktop/