- 博客(66)
- 资源 (3)
- 问答 (3)
- 收藏
- 关注
原创 跨平台并行库的初步设计
上篇日志提到我想用 ACE 和 Loki 库设计一个类似 OpenMP 的并行库,前两天仔细想了想,勾勒出了大体的框架,以供讨论;)看下面代码之前,首先要熟悉 Loki 库里面对 Functor 模板类的使用(《 C++ 设计新思维》一书有详细描述,不过看此书要做好心理准备:)),否则看了也是一头雾水; ACE 的部分暂未描述出来,先将其隐藏在 ParallelTask 类当中,所以对...
2010-05-24 18:05:00 786
原创 boost::array:看似简单的实现,却内涵丰富
今天看了boost::array的实现,也找了网上对其的一些分析,基本上都觉得此类是个软柿子,觉得甚是简单,就没做过多的解析。我初次看也有这般感觉,这个类没有什么好深入的,可直觉告诉我,boost的东西应该不会如此简单,于是再看一遍,终于有了重大发现。:)我们一步步深入:(1) 光看其源码,不知大家是否注意到了其成员变量(T elems[N])是public属性的,这明显有违C++的设计原
2010-03-17 16:33:00 887
原创 一个容易被大家忽略的多线程性能优化方案:Cache行级别优化
#include #include using namespace std;struct Count{ long count1; char space[64]; // 此处增加64字节的“无用”空间,目的就是使得count1和count2位于不同的Cache行,从而避免Cache行同步引起的“乒乓效应”,可以尝试去掉这64字节的“无用”空间,将会得到令人诧异的运行结果,要探明深层
2010-03-05 15:33:00 1841
原创 对一次多核程序设计比赛的总结
比赛是公司搞的,要求在20天时间内完成一程序,求三维空间内所有射线同所有三角平面的交点。射线和三角平面都通过文件方式输入,结果以文件输出,程序最后测试的平台有8核,8G的内存。算法,语言,线程库都不做限制,任意发挥,最后以结果正确,速度最快者获胜。我大概搞了七八天(由于放了长假还要上班,实际没有20天,不过这个大家都一样,公平),从对图形学零知识,学习向量、点乘、叉乘等等这些基础知识开始,到运用空
2010-01-21 09:55:00 1990 1
原创 生产关系变革之手续费分配--DAPP开发者的春天已经到来
今天我要讲的是一条即将上线的公链--FT公链,由FCoin交易所开发,拥有众多创新功能,但其中最令我们开发者感到激动的是手续费分配机制,因为它解决了区块链行业目前最大的痛点!而这个痛点的解决将让互联网和区块链行业都发生翻天覆地的变化。 首先,我们来看下区块链行业目前绝大部分公链或是意见领袖关注的点有什么:(1)TPS(2)跨链 这两个点很重要,如果区块链最后无法解决这两个点,...
2019-06-05 08:50:14 352
原创 以太坊RPC之getBalance调用流程分析
以下是RPC客户端调用getBalance的时序图:主要流程:1:通过区块高度从HeaderChain中获得header,header的数据以RLP格式保存在DatabaseReader这个接口中(实现类是。。)2:通过header.root从Database这个接口(实现类是。。)中获得trie,从而构造出stateDB问题:获得trie后,再通过address,可直接获得此...
2018-08-13 10:42:37 1823 1
原创 RPC框架及启动流程分析
RPC类图:解释:Service:定义服务接口,如某类需对外暴露RPC,则需要实现此接口API:API类中的interface是对Service实现类按不同功能进行分类后打包成不同的wrapper,如Ethereum类按功能不同其函数被切分到了5种服务类型的API中(具体实现类保存在API类的Service变量中,注意此处Service变量取名容易造成混淆) ...
2018-08-12 14:22:41 1266
转载 转:以太坊源码分析(51)rpc源码分析
## RPC包的官方文档Package rpc provides access to the exported methods of an object across a networkor other I/O connection. After creating a server instance objects can be registered,making it visible from ...
2018-06-28 14:05:09 289
转载 大型网站的灵魂——性能
前言在前一篇随笔《大型网站系统架构的演化》中,介绍了大型网站的演化过程,期间穿插了一些技术和手段,我们可以从中看出一个大型网站的轮廓,但想要掌握设计开发维护大型网站的技术,需要我们一步一步去研究实践。所以我打算写一个系列,从理论到实践讲述大型网站的点滴,这也是一个共同学习的过程,希望自己能坚持下去。系列大概会分为两部分,理论和实践,理论部分尽量通俗易懂,也要讲一些细节。实践部分会抽取一些技
2015-03-07 21:19:15 613
转载 CMM & 敏捷开发,向左走?向右走?
近几年来,敏捷开发模式在业界风生水起,SCRUM、XP、测试驱动开发等等,演化出很多方法论。有人说CMM就是过程规范,质量有保证;有人说CMM就是写一堆无甚用处的文档;有人说敏捷开发过程灵活,速度快;也有人说敏捷开发搞不好,就是裸奔;有人说CMM和敏捷开发是对立的,理念不同;有人说CMM和敏捷开发是统一的,可以融合。关于软件开发流程和模式的讨论数十年来不曾停止,人类智力活动的复杂性以及人性的多样化
2014-09-29 22:00:30 1530
原创 架构师之炉边夜话一
--------------------前奏------------------------【省长】合肥-研发-brook 23:10:18我上家公司的技术经理是从工地拎灰桶【省长】合肥-研发-brook 23:10:22干起的【省长】合肥-研发-brook 23:10:30然后混到现在公司的技术经理【村民
2014-09-07 19:16:29 1900 2
原创 HTTP文件上传服务器端代码
package com.syslink;import java.io.File;import java.io.IOException;import java.io.PrintWriter;import java.util.Iterator;import java.util.List;import java.util.Map;import javax.servlet.Servlet
2014-08-07 17:37:40 821
转载 豆瓣的基础架构
嘉宾介绍洪强宁,豆瓣首席架构师。豆瓣第一位全职员工。清华毕业后,洪强宁一直做嵌入式系统。在2002年开始接触Python语言,从硬件工程师变为软件工程师,对一种语言在计算机底层如何工作有深入的理解。架构豆瓣整个基础架构可以粗略的分为在线和离线两大块。在线的部分和大部分网站类似:前面用LVS做HA,用Nginx做反向代理,形成负载均衡的一层;应用层主要是做运算,将运算结果
2014-04-16 16:31:26 925
转载 Hadoop源码级实战培训 第三期, 新增SPARK内容! 完整包含hadoop2.0!(不含认证), 正在报名 . . .
讲师:Louis目前就职于IBM公司,主要从事对Hadoop生态系统的移植,以及其性能优化工作。熟悉HDFS架构以及Mapreduce原理和相关编程;曾经改进了HDFS数据块动态复制策略,利用系统特性提高native I/O速度,使hadoop支持高吞吐率和高并发性。同时提高了Mapreduce的容错能力,支持多任务的抢占和高并发。 本课程报名链接开课时间: 2
2014-02-25 21:30:40 1900
转载 Linux系统虚拟化技术详解,部署及调优(不含认证) -报名进行中
讲师:Eric, Linux Kernel社区一线开发工程师, linux kernel社区华人贡献中排名前10位。现任职于美资500强外企,从事KVM的开发超过4年,内核开发经验超过7年。点击这里查看报名详情相关课程:1. Linux内核开发修炼之路(不含认证)2. Linux内核开发修炼之路(含认证)3. Linux系统虚拟化技术详解,部署及
2014-02-25 21:30:05 1321
转载 Linux内核开发修炼之路(不含认证),正在报名中
讲师:Eric, Linux Kernel社区一线开发工程师, linux kernel社区华人贡献中排名前10位。现任职于美资500强外企,从事KVM的开发超过4年,内核开发经验超过7年。点击这里报名 相关课程:1. Linux内核开发修炼之路(含认证)2. Linux系统虚拟化技术详解,部署及调优(不含认证)3. Linux系统虚
2014-02-25 21:28:18 1666
原创 中兴光纤猫F420如何配置成桥接模式
背景:1:家里两个高清机顶盒,一个光纤宽带(20M/1M)2:光纤猫(电信提供的设备,类似路由器)一共四个网口,有两个网口LAN1和LAN2用来连接IPTV,还有一个网口LAN4用来上网3:网口4会连接家里的无线路由器4:电信员工将光纤宽带安装好之后,在光纤猫里面的默认配置是:光纤猫里面有一个PPPoE的链接,里面设置了账号和密码,光纤猫启动后会自己拨号连接网络。需
2012-05-29 15:40:38 21134
原创 如何发送和接收应用层数据包?
当两台电脑要通过网络)传输数据的时候,应用层必须要制定好自己的头部,最简单的头部可以是这样(以传输图片为例):起始标志0xFFEF(short类型,表明这是一个包的开头)+图片数据长度(int类型,4个字节)+图片数据(完整的图片数据)发送端和接收端的C代码大致如下:发送端代码:void sendPic(int len, char* picData) //
2012-05-01 23:08:01 2391
转载 RMI远程调用时的内外网端口映射问题(RMI远程调用如何穿透防火墙)
转载自:http://www.juuluu.org/html/softDoc/2011/10/19/09/45/wtpnkjxlwt.html以下是一个RMI项目的实施笔记:环境:防火墙(XX卫士) 外网IP:x.x.x.135 port:8400/8500 内网IP: x.x.x.90 port:8400/8500
2011-12-30 12:42:11 1109
转载 你的网站到底需要什么网络营销策略
http://semwatch.org/2010/04/what-online-marketing-strategy-do-you-need/作者: JR 日期: 四月 7, 2010 分类:付费搜索SEM · 18条评论相信大部分朋友都有自己的网站或者在为别的网站进行网络营销工作,但是不少人都有这样的困惑,我到底该如何制定我的网络营销策略?很多人直接选择了SE
2011-11-22 09:42:07 1016
转载 ROI管理与客户需求管理
转自:http://semwatch.org/2010/02/roi-management-and-client-demand/ 作者: Gaoge 日期: 二月 26, 2010 分类:付费搜索SEM · 2条评论 张智勇同学对《ROI管理和代理人悖论》的回复非常重要,所以我又舍不得直接回帖了,利用这个回复再写一篇回复的博文。张同学说:“我之前在公司做
2011-11-22 09:32:46 1693
转载 SEM 自动化管理工具大起底
转自: http://semwatch.org/2010/01/sem-autobidding-tools/ 作者: Gaoge 日期: 一月 7, 2010 分类:付费搜索SEM · 18条评论我们常说的 SEM 包含了 SEO 和狭义 SEM (付费搜索)两个部分。尽管这两者的广告展示形式非常类似,都是通过广告投放和排名来实现的,操作上却存在巨大差异
2011-11-22 09:31:47 1045
转载 高戈:SEM自动化工具原理
转自: http://www.net178.com/SEM/21.html2010-06-09 06:05来源:SEM WATCH 作者:高戈阅读: 240次高戈SEM自动化管理工具的原理分享。 首先要有API,搜索引擎方提供的API使工具可以自动导出数据,导出之后自动化管理工具会对数据进行阅读分析。一般的自动化管理工具都会提供转化跟踪的功能,而且所有工具优化的必须一个程序。 然后
2011-11-22 08:47:15 1280
转载 SEM自动化管理工具的罩门
转自: http://semwatch.org/2010/04/sem-auto-pitfal/作者: Gaoge 日期: 四月 30, 2010北美SEM自动化管理工具进军中国差不多有三年了,首先 是Efficient Frontier,接着是Ominiture SearchCenter,360i, iProspect, 据说Kenshoo今年也开发了百度接口。这些
2011-11-22 08:45:45 1338
原创 Flex asSql库在连接MySql时显示中文字符串为乱码的问题
(assql是Flex用于连接MySql的一个开源库,可以从http://code.google.com/p/assql/downloads/list下载到。)问题:通过使用assql查询、更新、插入mysql记录时,中文字符都呈现乱码。网上信息:通过百度
2011-08-30 18:18:23 1254
转载 IO流_Java_File类总结
在Java中,可以用File类来表示一个文件!!!(注意这里的文件可以是所有文件,包括文件夹)下面的代码表示一个文件:public class Demo { public static void main(String[] args){
2011-08-25 23:28:02 548
原创 RMI部署详细过程for jdk6.0
开发环境:MyEclipse8.5服务器ip为192.168.1.100客户端ip为192.168.1.101服务器初始目录结构: src/com/syslink | server |-------TaskInfo.java (接口)
2011-08-23 20:46:50 1297
转载 ORACLE字符串拼接
--针对你这个需求,有三种方法可以实现--方法一、使用wmsys.wm_concat Oracle版本要求10g及以上--方法二、使用sys_connect_by_path Oracle版本在9i及以下--方法三、使用自定义函数 --我来给你写给自定义函数实现的例子
2011-08-11 12:54:21 4826
转载 如何提高ORACLE大数据表Update效率
ORACLE中如果表数据量很大(M级或更大),update某个字段是很慢的(如我的HIS项目中更新历史业务流程表,160万条记录,用CURSOR来更新,1000条COMMIT一次,花了4天也没更新完),后来尝试过的改进办法有:1.把表上的LOGGING取消2.把表上的IN
2011-07-31 22:49:13 2011
转载 五种提高 SQL Server 性能的方法
有时, 为了让应用程序运行得更快,所做的全部工作就是在这里或那里做一些很小调整。啊,但关键在于确定如何进行调整!迟早您会遇到这种情况:应用程序中的 SQL 查询不能按照您想要的方式进行响应。它要么不返回数据,要么耗费的时间长得出奇。如果它降低了报告或您的企业应用程序的速度,用户必
2011-07-31 22:48:35 1140
转载 在sql server 中如何移动tempdb到新的位置
最近在做数据库的时候,发现经常由于tempdb太大而造成的磁盘空间不足的问题,为了解决这个问题我们使用的一个解决办法是把tempdb移到一个新的位置.下面是具体的操作步骤;1、检查tempdb的逻辑名字和它的存在位置。可以使用下面语句:SELECT name,
2011-07-30 08:18:32 785
转载 hibernate中uuid和native等主键生成策略
hibernate中一个数据模型的主键常用有三种形式:uuid、native、assigned,分别是通用唯一标识、自增、自定义。 1、uuid是系统产生的,insert数据库时相比native要快很多,但是uuid是一长串无序字符串,理论上讲查找起来会慢一点,但是不太会影响开发
2011-07-21 13:27:27 890
转载 并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue在入队操作高并发性能比较
测试结果显示:阻塞队列和并发队列在高并发情况下,性能相差不大。 1 Test.java代码参考http://blog.csdn.net/arkblue/archive/2011/01/14/6138598.aspx view plainpublic class Concurr
2011-07-14 12:24:00 1025
转载 阻塞队列的性能对比
阻塞队列的性能对比主要是比较offer跟poll两个方法的性能,开N个线程,每个线程往队列里写或者取500个整数。线程数20501002005001000LinkedBlockingQueue 15,031,1532,1663,32203,47563,110ArrayB
2011-07-14 12:21:07 865
转载 JAVA并发容器包 简读
1. java.util.concurrent所提供的并发容器java.util.concurrent提供了多种并发容器,总体上来说有4类:队列类型的BlockingQueue和 ConcurrentLinkedQueue,Map类型的ConcurrentMap,Set类型的Co
2011-07-13 11:06:26 721
转载 Java 理论与实践: 并发集合类
转自:http://www.ibm.com/developerworks/cn/java/j-jtp0730/#resources为什么要用线程池? 诸如 Web 服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的
2011-07-12 21:15:04 570
转载 Java5 多线程实践 -- java.util.concurrent
Java5增加了新的类库并发集java.util.concurrent,该类库为并发程序提供了丰富的API多线程编程在 Java 5中更加容易,灵活。本文通过一个网络服务器模型,来实践Java5的多线程编程,该模型中使用了Java5中的线程池,阻塞队列,可重入锁等,还实践了 Ca
2011-07-12 16:26:05 655
转载 Hibernate双向关联中常常用Set 而不用List
对于一对多关联当中的List,需要在数据库里面维护一个index列,如果List当中的某个元素被删除,那么Hibernate会连续发送多条 update语句,更新后续所有元素的index列,以确保index的连续性(在inverse为false的情况下),如果你选择自己维护ind
2011-07-11 22:09:58 2879
原创 GA问题
v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);} Normal 0 false 7.8 磅
2011-06-14 11:37:00 1267
原创 一个创业者眼中的技术
(本人文采不行,时间也不多,写不了什么精彩的开场白,只能想到什么就写什么,还望各位技术牛人见谅!)本人背景:05年毕业,之后从事了5年的C++开发,在去年年中毅然踏上创业之不归路,至如今,头上已多了不少白发。一年当中,自己既是CEO也是CTO,还是CHO,哈,也许你已猜到我的状况。。。本文不谈别的经验,就说说技术:)首先,要讨论的一句话是:技术不是问题!这句话,很多技术人员不仅喜欢挂在嘴上,还从心底就这么认为,我以前也属于这样的技术人员,可在我经历了下面两件事后,我醒了,而且醒的很彻底。一个是我创业时接到的
2011-04-12 17:43:00 1074 2
TA创建的收藏夹 TA关注的收藏夹
TA关注的人