Skip to content

Latest commit

 

History

History
198 lines (131 loc) · 7.03 KB

SKILLS.md

File metadata and controls

198 lines (131 loc) · 7.03 KB
  • mac 关闭端口:

ps -ef|grep mysqld”

sudo lsof -i :8100
sudo kill -9 8100
  • npm 清理缓存
npm cache clean -f
    • 控制台输出到 txt
C:\你输入的命令 >output.txt

翻墙

mac 调试 ios 手机上的移动端页面

第一步:打开 iphone 手机的开发者模式,流程是:【设置】->【Safari】->【高级】->开启【Web 检查器】

第二步:打开 Mac 上 Safari 的开发者模式,流程是【Safari】->【偏好设置】->【高级】->【在菜单栏中显示“开发”菜单】勾选

第三步:用数据线将 iphone 手机和 mac 连接起来,在电脑的 safari 中按照流程执行:【开发】->【手机名称】->【正在调试的网站】

git subtree push --prefix .vuepress/dist origin gh-pages
* []()  ![Github stars](https://img.shields.io/github/stars/Snailclimb/JavaGuide.svg)

npm link 不用安装依赖

npm publish 个人不允许发布@xxx/yyy这种名字的包 要加 npm publish --access public, 这里的xxx还必须和我们的用户名相同

mac 录屏 使用 qq 提供的录屏工具 ctrl+command+r,或者 quicktime

备份公司邮箱邮件

查询企业邮箱的 POP、SMTP、IMAP 服务器地址设置

https://qiye.163.com/help/client-profile.html

如何将 outlook 邮件保存到本地

https://zhidao.baidu.com/question/1604321182206045747.html

如何查看 fps

如果你用的是 Chrome,只需几步,快速测试性能:

打开开发者工具 按 Command+Shift+P (Mac) or Control+Shift+P (Windows, Linux) 来打开命令菜单 输入 render,下拉框中选择 Show Rendering。 点击 render 页签,FPS Meter 前打钩。 滚动列表

ssh

生成证书 // openssl req -x509 -newkey rsa:2048 -nodes -sha256 -subj '/CN=localhost' -keyout 密钥.pem -out 证书.pem

使用ssh-keygen生成私钥id_rsa和公钥id_rsa.pub(目录为~/.ssh)

id_rsa.pub放到服务器(或 github)上

TODO:不明白 session key 是什么时候生成的

  1. ssh 到服务器
  2. 服务器会用公钥加密一段信息,
  3. 如果我们的电脑能用私钥解密出来,然后再用session key加密返回给服务器,
  4. 服务器用session key解密后发现是自己原来发送的信息那么就建立连接,此后的信息都用session key加密传送

// 未免密的情况

  1. ssh 到服务器
  2. 服务器发来 Host Key,
  3. 我们确认
  4. 服务器与我们协商生成session key(用 DH 算法)
  5. 服务器要求我们输入密码
  6. 我们输入密码,用session key加密发给服务器
  7. 服务器用session key解密后,发现密码正确,允许登录
  8. 此后我们与服务器之间的所有消息都通过session key加密

// 免密登录

  1. ssh 到服务器,我们用 Private Key 生成签名向服务器发起登录请求
  2. 服务端验证签名,检查自己有没有和这个签名匹配的 Public Key,如果有,则进入下一步。
  3. 服务端生成一串随机字符串,用 Public Key 加密后发送给客户端
  4. 客户端用相应的 Private Key 解密这串字符串,再使用 MD5 hash 和 Session Key 加密该字符串,将结果发送给服务端。
  5. 服务端使用同样的 MD5 hash 和 Session Key 计算这串字符的加密结果,并和客户端发来的结果做比对,如果结果一样,则允许客户端登录。

github 增加 ssh 的方法

在.ssh 目录下

  1. ssh-keygen -t rsa -C "youremail@example.com"
  2. ssh-add ~/.ssh/id_rsa
  3. 复制.pub 到 GitHub

服务器相关

charles 抓不到包的原因

可能是以下原因

  1. 没勾选 Proxy -> macOS Proxy,勾选上 macOS Proxy
  2. 浏览器装的插件拦截了
  3. 不支持对应的协议,如 https http2 等需要另外配置

iterm2找不到nvm命令

需要在iterm2离source

vscode按照code命令

打开面板,输入install code安装

解决github提交commit,contributions不统计显示绿色的问题

https://www.cnblogs.com/dongliu/p/5782329.html

网页性能代码

function getTiming() {
  try {
    var timing = performance.timing;
    var timingObj = {};

    var loadTime = (timing.loadEventEnd - timing.loadEventStart) / 1000;

    if(loadTime < 0) {
      setTimeout(function() {
        getTiming();
      }, 0);
      return;
    }

    timingObj['重定向时间'] = (timing.redirectEnd - timing.redirectStart);
    timingObj['DNS 解析时间'] = (timing.domainLookupEnd - timing.domainLookupStart);
    timingObj['TCP 完成握手时间'] = (timing.connectEnd - timing.connectStart);
    timingObj['HTTP 请求响应完成时间'] = (timing.responseEnd - timing.requestStart);
    timingObj['DOM 开始加载前所花费时间'] = (timing.responseEnd - timing.navigationStart);
    timingObj['DOM 加载完成时间'] = ((timing.domComplete || timing.domLoading) - timing.domLoading);
    timingObj['DOM 结构解析完成时间'] = (timing.domInteractive - timing.domLoading);
    timingObj['总体网络交互耗时,即开始跳转到服务器资源下载完成时间'] = (timing.responseEnd - timing.navigationStart);
    timingObj['可交互的时间'] = (timing.domContentLoadedEventEnd - timing.domContentLoadedEventStart);
    timingObj['首次出现内容'] = (timing.domLoading - timing.navigationStart);
    timingObj['onload 事件时间'] = (timing.loadEventEnd - timing.loadEventStart);
    timingObj['页面完全加载时间'] = (timingObj['重定向时间'] + timingObj['DNS 解析时间'] + timingObj['TCP 完成握手时间'] + timingObj['HTTP 请求响应完成时间'] + timingObj['DOM 结构解析完成时间'] + timingObj['DOM 加载完成时间']);

    for(item in timingObj) {
      console.log(item + ":" + timingObj[item] + '(ms)');
    }

    console.log(performance.timing);

  } catch(e) {
    console.log(performance.timing);
  }
}
getTiming()