广告跟踪与防范(来自瑞星)

不想被“监控”了?教你一招摆脱广告追踪 全文共2260字,预计学习时长7分钟 来源:Pexels 你知道手机比你更准确了解你现在所处的位置吗?你知道在你上网或者使用应用程序时,有成堆的公司会悄悄地追踪你的动态吗? 定位广告已是一个普遍现象,商家们争先恐后地让您的手机充满了根据您兴趣爱好和消费倾向投放的广告,这些与您相关的信息主要就是通过手机收集日常生活规律数据,并进行分析而得到的。 比如说NewReli... 阅读详情

原文地址:http://www.rising.com.cn/newsletter/news/2013-01-25/13131.html#jtss-qzone

当我们在购物网站搜索某些商品时,网页上会显示许多与搜索商品相关的广告内容,这些广告的出现是由于广告脚本代码通过分析网页内容时进行定向投放的广告。但是当我们访问购物网站后再访问其他一些与购物无关的网站页面时,依然会发现页面中出现了与我们曾经搜索过的商品相关的广告信息,这就表明我们之前浏览网页的行为已经被广告代码跟踪了,我们在不知情的情况下被“追踪定向投放广告”了。

广告跟踪最典型的应用就是定向广告的投放。虽然在一定程度上来说,定向广告的投放可以满足消费者对消费品的需求,但是满足这种需求的同时,也暴露了网民用户在浏览网页操作行为的隐私信息。至于在保护隐私和定向广告两者中如何进行选择,每个网民都会有不同的偏好。广告跟踪又是如何实现的呢?网民用户在浏览网页时又如何防范广告跟踪,保护自己的隐私信息不被跟踪和泄露呢?

Cookie

在网络环境中,广告跟踪的实现主要是通过跟踪浏览器的Cookies信息实现的。Cookie是保存在客户端环境中的一个很小的文本信息,其主要作用是实现用户请求和页面在Web服务器和客户端浏览器之间传递。Cookie中包含了每次用户访问站点时网站应用程序都可以从客户端中读取的信息。当用户请求访问网站时,网站应用程序反馈给用户的信息除了网页页面内容以外,还有一个包含时间的Cookie信息,用户的浏览器在展示页面的同时还会将获取到的Cookie信息存储在用户硬盘的文件夹内。


Cookie是与网站进行关联的,而不是与网站中某一个特定的网页关联。所以,当用户访问某个网站时,无论用户打开的是哪一个页面,网站服务器和客户端浏览器都会交换保存在客户端环境的Cookie信息。当用户访问不同的站点时,每一个网站都可能会向客户端浏览器发送一个Cookie信息,浏览器会分别存储获取到的所有Cookie信息。


Cookie信息的应用可以帮助网站应用程序在客户端存储与访问者相关的信息。因为除了客户端请求和服务端反馈的信息交换以外,用户客户端浏览器和网站服务器之间的连接都是断开的,对于客户端用户发出的每一次的请求,网站服务器都会单独处理,但是很多情况下,网站服务器需要识别并记录出客户端用户的操作信息,例如:很多购物网站的购物车应用就是通过记录Cookie信息实现特定信息的交互,这是Cookie作为一种联系方式提供相关的标识信息来帮助网站应用程序确定如何继续执行,如下图1所示为京东商城网站的购物车应用通过记录Cookie的方式来记录用户添加到购物车中的商品信息。

图1

跟踪Cookie

跟踪Cookie是一种特定类型的Cookie,它也是建立在Cookie文件的基础之上,但是跟踪Cookie实现了在两个或更多个不相关的网站之间分布、共享和读取,目的是通过网站脚本代码收集信息并向客户端浏览器输出显示自定义的数据。需要说明的一点是,并不是所有Cookie都是跟踪Cookie。虽然跟踪Cookie不像恶意软件、蠕虫或病毒那样具有较强的危害性,但它会涉及客户端浏览器用户的隐私问题。例如,如果用户访问一个由第三方供应商托管在线广告的网站,第三方供应商便会在您的计算机上放置一个Cookie。如果另一个网站也有来自这个第三方供应商的广告,则此供应商便知道用户已经访问过这两个网站,供应商就会根据已经跟踪到的用户操作行为信息进行分析,提取用户可能感兴趣的广告信息进行广告的定向投放。这也就是前面提到的例子的原因所在。

更为严重的情况是一些网站在获取到用户操作行为相关的Cookie信息以后,并不仅仅供自身使用,而是将这些涉及到用户隐私的信息共享给其他一些与该网站有利益关系的企业或团体。这种情况就导致了用户的行为和操作习惯等隐私信息不仅仅是被用户访问的网站获取,而是被该网站更广泛地与其他企业分享。


Flash Cookie

Flash Cookie实际上叫做ShareObject,通过ShareObject可以实现flash应用在客户端环境中的数据存储,它分为本地对象和远程对象两种。针对ShareObject可能存在的跟踪Cookie功能主要是本地对象,当客户端用户通过浏览器访问网站时,Flash可以通过ShareObject在用户本地保留一些特定的信息,类似访问网站时候的Cookie文件。在作者的系统环境(操作系统是windows7)中,Flash Cookie文件存在如下目录C:\Users\用户名\AppData\Roaming\Macromedia\Flash Player\#SharedObjects\中,文件类型是SOL文件,而这种文件类型不是文本类型,所以我们需要借助其他工具对该文件信息进行查看,如下图2所示为通过SOLEditor工具对保存在本机的flash cookie信息进行查看后的结果。


                                                                                                              图2

Flash Cookie目前已经被越来越多的网站媒体利用,让已经被删除的文本类型的跟踪Cookie再次“复活”。

利用Cookie跟踪用户访问实例

下面我们结合一个简单的实例来模拟一下网站应用程序是如何通过Cookie来记录和显示用户访问行为的。这里我们使用ASP脚本语言来演示,网页关键代码如下图3和图4所示。

                                                                                   图3

                                                                                     图4

当用户初次访问页面时,因为程序没有记录客户端用户访问的相应感兴趣的产品信息,所以显示内容为“用户还没有浏览过任何商品!”,如下图5所示。

                                    图5

而当用户访问过某些产品以后,程序会通过写入Cookie文件的方式记录用户最近一次访问的感兴趣的商品信息,并将相应的商品内容进行显示,如下图6所示。

                                       图6

通过上述简单的代码,我们实现了通过Cookie跟踪用户浏览行为,并将用户最后一次访问的感兴趣的商品进行展示的功能。演示程序中只是针对商品类型的type值进行跟踪,并将相应的信息保存在Cookie文件中。网页在解析过程中,只有服务端才知道type的值是什么含义,而在服务端获取到type值以后进一步怎么处理,这是我们无法发现的。而且信息的值是可以经过加密处理的,而且加密的算法也是可以通过自写加密的方式实现,其他人无法实现对数据的解密。当然,这段演示程序只是在功能上简单实现了跟踪cookie的作用,而实际网络环境中跟踪用户行为的代码要比这个演示程序程序复杂很多。

如何发现跟踪Cookie信息

在了解了跟踪Cookie相关的理论内容以后,我们进一步看一下如何发现跟踪Cookie的信息。目前有许多的浏览器和第三方的安全软件提供了跟踪Cookie信息查看的功能,下面我们结合火狐浏览器的Collusion插件功能,帮助我们分析在我们正常浏览网页的同时会出现多少个跟踪行为。Collusion插件安装完成以后,我们分别访问几个比较流行的网站,并在网站中对相关物品信息进行搜索,这样可以使得跟踪Cookie信息可以更加直观地体现。下图7为通过火狐浏览器访问一些主流网站时,Collusion插件辅助分析的存在用户浏览网页信息交互的关系图,通过点击相应的节点可以在左侧信息栏中查看当我们访问该网站时,网站将我们的访问信息分享给了哪些域名以及相应的网站信息。


图7

如何防范跟踪Cookie

通过上述对跟踪Cookie的分析和描述,我们已经了解到跟踪Cookie主要就是通过服务器和客户端环境交互过程中操作Cookie完成的。根据跟踪Cookie的原理和特点,网民可以通过以下几种方式实现防范跟踪Cookie的目的:

1. 通过禁用Cookie、开启Cookie安全警告或每次访问后删除与操作相关的Cookie方式防范跟踪Cookie。虽然这种方法可以在一定程度上减少跟踪Cookie对用户隐私造成的危害,但是这样的操作可能会影响用户正常的网络浏览,同时也带来了很多繁琐的操作。例如,用户在浏览网页执行Cookie信息交互时,浏览器会频繁进行提示,询问用户是否执行相应操作等。

2. 安装使用支持禁止跟踪(Do Not Track,简称DNT)功能的浏览器软件,并开启该功能。目前主流浏览器软件的最新版本都支持禁止跟踪功能,如微软IE浏览器、火狐浏览器、谷歌Chrome浏览器等,用户通过安装此类浏览器后,可以在一定程度上避开因广告跟踪而造成的个人隐私泄露的情况。如下图8所示,为通过火狐浏览器的隐私设置功能开启禁止跟踪功能。



                                                                              图8

3. 用户可以通过安全防护软件防范跟踪Cookie。目前网络环境中已有部分安全软件支持跟踪Cookie的清除与防御功能,用户可以通过此方式并开启相应的拦截跟踪Cookie功能实现对广告跟踪的拦截和提示。

随着网民越来越关注保护个人隐私以及国家针对网络信息保护工作的加强,涉及用户隐私的网络安全问题再一次成为广大网民和网络安全工作者关注的焦点。网民需要了解在正常的网络浏览访问过程中会出现哪些对自身权益造成危害的情况,在网上冲浪过程中如何保护自己的隐私信息不被泄露,防止在畅游网络的同时对自身的权益造成伤害,打造一个属于用户自己的安全、和谐的网络环境。



NLP自然语言处理:神经网络语言模型(NNLM) 目录 一、传统语言模型 1.1 稀疏性 1.2泛化能力差 二、神经网络语言模型 2.1 前馈神经网络模型(FFLM) 2.2 循环神经网络模型(RNNLM) 2.2.1循环神经网络模型示例 2.2.2RNN语言模型训练过程 2.2.3RNN语言模型反向传播 2.2.4语言模型评估 语言模型的构建目的是为了对语言中的各要素的分布进行估计,具有较长的研究历史和广泛... 阅读详情

相关推荐

从零部署奥比中光Gemini335L:Python SDK编译与手眼标定环境实战

本文提供了一份从零部署奥比中光Gemini 335L深度相机的完整实战指南。详细介绍了驱动安装、Python SDK编译、CMake配置及虚拟环境搭建等关键步骤,并重点解析了如何通过编译生成Python模块,最终实现深度图与点云数据获取,为后续的机械臂手眼标定工作奠定坚实基础。

weixin_29031161的博客 398

会话跟踪技术

会话跟踪是一种灵活、轻便的机制,它使Web上的状态编程变为可能。HTTP是一种无状态协议,每当用户发出请求时,服务器就会做出响应,客户端与服务器之间的联系是离散的、非连续的。当用户在同一网站的多个页面之间转换时,根本无法确定是否是同一个客户,会话跟踪技术就可以解决这个问题。当一个客户在多个页面间切换时,服务器会保存该用户的信息。有四种方法可以实现会话跟踪技术:URL重写、隐藏表单域、Co...

diaoyoxun8287的博客 270

macOS 27下PlayCover“没有权限打开”的完整修复指南

macOS系统通过Gatekeeper、TCC(透明、同意与控制)和安全启动等机制,对第三方应用进行层层校验,以防范恶意代码。这些机制会检查应用的隔离属性、签名状态以及所需系统权限,当任一环节不满足时,就会出现“没有权限打开”的提示。对于开发者工具或未上架App Store的开源软件,这类拦截尤为常见。尤其在macOS 27上,系统进一步收紧了绕过策略,导致PlayCover等工具无法正常启动。本文以PlayCover为例,详细解析权限链路上的三道关卡,并给出清除隔离属性、调整SIP状态、重置TCC记录等完

weixin_32612263的博客 737

Cookie会话跟踪技术

1. Cookie会话跟踪技术介绍       会话跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,可以在客户端保存临时数据. Cookie 技术诞生以来,它就成了广大网络用户和 Web 开发人员争论的一个焦点。有一些网络用户,甚至包括一些资深的 Web 专家也对它的产生和推广感到不满,这并

liuyingv8的博客 4683

​​EMC设计实战:BCI(大电流注入)硬件设计规范

LIN接口:集成TVS管(如PESD5V0S1BL)与共模电感,耐压等级≥20V(8kV HBM)。输入滤波:10μF电解电容(100kHz截止)+ 0.1μF陶瓷电容(10MHz截止)。​:全频段(1MHz-400MHz)注入200mA电流,LIN通信误码率<0.01%。对敏感电路(如传感器)采用隔离电源(如ADuM5000),隔离电压≥3kVrms。​:连续波(CW)与调幅波(AM,调制深度80%)组合,覆盖全频段干扰场景。​:选择低频段(1-100MHz)感量≥100μH的绕线电感,抑制共模电流。

m0_50833886的博客 1930

S32DS IDE调试技巧:如何用Attach功能高效定位汽车电子MCU的Bootloader问题

本文详细介绍了在汽车电子MCU开发中,如何利用S32DS IDE的Attach调试模式高效定位Bootloader与应用程序的协同问题。通过对比常规调试与Attach模式的本质差异,并深入讲解工程配置、镜像合并及实战调试流程,帮助开发者在不复位、不重新下载程序的前提下,实时分析系统状态,快速解决内存映射冲突、中断向量表重定向等疑难杂症。

weixin_29168393的博客 265

(二十九)会话跟踪技术总结(Cookie、Session)

会话跟踪技术 WHY WHAT HOW 大纲 什么需要会话跟踪技术? 因为http是无状态的,不能区分用户是谁,实际上很多需求需要区分请求用户是谁 HTTP无状态:服务器不清楚哪个请求是哪个用户发送的 Cookie Cookie是客户会话跟踪端技术 Cookie如何使用? 1.在服务端怎么创建Cookie , Cookie cookie new Cookie("名称","值") 2.响应,把cookie数据写回浏览器 响应对象.addCookie(cookie); 3.如何在JSP和Servlet中获

kentlhxy的博客 265

DataGrip 2023.3 Windows版激活保姆级教程:从下载脚本到输入激活码,一次搞定

本文提供DataGrip 2023.3 Windows版的完整安装与授权指南,从环境准备到数据库连接管理,再到高效开发技巧与高级功能扩展,帮助开发者快速掌握这一专业数据库管理工具。内容涵盖安装步骤、初始配置、常见问题解决及性能调优技巧,适合数据库开发新手和专业人士。

weixin_30275415的博客 635

React 性能:memo / useMemo / useCallback

讲清 memo/useMemo/useCallback 的配合与边界,先测量再优化,避开常见过早优化。

JudithHuang的博客 324

地方政府预算数据抓取:利用Python爬虫获取预算安排、资金分配与支出情况

爬虫是通过模拟浏览器行为,从互联网上自动获取数据的程序。在本案例中,我们将通过爬虫从地方政府的官方网站或预算公开平台抓取各类预算信息。这些信息一般以HTML网页的形式呈现,可以通过爬虫对网页内容进行解析,提取所需的预算数据。Python作为数据抓取的强大工具,凭借其简洁的语法、强大的第三方库(如requestsSelenium等)以及丰富的数据处理能力,成为了开发爬虫应用的首选语言。

2201_76125261的博客 941

Qt5+Ros+GUI界面

在之前建立的工程的基础上添加一个gui界面。 在ros包中新建一个文件夹,名字叫gui 右击gui文件夹添加一个文件,选择Qt->Qt设计师界面类 选择MainWindow 选择下一步 最后在gui中生成三个文件 mainwindow.cpp、mainwindow.h、mainwindow.ui 但此时,这些新创建的文件和原本的ros工程还没建立任何关系,只是目录下多出了几个文件而已...

二毛的博客 8843

V8 机制、手写核心函数与 TypeScript 类型体操

或固定初始化(如数组先定长、对象先给全字段)保持类型与形状稳定;这些都比"换框架"更基础。只能处理纯数据(丢函数、Date、RegExp、循环引用报错)。生产级深拷贝要处理:原始值短路、循环引用、V8(Chrome / Node 的 JS 引擎)不是"解释一行跑一行"那么简单,它用。图:V8 执行流程——解释执行 + 热点优化,优化失败会 Deopt 回退。JS 内存自动管理,但"自动"不等于"不会漏"。是"固定间隔最多执行一次"。手写 Promise 是"懂异步"的试金石。是"停下后才执行最后一次",

qq_38468358的博客 328

k8s问题处理

执行 kubectl api-resources 报错如下。

weixin_40548182的博客 944

Claude Code 从入门到实战(一):安装、登录与第一个Vue项目

Claude Code 系列实战第 1 篇:先认识 Claude Code 的工作方式与任务循环,完成 npm 安装、登录与授权,通过让 Claude 理解一个 Vue 项目完成第一次实战任务,并辨析默认、自动接受编辑、Plan 规划等权限模式的差异与选择策略。

weixin_45284808的博客 204

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

DSH (DeepSeek Harness) Windows 升级安装指南20261107

注意:如果在普通窗口执行 nvm 提示找不到命令,或执行 nvm use 提示 Access is denied,请务必关闭当前窗口,重新打开一个管理员CMD 执行上述完整路径命令。找到 .credentials.yaml,将其重命名为 .credentials.yaml.bak(备份并使其失效)。Node.js Storage Location:可改到非系统盘(如 D:\dev\nvm,避免路径含空格或中文)。打开文件资源管理器,进入 C:\Users<你的用户名>.dsh\。

fengye207161的博客 183

深度学习工具包 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")

SpringBoot「衣依」服装销售平台:144个Java文件180个接口,从挑衣服到收货评价整条链路都在

# SpringBoot「衣依」服装销售平台:144个Java文件180个接口,从挑衣服到收货评价整条链路都在 > 这是一套基于 Spring Boot 的服装销售平台源码,配套 `db.sql` 建表脚本,业务覆盖商品展示、购物车、订单流转、收货地址、订单评价、商品评论、在线客服、轮播图和资讯。形态是**前后台双端**:前台是顾客逛的商城,后台是管理员管的控制台。本文带你看清里面有什么、怎么跑

面朝大海 225

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

微信小程序-wxs

在微信开发者工具中右键创建.wxs后缀的文件。每个.wxs文件也是一个独立模块,同样使用导出内容。示例(文件return d;FOO: foo,bar: bar(外联定义参考官方文档)

dreams_dream的博客 330

使用echarts模拟甘特图

项目中需按时间段展示不同颜色的数据,通过解析时长并统计各类型总时长,结合预设颜色映射表(含自定义与默认色),动态生成ECharts图表。利用sumByTypeName聚合数据,为每类分配对应颜色,实现图例与柱状图的精准匹配,确保多时段、多类型数据可视化清晰准确。

uuai 27

【技术专题】JavaScript 网页技术 - JavaScript 流程控制

小锋老师推出《一天学会JavaScript(无废话版)》视频教程,涵盖基础语法、流程控制、函数、数组对象、DOM操作及ES6新特性。内容精炼,配套课件与源码打包下载,助力快速入门。重点讲解if/else、switch、for/while循环、for...of/in遍历及break/continue使用场景,并通过成绩判断实例演示实际应用。适合零基础学习者高效掌握核心技能。

java1234的博客 148

Agent 的 ReAct、Plan、Execute、Reflection 模式

本文系统解析 Agent 的 ReAct、Plan、Execute、Reflection 四模式,揭示其核心为“下一步谁定”与“错了怎么发现”两大问题。ReAct 逐步决策,适合动态环境但易冗余;Plan 一次性规划,高效却惧变化;Execute 严格落地,需明确判据与失败策略;Reflection 事后校验,强化纠错闭环。四者协同:外层规划,执行中嵌入思考,每步后反思,连续失败才重规划,构建稳定可控的智能体工作流。

2401_89855466的博客 324

基于 FastAPI+LangChain+LangGraph+Agent+Vue3+MySQL 的房产数据采集与房价预测分析平台

本文介绍一个完整的「房产数据采集+AI房价预测」全栈项目,涵盖FastAPI异步后端、LangGraph Agent智能问答、爬虫采集、机器学习预测与Vue3前端,实现从数据采集到AI交互的闭环。项目融合多技术栈,具备真实业务场景与生产级设计(如降级策略、流式输出、多模型对比),兼具简历亮点与答辩演示优势,可系统性提升工程能力,并附高频面试题解析,是理想的技术综合实践项目。

深耕开发,专注编程实战。分享源码解析、项目搭建、问题排查笔记,沉淀技术,持续更新。 215

货运APP、货运小程序开发:网络货运平台与同城配送搬家系统实战

本文介绍一套完整的货运平台系统,涵盖货运APP、小程序、网络货运、同城配送、搬家预约等场景,基于SpringBoot+MyBatisPlus+MySQL技术栈,采用uni-app实现多端统一开发,配套TMS运输管理与物流管理系统,支持下单、派单、运输、结算全流程,适用于货运搬家、物流搬运与配送业务,可作为物流软件及TMS系统的参考实现。

juzige03的博客 217

Vue3 低代码移动表单设计器实战(二):缩放画布下的拖拽系统与树状级联数据结构

本文深入剖析Vue3低代码表单设计器在缩放画布下的拖拽失效问题,揭示SortableJS在CSS Transform下坐标崩溃的数学根源。通过自研独立视觉克隆壳层与逆向几何补偿算法,实现精准拖拽;采用扁平数据存储+运行时树状计算结构,解决级联依赖与深克隆难题,确保逻辑一致性与性能优化,为复杂低代码系统提供可复用的工程范式。

NanChen的博客 337

Vue-Router

本文详解前端路由原理与实现,以网易云音乐为例,介绍通过 vue-router 实现页面无刷新切换。核心步骤包括:安装模块、创建路由实例、注册应用、配置页面组件与路由出口。使用 router-link 实现声明式导航,结合 query 和 params 传参,支持模糊与精确匹配激活状态。强调 useRoute(读取参数)与 useRouter(执行跳转)的区别,帮助开发者掌握单页应用路由的核心机制。

2301_79245606的博客 338

LangGraph == 循环结构的实现

这是静态约束,不会参与运行时校验。主要作用是提升代码可读性、通过静态类型检查,同时帮助 LangGraph。也就是说,是否继续重试,在当前实现中主要由大模型决定,而不是由程序逻辑强制保证。因此,如果模型在多次工具调用失败后选择停止重试并生成最终回答,运行图不会阻止它。函数,也不再需要调用 add_conditional_edges()只要大模型持续返回工具调用,流程就会不断回到 llm_node。的缩写,即“推理 + 行动”架构。,运行时只负责判断具体走哪一条路径。

每天都要努力学习哦~~ 346

Vue 前端开发 AI 对话页面:流式消息渲染、文件上传

关键点是不能手动设置 Content-Type 为 multipart/form-data,必须由浏览器自动生成带有 boundary 的请求头,否则后端无法解析。思路:将对象序列化为 JSON 字符串,作为 FormData 的一个普通字段(如 formData.append(‘payload’, JSON.stringify(data))),后端接收该字段后再反序列化。若上传大文件(>10MB),需实现独立的分片上传接口,在提交对话前先获取文件 id 或 url,再随文本发送引用。移除输入框的禁用态;

2402_85729970的博客 384
上一篇: 利用CSS 实现子菜单三角符号效果
下一篇: String.valueOf()的参数问题
saygoodbyetoyou
博客等级 码龄17年 78粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值