Java 一次线上 CPU 飙升问题的分析解决

https://storage.tianshuang.me/2017/09/prepub%20Full%20GC.png
前几日,下了班在家时突然收到监控报警,线上一组业务机器 CPU 被打满至 100%,为了保持服务的稳定运行,临时采取了升级配置、加机器等粗暴的方法将当晚扛了过去。 半夜想了下可能的原因,由于可能因素太多,不能确定,第二天到公司后,在一台预发机器上把 Java Mission Control 所需的参数配置好,然后就等待下一次问题出现呗,果然,没几天,在晚高峰时问题又复现了,马上将线上的流量分了一小部分到提前配置好的预发机器上,没过一会,预发机器的 负载也满了。在Java Mission ...

我是这样搞懂一个神奇的BUG

https://blog.fundebug.com/2017/09/06/fundebug-user-behavior-help-debug/beary_chat_alert.jpg
摘要: 通过分析用户的行为,才想得到为什么会出现这种情况! 前两天在BearyChat收到这样的一个报警消息: 409 ? Conflict ? 平时很少遇到这样的错误,貌似很严重的样子,吓得我赶紧查看到底发生了什么。 仔细查看错误详情发现是因为使用同一个邮箱账号多次注册导致后面的请求数据库直接报错。 但是,不应该啊!我们是事先有做检查的。如果该邮箱已经被注册,会提醒并且不让注册的。难道对方是个黑客,直接调用API发请求?如果是这样那就更加危险了,我们已经被黑客盯上了! 可是这样做对黑客 ...

虚拟货币不宜投资

https://legofan.cc/wp-content/uploads/2017/09/img_59aed1a9005a6.jpg
本文是从投资的角度来看虚拟货币,赌博娱乐并不在考虑范围 最近比特币的疯长,连带着其它虚拟货币的大涨,让世人又看到了一次财富自由的机会。人人都恨自己为什么不早两三个月入手,不然现在早百万富翁了。然而似乎现在入市也不晚,这不上个月还涨了60%,下个月要求不高20%总该有吧,年底翻个翻,虽不财务自由,小康还是能拼一拼的。比特币要是买不起,还有以太币,莱特币,随便挑个,只要比特币涨,它们也不愁会低到哪去。 我只想说有以上想法的——请醒醒吧。这样的想法与赌博,买彩票何异。虽然虚拟货币还不能完全和赌博相 ...

在CDN网络中利用Nginx搭建源站缓存层

http://7sbqda.com1.z0.glb.clouddn.com/cdn-ntt-com2.jpg
It ’s a common practice to setup multiple reverse proxies to protect your website from exposing to public network directly, it adds more flexibilities in load balancing, deployments, caching, etc. This post presents the necessity of an extra caching layer ...

156个Python网络爬虫资源,妈妈再也不用担心你找不到资源!

https://blog.thankbabe.com/imgs/gzh.jpg
本列表包含Python网页抓取和数据处理相关的库。 网络相关 通用 urllib - 网络库(标准库) requests - 网络库 grab - 网络库(基于pycurl) pycurl - 网络库 (与libcurl绑定) urllib3 - 具有线程安全连接池、文件psot支持、高可用的Python HTTP库 httplib2 - 网络库 RoboBrowser - 一个无需独立浏览器即可访问网页的简单、pythonic的库 MechanicalSoup - 能...

Comm(ent|it) 基于 GitHub 的评论系统

https://commentit.io/static/images/github.png
Just link the service to your Github account and give the neccesary permissions to Comm(ent|it). Unless you ask for it, we will never commit to master. We create a feature branch and make pull requests. Github can also be used to authenticate your readers ...

用Jenkins给CoreDNS配置自动编译

http://7sbqda.com1.z0.glb.clouddn.com/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20170810111858.png
Jenkins is a powerful automation tool, it provides hundreds of plugins to support building, deploying and automating any project. So does for Go! I would like to follow an example of creating a task for CoreDNSto illustrate what should be paid attention ...

创业公司增长指南:如何建立,完善和规模化一个增长计划

https://dn-coding-net-production-pp.qbox.me/6837c46d-782e-4b4b-91ac-71c3493026ed.png
来自顶尖创业公司的 25 位杰出 Growth 专家的建议 “Growth hacks, ”正如Hotmail 在其用户的默认电子邮件签名中包含注册链接的行为,可以极大地推动产品适应市场(PMF )产品的早期病毒增长。然而,维持长期增长和数亿级的用户量需要科学的增长方式。实际上,Growth 专家再三强调“growth hacking ”并不在他们的词汇表中或是属于他们工作中依赖的东西。“Hacking ”意味着一种随意/ 消极的驱动方式,现实恰恰相反。增长很惊人的初创公司已经开始主动 ...

资源整理 | 32个Python爬虫项目让你一次吃到撑!

https://blog.thankbabe.com/imgs/gzh.jpg
今天为大家整理了32个Python爬虫项目。 整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心。所有链接指向GitHub,祝大家玩的愉快~O(∩_∩)O WechatSogou [1]- 微信公众号爬虫。基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典。 DouBanSpider [2]- 豆瓣读书爬虫。可以爬下豆瓣读书标签下的所有图书,按评分排名依次存储,存储到Excel 中,可方便大家筛选搜罗,比如筛选评价人数>1000 ...

详谈 Java 内存模型

http://img.blog.csdn.net/20170711065040678
版权声明:本文为博主原创文章,未经博主允许不得转载。 我们一起来讨论讨论java内存模型。理解内存模型对多线程编程无疑是有好处的。 我们写的java代码,自己看得懂,然而虚拟机是看不懂的,更不用说直接在机器上跑起来了。要让java代码按照我们的意图跑起来的话,需要以下几个过程。 java代码会经过javac编译器编译,转化成class文件,也就是常说的字节码。然后再经过jvm把字节码转化成机器可以识别的机器码,才能跑起来。 为什么要转化为字节码,而不是直接转化为机器码呢?这 ...

赶一波潮流,程序员远程自由工作

https://programmerinnfile.b0.upaiyun.com/community/10000/20170731/RIYxt2j1Io.png
2017 年 7 月 25 号 程序员客栈 V 3.8 版本正式上线。新增功能不得了,大家往下看! 客栈新增即时通信 IM 功能,新增『雇佣直通车』,着重优化了搜索、短期雇佣、签约等功能。 雇用直通车帮您自动预约开发者,直到找到足够数量接单开发者供您比较挑选: 为您平均节省一周的预约和沟通等待时间!雇佣直通车不包含 开发费用,雇佣成功后,直通车费用将被减免! 购买直通车位数(希望本次应答接单的开发者人数)→填写雇佣要求→系统自动匹配对接→开发者接单

总结Android模块化的一些知识点。

http://www.phpxs.com/uploads/201707/13/14999403171.jpg
关于Android模块化我有一些话不知当讲不当讲 最近公司一个项目使用了模块化设计,本人参与其中的一个小模块开发,但是整体的设计并不是我架构设计的,开发半年有余,在此记录下来我的想法。 当一个App用户量增多,业务量增长以后,就会有很多开发工程师参与同一个项目,人员增加了,原先小团队的开发方式已经不合适了。 原先的一份代码,现在需要多个人来维护,每个人的代码质量也不相同,在进行代码Review的时候,也是比较困难的,同时也容易会产生代码冲突的问题。 同时随着业务的增多,代码变的越来越 ...

写个大家看的OpenStack Ocata部署教程

This is the Example of building Cloud Computing infrastracture by OpenStack Ocata. Please learn simply description about OpenStack below before building. (1) Main Components of OpenStack

无码科技寻找自然语言处理工程师

https://s0.wp.com/i/blank.jpg
无码科技致力构建值得用户信赖的搜索引擎。 是的, 无码科技已经完成天使轮融资了,接下来我们要找自然语言处理工程师。期待找到长期的合作伙伴,创始团队成员。 利用自然语言处理和机器学习算法对海量文本数据进行挖掘分析,包括但不限于文本聚类、语义理解、信息抽取、知识图谱、对话生成等。 尝试新的机器学习算法、计算框架,提升机器学习系统效率。 两年以上自然语言处理相关的研发经验。 具备较强的编码能力,扎实的数据结构和算法功底。 熟悉机器学习的基本算法与概念,如:逻辑回归、神经网络、决策树等。 Google+ ...

写给IT自学者的入门指南

http://insights.thoughtworkers.org/wp-content/uploads/2017/07/1-story-1024x595.jpg
在IT工程师和培训机构多如牛毛的时代,拜师学艺并不难。但自学编程对于毫无基础的同学来说却可能是个问题,相信有过类似经历的朋友都有一把辛酸泪和一肚不吐不快的体会。让我们从一个故事说起… 某君在一个普通大学读着自己不喜欢的专业,以打游戏、刷段子和睡觉度日,突然有一天想学点什么。学编程好像挺酷,而且听说IT行业充满了机会,没准一不小心就和大佬一起“改变世界”了。 那么第一个问题来了,他该选择什么语言? 是世界上最好的语言PHP ?还是语言之母的C ?幸好还知道个编程语言排行榜,找到一看、几十 ...

MySQL 向 GraphQL 迁移

To be Willin is to be willing.

Readhub

https://cdn.readhub.me/static/assets/png/readhub_180.png
苹果已经为Apple TV 4K 、iPhone 8 系列和iPhone X 添加了FLAC 无损音频格式支持。上述三款新品的产品页面已经显示了对FLAC 的支持,而且一旦iOS 11 正式推送后,iPhone 7 和iPhone 7 Plus 也会增加对FLAC 的支持... FLAC 与MP3 不同,MP3 是有损音频压缩编码,但FLAC 是无损压缩,也就是说音频以FLAC 编码压缩后不会丢失任何信息,将FLAC 文件还原为WAV 文件后,与压缩前的WAV 文件内容相同... 可以使用播放器直 ...

最全面Android 导航模式解析

http://www.phpxs.com/uploads/201707/23/15007951831.jpg
任何在用户界面模拟载体移动的场景便是导航。 使用应用程序将两个用户屏幕连接到一起,便是一种导航。这个连接——无论它是什么——即是用户用来运送信息的载具。尽管创建一个导航很简单,但是去创造一个适当的导航并不容易。本文我们将研究一些 Android 上最常用的导航模式,解读它们是如何影响底层导航,如何正确的使用这些模式让它来符合用户的需求。 在看一些常见导航模式之前,先回顾一下关于软件导航的重点是有必要的。 导航的设计规范材料对于如何定义导航结构有着很好的帮助。但为了这个文章通俗易懂,我 ...

GraphQL 鉴权

To be Willin is to be willing.

Composer 中文镜像 / Packagist 中国全量镜像正式发布!

https://pic1.zhimg.com/v2-ff3b70997d3823517567fe5b2d206dac_r.jpg
『Composer 中国全量镜像』是由 Laravel China 社区 联合 又拍云 与 优帆远扬 共同合作推出的公益项目,旨在为广大 PHP 用户提供稳定和高速的 Composer 国内镜像服务。 本项目由 @扣丁禅师 独立开发。禅师现居沈阳,远程办公族,热爱编程,向往自由。现任 优帆远扬 远程高级开发工程师、高级架构师。 一般情况下,安装包的数据(主要是 zip 文件)一般是从 http:// github.com 上下载,安装包的元数据是从 http:// packagist.org ...

Go 1.9中值得关注的几个变化

http://tonybai.com/wp-content/uploads/go-the-programming-language-of-the-year-2016-of-tiobe-index.png
Go语言在2016年当选 tiobe index的年度编程语言。 转眼间6个月过去了,Go在tiobe index排行榜上继续强势攀升,在最新公布的TIBOE INDEX 7月份的排行榜上,Go挺进Top10: 还有不到一个月, Go 1.9版本也要正式Release了(计划8月份发布),当前Go 1.9的最新版本是 go1.9beta2,本篇的实验环境也是基于该版本的,估计与final go 1.9版本不会有太大差异了。在今年的 GopherChina大会上,我曾提到: Go 已经演进到1.9 ...

搭建你自己的Go Runtime metrics环境

http://tonybai.com/wp-content/uploads/go-runtime-metrics/go-runtime-metrics.png
自从 Go 1.5开始,每次 Go release, Gopher Brian Hatfield都会将自己对新版Go的runtime的性能数据(与之前Go版本的比较)在twitter上晒出来。就连Go team staff在世界各地做speaking时也在slide中引用Brian的图片。后来,Brian Hatfield将其用于度量runtime性能数据的代码打包成library并放在github上 开源了,我们也可以使用这个 library来建立我们自己的Go Runtime metrics ...

我必须得告诉大家的MySQL优化原理

http://www.phpxs.com/uploads/201705/04/14938629061.png
说起MySQL的查询优化,相信大家积累一堆技巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重要,希望本文能让你重新审视这些优化建议,并在实际业务场景下合理的运用。 如果能在头脑中构建一幅MySQL各组件之间如何协同工作的架构图,有助于深入理解MySQL服务器。下图展示了MySQL的逻辑架构图。

基于Harbor和CephFS搭建高可用Private Registry

http://tonybai.com/wp-content/uploads/harbor-ha-ideal.png
我们有给客户搭建私有容器仓库的需求。开源的私有容器registry可供选择的不多,除了docker官方的 distribution之外,比较知名的是VMware China出品的 Harbor,我们选择了harbor。 harbor在 docker distribution的基础上增加了一些安全、访问控制、管理的功能以满足企业对于镜像仓库的需求。harbor以 docker-compose的规范形式组织各个组件,并通过docker-compose工具进行启停。

可用于人像磨皮的递归双边滤波算法(C++实现)

https://cloud.githubusercontent.com/assets/2270240/26041579/7d7c034e-3960-11e7-9549-912685043e39.jpg
Recursive bilateral filtering (developed by Qingxiong Yang) is pretty fast compared with most edge-preserving filtering methods takes about 43 ms to process a one megapixel color image (i7 1.8GHz & 4GB mem)

你的代码能跑多少分?Coding 知码力

https://pic1.zhimg.com/v2-de5f086621df37f39d8ffde06ffb4d28_r.jpg
什么是好的代码?你的代码是否健壮、安全、规范、可维护?你的 Coding 能力是否在提高? 洋葱猴今天为大家准备了一份礼物—— 码力值。 Coding 知码力,来为你的代码跑个分! 码力值是基于各项编程语言,利用机器学习算法,对程序员个人经验,代码健壮性,可维护性及安全性等多方面的编码能力进行综合评测得出的评测结果。简单的说就是用程序员写的 代码以及写代码过程中的 行为特征而评测出来的 编程能力的分数,码力值的增长需要程序员通过日积月累的编写代码点点滴滴地累积才能逐步提高。 ...

分享我的新作品:一个程序员分享编程知识和协作的平台 Tiicle.com

Tiicle 是一个程序员分享编程知识和协作的平台。你可以在 Tiicle 上记录编程小贴士、编程小技巧或者编码日志。

你可以对本站提供帮助

https://s0.wp.com/i/blank.jpg
如果你阅读过我的一些文章,觉得对你有参考价值,想表示感谢的话,有很多个方式可以支持到我。 比如,这个站点是搭建在 Linode 上的,你如果刚好也想用 VPS 服务,可以通过这个链接 购买 Linode ,这样一段时间后我有一点推荐费,可以用来支付主机托管的费用。 可供选择的类似的 VPS 服务还有 DigitalOcean,如果你需要海外 VPS 的话。 再比如,如果你想看看国外某些特定网站 ,你可以试试这个 VPN 服务,或是另一个类似的 VPN 服务, 你懂的。iOS 上推荐Surge ...

也赶个时髦,说说Kotlin那些事

http://tson.com/wp-content/uploads/2017/05/img_592775ec67d05-150x150.png
自己之前很长时间都在用C#来进行桌面的编程,所以非常喜欢C#那种简洁、简单的语言风格。虽然有很多人在说C#的效率有问题(当然,Microsoft也一直在说C#的效率还是很高的),也有人说其跨平台的特性很差,但自己还是非常喜欢用C#,只有一个原因,它非常简单,可以让我用极少的代码完成“大部分”的工作。 最近自己也在做一些Android的开发,用java写一些东西,虽然说java也是一门非常完善的高级语言,但对java有一特性还是非常不爽的。 我总结了几点,C# 和java 的让我最接受不了的东 ...

OnceVI前后端分离的数据可视化报表工具简介

http://cn.oncedoc.com/file/view/demo/demo_pics/invoice_ai.png
企业管理软件在报表的应用上有大量需求,也存在大量困扰。 OnceVI是一款使用Web和H5技术打造的前后端分离的报表开发工具。OnceVI支持直接在SVG矢量图上绑定数据,并通过JSON数据格式将后台数据呈现到前端报表界面。开发者可使用任何编程语言来编写JSON数据服务,OnceVI使用内存数据库来缓存数据,使用者不再需要考虑高并发下的性能问题。 与其它报表软件不同,您无需从零开始设计界面。OnceVI 基于SVG 矢量图。SVG 可缩放矢量图形是用于描述二维矢量图形的一种图形格式,它是一 ...

TensorFlow 安装详解

http://www.bysocket.com/wp-content/uploads/2017/01/qrcode_for_gh_cd421e7eb7d6_430.jpg
摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! 『不要把手段当成目标 — 《一个瑜伽行者的自传》』 机器学习,并不能理解成机器学习算法。机器学习,就是为了让机器可以去模拟人类。在应用实践上,可以狭义理解为机器学习算法,但聚焦在具体算法实现和编程上,往往实践中不尽人意。机器学习是一种学科,一种类似数学的学科,交叉了数学、算法、计算机等多门学科。目的是让机器(这里指计算机)如何模拟或者实现人类的学习行为。就像我们 ...

背包问题