Two ways of using KVM-based vms on Linux are introduced.
Two ways of using KVM-based vms on Linux are introduced.
LevelDB is a kind of key-value C++ database developped by Google engineers.
BSD is a very stable and secure UNIX operating system.
Linux can be used as main desktop computer because I have found a harder OS called Unix.
摘要:
2023年9月-12月,本人参与了某大型企业海外直营商城项目的规划、设计与开发工作,并担任软件系统架构师的角色,承担了系统的架构设计建模与部分核心组件的开发工作。该项目是本年度公司重点支撑的业务项目,目标是在一年内完成海外销售网络的搭建并在若干重点国家试用,特点是时间紧张、需求明确、构件充分,参与人员大多为各个业务线的骨干成员。
在Web软件系统领域中,结构化分析建模、面向对象建模、数据库建模是比较通用的软件系统建模方法。每种软件建模方法有各自的优缺点和不同的适用场景。其中,结构化分析建模方法具有自顶向下、逐步求精的特点,适用于需求明确,功能模块定义清晰的场景;面向对象建模具有反映客观世界和系统固有的事物及其相互关系的特点,适用于实体边界清晰、开发周期短的场景;数据库建模又称为信息工程建模,具有以数据为中心的特点,适用于数据处理、分析类的场景。在实际的项目分析和开发中,我们综合采用了结构化建模和面向对象建模的方法,使用数据流图、数据字典、UML、甘特图等工具,在规定期限内完成了项目开发工作,上线过程比较顺利,圆满达成了项目规划目标。
软件系统建模方法为开发大型应用软件系统提供了系统化的工具与指导思路,结合实际项目开发经验,可以起到事半功倍的效果,在今后的开发活动中,我将继续在工作中运用好此类方法。
正文:
为了响应国家鼓励企业出海战略,同时拓展海外市场,寻找新的增长点,本人所在的某大型企业决定在23年完成跨境在线直营商城的建设。由技术负责人牵头组成了架构设计小组。该系统以微服务系统为后端架构,支持网页、小程序、app多端使用。为了能在规定期限内完成项目目标,从各个业务线一共挑选了约几十位骨干参与其中。我作为系统供应链侧的架构设计师参与了整体架构设计与部分核心代码的开发工作,在项目规划、设计与开发的过程中,多次使用了软件建模的方法。
软件建模是在实施开发工作之前,对软件系统的抽象表达。这方便了开发人员之间的交流,同时有利于软件设计说明书的编写。当前主流的软件建模方法有以下几类:
一、结构化分析建模
结构化分析建模是一种自顶向下、逐步求精的建模方法,他出现的时间比较早,相关的理论和工具也相当成熟。结构化分析的特点是将一个大的、复杂的模块逐层分析,不断细化到可以实现的程度。适用于有明确需求的场景。
二、面向对象建模
面向对象建模是将客观世界的固有事物与程序中的类关联起来,完成一个软件系统的分析和设计。面向对象建模主要由面向对象分析和面向对象设计两阶段组成。
三、数据库建模
数据库建模又称信息工程建模,是以数据为核心来设计和构造软件系统的。
在实际项目的规划与设计中,我们综合考虑了各种方案的优缺点,最终使用了基于结构化分析的建模方法和基于构件的建模方法相结合来构造我们的软件系统。通过结构化分析方法,我们将系统拆分为详情搜索购物车交易下单导购等模块。对于每个模块,再使用基于构件的软件工程利用已有构件进行软件建模。
构建组装模型的优点是易拓展、易重用、方便安排,更加灵活。但也存在着设计良好的构建需要经验丰富的架构师,设计不好的构件难以重用,过分强调重用可能会导致系统牺牲其他指标如性能,第三方构件的质量难以保证等缺点。因此我们选用的构件均来自于公司内部维护良好、设计良好的中间件,以及核心已在使用的模块。并且保留了拓展点的设计,方便将来定制化需求的拓展。
在多种软件建模方法的指导下,项目最终如期按约上线并运行了一段时间。上线阶段没有重大的bug,系统稳定运行。虽然在过程中出现一些机房部署导致流量不均匀的问题,但通过联系运维及时解决没有造成重大的问题。项目得到了公司上下一致的好评本人也因此获得了优秀员工的称号。在今后的软件工程实践中,我将继续践行软件建模方法,将其运用到实际开发工作中指导开发工作。为祖国的社会主义现代化软件建设继续贡献自己的力量。
私钥签名,公钥验证。
Tmux is a terminal software for multi-windows.
随着时间推移,难免会遇到换电脑时需要迁移博客到新电脑目录的需求。
Gnome is an open source desktop environment under Linux.
This article mainly introduces two practical concepts in transfer learning: pretraining and finetuning.
Supposing that you have the experience of developping a CNN using pytorch.
For example in function forward
, you write
1 | h = self.conv1(x) |
Pretraining means that the 1st layer like conv1 and pool1 is done for you by the pretrained model. And the parameters of them are fixed. What you need to do is just finetuning, i.e. you input the model with x as input but the r1 is fixed so your truly take r1 as input and train the later layers’ parameters.
Usually, the pretrained model is in large scale. To get the inside layers of this network, we use some functions like mx.symbol.FullyConnected
to get the fine tuned data.
Update your browser to view this website correctly. Update my browser now