2015年年终感悟

        2015年转眼过去,想想这一年感觉有点虚度,一晃而过,写点总结,让自己不至于感觉什么都没做。还是和以前一样,按农历开始。

        2月,3月,考虑了离职,一过完年就提出了离职,到了3月底正式办好手续离开了毕业后呆了2年的公司。其实离开真的是舍不得,人对自己的任何第一次都是相当留恋,不管过程是痛苦还是开心。在办手续的过程中,也去面试了3家公司,总感觉面试的时候都没问什么问题,感觉都是缺人缺的厉害。后来选了家规模大的公司,想去大公司看看是什么样。

       4月,这个月给自己放了一个月的假。去厦门找同学玩了几天,后来回来还有时间想想去外面走走好了,说走就走,去了武汉,洛阳和西安。不过一个人的旅行也挺无聊的,走走看看,我也不爱与人交流。看看外面的景色,毕竟工作的时候放假很少,节假日人又超多。

       5-6月,到新公司报道,第一个月硬是没事情做,后来换组到宁外一个组做运维的,接了一个工作流引擎的项目叫我维护。这个项目基于jbpm3封装的,封装的过于庞大,有点冗余,还没有任何人的指导,以及项目管理很乱,其他项目组的使用都是发现问题自己改,并未统一。我就陆陆续续看看代码,文档。有点呆不下去了,毕竟以前在小公司都是时间很紧迫,什么项目都是1-2个月就要完成,而在这里闲的我想走了。

       7月,公司要投标广电的项目,有一个之前准备去投标的demo项目,按今年的投标要求,我在上面做修改,那个项目源码也没了(不知道这么大的公司管理居然这么乱)。我就自己写代码丢上去,能跑就行,按着那个项目经理的需求改了,加入一些以前公司用的简单框架做做几个报表。后来这个投标还是和以前一样又不了了之。从我的组长对这件事情不怎么上心我也感觉出来了。这里的氛围不是我喜欢的。缺少了狼气。

        8-12月,项目组安排做新工作流引擎的研发。基于activiti5做开发。在前公司有接触过一个月,上手没什么问题,不过这里要开发成组件给外部项目组使用,不想以前是直接基于自己的系统使用,方式上面有区别。基于这点,把工作流引擎做了组件分开:引擎核心(接口),引擎设计器,引擎监控,引擎控制台。这几大组件核心都是通过接口调用引擎接口做个耦合,不在强依赖于工作流。对后续的工作流引擎版本升级也只要依赖于接口这个组件即可。

        有了明确的分块,开始搭建,在这次的开发过程,对activiti的研发更深入了,在设计器模块使用了activiti提供的modeler,看了提供的代码基于oryx.debug.js核心做了外围封装使用了现在流行的bootstrap和angularJS。后续我在这个基础上,对元素加入新的属性以及改版。监控模块使用了activiti提供的基于Raphael的svg前端JS做展示,一开始使用activiti提供画图的jar做展示修改源码,对图形做颜色图例等加入,在前端用js做一层属性展示,后来感觉这样的扩展性不好,后期要是升级,修改的源码维护比较麻烦,而且用后台生成的图片,无法做到解耦合。引擎核心接口模块,使用了rest方式规则,使用springmvc+spring+activiti5,后期加入了dubbo分布式的服务中心框架,把核心模块拆分成接口模块和引擎模块,通过dubbo实现负载均衡的调用。控制台模块,使用bootstrap做了一个简易的流程各个接口的调用系统。

         在开发过程中,其实除了学习使用activiti外,在看他提供一些模块的时候发现,外国人做的真的很规范,以设计器为例,通过配置文件实现前端各个元素的规则属性配置,使代码相当简洁。这是自己在开发过程中相当薄弱的时候,有时候是为了完成需求去开发。还有对一些新技术的学习,springmvc,spring-security,angularJS,bootstrap,Raphael,dubbo,mybaties,activiti,其实想想一个工作流引擎就能延伸出很多的技术框架。所以研究一个东西一定要深入,学到的东西是无穷的。

         1-2月,基于封装好的工作流组件提供给外部项目组使用,做技术上的支撑。对一些接口做修改,回退:这里我实现了并发,子流程等情况的回退,网络上面提供的回退基本都是支持单线的情况。后来自己查看activiti的库表代码,查看它的生成过程,实现了这些回退。现在准备研发基于这几个组件的快速流程搭建平台。实现简单流程可视化配置,加入业务上面的人员配置,按钮权限配置,表单关联等等。

         回想这一年,主要的重点是工作流引擎,不过在大公司也让我缺少了拼劲,以前公司如果是做这个工作流开发,可能我2个月就能完成,在这里由于时间安排很长,自己也拖着,感觉想是在养老,做个螺丝钉。新一年,是否要离开,我还在犹豫,感觉工作了快3年,技术的沉淀可能还缺点,虽然平常自己也有看挺多技术的东西。但是感觉还是不够。希望新一年做一个更好的转变。


深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值