一周IT博文精选TOP10(第六期)

区块链学习资源汇总 # Fabric 项目文档 https://github.com/hyperledger/fabric/blob/master/docs/protocol-spec.md http://hyperledger-fabric.readthedocs.io/en/latest/ # 博客 [汪晓明对区块链、以太坊的思考](http://wangxiaoming.com/) 介绍了很 阅读详情

1. 扛住618过亿订单量,京东弹性云15万容器规模这样炼成!(附PPT) http://dbaplus.cn/news-21-664-1.html

2. 工程师成长之路:工作1-3年工程师如何突破瓶颈期? https://www.sdk.cn/news/5502

3. 谷歌的开源成绩单 https://linux.cn/article-7876-1.html

4. 老司机“四招”带你玩转运维 http://www.10tiao.com/html/488/201610/2247483921/1.html

5. 传统企业应用容器化的痛点、坑和解决之道 http://dockone.io/article/1725

6. 当你喜刷刷时,你可知为何朋友圈能这么流畅? http://36kr.com/p/5055005.html

7. 实现Cloud-Native可运维性 http://www.tuicool.com/articles/3ERVJjb

8. 从建设到治理,从系统到团队,谈高可用架构之道 http://www.infoq.com/cn/news/2016/10/High-availability-arch

9. Spring Cloud和Docker微服务 http://www.uml.org.cn/yunjisuan/201610171.asp

10. 大数据下的技术运营(三)——报警系统设计与实现 http://www.infoq.com/cn/articles/technical-operation-under-big-data-part03



[欢迎关注我的微信公众号hackstoic, 在移动端获得最新的文章推送]

MySQL安装配置教程(超级详细) 一、 下载MySQL Mysql官网下载地址:MySQL :: Download MySQL Installer (Archived Versions) 1. 选择要安装的版本,本篇文章选择的是5.7.31版本,点击Download下载 正在上传…重新上传取消 二、 安装MySQL 1. 选择设置类型双击运行mysql-installer-community-5.7.31.0.msi 这里选择是自定义安装,所以直接选择“Custom”,点击“Next” “Developer Default”是 阅读详情

相关推荐

惯性导航原理(九)-INS的初始对准-初始姿态确定+双矢量定姿

文章目录INS的初始对准INS初始化静基座/静态粗对准静态粗对准—加速度计调平原理加速度计调平静态粗对准—陀螺罗盘思考初始对准的影响因素双矢量定姿原理静态解析粗对准—双矢量定姿静态解析粗对准(续)其它初始对准方法精对准动对准 INS的初始对准 INS的初始对准为初始化的一部分 INS初始化 初始位置: 给定(INS没有初始位置确定的能力,例如从GPS ) 初始速度: 零(静止状态)或给定 初始姿态: 初始对准(INS有能力自己测资态) 粗对准vs. 精对准 静止状态vs. 运动状态 重要性: 失之毫厘,谬

十八与她的博客 1万+

传统企业应用容器化的痛点、坑和解决之道

本文讲的是传统企业应用容器化的痛点、坑和解决之道【编者的话】本次分享将讲解容器化技术对传统企业的价值;传统企业在应用容器化技术改造核心应用如CRM、BOSS等等,中遇到的问题以及应对措施。大家好!我是来自于天云软件的刘春阳,我主要是负责我们公司容器化以及平台化产品的规划和设计。今天我主要跟大家分享一下在平台性的产品,特别是针对企业平台性的产品设计过程当中...

weixin_33699914的博客 678

VSCode搭配Keil开发STM32:从环境配置到代码跳转全流程(避坑指南)

本文详细介绍了如何使用VSCode搭配Keil进行STM32开发,从环境配置到代码跳转的全流程指南。通过安装必备插件和正确配置项目文件,开发者可以在VSCode中享受现代编辑器的便捷功能,同时保留Keil的编译调试能力,提升嵌入式开发效率。

weixin_28832121的博客 253

STL容器与算法的工业级实战:从内存布局到性能调优

STL(标准模板库)是C++中支撑高性能系统的核心基础设施,其本质是基于泛型编程、零成本抽象和契约式设计的工业级工具集。理解容器内存模型(如vector的capacity/size分离)、迭代器分类(RandomAccessIterator等)与算法复杂度边界(如sort要求严格弱序),是规避隐性性能陷阱的关键。结合真实场景——高频日志分析、实时音视频处理、嵌入式资源受限环境——本文深入解析std::vector内存布局、std::deque线程安全遍历优势、std::unordered_map哈希优化及s

weixin_33938733的博客 567

Win11下Android模拟器报HAXM未安装?三步搞定虚拟化配置(附终端命令)

本文详细解析了Win11下Android模拟器HAXM报错的解决方案,从虚拟化配置到终端命令实战。通过检查BIOS设置、调整Windows功能及执行PowerShell命令,三步搞定虚拟化配置问题,有效提升模拟器性能。特别针对Win11与HAXM的兼容性问题提供了专业指导。

weixin_29215815的博客 143

AutoCAD提示找不到acdb24.dll、AcGe24.dll、AcPal.dll、AcUt.dll怎么办?

在我们安装了AutoCAD 2023版本以后,打开CAD,可能会出现dll文件丢失的情况,如下所示:1、由于找不到acdb24.dll,无法继续执行代码。重新安装程序可能解决此问题。2、由于找不到AcGe24.dll,无法继续执行代码。重新安装程序可能解决此问题。3、由于找不到AcPal.dll,无法继续执行代码。重新安装程序可能解决此问题。4、由于找不到AcUt.dll,无法继续执行代码。重新安装程序可能解决此问题。遇到AutoCAD启动系统错误,由于找不到dll文件该怎么处理呢?

huoxu369的博客 1万+

Golang优秀开源项目汇总(持续更新。。。)

Golang优秀开源项目汇总: 按照监控系统, 容器技术, paas工具, 大数据, 数据库技术, 分布式系统等等分类,汇总了比较众多知名的go语言开源项目。 在开源社区, go的开发者用go技术栈开发了不少优秀的工具 。 把这些工具进行归类, 一来方便自己在开发的时候能够迅速找到一个好的轮子来用, 避免重复造轮子, 二来也是方便自己在业余时间学习借鉴这些优秀的项目。

hackstoic的博客 6万+

最优化问题——一维搜索(一)

最优化问题——一维搜索 1. 一维搜索的引入 1.1 从非线性规划问题到一维搜索 在前面的文章中,我们提到了基于迭代的非线性规划问题的求解思路。在求解过程中,我们提到了在每一步的迭代中都需要对计算步长因子,其计算公式为: λk=minλf(xk+λp)λ_k=min_{λ}f(x_k+λp)λk​=minλ​f(xk​+λp) 我们将f(xk+λp)f(x_k+λp)f(xk​+λp)视为λ的一元函数,我们的目标就是求这个一元函数的极小值。对于这个问题,我通常的求解方式为一维搜索。 1.2 一维搜索的基本形

hei653779919的博客 7360

2016 上海 Qcon 值得关注的技术

用爬虫软件pholcus爬了今年上海Qcon的演讲主题, 分享给大家。  标注: pholcus是用go语言实现的一个爬虫框架, github地址 https://github.com/henrylee2cn/pholcus 标题 内容 URL 作者 Vue 2.0: 渐进式前端解决方案 Vue.

hackstoic的博客 8471

【前端基础篇】HTML5 + CSS3 入门知识

,HTML5和CSS3核心知识

前端知识分享喵 2982

AgentScope 实战训练营-构建元规划智能体(Meta Planner Agent)—— 从 0 到 1 完整实现

本文介绍了基于AgentScope框架开发的元规划智能体(Meta Planner Agent)系统。该系统通过任务拆解和子代理编排机制,实现复杂任务的自动化处理。核心架构分为用户层、规划器层和子代理层,其中规划器作为"项目经理"负责任务分解、创建子代理并协调执行流程。关键技术包括AgentScope多智能体框架、DashScope大语言模型、PlanNotebook计划管理工具等。

program哲学 358

2016年Qcon值得关注的技术分享

http://2016.qconbeijing.com/tracks  新兴技术及应用 运维与监控专场(厂商专场) 新时代的数据存储与访问技术 知名互联网公司的管理方法 服务化与微服务架构 打破规则,我是黑客

hackstoic的博客 2088

5步上手Quartz.NetUI:.NET Core定时任务的开箱即用解决方案

Quartz.NetUI是一个基于.NET Core + Quartz.NET + Vue + IView的开箱即用的定时任务UI解决方案。它结合了Quartz.NET的强大功能和Vue.js的易用性,提供了一个不依赖数据库、只需在界面进行简单配置即可使用的定时任务管理系统。通过上述步骤,你已经学会了如何使用Quartz.NetUI在.NET Core项目中实现定时任务。Quartz.NetUI不仅功能强大,而且使用简单,非常适合那些需要快速实现定时任务管理的开发者。

java专栏 2407

优质资源大搜集---你不容错过的IT课程

前言: 如今网络发达的时代, 网络上的学习资源不再稀缺。 你随便用google或者百度搜索一下, 就可以找到大量的资源。 但是资源众多也会带来问题, 就是信息过载和资源参差不齐导致选择成本增加的问题。 下面的推荐根据平时的筛选和甄别, 找到了下面的优质的学习资源。 分享给大家,也作为自己的备忘录。   【三大优质IT教育资源网站】 StuQ 网址:http:/

hackstoic的博客 1520

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

云原生生态,架构和相关的厂商社区介绍

云原生生态,架构和相关的厂商社区介绍 https://github.com/hackstoic/cloud-native-eco-system/ 云原生架构 云原生生态 相关社区和厂商 应用程序定义和开发 语言和框架 数据 源码管理 应用定义 注册服务 CI/CD 第三方API 编排和管理 调度和编排 协调和

hackstoic的博客 1259

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

一周IT博文精选TOP10(第十期)

Kubernetes从部署到运维详解 http://geek.youkuaiyun.com/news/detail/115128 介绍k8s架构, 部署过程, 部署相关的组件介绍, 运维管理, 包括主机, 命名空间, 配置等 在Google使用Borg进行大规模集群的管理[全文pdf] http://www.dockone.io/article/763 谷歌集群管理经典论文的译文。 内容

hackstoic的博客 931

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

一周IT博文精选TOP10(第八期)

1. 怎样构建一个可持续发展的程序员能力成长模型? http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650994549&idx=1&sn=860b85a9dcc04cd4aa9ea8941f676aa8&chksm=bdbf0f268ac886309e5d0db15d4ac3f7f1d4004eea9637a859b92a4aa595fd

hackstoic的博客 906

一周IT博文精选TOP10(第九期)

1. SRE系列教程 | 孙宇聪:来自Google的DevOps理念及实践(上)http://www.dockone.io/article/1820 > 本文为上篇,讲述了SRE的基本概念和核心原理. 文章内容有: 什么是SRE?; 传统运维模式的弱点 ;Google SRE的起源与特点;SRE的工作职责; 应急响应;日常运维; 工程研发; SRE模型成功的关键要素(职业化, 专业化, 打通与产

hackstoic的博客 878

一周IT博文精选TOP10(第七期)

1. JVM 架构解读 http://www.codeceo.com/article/jvm-architecture-explained.html 2. 如何做一个小型公司的技术总监 http://mp.weixin.qq.com/s?__biz=MzA5ODExMTkwMA==&mid=401610150&idx=1&sn=76634db462956a532a46c5096a741258

hackstoic的博客 713

一周IT博文精选TOP10(2016.10.16)

1. 像调度程序那样安排任务,是什么样的体验? http://blog.jobbole.com/105853/ 2. 怎么保证服务可靠性、数据一致性、以及一旦宕机数据恢复 http://www.tuicool.com/articles/AfiY7f7 3. 当服务 QPS 增高时,我们做什么 http://blog.jobbole.com/106140/ 4. 技术的执念 http://bl

hackstoic的博客 620

一周IT博文精选TOP10(2016.10.02)

1. 从搭建一个微信小程序开始 https://www.qcloud.com/act/event/yingyonghao.html?from=timeline&isappinstalled=0 2. 论运维自动化(下):先克服难点完成自动化,再连通业务实现技术运营 论运维自动化(下):先克服难点完成自动化,再连通业务实现技术运营 3. 软件定义网络在携程的运维实践 软件定义网络在携程的

hackstoic的博客 578

一周IT博文精选TOP10(2016.10.09)

1. 微服务场景下的自动化测试 http://icodeit.org/2016/10/testing-in-microservice-context/ 2. 2016 Web开发资源工具大搜罗 https://zhuanlan.zhihu.com/p/22730771 3. PyCon China 深圳站精彩回顾(附PPT及视频)https://segmentfault.com/a/11900

hackstoic的博客 573

深入操作系统原理:从《操作系统导论》看微服务网关限流熔断机

在现代分布式系统中,微服务架构已经成为了主流,而微服务网关作为整个系统的第一道防线,承担着流量控制、路由转发、鉴权等核心功能。在实际开发中,我们常常会遇到“服务雪崩”“请求超时”“服务器资源耗尽”等异常情况。这些问题的根源往往与操作系统的调度机制、资源管理以及网络通信的底层实现息息相关。本文将结合经典技术书籍《操作系统导论》中的核心理论知识,从底层系统原理出发,深入探讨微服务网关中的限流与熔断机制,帮助读者建立起系统化的知识图谱。

wuchangjian的专栏 236

VortMall微服务商城系统v1.3.26 供应链后台菜单优化与供应商代发流程说明

在 VortMall 微服务商城系统中,供应商提供货源并维护库存,店铺选货铺货并向消费者销售。供应商代发时,供货方处理发货,消费者通过订单查看物流;发生退换货时,店铺、平台和供应商按业务规则协作。v1.3.26 调整了供应链后台“采购管理”“供应商管理”和“设置”三个分组的图标。本文结合这次界面调整,梳理系统已有的供销与履约流程。

VortMall的博客 387

微服务与单体的取舍

微服务非技术升级,而是组织与运维能力的变现。收益(故障隔离、独立扩展、发布、边界清晰)随规模放大,成本却一次性支付。拆分需满足团队超十人、负载差异大、发布互阻、领域稳定四条件。否则应优先采用模块化单体——代码分层、接口约束,边界清晰,未来可平滑拆分。避免按技术层划分服务,坚持“一服务一数据所有权”。拆分前确保基础设施完备,且以具体痛点为信号,逐步推进,先拆最痛处,验证后再行扩展。

2401_89855466的博客 273

微服务网关中的安全风险与限流熔断策略深度解析

在现代的微服务架构中,网关作为系统的第一道防线,承担了请求路由、鉴权、限流与熔断等核心功能。然而,随着业务复杂度的提升,安全风险也随之增加,尤其是在没有合理配置限流和熔断机制的情况下,网关可能成为攻击者渗透系统的入口。本文将从渗透测试的角度出发,深入剖析微服务网关在安全防护方面的常见问题,并结合限流与熔断的实际场景,提供可操作的安全加固方案。

后台模板 169
上一篇: 一周IT博文精选TOP10(2016.10.16)
下一篇: 一周IT博文精选TOP10(第七期)
hackstoic
博客等级 码龄11年 50粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值