精华内容
下载资源
问答
  • 区块链技术是当今新兴的一项技术,但这么说也不太妥当,因为十年前比特币的出现这项技术也随之诞生,...下面路普达(loopodo)小编就带大家来看一下,区块链系统开发的几大核心技术。 一、哈希算法 哈希算法是...

    区块链技术是当今新兴的一项技术,但这么说也不太妥当,因为十年前比特币的出现这项技术也随之诞生,但说其是当下很火热的技术是没问题的。区块链技术经过10年来的不断更新,终于在近两年都有了相关的应用落地,且进入了区块链3.0时代,未来的3-5年,相信会有更多的领域需要区块链系统来支撑。下面路普达(loopodo)小编就带大家来看一下,区块链系统开发的几大核心技术。

     

    一、哈希算法

    哈希算法是区块链系统开发中用的最多的一种算法,哈希函数(Hash Function),也称为散列函数或杂凑函数,哈希函数可将任意长度的资料经由Hash算法转换为一组固定长度的代码,原理是基于一种密码学上的单向哈希函数,这种函数很容易被验证,但是却很难破解。通常业界使用y =h (x)的方式进行表示,该哈希函数实现对x进行运算计算出一个哈希值y。

    二、 非对称加密算法

    非对称加密算法是一种密钥的保密方法,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法

    三、共识机制

    所谓“共识机制”,是通过特殊节点的投票,在很短的时间内完成对交易的验证和确认;对一笔交易,如果利益不相干的若干个节点能够达成共识,我们就可以认为全网对此也能够达成共识。

    现今区块链的共识机制可分为四大类:工作量证明机制(PoW)、权益证明机制(PoS)、股份授权证明机制(DPoS)和Pool验证池。

    四、智能合约

    智能合约就是传统合约的数字化网络化版本。它们是区块链上运行的计算机程序,可以满足在源代码中写入的条件时自行执行。智能合约一旦编写好就可以被用户信赖,合约条款就不会被改变,因此合约是不可更改的,并且任何人也不能修改。

    开发发人员会为智能合约编写代码,这样就是用于交易和两方乃至多方之间的任何交换行为。代码里会包含一些触发合约自动执行的条件。一旦完成编写,智能合约就会自动被上传到网络上。数据上传到所有设备上以后,用户就可以与执行程序代码的结果达成协议。

    五、分布式存储

    分布式存储是通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个角落。海量的数据按照结构化程度来分,可以大致分为结构化数据,非结构化数据,半结构化数据。

    区块链网络科技专注区块链系统开发,12年互联网系统软件开发经验

    我司承接区块链系统开发,以太坊开发,区块链交易系统开发、虚拟币平台开发,币币交易系统开发、数字货币钱包系统开发

    展开全文
  • 推荐系统在我们的生活中无处不在,比如...可以在《推荐系统开发实战》这本书中进行系统的了解和学习,本篇文章是该系列文章的开篇之作,带领大家认识一下基于最近相似用户的推荐。以下内容摘自于《推荐系统开发实战》

    转载请注明出处:http://blog.csdn.net/gamer_gyt
    博主微博:http://weibo.com/234654758
    Github:https://github.com/thinkgamer
    公众号:搜索与推荐Wiki
    个人网站:http://thinkgamer.github.io


    推荐系统在我们的生活中无处不在,比如购物网站,视频音乐网站,新闻网站等,那么推荐系统是如何工作的,他是基于什么方式实现的?可以在《推荐系统开发实战》这本书中进行系统的了解和学习,本篇文章是该系列文章的开篇之作,带领大家认识一下基于最近相似用户的推荐。以下内容摘自于《推荐系统开发实战》

    • 嗨,Susan,最近有什么好看的电影吗?
    • Thinkgamer,我觉得《芳华》不错,推荐你可以去看下。

    这样的场景相信我们会经常遇到,当我们不知道要看哪部电影时,会咨询一下身边的朋友,从他们那里得到一些意见。当我们在咨询别人时,往往会有自己的判断,Thinkgamer喜欢文艺片,他不会去征求喜欢动画片的Jake,但是他会去咨询同样喜欢文艺片的Susan。

    基于上边的描述,我们可以总结出UserCF的算法过程:

    1. 计算用户相似度
    2. 寻找给定用户最相近的K个用户
    3. 将K个用户喜欢的且给定用户没有行为的物品推荐给给定用户

    简单的讲就是:给用户推荐“和他兴趣相投的其他用户”喜欢的物品。

    上图所示是一个基于用户的协同过滤推荐的例子,用户A和用户C同时喜欢电影A和电影C,用户C还喜欢电影D,因此将用户A没有表达喜好的电影D推荐给用户A。

    针对上述过程,可以分为以下步骤:

    构建用户物品评分表

    假设用户与物品所表达的喜好程度(即评分),如下表所示:

    用户 物品a 物品b 物品c 物品d 物品e
    A 3.0 4.0 0 3.5 0
    B 4.0 0 4.5 0 3.5
    C 0 3.5 0 0 3
    D 0 4 0 3.5 3

    相似度计算

    计算用户之间相似度的方法有很多,这里选用的是余弦相似度,如下:

    针对用户u和v,上述公式中的参数如下。

    • N(u):用户u有过评分的物品集合;
    • N(v):用户v有过评分的物品集合;
    • Wuv:用户u和用户v的余弦相似度。

    结合上表,可以分别求得用户C和其他三个用户的相似度,见下面三公式:

    从计算结果来看,D用户与C用户相似度最大。 从表中也可以直接看出,用户D和C都在b和e物品上进行了评分,用户A、B和C也都在b物品上进行了评分。

    计算推荐结果

    用户C进行评分的物品是b和e,接下来计算用户C对物品a、c、d的偏好程度,见下面三公式:

    从上面的计算可以得到,在用户C没有进行评分的物品中倒序排列为a→c→e。这样就可以根据需要取前 K个物品推荐给C用户。

    完整代码可参考《推荐系统开发实战》

    算法复杂度优化

    但是上面的计算存在一个问题——需要计算每一对用户的相似度。代码实现对应的时间复杂度为O(|U|*|U|),U为用户个数。

    在实际生产环境中,很多用户之间并没有交集,也就是并没有对同一样物品产生过行为,所以很多情况下分子为0,这样的稀疏数据就没有计算的必要。

    上面的代码实现将时间浪费在计算这种用户之间的相似度上,所以这里可以进行优化:
    (1)计算出的用户对(u,v);
    (2)对其除以分母得到u和v的相似度。

    针对以上优化思路,需要两步:
    (1)建立物品到用户的倒排表T,表示该物品被哪些用户产生过行为;
    (2)根据倒查表T,建立用户相似度矩阵W:

    • 在T中,对于每个物品i,设其对应的用户为j、k,
    • 在W中,更新对应位置的元素值,W[j][k]=W[j][k]+1,W[k][j]=W[k][j]+1。

    以此类推,这样在扫描完倒查表T之后,就能得到一个完整的用户相似度矩阵W了。
    这里的W对应的是前面介绍的余弦相似度中的分子部分,然后用W除以分母,便能最终得到两个用户的兴趣相似度。
    以上表为例,总共有4个用户,那么要建一个4行4列的倒排表,具体建立过程如下:
    (1)由用户的评分数据得到每个物品被哪些用户评价过,如图5-6所示。

    (2)建立用户相似度矩阵W,如图5-7所示。

    得到的相似度矩阵W对应的是计算两两用户相似度的分子部分,然后除以分母得到的便是两两用户的相似度。

    还是以C用户为例。从图5-7可知,A、B用户与C用户相似度计算的分子都为1,D用户与C用户相似度计算的分子部分为2。其他用户与C用户的相似度计算如下:

    得到用户的相似度之后,就可以计算用户对未评分物品的可能评分了。采用的计算方式依旧是:

    其中各参数说明如下。

    • P(u,i):用户u对物品i的感兴趣程度;
    • S(u,K):和用户u兴趣最接近的K个用户;
    • N(i):对物品i有过行为的用户集合;
    • Wuv:用户u和用户v的兴趣相似度;
    • rvi:用户v对物品i的兴趣,即用户对物品的评分。
      依据上式,分别计算用户C对物品a、c、d的可能评分:
    同样,对比优化前后的计算可知,结果是一致的。

    具体的代码实现可参考:《推荐系统开发实战》一书。

    惩罚热门物品

    如果两个用户都买过《新华字典》,这并不能说明他们兴趣相同,因为绝大多数中国人都买过《新华字典》。
    但如果两个用户都买过《机器学习实战》,那可以认为他们的兴趣比较相似,因为只有研究机器学习的人才可能买这本书。
    因此,John S. Breese在论文中提出了式(5.4),根据用户行为计算用户的兴趣相似度:

    • 分子中的倒数部分,惩罚了用户u和用户v共同兴趣列表中热门物品,减小了热门物品对用户相似度的影响。
    • N(i)是对物品i有过行为的用户集合。物品i越热门,N(i)越大。

    对此,修改用户相似度的计算方式,具体的代码实现如函数userSimilarityBest()所示。

    具体的代码实现可参考:《推荐系统开发实战》一书。

    案例实战

    在了解完UserCF的算法原理之后,来开发一个电影推荐系统。这里我们选用的MovieLens数据集,该数据集在《实战》一书中的第三章有详细介绍。

    搭建一个推荐系统的步骤包括:

    • 准备数据
    • 选择算法
    • 模型训练
    • 效果评估

    这里不过多进行介绍,欢迎关注小编图书。


    注:文中多次提到的《推荐系统开发实战》是小编近期要上的一本图书,预计本月(7月末)可在京东,当当上线,感兴趣的朋友可以进行关注!


    【技术服务】,详情点击查看: https://mp.weixin.qq.com/s/PtX9ukKRBmazAWARprGIAg

    扫一扫 关注微信公众号!号主 专注于搜索和推荐系统,尝试使用算法去更好的服务于用户,包括但不局限于机器学习,深度学习,强化学习,自然语言理解,知识图谱,还不定时分享技术,资料,思考等文章!

    展开全文
  • 华为鸿蒙系统开发准备

    千次阅读 2020-09-23 19:26:29
    华为鸿蒙系统开发准备(编译)开发准备参考网址:华为官方文档(以Hi3861芯片为例)华为开发者论坛系统准备环境配置过程 开发准备 参考网址: 华为官方文档(以Hi3861芯片为例) 源码获取:...

    开发准备

    参考网址:

    华为官方文档(以Hi3861芯片为例)

    源码获取:https://device.harmonyos.com/cn/docs/start/get-code/oem_sourcecode_guide-0000001050769927#ZH-CN_TOPIC_0000001050769927__section61172538310
    环境搭建:https://device.harmonyos.com/cn/docs/start/introduce/oem_quickstart_3861_build-0000001054781998
    源码编译(以Hi3861芯片为例):https://device.harmonyos.com/cn/docs/start/introduce/oem_wifi_start_helloword-0000001051930719

    华为开发者论坛

    Harmony OS 开发避坑指南——源码下载和编译:https://developer.huawei.com/consumer/cn/forum/topicview?tid=0202358095357830874&fid=0101303901040230869

    系统准备

    需要一个Ubuntu系统和一个Windows系统,我使用的是Ubuntu 18.04和Win10系统,Win10下载好需要的安装包,主要有鸿蒙源码、gn.1523.tar、ninja.1.9.0.tar、llvm-linux-9.0.0-34042.tar、hc-gen-0.65-linux.tar、gcc_riscv32-linux-7.3.0.tar.gz,在官方文档网址处有下载链接。将这些安装包复制到Ubuntu虚拟机里即可。

    环境配置过程

    一开始我是按照官方文档的方法进行配置的,但是Ubuntu18系统的python3只能链接到python3.6,改成python3.8以后会使终端无法打开,而维持python3的3.6版本后续编译过程会报错,所以就采用上面华为开发者论坛中提到的方法。
    首先,将源码解压到~/harmonyos/openharmony目录中
    把gn.1523.tar、ninja.1.9.0.tar、llvm-linux-9.0.0-34042.tar、hc-gen-0.65-linux.tar、gcc_riscv32-linux-7.3.0.tar.gz几个包解压后移动到home目录中,然后按照华为开发者论坛里的教程向~/.bashrc中添加上面几个包的路径配置。
    接下来首先安装python3.8:在终端中输入

    //  安装python3.8和pip
    sudo apt install python3.8
    sudo apt install python3-pip
    

    安装完成后,安装virtualenv并运行:

    安装virtualenv

    pip3 install vritualenv
    // 创建使用python3.8为默认python解释器的virtualenv
    mkdir ~/harmonyos/venv && virtualenv -p python3.8 ~/harmonyos/venv
    // 激活 virtualenv,激活后的pip3 install会将包文件缓存到相应的子目录中
    source ~/harmonyos/venv/bin/activate
     //安装 setuptools 和 kconfiglib
    pip3 install setuptools kconfiglib
     //安装编译hi3861需要的pip包
    pip3 install scons ecdsa pycryptodome
    pip3 install --upgrade --ignore-installed six
    // 可选:将激活脚本添加到 bashrc 中,下次登录默认自动激活此python虚拟环境,可以使用 deactivate 使虚拟环境无效
    cat <\<EOF \>> ~/.bashrc
    source ~/harmonyos/venv/bin/activate
    EOF
    

    上述安装完成后,首先在终端中激活虚拟环境:

    激活虚拟环境,激活后 deactivate 命令可使当前虚拟环境无效

    source ~/harmonyos/venv/bin/activate
    

    然后就可以进入~/harmonyos/openharmony 中进行源码的编译了:

    编译3861目标平台的命令

    python build.py wifiiot
    

    编译过程中如果出现BUILD SUCCESS字样即表示编译成功,在源码的out文件夹下可以看到编译后的文件。
    编译成功字样

    展开全文
  • 交易系统开发总结

    千次阅读 2019-02-09 19:04:55
    最近工作二年主要是从事交易系统开, 最近抽了些时间把大致的系统开发总结下,权当回顾. 这段时间里一共经历了3个交易系统, 第一个是类似电商交易系统, 另外2个是最近比较火的Blockchain行业, X交易系统. 其中一个...

    最近工作二年主要是从事交易系统开, 最近抽了些时间把大致的系统开发总结下,权当回顾.

    这段时间里一共经历了3个交易系统, 第一个是类似电商交易系统, 另外2个是最近比较火的Blockchain行业, X交易系统.

    其中一个交易系统崛起的过程非常快, 主要归结于: 布局策略以及时机把握得很准, 运营的创新点子很多, 市场商务宣传的精准, 系统研发干劲充足, 有半年的时间几乎是6*14的工作状态, 平均一个月通宵就有2,3次, 拼凌晨1到2点也是常有的事, 第二天依然9点半到公司. 在这里全面接触并见证了Blockchain交易所从起步到腾飞的全过程.

    因政策的原因, 具体的名称就不方便透露,都以交易系统进行统称. 2018年中因各方面原因, 稍有名气的交易系统都一一出海,往新加坡,香港,英属维尔京群岛等迁移, 同时也因寒冬的到来, 大家都需要保存资金实力等待下一次机会.

    个人认为交易系统核心几个特征:

    安全: 很重要,很重要, 不管是小交易所还是大交易所. 有可能就是一次损失,就回到解放前了.

    稳定: 交易是7*24进行的, 系统计算,运行,升级部署都要稳定, 否则非常影响用户的体验, 用户流失也很快.

    准确: 属于金融行业的系统, 用户的每一笔交易,资金流水,操作都要有记录,历史可查并核对. 用户量巨大的交易系统,其交易历史通常保留时间很短(因其数据量大, 对系统性能, 存储, 维护成本影响很大).

    高效: 行情突发的时间段内,用户非常活跃. 如果系统的并发处理不高, 则无法承载大量用户的交易请求,系统可能处于半瘫痪状态.

     

    之后的几篇文章都用来阐述交易系统的大致实现, 从系统,架构,设计等相关点进行记录:

    交易系统的主要框架如下图所示:

    整个交易系统是以spring-cloud的微服务系统框架进行搭建的,使用到的组件有:

    Eureka: 用于注册服务发现.

    Zuul: 路由网关.

    Feign: 服务消费.

    Ribbon:客服端负载均衡.

    Hystrix: 断路器, 防止服务故障的“雪崩”效应.

    Zipkin: 服务的调用监控.

    Turbine, Dashboard:用于收集和统计监控服务节点的整体压力和健康情况等.

    整个系统中还包含其它组件或系统还有:

    mysql(Mariadb), mongodb, redis集群, acitvemq, memached.

    交易系统的是前后端分离, 后端系统核心服务主要有:

    用户服务, 资金服务, 订单交易服务, 撮合服务, 行情服务. 其它的还有通知服务,资讯服务,管理后台服务.

    当然还有一个重要的wallet系统,其相对比较独立.

    接下来的篇章用于记录这些核心服务系统是如何实现的(鉴于保密协议,有些只能大致公开描述):

    交易系统用户服务子系统

    订单交易处理系统

    展开全文
  • 本项目本着避免重复造轮子的原则,建立一套快速开发JavaWEB项目(springboot-mini),能满足大部分后台管理系统基础开发功能,使得开发人员直接可从业务模块开始,减少大量的重复开发工作。前端框架使用 layui-mini...
  • 嵌入式系统开发流程

    千次阅读 2018-08-30 21:55:54
    一、嵌入式系统开发流程  1、系统需求分析:根据需求,确定设计任务和设计目标,指定设计说明书。  2、体系结构设计:描述系统如何实现所述的功能需求,包括对硬件、软件和执行装置的功能划分以及系统的软件、硬件...
  • 裸机开发和带操作系统开发的区别

    千次阅读 2020-01-07 17:15:58
    1.概述 所谓裸机就是执行单任务的单片机,对应的访问外设的方式有轮询、中断和DMA(看单片机是否支持);...带操作系统开发由于操作系统具有并发性,所以可以支持多个任务运行,可以从本质上认为它是裸机开发效...
  • 嵌入式系统开发设计---嵌入式系统开发设计

    万次阅读 多人点赞 2018-09-20 07:42:01
    嵌入式系统设计的主要任务是定义系统的功能、决定系统的架构,并将功能映射到系统实现... 嵌入式系统的设计方法跟一般的硬件设计、软件开发的方法不同,是采用硬件和软件协同设计的方法,开发过程不仅涉及软件领域...
  • 嵌入式系统开发

    千次阅读 2011-09-28 14:57:55
    ********************************LoongEmbedded******************************** 作者:LoongEmbedded(kandi) 时间:2011.9.27 类别:嵌入式系统开发 ********
  • 银行系统开发必读的三本书!银行IT开发

    千次阅读 热门讨论 2019-04-03 17:23:25
    银行系统开发必读的三本书!银行IT开发 1.《银行业务与信息化系统分析》(刘士峰) 2.《银行管理与IT架构》(刘士峰) 3.《银行业务全搞》 这三本书的电子版闲鱼上有卖。 注:《银行管理与IT架构》是《银行业务与...
  • 管理信息系统开发流程

    万次阅读 2016-08-25 13:25:13
    (一)系统开发建议 (二)可行性分析 (三)业务需求规范说明书 (四)项目开发计划书 二、系统设计 (一)业务流程设计 (二)系统功能王设计(划分子系统和功能模块,设计详细功能) (三)系统数据结构...
  • 直播系统开发、直播平台开发中怎样做才能快速积攒人气流量、得到用户的青睐呢? 要做到明确自己的是行业市场定位,要明白自己直播平台的行业市场方向和针对的人群,才能够对直播系统开发进行系统化的梳理和一个大...
  • 新能源汽车BMS电池管理系统开发心得

    万次阅读 多人点赞 2018-07-15 19:21:36
    新能源汽车BMS电池管理系统开发心得系统结构图电池管理系统为两级架构,典型结构如下图: 系统组成清单功能模块1)电池控制模块(BCU):BMS主控单元,电池箱及电池系统高压电路数据采集、分析、处理,电池系统充...
  • MES系统开发手记(一)

    千次阅读 2019-08-23 08:14:10
    从ERP开发转到MES系统开发又是将近5年时间了,前后做了几个项目的MES系统,终于想为自己的这几年开发做个总结,写一个比较产品化的MES系统。 (一):建模 1.基础资料,建立以下几个信息中心:车间资源、产品数据...
  • 华为鸿蒙系统开发环境安装与初识

    千次阅读 2020-09-22 17:22:00
    今天了解了一下华为鸿蒙系统开发,作为国产系统还是要去了解一下的,毕竟这个系统很多设备都会用到、例如PC、手机、电视等穿戴设备都会用到。 既然要开发那么肯定要成为开发者了,那么就都下面的网站注册成为...
  • 区块链交易平台系统开发

    万次阅读 2018-02-27 11:18:58
    区块链交易平台系统开发原理:“区块链使用强大的加密技术来维护虚拟安全,通过整体计算机的复杂数学运算机制来验证,删除与存储,区块与之前的区块相互关联,因此形成区块链。”区块链分为三大类:公有链,私有链,...
  • 浅谈Android系统开发中LOG的使用 转自:http://blog.csdn.net/luoshengyang/article/details/6581828
  • 区块链数字货币交易系统开发

    千次阅读 2018-02-10 14:52:47
    分享一下英唐众创数字货币交易系统开发核心:一个系统的核心体系决定这个系统的安全性、流通性和交易量,很多人搞不清楚这两块,以至于买来的系统很容易出现各种问题。系统很重要,没有安全稳定的系统,再多的项目也...
  • git clone git@gitee.com:china_jeffery/HFR_OpenSource.git
  • 嵌入式系统开发必读经典书目

    千次阅读 多人点赞 2016-07-10 22:25:00
    读本科的时候就对嵌入式系统感兴趣,虽然在校的时候积累了大量...1、针对入门级的教材:推荐高等教育出版社的全国计算机等级考试-三级教程(嵌入式系统开发技术),此书对嵌入式系统的整体把握还是很好的,此书的汇编指
  • RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.0 版本发布  在V3.0版本的Web(Mvc、WebForm)与WinForm中我们新增了“系统参数管理”模块。系统参数管理的功能就非常广了,可以发挥我们的想象把所有可能的...
  • RDIFramework.NET .NET快速信息化系统开发框架 V3.2版本 正式发布 精益求精求完美! 1、RDIFramework.NET框架介绍 RDIFramework.NET,基于.NET的快速信息化系统开发、整合框架,为企业或RDIFramework.NET,...
  • 信息系统开发 系统开发过程 能力成熟度模型CMM 随着组织中标准信息系统开发过程的成熟,项目时间和费用在减少,同时生产率和质量在提高。梅隆大学开发出能力成熟度模型CMM l 第一级:初始级,混乱状态, l 第...
  • 为什么ROS适合做自动驾驶系统开发 自动驾驶对系统框架的需求 ROS 高效的开发支持 ROS 模块灵活配置 ROS 丰富的调试工具 Autoware 自动驾驶方案Demo Show ROS的缺点和演进 为什么ROS适合做自动驾驶系统开发 ...
  • Laravel-admin进行后台管理系统开发

    千次阅读 2018-12-28 21:57:12
    laravel-admin官方文档:https://laravel-admin.org/docs/zh/ laravel-admin 的 DEMO 地址:... ... 里面有多种使用组合   Laravel-admin进行后台管理系统开发        ...
  • 大量招聘区块链系统开发实习生(包含前后端),详情见大图,简历速速砸来。可以发送简历到图中的邮箱。 
  • 大量招聘区块链系统开发正式员工和实习生,详情见大图,简历速速砸来。可以发送简历到图中的邮箱。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 689,477
精华内容 275,790
关键字:

系统开发