基于 Web 引擎技术的 Web 内容录制
随着基于WebRTC技术的Web应用快速成长,记录web在线教育、视频会议等场景的互动内容并对其准确还原越来越成为一项迫切需求。在主流浏览器中,通常基础设施部分已实现了页面渲染结果的采集及编码。开发者可以利用浏览器提供的API对页面内容进行录制。但受限于Web标准以及浏览器厂商在专利授权方面的问题,
这10个让你笑的合不拢嘴的GitHub项目,居然拿了7万星
前言我敢保证看完下面的几个项目,你收藏夹一定会多几个网址,越用越开心,用完之后高呼“GitHub大法好”、“女装才是正义!”~对于程序员来说,GitHub那是每天必刷,早就珍藏了100+GitHub上的项目。这次小七从中精挑细选出来10个哪怕刚开始学编程也能用,并且越用越爽的项目~Dress首先迎来
如何获取一个进程所占用的内存
本文收录于GitHub日问:DailyQuestion,内含大厂内推机会、面经大全及若干面试题,每天学习五分钟,一年进入大厂中。大厂面经大全大厂内推通过ps可以获知一个进程所占用的内存$ps-Orss-p3506PIDRSSSTTYTIMECOMMAND35066984Spts/100:00:00v
如何实现防抖和节流,以及他们的使用场景是什么?
防抖,顾名思义,防止抖动,以免把一次事件误认为多次,敲键盘就是一个每天都会接触到的防抖操作。 想要了解一个概念,必先了解概念所应用的场景。在 JS 这个世界中,有哪些防抖的场景呢 节流,顾名思义,控制水的流量。控制事件发生的频率,如控制为1s发生一次,甚至1分钟发生一次。与服务…
Redis都要老了,你还在用什么古董客户端?
大神累了,Redis老了,但Redis依旧很火。 Redis的Java客户端有很多,比如jedis、redisson、lettuce等。 今天xjjdog做了一个小调查。下面是统计结果。 可以看到jedis以绝对的优势占据了榜首。 下面简单的分析一小下。 jedis和redis…
新一代缓存Caffeine,速度确实比Guava的Cache快
我想把记忆缓存起来,等再次见到你,就能够很快认出你。 能够说出这么有哲理的话,得益于我对缓存的理解,以及对它的看重。没有了缓存,我的人生就没有了意义。 缓存是非常重要的,工作中大部分工作可以说是和缓存打交道。由于使用广泛,所以针对缓存系统的任何优化,如果能够提高一丁点儿性能,就…
【扯文】互联网思维,在下拜服!!!!
故事虚构,雷同巧合。发表这个声明本非我愿,但不能不声明一下,否则容易对号入座,造成不必要的伤害。 7月的天,亮的有些早。我是貂蝉我会飞,还没从王者荣耀的亢奋中醒过神来,闹钟就响了。努力的挑开眼皮,突然间想起,今天早晨9点钟,还有一个重要的会议。 这种突发事件,证明我的时间管…
几个命令教你如何监控 Node 服务的内存情况
当使用 Node 在生产环境作为服务器语言时,并发量过大或者代码问题造成 OOM (out of memory) 或者 CPU 满载这些都是服务器中常见的问题,此时通过监控 CPU 及内存,再结合日志及 Release 就很容易发现问题。 以下是一个 Node Server 的…
js 如何全部替代一个子串为另一个子串
本题摘自于我github上的面试每日一题:github.com/shfshanyue/…,并有大厂面经及内推信息如果需要全量替换字符串,可以使用String.prototype.replace(re,replacer),其中正则表达式需要开启globalflagconsts='foofoofoo's
redis的zset有多牛?请把耳朵递过来
本篇文章很短,但信息量很大,是关于redis的zset。我来分享一点遇到过的线上数据,或许对你的决策有帮助。 redis支持一个数据结构,叫做 zset,也就是有序的列表。当然redis也不能滥用,可以看我以前的规范文章: 忘了zset是个啥的同学可以看这张gif图。 通过它,…
服务器端如何获得客户端 IP 地址
如果有 x-forwarded-for 的请求头,则取其中的第一个 IP,否则取建立连接 socket 的 remoteAddr。
你想每天定时向你的女朋友发一句早安吗? 教你开发一个微信机器人
wechaty 是一个使用 typescript 开发的机器人,我已经使用 wechaty 做了很多关于有趣的自动化的工作。 你可以通过 wechaty 把你的微信变成一个机器人,如果你有两个微信号的话,那就收获了一枚机器人小助手。通过编程的手段与它接入基金与股票的接口,再加一…
“kill -9”一时爽,秋后算账泪两行
kill是杀死的意思,带有主动的意味。鉴于master、slave这样的名词,需要在计算机软件中进行整改,kill这样明显带有负面信息的单词,按理说也需要被干掉。 不过,如果把命令名字改了,效果也许会更好。因为在Linux上,kill根本就不是杀死的意思。 它只是想要给进程发送…
Java如何获取方法参数具体名称?这是个好问题!
默认情况下,我们是无法获取方法中参数名称的。通过反射机制,也只能得到参数的顺序以及一些没有意义的变量:arg0、arg1等等。 但我们又确实需要这部分信息。比如IDE的自动提示,文档化服务接口的详细信息等。 这是因为,这些变量的名字,根本就没有编译进class文件中,它不可能凭…
一般人不敢动系列之—基于logback的日志“规范”和“脱敏”
在日常开发中,我们经常会使用logback打印日志,还会包含一些敏感内容。比如手机号、卡号、邮箱等,这对数据安全而言是有风险的。 但是如果让业务去处理这些问题,则需要在每个打印日志的地方,进行重复的脱敏操作,不仅繁琐影响代码风格,还会有遗漏情况。 这个时候,我们就需要考虑一个相…
实践一把Loki,体验掌上起舞的轻盈
前两天,我们安利了一个轻量级的日志收集工具Loki。有多轻呢?假如她是个姑娘的话,我觉得是可以在手掌上跳舞的。你说她年轻?这不正是魅力所在么? 对此不太熟悉的同学,可以先看这篇文章。可以看到,他是grafana家族的,界面支持上自然有保证。有了它,就不用在grafana和kib…
部署利器 helm v3 安装以及使用指南
helm 是基于 kubernetes 的包管理器。它之于 kubernetes 就如 yum 之于 centos,pip 之于 python,npm 之于 javascript。 当然 helm 更伟大的在于它的思想上:Separation of concerns。使得运维人…
df 被 hang 住,无法查看磁盘使用情况解决
情景再现在centos7中,当使用df命令查看磁盘空间时被hang住,时隔两周决定处理这个问题捉虫df命令hangingstracedf,查看系统调用,发现阻塞在了stat("/proc/sys/fs/binfmt_misc")mount|grepbinfmt,查看挂载情况,输出systemd-1o
nginx“线程池模式”探讨;据说有9倍性能提升
相对于Apache的同步IO模型,Nginx由于采用了NIO的缘故,性能上碾压前者。Nginx是轻量级的,占用的系统资源更少,天然支持高并发。 今天我们就简单的讨论一下nginx的线程模型。注意不是进程模型哦。 nginx的IO模型,大家应该都有所了解。 nginx是以多进程模…
云服务器基本指标信息查看及命令
通过前几章内容的学习,我们已经可以很容易地进入云服务器及从 github 拉取代码。本章内容将会为你介绍如何查看云服务的基本配置。 关于云服务器系统的基础信息,在购买时就会有标明,至于一些资源的使用情况在云服务器服务商的控制台上也有相应的监控。 load average 指单位…