自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fpcc的专栏

于细微处见精神,从宏观里学态度。行之苟有恒,久久自芬芳。

  • 博客(746)
  • 资源 (21)
  • 问答 (1)
  • 收藏
  • 关注

原创 并行编程实战——CUDA编程基础入门

本文介绍了CUDA并行编程的基础知识,主要包括:1)CUDA框架中CPU(host)与GPU(device)的协同工作机制和通信方式;2)CUDA编程的核心概念如kernel函数、线程层次结构(线程块、网格)和内存层次结构;3)关键编程语法__global__、__device__等关键字的使用方法;4)典型的CUDA开发流程(内存分配、数据传输、核函数调用等);5)通过向量加法示例代码展示CUDA编程的实际应用。文章为CUDA初学者提供了编程模型和基础语法的系统介绍。

2025-07-06 09:08:42 704 1

原创 跟我学C++中级篇—常见的数据类型

本文探讨了C++数据类型的发展与应用。文章首先指出数据类型是编程语言的基础,随着C++标准的演进,数据类型不断丰富,导致语言复杂度增加。接着介绍了常见数据类型分类,包括标量类型、复合类型、POD类型、标准布局类型、平凡类型和聚合类型,并分析了它们的特点和演进历程。文章强调这些类型设计是为了保持与C语言的兼容性,并支持数据通信和初始化等场景。最后通过代码示例说明类型特性,建议通过拆解分析来掌握基础知识的灵活应用。文章指出理解数据类型演进有助于把握C++标准的发展方向。

2025-07-06 08:53:07 554 1

原创 C++20中的counting_semaphore的应用

本文全面介绍了C++20中的std::counting_semaphore信号量机制。首先说明了其模板定义和binary_semaphore特例,指出LeastMaxValue是可突破的上限值。文章对比了信号量与互斥体的区别,强调信号量不绑定特定线程,允许指定数量的线程同步访问。重点解析了acquire和release两个核心接口的原子性操作及注意事项,特别提醒release超过上限会导致未定义行为。通过一个线程间通信的示例代码演示了实际用法。最后建议谨慎使用信号量,仅在特定场景下考虑采用,强调技术选择应以

2025-07-05 12:03:04 604 1

原创 跟我学C++中级篇—重载重写覆盖和隐藏

本文探讨了C++函数中的重载、重写、覆盖和隐藏等概念。重载指同一作用域内同名函数参数不同;重写是子类重新定义父类虚函数实现多态;覆盖有时与重写同义;隐藏则是父子类同名函数时子类函数遮蔽父类函数。文章通过对比分析和代码示例,阐明了这些概念的区别与应用场景,强调基础知识对编程进阶的重要性。开发者需扎实掌握这些基础概念,才能在中高级开发中突破瓶颈。

2025-07-05 08:58:16 833 1

原创 c++26新功能—几个细节的完善

C++26标准带来多项语言和库的改进,提升了灵活性和安全性。语言特性方面扩展了字符集(支持@、$等),增强constexpr转换能力,引入占位符变量"_"。库改进包括string_view互操作性、std::is_within_lifetime内存安全检查,以及新增SI前缀(如quecto、ronna等)处理物理量单位。这些优化既包含重大特性也注重细节完善,使C++在保持高效的同时更加易用。通过示例代码展示了新特性的实际应用,表明C++26在语言演进中兼顾了重要功能与细节优化。

2025-07-04 21:16:20 477

原创 跟我学C++中级篇—哑元的扩展应用

摘要:本文探讨了哑元(dummy)在C++编程中的扩展应用场景及其价值。主要分析了三种典型应用场景:在多态中作为测试接口的哑元子类、在泛型编程中作为模板默认参数、以及在单元测试中创建哑对象。文章指出,哑元虽简单但能优化代码逻辑、增强测试性和扩展性,其与Mock对象的区别在于功能复杂度较低。作者强调,技术不在于复杂程度,而在于恰当应用场景的选择,合理的哑元使用能达到画龙点睛的效果。开发者应重视简单技术的场景化应用价值。

2025-07-03 18:47:43 349

原创 跟我学C++中级篇—哑元

摘要: 哑元(Dummy Object)是编程中占位但不参与实际功能的变量或函数,类似现实中的“吉祥物”。C++中哑元常用于函数参数(保持签名一致性)、模板元编程(空类标签)或特殊标记(如[[maybe_unused]])。例如,std::monostate作为占位符,或通过空类DummyID实现模板逻辑分支。哑元虽看似无用,但在多场景兼容和接口设计中有重要作用,体现了编程中理论结合实践的思想。

2025-07-02 18:32:48 247

原创 c++26新功能—平凡迁移

本文介绍了C++26新标准中的"平凡迁移"(Trivially Relocatable)概念。平凡迁移允许通过类似memcpy的方式直接复制对象内存,无需调用构造函数和析构函数,从而提高内存处理效率。其核心条件是:具有平凡移动构造、平凡析构,且无虚基类,所有成员和基类都需为平凡迁移类型。与Trivially Copyable不同,平凡迁移不要求拷贝构造函数为平凡的。文章通过代码示例展示了平凡迁移类型的判断方法,并指出新标准旨在统一内存处理方式,扩展简单数据类型处理方案到复杂对象场景。该特

2025-06-28 09:43:46 253 2

原创 c++26新功能—并行库支持的扩展

文章摘要:本文探讨了并行库的核心思想与C++26对并行编程的增强。并行库通过资源分配和管理解决单核CPU性能瓶颈问题,其关键在于最大化多核协同效率。C++26扩展了std::execution功能,新增CPU核心绑定(亲和性)和任务优先级队列支持,并引入类似Kotlin的链式异步操作语法。文中展示了线程池调度和未来值链式处理的示例代码,同时指出这些特性尚未被主流编译器完全支持。作者强调学习新标准应关注方向性趋势,但生产环境应用需待编译器完全兼容后再实施。(149字)

2025-06-28 09:41:41 416 2

原创 c++26新功能—未求值字符串

摘要:未求值字符串是指在编译期处理但不生成运行时代码的字符串,主要用于元编程、编译期消息处理(如静态断言、警告信息)和反射功能。它实现了零成本抽象,仅影响编译期而不增加运行时开销,为开发者提供了更好的编译期控制。示例展示了其在静态断言、类型信息和条件编译中的应用,体现了现代C++标准对开发体验的精细优化。(149字)

2025-06-27 21:32:56 246 1

原创 并行编程实战——CUDA编程环境安装

本文详细介绍了在Windows10平台上安装CUDA的完整流程。主要内容包括:1)通过NVIDIA控制面板查询显卡支持的CUDA版本;2)从官网下载对应版本并执行安装程序;3)强调安装路径设置注意事项,建议使用默认路径;4)提供三种验证安装成功的方法;5)说明Visual Studio版本匹配要求,并给出简单测试例程。文章指出CUDA安装整体较简单,但需注意版本匹配和安装路径设置,后续将深入探讨并行编程框架的使用。

2025-06-22 10:19:32 908 5

原创 c++26新功能—风险指针

本文探讨了C++多线程编程中的资源安全管理问题,重点分析了传统有锁编程和无锁编程(CAS)的优缺点。针对无锁编程中的ABA问题和资源回收难题,文章介绍了C++26标准提出的风险指针(hazard_pointer)机制,这是一种延迟内存清理的解决方案。风险指针通过线程私有列表管理和定期扫描机制处理内存回收,但目前草案尚未解决ABA问题。文中提供了风险指针的示例代码并指出其应用前景,但同时也提到该特性可能无法如期进入C++26标准。最终能否实现还需等待标准正式发布确认。

2025-06-22 08:47:53 343 2

原创 c++26新功能—饱和算术

C++26引入饱和算术(Saturation Arithmetic)解决传统整数运算溢出问题,提供add_sat、sub_sat、mul_sat、div_sat和saturate_cast等函数模板,当运算结果超出数据类型范围时会自动钳制到最大值/最小值。该特性目前主要支持整数类型,通过防止数值溢出提升代码安全性,体现了C++标准向更安全方向发展的趋势。示例代码展示了这些函数在加减乘除和类型转换时的饱和处理效果,表明C++正通过引入类似Rust的安全机制来增强语言竞争力。

2025-06-21 08:22:37 360 2

原创 c++26新功能—hive容器

《C++容器演进与std::hive的应用》探讨了技术发展与现实需求的对应关系。STL容器从基础结构逐步演进,针对游戏开发等高频读写场景,提出了std::hive容器。该容器源自plf::colony,具有O(1)复杂度、迭代器稳定(插入时)和高效内存管理三大特性,采用分块存储和skipfield机制优化性能。例程展示了其简洁用法。文章强调技术发展规律与现实问题解决思路的相通性,指出跨领域思维的重要性。

2025-06-21 08:15:31 483

原创 c++26新功能—结构化绑定的扩展

C++26扩展了对结构化绑定的支持,允许在if和switch语句中使用auto解构容器和对象,进一步简化代码编写。本文介绍了C++17中结构化绑定的基本应用,并重点阐述了C++26的新特性:更细粒度的控制(如属性解析)和模板可变参数解构。通过例程展示了将结构化绑定与if初始化语句结合使用的场景,强调这些看似简单的语法扩展实际上体现了C++标准演进的核心价值——在不增加学习门槛的前提下提升开发效率。文章指出,标准演进应注重实用性和易用性,而非一味追求技术复杂度。

2025-06-15 09:23:08 398 2

原创 c++26新功能—契约与概念

本文分析了C++26中的契约(Contracts)和C++20中的概念(Concepts)在代码安全控制方面的特点与协同应用。契约主要用于运行时对函数进行前置/后置条件检查,而概念则用于编译时约束模板参数。二者可分层协作:编译时使用概念,运行时使用契约;模板优先使用概念并配合契约;还可通过契约的忽略选项优化性能。通过例程展示了二者如何协同工作,概念确保类型安全,契约验证运行时条件。技术应用应注重与其他技术的互补协作,而非孤立使用,才能构建更健壮安全的C++代码。

2025-06-15 09:21:34 366 1

原创 并行编程实战——CUDA编程介绍

摘要:随着图像处理和AI计算需求激增,GPU凭借数千核心的并行优势成为计算主力。NVIDIA推出的CUDA平台为GPU编程提供专用框架,其扩展C/C++语言和高并行架构显著提升计算性能,但依赖N卡硬件。相比通用框架OpenCL,CUDA在专业支持和性能上更优,但技术选择需结合场景需求。开发者应根据任务特点(如AI训练需高性能)选择最适合的并行计算方案,没有绝对优劣,只有适用差异。(147字)

2025-06-14 11:03:49 920 2

原创 c++26新功能—契约编程

C++26引入契约编程新特性,旨在提升代码安全性与可维护性。契约分为前置条件(pre)、后置条件(post)和断言(contract_assert)三种形式,通过四种检查语义(忽略/观察/快速强制执行/强制执行)平衡调试与性能需求。契约允许在函数声明中嵌入预期行为约束,并提供自定义违反处理接口。示例展示了如何用契约验证向量规范化操作的前后条件。这一特性标志着C++在安全性方面的系统化改进,为开发者提供了更强大的错误预防机制。契约编程的引入体现了C++持续演进的发展趋势,有助于编写更可靠的代码。

2025-06-14 09:47:33 1002 2

原创 设计心得——编程范式

理论和实践的关系和重要性往往大家都知道,但真正应用起来,却达不到效果。究其原因,就在于认知程度不够。自己很明白,但实际应用中却往往忽视一个方面或者懈怠于思考,不愿意进行理论和实践的互相印证和融合。这就极大降低了实践的能力和对理论理解的深度。知行合一,方是根本。知行互动,才是目的。

2025-06-08 10:35:18 447 4

原创 跟我学c++中级篇——多线程中的文件处理

本文探讨了C++中多线程条件下的文件处理挑战与解决方案。文章指出,C++文件处理API相对落后,而多线程环境下文件读写面临同步、效率、数据一致性等问题。针对文件读写,提出了使用锁、原子变量、无锁编程等方法,以及内存映射、缓冲技术、异步IO等具体优化手段。特别分析了多线程写入时的数据覆盖、效率下降等典型问题,并提供了大日志文件内存映射的代码示例,展示了如何通过分块处理提高性能。文章强调合理的线程控制和综合技术应用是解决复杂文件处理问题的关键。

2025-06-08 09:08:31 897 2

原创 跟我学c++中级篇——C++14中的透明操作符

本文介绍了C++14引入的透明操作符(Transparent function objects)特性。透明操作符是一种特殊函数对象,能够自动推导参数类型而无需显式指定,提高了代码简洁性和安全性。文章分析了其优势(减少编码复杂度、增强类型安全)和缺点(增加编译复杂性、应用有限性),并列举了常见透明操作符(如std::less<>)。通过实例演示了在集合操作中的应用,说明其保留了C++强类型特性同时简化了开发。透明操作符体现了C++标准向更易用方向发展的趋势,在保持类型安全的前提下优化开发体验。

2025-06-07 09:14:33 462 2

原创 跟我学c++中级篇——理解类型推导和C++不同版本的支持

C++类型推导技术演进分析 本文系统梳理了C++标准中类型推导技术的发展历程。类型推导作为强类型语言的重要特性,在C++11引入auto和decltype,14/17标准扩展了auto应用场景并引入CTAD(类模板参数推导),到C++20通过概念和约束增强了推导控制能力。文章指出,虽然推导技术不断进步,但在模板和元编程中仍显复杂。建议开发者根据实际需求选择性学习,不必过度深入。随着标准演进,编译器自动推导能力将持续提升,但完全智能化仍需时日。

2025-06-06 21:38:55 1036 1

原创 设计心得——抽象

摘要:抽象是从具象事物中提取本质特征的思维过程,在计算机领域表现为代码和设计思想的提炼。文章阐述了抽象的发展历程,从文字演化到编程应用;解析了表征性和原理性两种抽象类型;指出编程中抽象的应用价值在于解耦、封装和提升可维护性;强调优秀架构师需要兼具思想抽象和代码抽象能力。最后提出掌握抽象的方法论:持续学习理论并反复实践验证,才能实现从开发到设计的思维跨越。(148字)

2025-06-01 17:17:10 862 3

原创 跟我学c++中级篇——隐式转换的意义

本文探讨C++中隐式转换的必要性与管控方法。隐式转换分为基础类型转换、类对象转换和wrapper转换三类,虽方便但存在安全隐患。为控制风险,建议使用static_cast等强制转换、类构造函数加explicit关键字、模板中应用SFINAE技术。通过Demo类示例展示如何禁止隐式构造转换。作者强调应在确保安全的前提下谨慎使用隐式转换,推荐优先采用显式转换方式。随着标准演进,隐式转换的使用正被逐步规范和限制。

2025-05-31 08:41:03 303 1

原创 跟我学c++中级篇——动态库的资源处理

本文探讨了动态库编程中的资源管理问题。文章指出动态库资源管理的核心在于合理分配、应用和回收各类资源,包括变量、内存、IO、CPU及其它计算机资源。重点分析了指针变量、静态变量和全局变量等特殊变量的管理风险,强调资源所有权明确和RAII原则的重要性。此外,文章还讨论了异常处理、设计模式应用及消息传递等动态库特有的资源管理挑战。最终强调掌握动态库资源管理的原理和方法对避免程序崩溃至关重要。

2025-05-30 22:05:12 1056 1

原创 c++性能测试工具——Callgrind的使用

本文介绍了Callgrind性能分析工具的使用方法。Callgrind是Valgrind工具集的一部分,主要用于分析函数调用关系和CPU缓存性能,支持调用图分析、缓存模拟和多线程分析。文章详细说明了安装步骤(通过apt安装valgrind和kcachegrind)、基本使用方法(包含命令行参数说明),并通过一个C语言示例程序演示了完整的分析流程:从编译带调试信息的程序、运行Callgrind分析,到生成文本报告和图形化结果。最后指出Callgrind会使程序运行速度显著下降(约几十倍),需要开发者权衡使用。

2025-05-24 09:28:12 361 4

原创 c++性能测试工具——Oprofile的使用

本文介绍了Linux系统性能测试工具Oprofile及其使用方法。Oprofile是一个低开销、跨平台的性能分析工具,新版本使用operf替代opcontrol,支持用户态和内核态数据采集。文章详细说明了安装方法(apt-get安装)和operf的使用命令格式,包括分析指定进程、系统范围分析等选项,并给出具体示例演示如何采集进程性能数据及生成报告。最后指出Oprofile虽功能强大且跨平台支持良好,但在不同硬件平台上使用时需注意可能的依赖差异。全文提供了从安装到实际应用的完整指南。

2025-05-24 09:17:15 164 1

原创 C++性能测试工具——sysprof的使用

sysprof是一款简单易用的系统性能测试工具,具有图形化界面,支持多种硬件平台和Linux环境。其主要功能包括监控和分析系统范围内的CPU、内存和IO资源,提供按时间段筛选CPU使用情况、查看函数调用栈、保存分析结果等多维度数据监控。sysprof的安装简便,使用命令“sudo apt install sysprof -y”即可完成安装。使用过程中,用户可通过图形界面启动程序、记录性能数据并进行分析,支持多线程和GPU分析。sysprof的图形界面使其操作直观,适合大多数开发者和普通用户使用,无需深入掌握

2025-05-23 21:45:13 679 1

原创 设计心得——封装

封装是面向对象编程的三大特性之一,它将数据和操作数据的方法整合在一起,形成一个独立的单元(如类或结构体),并对外隐藏内部实现细节,只暴露必要的接口。封装的意义在于提高代码的安全性、可靠性和可维护性,同时为继承和多态提供支持。通过使用不同的修饰符(如public、private、protected)和归类处理,开发者可以实现有效的封装。封装的应用实例广泛,如银行账户类中的余额管理。掌握封装是编程基础中的关键,只有打好基础,才能进一步提升编程水平。

2025-05-18 09:43:36 536 8

原创 C++性能测试工具——AMD CodeAnalyst及其新工具的使用

AMD提供了多种性能测试工具,包括CodeAnalyst、uProf和CodeXL,其中uProf和CodeXL是较新的替代工具,支持最新的硬件架构和操作系统。uProf支持CPU/GPU性能分析和硬件事件监控,而CodeXL提供代码调试和性能分析功能,但已停止维护。安装这些工具需要从AMD官网下载软件包,并在Linux系统中安装相关依赖库。使用这些工具时,需编译带有调试信息的程序,通过命令行启动工具并设置参数进行性能分析。选择合适的工具对于解决实际问题至关重要。

2025-05-17 15:12:21 333 1

原创 C++性能测试工具——Vtune的使用

本文详细介绍了Intel VTune Profiler的安装、配置、功能及使用示例。VTune是Intel oneAPI工具包中的性能分析工具,支持Linux平台。安装方法包括在线和离线两种,配置涉及环境变量和用户权限设置。VTune提供GUI、命令行和远程应用三种使用方式,能够进行热点分析、生成报告等。通过一个矩阵测试程序的例程,展示了如何收集和分析性能数据。文章还提供了解决常见错误的命令,并强调了熟练使用性能测试工具对程序优化的重要性。

2025-05-17 09:28:53 654

原创 C++性能测试工具——Vtune等的介绍

本文介绍了多种C++性能测试和分析工具,包括Intel Vtune、AMD CodeAnalyst、Valgrind的Callgrind、Oprofile和Sysprof。这些工具各有特点,如Intel Vtune和AMD CodeAnalyst针对特定硬件平台提供架构级分析,而Callgrind和Oprofile则分别提供调用图分析和代码层次的性能监测。Sysprof则专注于CPU、内存和I/O资源的使用情况分析。文章还提到这些工具大多支持多线程和远程分析,但Callgrind和Sysprof不支持远程使

2025-05-16 21:30:12 445

原创 跟我学c++高级篇——模板元编程之十三处理逻辑

元编程中的逻辑处理主要包括条件判断和循环处理。条件判断可通过传统方法(如三目运算符、模板特化、SFINAE技术)和C++新标准方法(如std::conditional、if constexpr、Concepts)实现。循环处理则可通过递归模拟、折叠表达式和模板技巧实现,例如递归模拟斐波那契数列的计算。掌握这些基本逻辑处理是理解和应用元编程的关键。

2025-05-11 10:04:43 523 5

原创 跟我学C++中级篇——STL中的删除对比

本文对比分析了STL中的两种删除方法:std::remove和erase。std::remove并未真正删除元素,而是将其移动到容器尾部,适用于快速删除;而erase则直接删除元素,适用于容器元素的彻底移除。两者在所属库、处理结果和适应性上存在差异,std::remove不适用于关联容器,而erase则更为通用。随着C++20标准的推出,std::erase和std::erase_if进一步简化了删除操作。通过例程展示了两种方法的使用,并指出STL的发展趋势是简化操作,鼓励学习新标准以更好地应用。

2025-05-10 09:55:54 424 3

原创 跟我学C++中级篇——STL容器的查找对比

C++标准库提供了多种查找方法,其中std::find和std::search是两种常用的查找方式。std::find用于在容器中查找单个特定值,而std::search用于在序列中查找连续的子序列。两者的主要区别在于查找对象、参数类型、时间复杂度和返回值。std::find的时间复杂度为O(N),而std::search的时间复杂度为O(M)~O((N-M+1)*M)。通过示例代码可以更直观地理解两者的应用场景和用法。对比学习这两种查找方法有助于提升编程效率和理解深度。

2025-05-09 22:12:53 501 1

原创 c++26新功能——Pack indexing

一个技术的出现也会有生命周期中的几个阶段,一般来说只有到了成熟期才会非常广泛的应用于开发者的开发过程中。毕竟大多数的开发者和其服务的公司,都不愿意承担学习和应用的风险。但如果这项技术已经被验证是一个未来,还是应该努力的从开始就跟进它,从而更好的掌握这门技术,能更好的服务于自己的开发实践!

2025-05-04 10:41:50 516 4

原创 c++26新功能——gcc15.1的支持

其实C++新标准的落地,最重要的还是看编译器的支持。即使会有一些小的惊喜,但整体上,编译器对新标准的支持需要不断的迭代才可能完成。特别是面临一些重大标准的推进,可能有较多的基础库需要更新,这就使得编译器自身的更新迭代无论从时间还是工作量上都增加不少的难度。但新的终究会来,老的终将故去。与诸君共勉!

2025-05-03 17:44:46 1397 2

原创 c++26新功能——std::execution

本文是对c++26中的std::execution库的一个入门的分析介绍,目前支持其的平台或编译器尚且在进行中,所以大家可以找到一些编译器尝鲜试试。在翻看一些国外的网站时,发现有的公司已经在生产中使用这个库了。国内的开发者,还要努力跟进啊。

2025-05-01 15:16:19 901 2

原创 跟我学C++中级篇——控制死锁

死锁虽然在面试时反复被问到,但在实践中真正写出来或者遇到的并没有想象的那么多。其实最主要的原因就是大多数的程序员都不会有这种开发的应用场景。但恰恰因为遇到的少,在实际中真正出现时,却不知道从何下手。还是老规矩,把基础掌握好,会灵活的使用工具。只要发现定位了死锁的问题,就可以根据产生死锁的原因有针对的进行解决即可。没有过不了的火焰山。

2025-04-29 19:01:05 1754 6

原创 设计心得——数据结构的意义

数据结构本质就是对数据处理的一种抽象,它做到了相对上整体的最优。即无论从访问、操作和存储都达到了一个最佳的平衡。它既是一种数据意义上的建模也是一种解决问题的思维范式,不但满足了数据处理本身的功能又可以为系统设计和工程实现提供了模式化的解决方案。要想做一个优秀的程序员和架构师,数据结构是绕不过去的。要想学好算法,数据结构更是基础。

2025-04-26 09:47:18 781 4

masstree算法论文

目前的底层的分布式数据库如ROCKSDB等都使用的LSM的算法,本文使用了masstree这种算法来优化其处理。

2018-11-17

Sql批量操作数据

在SQLSERVER的多条数据操作时,使用SQLBULKCOPY等几种方式的对比,这篇文档就是整理了这些使用的方法。

2018-10-05

朗新WEBSERVER接口(南网和天津电网)

适用于朗新目前的所有接口,平台语言C#,主要是对电力系统SG186的跨平台调用。也适于于同样的WEBSERVER工程跨平台使用。使用说明书已打在压缩包里。

2009-03-16

IOTEX白皮书

物联网和区块链的结合,实现了链中链和跨链的通信,通过特有零知识证明来解决用户隐私问题。

2018-09-30

JAVA并发编程设计原则与模式

一本比较老的书,讲得多线程和并发技术,是一个入门的比较浅显的书籍。

2018-10-01

虹膜开源的算法

本文是国外的一款开源的虹膜识别框架的介绍,它的源码是可以直接使用的,但是需要优化。

2018-11-17

电能质量闪变的测量

电能质量是电力行业一个重要的部分,本论文从实际出发,论证了闪变测量的方法。

2018-10-05

大数阶乘算法的一个例子

小数的阶乘比较好做,但是阶乘的数量变化非常快,很快会溢出,这里采用一种变通的方法,可以实现相当大的数的阶乘,如果在这个基础上进一步扩展,能进行更大的阶乘算法。

2018-10-06

bancor协议白皮书

bancor协议是目前区块链研究的一个重要方向,跨链不同的TOKEN之间的兑换一直是一个问题,这里给出一个解决的方案。

2018-09-29

steamr白皮书

steamr是一个用来做数据去中心化的网络和市场相关的区块链项目,主要提供去中心化的云服务。

2018-10-11

安卓编译JAR包和SO

这个是用ECLIPSE编译JAR包和SO的一个教学录像,非常适合对c++不熟悉的人编译使用。

2018-10-01

linux设备驱动开发

本书从浅到深介绍了LINUX操作系统上的驱动开发的过程,值得推荐。

2018-11-17

代码管理核心技术及实践

代码管理是开发过程一个重要的环节,好的代码管理可以为团队的开发提供安全的保护和合作,本书就是讲述在不同环境中如何使用主流的代码管理软件和方式。

2018-09-30

DERP白皮书

DREP区块的白皮书,是一个新的区块链的技术,如果大家对这个感兴趣,可以下来看看。

2018-09-29

mixin白皮书

mixin是一个闪电交易快速的点点对的数字交道项目,它拥有非常好的技术栈。

2018-10-11

阿希链白皮书

阿希链是一个用javascript写的侧链,主要用来完成多链间的通信,有一定的特色,可以借鉴。

2018-10-11

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除