2020第24周

20202-06-08

  1. 面试指南 http://notfound9.github.io/interviewGuide/#/docs/BATInterview
  2. https://www.dolphindb.cn/
    1. DolphinDB是一款高性能分布式时序数据库。DolphinDB集成了功能强大的编程语言和高容量高速度的流数据分析系统,为海量数据(特别是时间序列数据)的快速存储、检索、分析及计算提供一站式解决方案。DolphinDB操作简单,可扩展性强,具有良好的容错能力及优异的多用户并发访问能力。
    2. DolphinDB极大地降低了大数据管理和分析系统的综合成本。由于DolphinDB的综合解决方案具有无与伦比的高性能和低维护成本优势,用户无需使用不同供应商的多个系统。DolphinDB database 可以在Linux或Windows系统、单个节点或集群、本地或云服务器中部署。
    3. https://github.com/dolphindb

20202-06-11

  1. FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用 LGPL 或 GPL 许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频 / 视频编解码库 libavcodec,为了保证高可移植性和编解码质量,libavcodec 里很多 code 都是从头开发的。

  2. FFmpeg 在 Linux 平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括 Windows、Mac OS X 等。这个项目最早由 Fabrice Bellard 发起,2004 年至 2015 年间由 Michael Niedermayer 主要负责维护。许多 FFmpeg 的开发人员都来自 MPlayer 项目,而且当前 FFmpeg 也是放在 MPlayer 项目组的服务器上。项目的名称来自 MPEG 视频编码标准,前面的 "FF" 代表 "Fast Forward"。

  3. 常用命令

    ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4
    // 去掉视频中的音频
    ffmpeg -i input.mp4 -vcodec copy -an output.mp4
    // -an: 去掉音频;-vcodec: 视频选项,一般后面加 copy 表示拷贝
    
    // 提取视频中的音频
    ffmpeg -i input.mp4 -acodec copy -vn output.mp3
    // -vn: 去掉视频;-acodec: 音频选项, 一般后面加 copy 表示拷贝
    
    // 音视频合成
    ffmpeg -y –i input.mp4 –i input.mp3 –vcodec copy –acodec copy output.mp4
    // -y 覆盖输出文件
    
    // 剪切视频
    ffmpeg -ss 0:1:30 -t 0:0:20 -i input.mp4 -vcodec copy -acodec copy output.mp4
    // -ss 开始时间 ; -t 持续时间
    
    // 视频截图
    ffmpeg –i test.mp4 –f image2 -t 0.001 -s 320x240 image-%3d.jpg
    // -s 设置分辨率 ; -f 强迫采用格式 fmt;
    
    // 视频分解为图片
    ffmpeg –i test.mp4 –r 1 –f image2 image-%3d.jpg
    // -r 指定截屏频率
    
    // 将图片合成视频
    ffmpeg -f image2 -i image%d.jpg output.mp4
    
    // 视频拼接
    ffmpeg -f concat -i filelist.txt -c copy output.mp4
    
    // 将视频转为 gif
    ffmpeg -i input.mp4 -ss 0:0:30 -t 10 -s 320x240 -pix_fmt rgb24 output.gif
    // -pix_fmt 指定编码
    
    // 将视频前 30 帧转为 gif
    ffmpeg -i input.mp4 -vframes 30 -f gif output.gif
    
    // 旋转视频
    ffmpeg -i input.mp4 -vf rotate=PI/2 output.mp4
    
    // 缩放视频
    ffmpeg -i input.mp4 -vf scale=iw/2:-1 output.mp4
    // iw 是输入的宽度, iw/2 就是一半 ;-1 为保持宽高比
    
    // 视频变速
    ffmpeg -i input.mp4 -filter:v setpts=0.5*PTS output.mp4
    
    // 音频变速
    ffmpeg -i input.mp3 -filter:a atempo=2.0 output.mp3
    
    // 音视频同时变速,但是音视频为互倒关系
    ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mp4
    
    // 视频添加水印
    ffmpeg -i input.mp4 -i logo.jpg -filter_complex [0:v][1:v]overlay=main_w-overlay_w-10:main_h-overlay_h-10[out] -map [out] -map 0:a -codec:a copy output.mp4
    // main_w-overlay_w-10 视频的宽度 - 水印的宽度 - 水印边距;
    
    // 截取视频局部
    ffmpeg -i in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4
    // 截取部分视频,从 [80,60] 的位置开始,截取宽 200,高 100 的视频
    ffmpeg -i in.mp4 -filter:v "crop=80:60:200:100" -c:a copy out.mp4
    // 截取右下角的四分之一
    ffmpeg -i in.mp4 -filter:v "crop=in_w/2:in_h/2:in_w/2:in_h/2" -c:a copy out.mp4
    // 截去底部 40 像素高度
    ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4
    
  4. pprof

    1. pprof是用于可视化和分析配置文件数据的工具
    2. https://github.com/google/pprof
    3. pprof读取profile.proto格式的概要分析样本的集合,并生成报告以可视化并帮助分析数据。它可以生成文本和图形报告(通过使用点可视化包)。
    4. pprof可以使用perf_data_converter软件包中的程序 读取Linux perf工具 perf.data生成的文件
  5. iTerm2+oh-my-zsh配色

    1. https://www.jianshu.com/p/246b844f4449
  6. 可执行文件的终极打包器

    1. https://github.com/upx/upx
    2. https://github.com/nirhaas/gopacker 类似UPX的压缩程序,用于压缩可执行文件
  7. Golang统计软件包

    1. https://github.com/montanaflynn/stats

    2. 一个经过良好测试且功能全面的Golang统计资料库/软件包/模块,没有任何依赖关系。

    3. 测试用例生成

    4. 单个函数测试

    5. 对象单元测试

    6. 基准测试

    7. 覆盖测试

    8. http API逻辑测试

    9. http API负载测试

    10. 数据mock生成

    11. 测试报告生成

    12. 回归测试

20202-06-12

  1. 高级表格插件
    1. https://github.com/grid-js/gridjs
    2. Grid.js可以与任何JavaScript框架(React,Angular,Preact或VanillaJS)一起使用
  2. Stuxnet 蠕虫病毒可能是有史以来最复杂的软件
    我们不知道 Stuxnet 的作者是谁,只知道大概是在2005年至2010年间编写的。
    
    这种病毒藏在 U 盘上。当 U 盘插入 PC,它会自动运行,将自已复制到该 PC。它至少有三种自动运行的方法。如果某种方法行不通,就尝试另一种。其中的两种运行方法是全新的,使用了 Windows 的两个无人知晓的秘密 Bug。
    
    一旦蠕虫进入 PC ,它会尝试获得该 PC 的管理员权限,使用的也是前面提到的那两个无人知道的秘密 Bug。然后,它把自己留下的痕迹全部清除,不让防病毒软件检测到它的存在,用户不会看到任何东西。这种蠕虫隐藏得很好,出现后一年多,没有任何一家安全公司发现它的存在。
    
    它会秘密访问 http://www.mypremierfutbol.com 或 http://www.todaysfutbol.com 这两个网站,告诉服务器已经成功侵入了一台新的 PC,然后从网站下载最新版本自行更新。
    
    它会将自身复制到任何插入该 PC 的 U 盘。使用的 U 盘驱动程序由 Realtek 公司进行了数字签名,但是 Realtek 公司并不知道有这个签名。这意味着,蠕虫作者能够获取 Realtek 公司的最高密钥。
    
    它利用两个 Windows 的 Bug ----一个涉及网络打印机,另一个涉及网络文件----将自己传播到局域网里面的其他计算机上。
    
    直到这一步,它的真正任务还没有开始。
    
    它在每一台计算机上寻找一种由西门子设计的用于大型工业机械自动化的控制软件。一旦发现这种软件,它会使用另一个以前未知的 Bug,将自身复制到工业控制器的驱动程序。然后,它会检查两家特定公司的工业电机,其中一家公司在伊朗,另一家在芬兰。它要搜索的特定电机称为变频驱动器,主要用于运行工业离心机,提纯多种化学品,比如铀。
    
    由于蠕虫完全控制了离心机,因此它可以做任何事情,可以将离心机全部关闭,也可以将它们全部摧毁:只需设定以最大速度旋转离心机,直到它们全都像炸弹一样爆炸,杀死任何恰好站在附近的人。
    
    但它没有这么做,一旦它控制了每台离心机......它就进入潜伏。一旦达到设定的时间,它就会悄悄地唤醒自己,锁住离心机,使得人类无法关闭这些机器。然后悄悄地,蠕虫开始旋转这些离心机,修改了安全参数,增加了一些气体压力......
    
    此外,它还会在离心机正常运转的时候,偷录一段21秒的数据记录。当它控制离心机运行的时候,会一遍又一遍地播放这段数据记录。管理人员会看到,计算机屏幕上的所有离心机运行数据都很正常,但这其实是蠕虫让他们看的。
    
    现在让我们想象一下,有一家工厂正在用离心机净化铀。电脑上的所有数字都表明离心机运行正常。但是,离心机正在悄悄地出问题,一个接一个地倒下,这使得铀产量一直下降。铀必须是纯净的。你的铀不够纯净,无法做任何有用的事情。
    
    工厂的管理者根本找不到原因,离心机的数据是正常的。你永远不会知道,所有这些问题都是由一种计算机蠕虫引起的。这是一种历史上最狡猾和最聪明的计算机蠕虫,它由一些拥有无限资金和无限资源的令人难以置信的秘密团队编写,并且设计时只考虑一个目的:偷偷摧毁某个国家的核弹计划,并且不被发现。
    

1. JavaScript 算法与数据结构
    1. https://github.com/trekhleb/javascript-algorithms/blob/master/README.zh-CN.md
posted @ 2020-06-15 09:17  白云辉  阅读(110)  评论(0编辑  收藏  举报