作者简介:Steve Yegge是一名程序员,也是博主,写了很多关于编程语言,生产力,和软件文化的文章。他拥有华盛顿大学计算机科学本科学位,20年的业界经验,开发领域涉及嵌入式操作系统、可扩展的电子商务系统、移动设备应用、提升软件生产力的工具等。他曾供职于亚马逊和Google等公司。
徐旭铭,编了十几年程,翻译过几本书,现在在亚马逊当码农。工作和兴趣都是写代码,喜欢看上去很麻烦的问题。住在西雅图,闲暇时喜欢看美剧。
这本书真是太有意思了,里面充斥了作者对各种语言以及开发现象和编程风格的吐槽,但是读来并不让人反感,也不觉得偏激,真是太有才了,真羡慕可以把吐槽文也写得这么棒的人。在书中,作者着重推荐了《重构》注意是Refactori
继续阅读 »
Android 追加流生成 Mp4 文件技术方案(支持中断继续生成)
背景
Android 中 Mp4 文件的生成主要是通过 Mediacodec 将摄像头采集到的视频从 YUV 格式转成 h264 ,再通过 MediaMuxer 将 h264 的视频流生成 mp4 文件,这个过程就不在赘述了, Google 一搜一大把,其中需要注意的是在将 YUV 数据送入 Mediacodec 中之前需要将 YUV 格式从 NV21 转换成编码器能接收的 I420 格式,建议这个过程使用 JNI 来提高效率, java 的实现方式可以参考一下方法:
继续阅读 »
这篇文章是将会是知识图谱系列的第一篇,也算是学习中的一些笔迹吧,希望能够讲清楚一些基本概念。
前世今生
早在12年Google就提出了知识图谱的概念(Knowledge Graph)。实际上知识图谱技术由来已久,只是不停地换名字:专家系统,与以往,链接数据….我们在各个搜索引擎中也看到了相关的应用:
继续阅读 »
自序
人生天地间,若白驹之过隙,忽然而已。无奈诸多俗务缠身,难得清闲。一直都是忙忙碌碌,然而碌碌无为,只顾埋头前行,偶有机会驻足回首,实乃吾之大幸。
因为我的父母是地地道道、兀兀穷年的农民,我这一路摸爬滚打全靠自己不断摸索总结。在人生的道路上,我一直很感谢能给我人生上面指导的人,而技术上面的指导却不是我迫切需要的,技术可以通过Google获得,然而人生的经验却只有过来人才能予以传授。不过我还是信奉我那句话,有变化就有机遇,一定要勇于拥抱变化。
我一直自认为是一个简简单单、没有心机、毫无城府、专心搬砖的人,所以坐下来细细思索,发现没有其它东西以飨读者,唯有一点点技术心得值得予以分享。下面就介绍一下在研究生期间所做的一点点工作。
继续阅读 »
使用@responseBody注解返回json乱码了
Google了一下,找出了以下代码。
public class StringHttpMessageConverter extends AbstractHttpMessageConverter {
public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1");
.....
What's the fuck!
SpringMVC默认编码模式是ISO-8859-1
这里不得不提的是与StringHttpMessageConverter 同级的类
MappingJa
继续阅读 »
应PM需求,YOLO可能会对直播过程中的截屏进行检测并通知其他人,类似于Snapchat,此时iOS同事再次表达了先天优势,iOS系统提供了API呀!Google无果之后决定再次造轮子,为了持续表达对Rx的敬意,命名为RxScreenshotDetector,github 源码地址。
继续阅读 »
说在前面
这两天在帮同学的网站写客户端,要求的功能是点击菜单中的某一项显示一个网页,之前的一个客户端是直接调用Intent跳转默认浏览器来进行访问。这次想做成在应用中访问的,也就是使用WebView来显示,虽然学了安卓快一年了,却从来没有写过WebView,过程中遇到了一些问题,故此记录。
效果展示
正如gif所示,WebView往下滑隐藏Toolbar,往上滑显示Toolbar,往左滑后退,往右滑前进。
WebView下滑隐藏ToolBar,上滑显示ToolBar
使用了Matarial Disign的小伙伴应该很清楚,Google提供了CoordinatorLayout来使控件能够响应滚动事件,比如说当滚动Re
继续阅读 »
文/Robin
Blockchain.com 推出了一款 Podcast,名字就叫做「The Blockchain.com Podcast」。这款 Podcast 可以在 Apple Podcasts、Castbox、Google Podcasts、Spotify 等平台收听,目前已经有 5 期节目了。
这 5 期节目,2 期节目讲了 DeFi,1 期讲了 Algorand,还有 2 期讲解了区块链行业的思考。如果读者感兴趣可以去收听,一方面知新,一方面也可以练习听力。Podcast 的市场,欧美是相当成熟了,连最大的流媒体平台 Spotify 也推出 Podcast 功能。国内的 Podcast 市场,相比而言就要小众得多
继续阅读 »
原文连接:Writing Fast, Memory-Efficient JavaScript
许多 JavaScript 引擎都是为了快速执行的大型 JavaScript 应用程序设计而特别设计,如 Google V8 引擎(正被 Chrome 和 NodeJS 使用)。在开发过程中,如果你关心内存使用情况和页面性能,你应该了解户浏览器的 JavaScript 引擎的内部运作原理。
无论是V8、SpiderMonkey(Firefox)、Carakan(Opera)、Chakra(IE)或其他 JavaScript 引擎,了解引擎背后的一些运行机制可以帮助你更好地优化你的应用程序。但,这并不是说应该专门为某一浏览器或引擎进行
继续阅读 »
什么是tooz
啥是tooz,Google一把就出来。简单的说,tooz是一个python库,是一个实现分布式环境下成员管理、分布式锁、leader选举的框架。tooz最初是eNovance几个工程师编写的,关于tooz产生的背景可以阅读这里。
继续阅读 »