Skip to content

Instantly share code, notes, and snippets.

View azl397985856's full-sized avatar
😟
I may be slow to respond.

lucifer azl397985856

😟
I may be slow to respond.
View GitHub Profile
@azl397985856
azl397985856 / traceId-spanId.js
Last active July 16, 2020 07:38
traceId-spanId 全链路追踪
// 根据 traceId 可以找出一个链路的所有请求
// 根据 spanId 可以就上面找到的所有请求画出调用树🌲
function a({ traceId, spanId, random }) {
if (random > 0.5) {
b({ traceId, spanId: spanId + "." + 1, random: Math.random() });
} else {
c({ traceId, spanId: spanId + "." + 1, random: Math.random() });
interface Action<T> {
payload?: T;
type: string;
}
class EffectModule {
count = 1;
message = "hello!";
delay(input: Promise<number>) {
@azl397985856
azl397985856 / defeating-form-spam-bots.md
Created March 27, 2020 05:34
Defeating Form Spam Bots
<form id='myContactForm' action='https://cohan.me/that-needs-js/'
      data-action='https://cohan.me/your/actual/form/submit/url'>

<script>
    function updateContactFormDestination() {
        var contactForm = document.getElementById("myContactForm");
        var realSubmitUrl = contactForm.getAttribute('data-action');

 contactForm.setAttribute('action', realSubmitUrl);
@azl397985856
azl397985856 / ssl-git-problem.md
Created March 27, 2020 02:53
SSL certificate problem
  1. windows
set GIT_SSL_NO_VERIFY=true git clone
  1. linux
env GIT_SSL_NO_VERIFY=true git push
image: node:4.2.2
cache:
paths:
- node_modules/
stages:
- test
test_async:
@azl397985856
azl397985856 / kill-process-by-port.md
Created March 13, 2020 09:20
kill process by port
lsof -i :端口 
kill -9 进程ID
@azl397985856
azl397985856 / check_webp_feature.js
Created December 10, 2019 06:44
check_webp_feature
function check_webp_feature(feature, callback) {
var kTestImages = {
lossy: "UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",
lossless: "UklGRhoAAABXRUJQVlA4TA0AAAAvAAAAEAcQERGIiP4HAA==",
alpha: "UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAARBxAR/Q9ERP8DAABWUDggGAAAABQBAJ0BKgEAAQAAAP4AAA3AAP7mtQAAAA==",
animation: "UklGRlIAAABXRUJQVlA4WAoAAAASAAAAAAAAAAAAQU5JTQYAAAD/////AABBTk1GJgAAAAAAAAAAAAAAAAAAAGQAAABWUDhMDQAAAC8AAAAQBxAREYiI/gcA"
};
var img = new Image();
img.onload = function () {
var result = (img.width > 0) && (img.height > 0);
@azl397985856
azl397985856 / mac-you-should-move-to-trash-issue.md
Last active January 20, 2020 11:16
“XXX can't be opened. You should move it to trash.” for flash projector applications on mac os sierra

支持esm的浏览器我们可以不polyfill,反之我们才需要polyfill。 我们构建的时候需要打两份,如果将来规则更加细化,我们可以做到更加细致。当然这个东西可以做成服务化,类似polyfill.io

  • build 两次,而且只在 build 阶段做,可以用 webpack 的多配置,也可以多 webpack 实例
  • mjs 格式配 babel-preset-env 的 targets.esmodules 为 true
  • HTML部分
<script type="module" src="bundle.mjs"></script>
window.addEventListener('pointermove', event => {
const events = event.getCoalescedEvents();
for (let event of events) {
const x = event.pageX;
const y = event.pageY;
// draw a line using x and y coordinates.
}
});