更新于:09-23 05:20

有关[编程]标签推荐

线上存储服务崩溃问题分析记录

于06-19 08:59 - 那谁 - C++ 网络编程
上周我们的存储服务在某个线上项目频繁出现崩溃,花了几天的时间来查找解决该问题. 由于问题在线上发生,较难重现,首先想到的是能不能加上更多的信息,在问题出现时提供更多的解决思路. 首先,我们的代码里,在捕获到进程退出的信号比如SIGABRT、SIGSEGV、SIGILL等信号时,会打印出主线程的堆栈,用于帮助我们发现问题.

分布式RPC框架性能大比拼

于09-05 13:18 - - 大并发编程
Dubbo 是阿里巴巴公司开源的一个Java高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成. 不过,略有遗憾的是,据说在淘宝内部,dubbo由于跟淘宝另一个类似的框架HSF(非开源)有竞争关系,导致dubbo团队已经解散(参见 http://www.oschina.net/news/55059/druid-1-0-9 中的评论),反到是当当网的扩展版本仍在持续发展,墙内开花墙外香.

HTTP 的长连接和短连接

于08-05 09:14 - 伯小乐 - IT技术 HTTP Keep-Alive TCP 网络编程
本文总结分享网络编程中涉及的长连接、短连接概念. HTTP1.1规定了默认保持长连接(HTTP persistent connection ,也有翻译为持久连接),数据传输完成了保持TCP连接不断开(不发RST包、不四次握手),等待在同域名下继续用这个通道传输数据;相反的就是短连接. HTTP首部的Connection: Keep-alive是HTTP1.0浏览器和服务器的实验性扩展,当前的HTTP1.1 RFC2616文档没有对它做说明,因为它所需要的功能已经默认开启,无须带着它,但是实践中可以发现,浏览器的报文请求都会带上它.

浅谈移动应用的跨平台开发工具(Xamarin和React Native)

于06-06 04:35 - jnj - 技术读物 编程工具 Android C++ Facebook
谈移动应用的跨平台开发不能不提HTML5,PhoneGap和Sencha等平台一直致力于使用HTML5技术来开发跨平台的移动应用,现在看来这个方向基本算是失败的,基于HTML5的移动应用在用户体验上与原生应用仍然存在着明显的差距. 与上述HTML5平台不同,Xamarin和React Native通过各自的方式来实现跨平台.

Java 内存分配与垃圾回收机制

于07-16 04:00 - - JVM 编程点滴
用于指示当前线程执行的指令行号,字节码解释器通过改变它的值选取下一条待执行的指令;. 分支、循环、跳转、异常处理、线程恢复都需要依赖它;. 存储和方法执行相关的信息:栈帧(Stack Frame);. 栈帧包含: 局部变量表(基本数据类型和引用)、操作栈、动态链接、方法出口等信息;. 每一个方法从被调用到运行结束都对应着栈帧从入栈到出栈的过程;.

爬虫入门讲解:基础理论篇

于11-14 10:14 - cricode - 网络编程 爬虫
关于爬虫内容的分享,我会分成两篇,六个部分来分享,分别是:. 一般来讲对我们而言,需要抓取的是某个网站或者某个应用的内容,提取有用的价值,内容一般分为两部分,非结构化的文本,或结构化的文本. 1.1 HTML文本(包含JavaScript代码). HTML文本基本上是传统爬虫过程中最常见的,也就是大多数时候会遇到的情况,例如抓取一个网页,得到的是HTML,然后需要解析一些常见的元素,提取一些关键的信息.

如何找出你性能最差的SQL Server查询

于11-13 00:52 - techug - 编程技术 SQL Server查询
我经常会被反复问到这样的问题:”我有一个性能很差的SQL Server. 因此在今天的文章里会给你一些让你很容易找到问题答案的信息向导. SQL Server的一个优点是它本身能回答几乎所有你的问题,因为SQL Server在各个DMV和DMF里存储了很多故障排除信息. 另一方面这也是个缺点,因为你必须知道各个DMV/DMF,还有如何把它们解释和关联在一起.

PHP 底层的运行机制与原理

于11-13 03:13 - techug - 编程技术
PHP说简单,但是要精通也不是一件简单的事. 我们除了会使用之外,还得知道它底层的工作原理. PHP是一种适用于web开发的动态语言. 具体点说,就是一个用C语言实现包含大量组件的软件框架. 更狭义点看,可以把它认为是一个强大的UI框架. 了解PHP底层实现的目的是什么. 动态语言要像用好首先得了解它,内存管理、框架模型值得我们借鉴,通过扩展开发实现更多更强大的功能,优化我们程序的性能.

序员都会的 35 个 jQuery 小技巧

于11-07 07:00 - techug - 编程技术 35 个 jQuery 小技巧
收集的35个 jQuery 小技巧/代码片段,可以帮你快速开发.. 注: 在版本jQuery 1.4中,$.support 替换掉了$.browser 变量. This piece of code will prevent the loading of all images, which can be useful if you have a site with lots of images..

提升网站性能开发的10个技巧

于10-22 01:00 - techug - 编程技术 开发的10个技巧 提升网站性能
随着网络的高速发展,网络性能的持续提高成为能否在芸芸 App 中脱颖而出的关键. 高度联结的世界意味着用户对网络体验提出了更严苛的要求. 假如你的网站不能做到快速响应,又或你的 App 存在延迟,用户很快就会移情你的竞争对手. 以下为大家总结 10 条有关性能提升的经验,以供参考:.   采用反向代理服务器(Reverse Proxy Server)来对应用进行加速和保护.

HTML 5 APIs 是如何跟踪用户轨迹的

于10-15 11:00 - techug - 编程技术
如果你认为 IP 地址、cookies 和 HTTP 头是在 web 上唯一标识和跟踪用户的要素的话,那么你就大错特错了. 新的现代化特征辨别技术依赖于以下多种要素:. HTTP 头(用户代理, 参考页等). HTML5 APIs(WebRTC, Battery API等). HTML5 和 CSS3 特征检测.

资深工师教你如何在股市中用量化交易看见未来

于10-08 14:15 - techug - 编程技术 股票
编者按:本文来自点融网旗下微信公众号点融黑帮(微信号:DianrongMafia),授权 36 氪发布. 作者程司雷,现任点融贷款业务团队软件工程师. 曾在美国国家仪器有限公司、兴业银行总行科技部工作多年. 如何能在风云变幻的金融市场获得稳定的收益,如何在追涨杀跌中克服人性的贪婪和恐惧,一直是无数个人投资者们津津乐道的话题.

5个Java9新特性你知道了吗?

于10-08 09:45 - techug - 编程技术 java9 新特征
今天我们已经对Java 9中所期待的特性有了一个很清晰的图景. 如果Java 8可以被描述为主要是lambdas表达式、streams和API变化的话,那么Java 9就是关于Jigsaw、额外的实用工具和内部的变化. 在这篇文章中,收集了一些我们认为是Java 9中最期待的特性——除了通常的猜测之外,Jigsaw项目,承担了打破JRE并对Java核心组件模块化的使命.

纯HTML5APP与原生APP的差距在哪?

于10-03 15:14 - 投稿 (guest) - 编程开发
  笔者写过一些纯H5的APP,虽然开发起来的确很快很舒服,但和原生比起来纯H5APP还是有很多问题,主要聚集在以下几个方面:.   动画有很多种,比如侧边栏菜单的滑入滑出、元素的响应动画、页面切换之间的过场等等,在H5之下的众多实现方法都没有办法达到纯原生的性能. 一般这些的话有几种不同的选择:css3动画、javascript动画、原生动画.

传统 Ajax 已死,Fetch 永生

于09-30 09:29 - Cam - ajax fetch async 异步编程 javascript
原谅我做一次标题党,Ajax 不会死,传统 Ajax 指的是 XMLHttpRequest(XHR),未来现在已被 Fetch 替代. 最近把阿里一个千万级 PV 的数据产品全部由 jQuery 的. $.ajax 迁移到 Fetch,上线一个多月以来运行非常稳定. 结果证明,对于 IE8+ 以上浏览器,在生产环境使用 Fetch 是可行的.

所有游戏开发者都应该知道的一些参数

于09-28 14:30 - techug - 编程技术 参数 游戏
我们会觉得手机游戏分析很复杂. 从较为简单的层面看来,存在像下载量,游戏 session 和 DAU 等参数. 这些数字多是相对直接的,且能够衡量一些具体行动. 而像用户流失率,每付费用户平均收益(ARPPU)和 DAU/MAU 等较复杂参数就不是那么好理解,并且它们也会引出更多问题. “在我考虑一个流失用户前我是否应该先等等看.

然而大部分期权并没有什么用

于09-16 14:43 - 投稿 (guest) - 编程开发
  最近有个用户拿到了Uber的offer,其中包含期权,他看不懂便向我咨询期权的细节和意义. 我的观点是:大部分的期权并没有什么卵用.   其实期权是有正向作用的,让我们从目标谈起:.   假设一家公司的目标是1,团队会形成分工来拆解目标,比如研发团队的目标可能是1.1,而一个普通程序员被分配到的目标可能是1.1.1.

46 个非常有用的 PHP 代码片段

于09-13 02:24 - techug - 编程技术
在编写代码的时候有个神奇的工具总是好的. 下面这里收集了 40+ PHP 代码片段,可以帮助你开发 PHP 项目. 这些 PHP 片段对于 PHP 初学者也非常有帮助,非常容易学习,让我们开始学习吧~. 在开发 Web 或者移动应用的时候,经常会遇到需要发送 SMS 给用户,或者因为登录原因,或者是为了发送信息.

你了解实时计算吗?

于08-28 11:41 - techug - 编程技术 实时计算
我们以热卖产品的统计为例,看下传统的计算手段:. 将用户行为、log等信息清洗后保存在数据库中.. 将订单信息保存在数据库中.. 利用触发器或者协程等方式建立本地索引,或者远程的独立索引.. join订单信息、订单明细、用户信息、商品信息等等表,聚合统计20分钟内热卖产品,并返回top-10.. 这是一个假想的场景,但假设你具有处理类似场景的经验,应该会体会到这样一些问题和难处:.

10年DotNet老序员推荐的7个开发工具

于08-21 11:54 - techug - 编程技术
做.NET软件工作已经10年了,从程序员做到高级程序员,再到技术主管,技术总监. 见证了Visual Studio .NET 2003,Visul Studio 2005, Visual Studio Team System 2008, Visual Studio 2010 Ultimate,Visual Studio 2013一系列近5个版本的变化与亲自使用.

10 个 Redis 建议/技巧

于08-19 11:58 - techug - 编程技术 Redis 建议/技巧
Redis 在当前的技术社区里是非常热门的. 从来自 Antirez 一个小小的个人项目到成为内存数据存储行业的标准,Redis已经走过了很长的一段路. 随之而来的一系列最佳实践,使得大多数人可以正确地使用 Redis. 下面我们将探索正确使用 Redis 的10个技巧. Okay,以挑战这个命令开始这篇文章,或许并不是一个好的方式,但其确实可能是最重要的一点.

如何理解谷歌浏览器的安全警告信息

于08-17 09:13 - techug - 编程技术 谷歌浏览器
最近如果使用Chrome访问国内的很多网站的时候,比如exmail.qq.com, 你可能会注意到这样一个对话框,这个是什么意思. 等等,这里好像有点不对, 网页私密性到底是个啥,为啥会提醒我这个问题,我不是已经输了密码登录了嘛. 我上个邮箱,连私密性都没有了,那里面的照片应该怎么办,以前修电脑没有私密性,现在连上网都没有私密性,难道我又要红了.

MySQL 调优/优化的 100 个建议

于08-15 09:40 - techug - 编程技术 MySQL优化
MySQL是一个强大的开源数据库. 随着MySQL上的应用越来越多,MySQL逐渐遇到了瓶颈. 这里提供 101 条优化 MySQL 的建议. 有些技巧适合特定的安装环境,但是思路是相通的. 我已经将它们分成了几类以帮助你理解. MySQL服务器硬件和OS(操作系统)调优:. 1、有足够的物理内存,能将整个InnoDB文件加载到内存里 —— 如果访问的文件在内存里,而不是在磁盘上,InnoDB会快很多.

致敬disruptor:CAS实现高效(伪)无锁阻塞队列实践

于03-24 14:15 - 远影 - JAVA并发编程 推荐阅读 Disruptor 锁细化 高性能队列
在多线程开发中,我们常常遇到这样一种场景:一些线程接受用户请求,另外一些线程处理这些请求,之所以把接受请求和处理请求的逻辑分开,一方面是出于资源调度的考虑(用户请求也许很多,但这些请求涉及的资源很少),另一方面也可能是异步响应的需求. 这种场景存在于NIO的通信框架,存在于Tomcat的回调处理框架,存在于日志系统的异步flush,存在于各种类型的线程池中.

比较全面的MySQL优化参考

于07-29 11:45 - techug - 编程技术 mysql
本文整理了一些MySQL的通用优化方法,做个简单的总结分享,旨在帮助那些没有专职MySQL DBA的企业做好基本的优化工作,至于具体的SQL优化,大部分通过加适当的索引即可达到效果,更复杂的就需要具体分析了,. 在服务器的BIOS设置中,可调整下面的几个配置,目的是发挥CPU最大性能,或者避免经典的NUMA问题:.

运维角度浅谈MySQL数据库优化

于07-27 05:20 - techug - 编程技术
一个成熟的数据库架构并不是一开始设计就具备高可用、高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善. 这篇博文主要谈MySQL数据库发展周期中所面临的问题及优化方案,暂且抛开前端应用不说,大致分为以下五个阶段:. 项目立项后,开发部根据产品部需求开发项目,开发工程师工作其中一部分就是对表结构设计.

防范 DDoS 攻击的 15 个方法

于07-20 12:08 - techug - 编程技术 DDoS
为了对抗 DDoS(分布式拒绝服务)攻击,你需要对攻击时发生了什么有一个清楚的理解. 简单来讲,DDoS 攻击可以通过利用服务器上的漏洞,或者消耗服务器上的资源(例如 内存、硬盘等等)来达到目的. DDoS 攻击主要要两大类: 带宽耗尽攻击和资源耗尽攻击. 为了有效遏制这两种类型的攻击,你可以按照下面列出的步骤来做:1.

为 Java 序员准备的 Go 入门 PPT

于07-20 12:25 - techug - 编程技术
这是 Google 的 Go 团队技术主管经理 Sameer Ajmani 分享的 PPT,为 Java 程序员快速入门 Go 而准备的. 这个 PPT 是 2015年4月23日在 NYJavaSIG 中使用的. 前往 YouTube 观看视频. “Go 是开源的编程语言,可以很简单的构建简单,可靠和高效的软件.

从底层理解Python的执行

于07-15 06:11 - techug - 编程技术
最近我在学习 Python 的运行模型. 我对 Python 的一些内部机制很是好奇,比如 Python 是怎么实现类似 YIELD VALUE、YIELDFROM. 这样的操作码的;对于 递推式构造列表(List Comprehensions)、生成器表达式(generator expressions)以及其他一些有趣的.

七种WebSocket框架的性能比较

于07-14 00:50 - - Scala WebSocket 高并发编程
前一篇文章 使用四种框架分别实现百万websocket常连接的服务器介绍了四种websocket框架的测试方法和基本数据. 最近我又使用几个框架实现了websocket push服务器的原型,并专门对这七种实现做了测试. 本文记录了测试结果和一些对结果的分析. 使用三台C3.4xlarge AWS服务器做测试.