我想把这篇文章送给刚毕业时的自己

纯JS实现SM3加密算法(兼容IE浏览器) 纯JS实现SM3加密,IE、谷歌、火狐等浏览器可以直接使用。 阅读详情

最近刚做完一个小程序上线,心血来潮写了一篇总结发到 优快云 上,顺手翻了下历史文章,才猛然发现——我已经五年没在这发过东西了。

一篇篇往回看,那些文章全是读书时遇到问题后、翻遍资料咬牙记下的笔记。文笔稚嫩,排版粗糙,但那股“非要搞懂”的劲儿,隔着屏幕都能感受到。

毕业后参加工作,遇到的问题更杂、更怪,笔记也记了不少,却再没有心性把知识点整理成文章发出来。为什么?说实话,是因为怕——感觉要学的东西太多了,知识铺天盖地涌过来,总觉得“等我把这块吃透了再写”、“等我把体系搭好了再整理”,结果一等就是五年。

现在我想明白了:没有完美的时机,只有此刻。

所以从这篇开始,我会坐下来,把这些年摸爬滚打的经验一点点写下来。要是时光能倒流,我就把这系列文章送给刚毕业时的自己;要是不能,那就送给刚毕业的你们。


我毕业这五年,都干了什么

五年前我进了一家电商公司的大数据部门,做后端相关的工作。这些年经手的项目不少,主线大概有三条:

  • 电商运营 BI 平台——后端服务开发与维护

  • 卖家平台数据体系——实时 + 离线大数据计算任务开发

  • 数据分析 Agent 系统——探索 AI 辅助数据分析

回首这五年,说是“摸爬滚打”一点也不夸张。从被一个 NullPointerException 搞到半夜,到后来能在生产环境宕机时一边安抚运营一边从容查日志,我不敢说自己多厉害,但至少变得遇事不慌了。

而让我“不慌”的底气,正是下面这套技术栈——它是我这几年一点点啃下来的武器库。


这个系列要写什么?(也是我的技术栈全景)

接下来的文章,我会按照下面这个目录一条条展开。
每一篇不讲虚的,只讲我踩过的坑、我理解的原理、我拿来解决过实际问题的方案。

一、编程语言——吃饭的家伙

  • Java:我的主力语言,从并发到 JVM 调优,该趟的浑水都趟过了

  • Golang:后来入坑,协程和通道的思维转换让我重新理解了“并发”

  • Python:脚本粘合剂 + AI 应用的主力,写得快比写得优雅更重要

这一块我会重点讲:语言只是工具,但工具的边界决定了你的效率。

二、数据存储——不同场景选不同刀

服务存储(在线业务)

  • MySQL:事务、索引、锁、分库分表,该背的八股我全在线上验证过

  • Redis:缓存击穿、雪崩、穿透,还有那些“用缓存扛了 QPS 翻十倍”的爽事

大数据存储(分析 & 海量数据)

  • Clickhouse:OLAP 列式存储,千亿级数据查询秒级响应是怎么做到的

  • Druid:时序聚合场景下的老牌选手

  • HBase:海量 KV 场景下的 RowKey 设计,一个没设计好就等着 Region 热点了

这一块我会重点讲:存储没有银弹,选错存储比写烂代码更致命。

三、网络通信——服务之间的语言

  • HTTP:从 RESTful 到连接池配置,那些被超时坑过的日子

  • RPC:内部服务调用的效率之选,序列化、超时、熔断,一个都不能少

这一块我会重点讲:本地调用可以任性,远程调用必须带敬畏心。

四、大数据计算——离线 & 实时两把刷子

  • Flink:实时计算的状态、窗口、Exactly-Once,我拿数据一致性换过教训

  • Spark:离线批处理 + 一些 SQL 优化,百万级任务调度的那些事

这一块我会重点讲:数据量一大,复杂度就藏在 shuffle 和倾斜里。

五、大模型应用开发——新战场,老经验

  • LLM:大模型的基础能力和调用范式

  • RAG:检索增强生成,让大模型“长”出私有数据的手脚

  • MCP / Agentic:从“一问一答”到“自主执行任务”的演进

这一块我会重点讲:AI 没有取代我,但会用 AI 的人会。


为什么我要把这些写下来?

原因有两个,都很自私:

第一,检验自己。
有些知识你说学过吧,确实学过。但如果没有系统整理过,很多细节是漏掉的——以为自己会了,其实还差得远。写作是对抗“学会幻觉”最好的方式。

第二,如果能帮到一个人,就值了。
哪怕你面试时刚好回答上一个相关问题,或者工作中用这些知识解决了一个实际 bug,那这篇文章就没白写。


开篇正文

这篇文章作为开篇,我不想这是一篇口水文章,下面就上干货,先讲讲大学里哪些课程比较重要,为什么它们比较重要?(以下纯属个人站在后端开发角度的观点)

一、计算机组成原理

很多人第一反应可能是哪门编程课,大学时候计算机组成原理可能也只是随便学学,也没怎么当回事,但我却想要把这门课放在首位。因为作为程序员,计算机可以说是我们工作中的亲密合作伙伴,如果你对它都不了解,有什么脸面说自己是计算机专业的。

你要知道,计算机里都有哪些组件,分别在工作中承担着什么样的角色。比如 CPU,它是我们程序中计算的核心组件,CPU 不够会导致你的程序无法正常地处理来自用户的请求;同样的,只有知道内存和外存的性能差异,你才知道在写程序中哪些数据应该放在内存,哪些可以用的时候再加载,以及遇到程序 OOM 了你要怎么处理。可以说,计算机组成原理是计算机专业的基石,它是你理解一切问题的根源。

二、计算机网络

在大学中,我知道很多学校的这个计算机网络课都是教一堆的概念,很多人也很烦这些要记的概念,感觉又多又没用。只有当你的服务请求突然 502 的时候,你才会知道,计算机网络是互联网应用的基石,这个网络崩了,你写再多的代码也都白费,因为请求根本到不了你的程序。

三、数据库

以前天真的我一直没意识到数据的重要性,一直专注于写逻辑代码,因为在大学中,很多程序的数据都是我们自己造出来的,要多少有多少,根本不理解大佬们说的数据是昂贵的。直到进了大数据部门,看着各种业务数据经过数据分析师的分析之后形成一条条转化成金钱的运营决策,再进一步转化成销售额的时候,我才意识到数据简直就是程序的灵魂,如果没有数据,你的系统就是一堆空跑的代码,没有任何意义。甚至有时候,数据的及时性和正确性都可能影响数据分析师对现在局势的判断,导致做出错误决策,给公司带来损失。

而数据库课程教什么呢?教你数据模型、如何设计数据库、事务、SQL 设计等。但这其实远远不够,关于数据库你还要知道索引、数据备份与同步等,甚至进了公司,你还会发现在设计数据库的时候,有时候甚至需要反范式,主要是为了换取性能,比如公司一般会要求不能使用外键。

四、数据结构与算法

这一步才终于到了我们工作的主要内容,写代码。这是最后但并不是最不重要的课程,这是我们日常工作必备的技能,虽然说现在有了 AI 辅助编程,但是代码这块硬实力还是不能丢,因为上了真实项目之后你肯定会发现,AI 辅助编程工具有时候真的很智障,它就像游艇的动力马达,而你才是那个导航的总舵手,它可以让你不用手动去摇桨,但你必须把握前进的方向。这也就是为什么现在面试还是没有取消手撕算法题的原因,你只有自己会写,你才知道 AI 写的对不对,有没有什么潜在的问题。

同时,数据结构与算法可以帮助我们更好地理解其他的知识,比如栈、队列、哈希表等,在很多计算机系统中都有广泛的应用,算法更不用说了,好的算法有时候可以用最少的资源来实现承载更多业务的服务,在这个行行都在追求降本增效的时代,简直就是老板梦寐以求的梦中员工啊。

写在最后

以上列出的只是大学里有教的课程中对于计算机专业比较重要的内容,并不代表其他课就不重要,也不代表着学了这些就够了,路漫漫其修远兮,知道了这些只能算是入门了,后面还有分布式系统、大数据、高并发、虚拟机调优、sql 调优等等要学的,但是不要慌,还记得高中时学过一篇文章,其实就是要“走一步,再走一步”,最后回头就会发现,原来自己已经走了这么远,而那一个个看似巍峨的小山峰,不过是托举你前行的垫脚石~


下一篇,我想讲讲 电商平台的系统架构(或者你想先听哪个?评论区告诉我)。

【VTKExamples::PolyData】第十六期 GradientFilter 本文分享VTK样例GradientFilter,并解析接口vtkGradientFilter & vtkAssignAttribute,希望对各位小伙伴有所帮助! 阅读详情

相关推荐

企业和个人 AI 编程工具怎么选?2025 年 12 款主流工具(Claude/Cursor 等)核心能力 + 收费对比

2025 年最火的 12 款 AI 编程工具,像 Claude、Cursor 这些热门款,我把它们的核心能力、收费标准全扒得明明白白,看完这篇你不用再瞎琢磨,直接就能挑到对的!再说说 Cursor,美国 Cursor Labs 做的,还拿过红杉资本投资,2022 年推出后,2024 年收入直接涨了 6400%,势头很猛。总之,不管你是企业技术管理者、程序员,还是刚入门的 AI 小白,按自己的需求(语言、合规、预算)挑,保准能找到最适合的 AI 编程工具!最后给大家划重点,不同需求直接对号入座:?

hundred98的博客 2801

想要学习Java?这篇文章送给刚入门的你,看了不亏

小编利用空余时间整理了一份《MySQL性能调优手册》,初衷也很简单,就是希望能够帮助到大家,减轻大家的负担和节省时间。关于这个,给大家看一份学习大纲(PDF)文件,每一个分支里面会有详细的介绍。这里都是以图片形式展示介绍,如要下载原文件以及更多的性能调优笔记(MySQL+Tomcat+JVM)!《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!**

VIP129370的博客 1075

AM243x多核MCU启动流程解析与OSPI Flash烧录实战

嵌入式系统开发中,引导加载器是芯片上电后执行的第一段软件,负责初始化硬件、加载操作系统或应用程序。其工作原理通常遵循多级引导链,从ROM固件到用户可定制的二级引导程序,逐级建立完整的软件运行环境。这一机制的技术价值在于实现可靠的系统启动、支持安全校验,并为多核异构架构提供协同基础。在应用场景上,引导加载器广泛应用于工业控制、汽车电子和物联网设备,确保设备能从非易失性存储器中自主启动。本文聚焦于TI AM243x这类高性能多核MCU,深入剖析其包含RBL和SBL在内的三级启动流程,并详细演示如何通过UART接

weixin_28703451的博客 582

首次开通csdn,这篇文章送给过去的自己和正在发生的你

处女座畅谈 毕业四年,学校其实还说的过去,不是特别好但也勉强是985,211院校,开通博客其实没别的,只是觉得对自己的人生做个规划和总结,从学校毕业一个快乐的小二逼慢慢领悟人生。 首先最深的体会就是人的意识决定高度,毕业季没考研,因为家庭原因吧,实力他不允许(比99%的人还糟糕),需要自己一个人养活自己,没办法,研究生是不能考了,所以浪费了一次机会。有人会觉得研究生怎么了,我告诉你,只要你学校不差,毕业以后就算你是985本科,三年你的水平和你的薪酬大概率赶不上一个刚毕业的研究生,我说的是同等条件下,大家都是

weixin_41770203的博客 1074

用SPSS做信效度分析

对问卷进行Cronbach’s Alpha信度检验。如果此值高于0.8,则说明信度高;如果此值介于0.7-0.8之间,则说明信度较好;如果此值介于0.6~0.7,则说明信度可接受;如果此值小于0.6,说明信度不佳。下面利用SPSS进行分析,点击分析–标度–可靠性分析选项,选中所要分析的问卷数据或题目。得到结果,我们要看这个有用的结果,当克隆巴赫Alpha系数(也可以看标准化后的)大于0.8时候,说明问卷信度较高。

小高~的博客 1万+

OCC WebGL案例编译实战:从FreeType配置到静态库生成

本文详细记录了将OCC(Open CASCADE Technology)3D图形库编译为WebAssembly(Wasm)并在浏览器中通过WebGL渲染的实战过程。重点解决了FreeType库的交叉编译配置、OCC核心库的裁剪与静态库生成,以及WebGL样例项目的CMake改造等关键步骤,为开发者提供了从环境搭建到最终集成的完整指南。

weixin_28831461的博客 315

资料整理 | 送给毕业党的城市租房生存指南

看到一本《城市租房生存指南》可在线免费阅读。马上又到毕业季了,感觉挺有用的。,每一个环节都安排得明明白白。送给毕业党的城市租房生存指南。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 777

更新3ds时和用读卡器读取传输文件操作不当导致的tf卡损坏无法读取需要格式化时出现的问题以及不想丢失文件并且修复的详细解决方法

前言: 不小心按了同意更新而且tf/sd卡损坏导致了3ds打开后都是出现 Anerror has occurred:(红色的) Failed to apply 1 FIRM patch(es). Press any button to shotdown 这样的画面,按了任意键后就关机,我找了很多资料和大佬的回答解决了这些问题,现在记录一下。 一.不小心按了更新导致上述的画面 原因:是因为系统升级了,但是里面的Luma3DS还没有更新,属于是更新了但没有完全更新的状态。 **修复方法** 1.首先请按

give_me_fish的博客 1万+

编程心得分享,送给刚入门学编程的小伙伴

前两天PHP中文网举办了一个分享编程学习心得送书的活动,我看这本书感觉挺不错的,网上查了下要100多,就也参加了。最近比较穷,能不花钱的就不花钱了。呜呜呜。。。下面给大家分享下,众多小伙伴的编程心得,希望对你有所帮助。 这篇文章我是在知乎上看到的,感觉很不错。原作者回顾了自己漫长的编程学习之路,从中总结了许多个人经历,走的弯路,和教训。我摘抄了过来,希望能帮到有需要的小伙伴们: 1....

DreamCoders 2万+

告别Keil!用VSCode+PlatformIO玩转STC单片机(附自动下载配置)

本文详细介绍了如何从Keil迁移到VSCode+PlatformIO进行STC单片机开发,包括环境搭建、自动下载配置等实用技巧。通过对比传统IDE与现代工具链的差异,展示了VSCode+PlatformIO在代码编辑体验、跨平台支持和开发效率上的优势,帮助开发者实现更流畅的STC单片机开发流程。

weixin_27252001的博客 457

在天问block环境下LU-ASR01与51单片机的基础运用

正确步骤将模块和电脑连接后,仍然显示未连接(如4.1中图片中的编译下载后面显示未连接),可以尝试关闭软件后尝试,如果仍然不行换一条type-c线再试;以上方式都不行,可能要怀疑ASR01硬件损坏,跟商家联系!!!

BUG7073的博客 1万+

想要学习Java?这篇文章送给刚入门的你,看了不亏,2024年最新java面试ssm框架

既然选择这个行业,选择了做一个程序员,也就明白只有不断学习,积累实战经验才有资格往上走,拿高薪,为自己,为父母,为以后的家能有一定的经济保障。学习时间都是自己挤出来的,短时间或许很难看到效果,一旦坚持下来了,必然会有所改变。不如好好想想自己为什么想进入这个行业,给自己内心一个答案。面试大厂,最重要的就是夯实的基础,不然面试官随便一问你就凉了;其次会问一些技术原理,还会看你对知识掌握的广度,最重要的还是你的思路,这是面试官比较看重的。

2401_84434301的博客 698

Python爬虫实战:爬取Bilibili和YouTube视频、弹幕和评论

随着视频内容平台的爆发式增长,视频网站成为了人们获取信息、娱乐和知识的重要渠道。在这些平台上,视频、弹幕和评论数据可以为我们提供重要的信息,帮助我们了解用户的行为、视频的受欢迎程度以及内容的互动情况。本篇文章将带你实现一个Python爬虫,用来爬取Bilibili和YouTube上的视频、弹幕、评论等数据。我们将详细介绍爬虫的实现过程,使用最新的Python技术,并且会提供完整的代码。Bilibili网站提供了多种方式来获取视频数据,最直接的方式是通过其开放的API接口来获取视频、弹幕和评论等数据。

2201_76125261的博客 1775

刚毕业的职场萌新应具备这9种技能

一年一度的毕业季又到了不知道各位有没有找到心仪的工作呢初入职场的萌新一定是既激动又紧张今日分享一份职场新人书单介绍9种职场必备的技能这既是图灵君多年工作的经验总结也是送给所有毕业生的一份祝...

图灵教育 344

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

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

转帖《送给女儿的一篇文章》

<br />转帖《送给女儿的一篇文章》<br />    明年你就要大学毕业了,要么考研要么上班,不管怎样迟早要走向社会参加工作,所以老妈把这篇文章提前送给你,希望对你有一些参考价值<br />     "打工皇帝"唐骏说:"我觉得有两种人不要跟别人争利益和价值回报。第一种人就是刚刚进入企业的人,头5年千万不要说你能不能多给我一点儿工资,最重要的是能在企业里学到什么,对发展是不是有利……"<br />        人总是从平坦中获得的教益少,从磨难中获得的教益多;从平坦中获得的教益浅,从磨难中获得的教益深

nqw1987的专栏 549

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

外企九年,我最终选择放弃——送给和我一样纠结毕业是读研,国企,外企等等的人们

来源于:http://blog.renren.com/share/224577940/5010931752 外企九年,我最终选择放弃——送给和我一样纠结毕业是读研,国企,外企等等的人们 来源: 朱斯辰的日志  昨晚失眠,早晨犯困,一边喝咖啡一边看学长分享的这篇文章。尽管之前经历不多,  但很多事情真的能引起我的一些感触。自己的人生规划清晰,再看这篇文章就觉得

GeneralYY0的专栏 3695

OV9734 DATASHEET,完整规格书

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

[经验] 有什么好礼品送给朋友 #经验分享#笔记#微信

有什么好礼品送给朋友。

2401_82833408的博客 682

一个大二学生送给大一学弟学妹的建议

博主简介:先简单的介绍一下我吧,本人是一名大二学生,来自四川。目前所学专业是人工智能,致力于在优快云平台分享自己的学习内容。我为什么要写这篇文章?我来到优快云也已经一年了,在这一年里面,我学会了很多,也认识了很多的优秀大佬。当然,也有很多的学弟学妹会询问问题。本来在几个月前,便已有了想写下这篇文章的想法,但是由于各种原因,还是在今天才写下这篇文章。作为一个大学生,我也经历过很多迷茫,经历过无助,不知道如何学习,一直荒废时间。

qq_59931372的博客 9512

送给测试行业年轻人们的一些建议

国内的互联网行业发展较快,所以造成了技术研发类员工工作强度比较大,同时技术的快速更新又需要员工不断的学习新的技术。因此淘汰率也比较高,超过35岁的基层研发类员工,往往因为家庭原因、身体原因,比较难以跟得上工作节奏,所以裁员往往优先考虑这类员工。 测试工程师也属于技术研发中的一员,所以35岁就是一个门槛了,这并不是说35岁后一定会被淘汰,但是面临的选择肯定会大大减少。 大多数人都是在22-23岁参加工作,工作两三年后逐渐积累了一些工作经验,开始进入了职业生涯的黄金期。可以看到,测试工程师职业黄

人生不怕起点低,就怕没追求 942

毕业论文怎样写?(三天写出一篇初稿)

如何快速写出一篇毕业论文?本文提供了一篇比较好的攻略。对于python编程、机器学习、深度学习、数据挖掘、自然语言处理、图像处理相关的研究尤为适用。

weixin_45859866的博客 3296

看这篇文章准没错,Android面试基础知识

俗话说“生于忧患,死于安乐”,其实大部分中年危机,就是在安乐中产生的。有的人或许会反驳,“照你这么说,我还必须奋斗了,不奋斗就要死,难道选择安逸的生活就不对吗?我就没有选择自己生活方式的权利吗?说这句话的人其实有一些误解,误解就在于,安逸的生活并不等于不需要奋斗,这要看你的家底。某聪如果说要选择安逸的生活,他可以很安逸,因为他有了安逸的资本,而大部分的你,并没有这个资本,你如果过早的选择了安逸的生活,那么结局往往会很悲惨,而你能做的,最多也就是让你的后代有选择安逸的资本。

m0_61331573的博客 1330

送给即将毕业的同学,谈谈毕业后第一份工作和追女生的问题。

引言      写这一篇文章的缘由,是因为群里的一次讨论。一位即将毕业的同学说,“龙哥,毕业以后进入某某类型的公司好不好?”   于是,就这样,LZ给他叽里呱啦的上了一课,后来就形成了这篇文章。   不得不说,现在已经快4月份了,估计又要有不少同学该找工作了,想当初LZ大四的时候,还在网吧天天包夜呢。所以LZ很羡慕这些即将毕业的同学们,你们比LZ在起跑线上领先了好多。   话说回来,毕业

Java's paradise 3660

工作骗局(送给初入社会毕业生和着急找工作的人)

现在工作不好找几乎已经成了共识,尤其是在it行业,那些刚毕业或刚培训出来的想找个好工作更是难上加难,所以这个时候这一类人就很容易被人所利用,基本上有个工作机会就会去,也不在乎合同,社保,公积金什么的,所以这篇文章主要是给那些刚开始工作和长时间没有找到工作的人看的。别的不多说,现身说法吧,说说我自己真实的经历。2016年五月份左右,当时我正处在一个找工作的时候,这个时候有个电话打来了,说是让我去面试...

看一看,不被骗的博客 3844

送给曾经浮躁不安的自己。。。。

[技术学习]送给和我一样曾经浮躁过的PHP程序员    我们是一群充满浮躁、抱怨、迷茫的程序猿,如今的社会变得更浮躁了,鸭梨也越来越大,今天,我们选择踏上程序猿这条路可谓是路途艰辛,乏味,枯燥,在此,将这篇文章送给和我一样曾经浮躁过的PHP程序员。 1、多动手,多思考 不要怕做不好,刚毕业或者刚入行最缺的就是工作经验,没有别的途径,只有做,做,做,多做经验就来了。项目做多

今天决定你的一辈子 329

总结了10句话,送给所有的通信新员工

大家好,我是小枣君。今天我把这篇文章写完了,有点长,推送给有需要的小伙伴。正文如下:1、入职第一件事——整理形象。作为刚毕业的大学生,进入单位之后,首先要做的事情,就是尽...

鲜枣课堂 1882
上一篇: 从零到一开发「天才厨神」美食烹饪小程序:架构设计与踩坑记录
下一篇: 电商平台系统架构演进之路
marwi_study
博客等级 码龄8年 82粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值