菜鸟第一次做产品小结

车牌识别C#项目源代码 车牌识别C#项目源码using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; public class VzClientSDK { public VzClientSDK() { // // TODO: 在此处添加构造函数逻 阅读详情

引言:

       历时一个月,应客户要求,针对我司开发的停车场系统做一套车牌识别监控辅助程序,以便管理端更好的掌握车辆的出入情况,监控车辆出入信息,保存履历以便日后需要。

 

结合系统,经过多方测试,目前程序以满足需求,现个人做一个简单小结,以便日后回顾。

                   先对该系统做个整体介绍,该系统历时开发两年(由于途中停滞过),目前已投入运。该系统由精算机和管理机两个子系统组成,终端为精算机,服务器端为管理机,结合各种硬件设备及我开发的监控辅助程序,对出入车辆做到全方位监控,万无一失。

 

因为该系统不是本人开发,但介于目前有新项目类似该系统,领导分配将系统修改(该系统之前代码杂乱无章,条理性,模块性太差),并将代码重新优化,细分模块(之前系统功能太多,新项目有变化),做成单独的DLL,方便以后复用。

 

本人是做Java的,第一次接触CSharp系统,有点茫然,很多知识点一问三不知,特别是来后在修改source时对委托,事件,线程锁,文件序列化,HashTbale存储性能,队列,内存地址分配等等一些知识,非常的茫然,不过在老大的细心调教下,加上我的不耻下问,总算对一些知识点有个大体认知,虽然不是很明了,但总体我感觉自己有很大收获。

 

通过一周的熟悉,对Csharp语言有个整体认识(因为之前学过C#,嘿嘿),便开始对source重新分离。分离原则:设备,通信,数据。我的拆分原则:共同模块(常量,系统设定,共同函数),设备控制器(具体设备控制),具体设备(打印机,客显,摄像头)。

每一层都为单独的DLL类库,共同为系统的主要模块,分别引用控制器及具体设备,对其惊操作和设定。特别是具体设备,不依赖任何外部引用。控制器引用设备,对UI提供数据。

 

硬件方面:因为系统设计通讯及硬件方面知识较多及,且本人对硬件知识处于文盲,暂且对系统连接硬件方面不做过多解释,只是将涉及到的硬件一笔带过。具体的设备包括;IO板,各种打印机,LED客显屏,摄像头,磁卡机,声音播放器,Canbus通信等等。

 

软件方面:采用Csharp语言,WinForm程序,多线程开发,程序中,委托,事件,线程锁较多,一些通信,硬件设定没研究过,但大体了解。程序代码耦合度较高,不易维护,目前代码以拆分,模块性,代码健壮性大大提升。

 

以上是针对这套我拆分的系统进行自我小结,因为只是对代码大体流程进行拆分,对代码具体实现并未过多研究,目前拆分后的系统有待测试,后续我会对系统本身内部深入研究…

 

开始我的文件监控辅助程序,简单介绍一下,该程序是针对车牌进行监控的一套完整辅助程序。项目开始:了解需求,开始着手编写详细设计书,在老大的批评指正下,一步步的按开发流程井井有条的进行着。途中,详细设计是最重要的一步,特别是写设计书,对于我这种文科垫底的,语言组织能力差的人,确实是一大挑战。从没有任何思路,在老大的一步步指导下,到对整个程序流程的整体认知,设计书也是越写脑子越清楚,语言组织也是越来越简明扼要,抓住重点,争取到文字如代码的程序,总之一句,越详细越好。

 

 

设计完成,开始进入编码阶段,这个阶段,虽然是设计完成,但程序中因为引入外部的第三方技术。真正编码的时候,也出现过一些设计中没有考虑到的意外情况。如,在识别车牌程序里,每一个jpg文件中处理之前将其转为buffer数组进行解码,通过第三方识别算法进行解析,但在测试的时候,如果段时间处理大批量文件,故导致其识别程序出现异常。原因是其不能及时动态分配内存地址,因为时间差太短,而其内部又是调用系统内存,当系统内存不足,然而此刻必须为该文件分配内存,会导致程序给该文件只分配内存引用,而非具体的内存地址。

 

程序中许多技术点,都是老大帮助我解决的,印象比较深刻的几点:文件被另一进程使用,线程锁,批量文件存入队列,线程下的timer对象的回调函数定时调用执行方法,HashTable在内存中的存储方式,这点收获非常大。简单提一下:C#中的HashTable,以键值对方是存储,每一个key在内存中都对因一个索引值,这个索引值是系统内部随机定义的,每一个索引又在内存中对应一个“桶”,HashTable就是根据索引去找对应的“桶”,也就是具体的value。

所以在处理大批量数据的情况下,Hashtable存储速度慢,但读取速度快,因为它是无序的,这是老大给我讲的,以上是根据自我理解写的,有不妥之处,忘大家指正.

 

测试阶段,这个不多提,因为没多少技术含量,所以… 你懂的,(主要是这东西不是我测试的,没什么好总结的,嘻嘻),不过连接设备,结合系统中对于设备的设定,这些倒是了解。

 

最大的收获;一个独立于任何系统的辅助程序,也就是所谓的产品。不依赖,不局限于某一系统,这是这个小程序的最大特点。分装成单独的DLL,方便好用,值得信赖,哈哈。

言归真传,在这个程序中,对于我来说,最大的收获是两个字:规范。从开发流程,到项目编码及后期的式样书,每一步都是作为程序员应遵守的规范,这是一个良好的习惯,一个变量名,你可能要思索及秒钟,找个最见名知意的单词去命名,这对于后期维护,它的作用不言而喻。一些后期的维护文档,详细设计,单体测试,操作说明等等,必须要全。

 

项目小结。这是一个简单的小程序,没有所谓高深的技术含量,但我学到的东西,不仅仅是技术,更多的是做产品,你需要转变你的眼光,以客户的眼光去做产品,以细心,负责人的态度去做,不要遗漏任何一个以后可能会导致程序出问题的隐藏bug。开发过程中,总经理也曾多次指导批评过,告诫我做产品,一定要站客户的角度去看你所开发的产品。注意每一个细节,对于客户来说,是一种全新的体验。

【产品经理修炼之道】-从小淘气长大淘宝的你,清楚电商物流费用吗 现如今,哪个没有隔几天就会有几个快递的?在消费购物的时候,商家都会提示有无运费险这些告知,但是大家对于这些规则都了解清楚吗?一起来看一下吧!笔者分享的这一篇文章。当买买买成为当下购物主旋律,谁一天还不收几个快递,这些快递会有顺丰的、圆通的、菜鸟、京东、韵达的,通常情况下购物习惯,包邮的有运费险的,如果不喜欢就可以退掉,也不用掏运费,但是,有时候也会遇到不包邮,退货需要支付运费,当你享受物流给你带来便捷时,可曾层思考过快递是如何收费的,具体收哪些费,这些费用怎么计算的,本文笔者带你来了解一下物流费用。 阅读详情

相关推荐

车牌识别程序源代码 c#版

本车牌识别程序在matlab程序的基础上改成c#版,添加了可视化显示界面,更加接近于实用,非常好的程序,希望大家多多关注!

opencv再学习之路(六)---模板匹配

1.模板匹配基本原理概述   当我们比较两幅图像的时候,首先面对的基本问题是:什么时候两幅图像才是一样或比较相似的,这两幅图像的相似程度如何衡量?当然,比较一般的方法是,当两幅图像的所有像素灰度值一样的时候,我们认为这样幅图是一样的。这种比较方法在某些特定的应用领域是可行的,比如在恒定光照环境和相机内部环境下,检测连续两帧图像的变化。简单的比较像素之间的差值在大多数应用场合下是不太合适的。噪声、...

weixin_34240520的博客 342

C#车牌识别源代码.rar

详细说明了C#版本的车牌识别代码实现,对车牌图片进行抓拍,图片中车牌进行定位,车牌轮廓提取,车牌字符切割,字符特征提取,字体识别等。

Java产品设计-微信开发设计2《创业产品定位与分析》

很多人看到这篇文章,感觉又是一个扯皮说大话的,其实我只是想把自己的想法记录下来,留给以后看! 我个人认为心里有想法,不要憋着,憋着没人知道。 我个人感觉互联网team团队要创业或者做产品,有两种思想(互联网向左,互联网向右): 1、向左思想:即以运营作为主导方向,团队往往运营或者市场方面有一定的优势,然后技术跟产品为辅,然后面向市场开放。这种思想一直延续到现在,还没有被推翻过,...

产品设计是一种艺术! 1394

车牌模式识别软件C#开发源码

该软件是一个用图像预处理,图像分割,车牌定位,识别库填充,模式识别等操作完成一个简单车牌的识别,将图像文件识别为字符串格式数据。也是自己学习模式识别过程中搞的,分享出来大家玩一下。

C# .NET车牌识别模块

C# .NET车牌识别模块,完美识别车牌号码,使用vs2013打开项目,有需要的请下载,可用于商业或者学习使用。代码

一个在产品路上奋斗的菜鸟

B端产品经理成长之路

Gouyx的博客 214

车牌识别系统源码

可以自己调教的车牌号识别系统,提供灰度化、二值化、文字切割等各方面算法

菜鸟程序猿-半年工作小结

刚开始工作时,想着积极努力,一定会有出头之日;想着勤奋刻苦,再小的舞台你也一定能发光发热;想着多积累编程经验,以后跳槽会更有资本…总之,刚毕业开始工作的孩子都非常的有抱负,这可能就是所谓的涉世未深,不知道天高地厚吧…从三月份实习到现在九月份快结束之际,工作已近半年,自己的心态和对未来的期许都发生了翻天覆地的变化。 自我膨胀阶段 刚来的半个月,工作环境的陌生让自己稍微有些后怕,害怕自己完

philonpang的专栏 1171

halcon和c#一起写的车牌识别.rar

halcon和c#一起写的车牌识别,对初学视觉功能的盆友会有很大的帮助

车牌识别C#项目程序源代码

定位车牌:找出车牌在原始图片中的位置 倾斜校正:对待识别数字的倾斜校正 车牌滤波:剔除(像素值置0)车牌图片的边界图像信息 分割车牌:裁掉(删除)车牌图像信息的边界 去除噪声 车牌识别 有图片资源 有字符库

菜鸟对APP界面设计的一些心得小结

1. 前言 当我看着我以前做的一些app界面,我意识到我应该把我的界面设计能力水平再提升一个,因为实在是丑啊!贴一些以前的设计: 现在看来,是不能看的了。我主要是做需求设计,后面也有一些美工的工作,我觉得有必要总结一下关于UI设计方面的经验了。 另外一方面是,我看别人做界面都是直接拿现有的来用,没有自己做,感觉不好,这种就会出现“做的很好看但的确很别扭”的情况。 界面是整个app的脸面,不只是...

weixin_30239339的博客 1142

SIwave仿真手册——信号完整性仿真之S参数的提取(二)

上一篇简单了讲述了软件的各个操作界面,本次博客更新关于的仿真,因为第二章完整的内容比较多,所以分成好几篇博客进行分享。

luohuo9844的博客 1万+

【菜鸟学Java】8:List实体集合中保证产品名称不重复

问题背景:         在做APP的嵌入页面的时候,部长给提了这么一个需求,需要从生产信息的视图中查询出每种产品中已经成熟的一条信息,为了更好的显示效果。简单的说,就是黄瓜和茄子分别被种植在1号大棚和2号大棚里,这样就会产生4条种植信息,我们想要的结果是按照产品名称检索每个产品名称下的任意一条种植信息即可。比如,黄瓜的种植信息有两条,随便拿出来一条,茄子亦如此,那么我们想要的结果就是两条(不

爱技术 爱生活 1849

lenovo联想拯救者Legion Y9000P 2022款2023款2024款笔记本电脑(82RF,82WK,82WQ,83DE,83DF)原装出厂Windows11预装OEM系统镜像下载

联想原装出厂系统自带所有驱动、出厂主题壁纸、系统属性联机支持标志、系统属性专属LOGO标志、Office办公软件、联想电脑管家、联想浏览器、联想软件商店、legionzone控制中心等预装程序。链接:https://pan.baidu.com/s/1YBji_oh7xOkq-NxnS8Mm8g?链接:https://pan.baidu.com/s/1S7_enXmuoja1a9ASvUT5Fg?拯救者Legion Y9000P IRX9H 2024款【83DE】原厂Win11系统包。

QQ17855069的博客 6523

从零开始开发AI Agent:基于大模型的智能体实战指南

### 摘要 本文介绍了AI Agent的开发全流程,从基础概念到实际部署,涵盖大模型集成、工具调用和记忆系统构建等核心技术。通过电商客服案例展示实战应用,并提供调试优化与部署方案,最后展望了AI Agent的未来发展方向,帮助开发者快速掌握智能体开发技能。

ghs_gss的博客 4868

试读《人人都是产品经理》

“有理想,就不会变咸鱼”,虽然不是人人都适合以产品经理为业,却可以以产品经理的思想活着,多思考。 相信很多人都期望达到产品经理的高度,那么我们应该怎么做。 1、寻找机会。 通过各大招聘网站,报纸或者是亲朋好友得到信息。了解所谓的产品经理到底需要达到怎样的标准。提升自己,丰富自己的知识。 2、心甘情愿的打杂 刚刚入行的菜鸟,没有任何能力,也不会负责产品的任何模块,只是打杂。努力学习,主动熟...

cindylu520的专栏 214

AWS RDS 介绍 三)创建 RDS 实例

AWS RDS 介绍 共分为 7 个部分, 其中 第 3部分重点介绍,如何创建一个RDS 实例。 三) AWS RDS 试用MySQL http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.MySQL.

XuYongshi02的专栏 7646

数据库关系代数--菜鸟简易小结

数据库关系代数(选择、投影、自然连接等) 学完了关系代数,这里做个小结。一个关系就是一张表。 一.选择:在关系R中选择满足条件的元组 1.公式: 2.注:(1)多个条件用and连接; (2)字符型用单引号括起来; (3)结果属性跟R一样,元组是满足条件的元组. 3.例:关系模型是student(sno,sname,ssex,sage,sdept),分别代表学生表(学号,姓名,性别,年龄,系别),要求查找年龄小于24岁的女同学。 二.投影:从关系R中选出属性列组成的新关系 1.公式: 2.注:(1)公式语句

weixin_51030828的博客 4146

Maya vray 3S皮肤材质球设置与材质节点连接

Maya vray 3S皮肤材质球设置与材质节点连接

WETQETF的博客 2697

Codex辅助小说创作:零成本AI写作指南与实战技巧

自然语言处理技术通过深度学习模型理解语义上下文,其核心原理是基于大规模文本训练的语言模型预测能力。在创意写作领域,这项技术的价值在于突破传统写作工具的功能局限,实现从内容生成到风格模仿的智能化辅助。特别是提示词工程的应用,让创作者能够精准控制AI输出的内容和风格。在实际应用场景中,AI写作工具显著降低了小说创作门槛,适用于网络小说、奇幻科幻等多种文学类型。本文以OpenAI Codex为例,详细解析如何利用AI技术完成从故事大纲设计、章节生成到平台发布的全流程创作,其中提示词优化和内容质量把控是提升生成效果

weixin_32678995的博客 564

2021年书单-产品相关

从人人都是产品经理网站上的某个帖子上拉过来的书单,跟我自己想要的基本类似,从《人人都是产品经理》开始阅读,希望可以每本书读完都可以用思维导图来做一个小结,并加入自己的思考。基于目前的工作节奏,立个小点的flag,每月一本吧! 产品相关 《启示录:打造用户喜爱的产品》(Marty Cagan) 《产品经理的第一本书》(哥乔斯) 《产品经理的第二本书》(哥乔斯) 《人人都是产品经理》(苏杰) 逻辑思考 《学会提问:批判性思维指南》(尼尔·布朗) 《简单逻辑学:改变思维方式第一书》 《批判性思维:带你走出思维的误

hubeitina的专栏 317

EEGNet 网络代码解析与实战复现指南

本文详细解析了EEGNet这一轻量级卷积神经网络的结构与设计思想,重点阐述了其利用深度可分离卷积高效处理脑电信号的原理。文章提供了基于PyTorch的完整代码复现指南,包括网络搭建、数据模拟、训练调试及关键参数解析,旨在帮助读者掌握EEGNet的代码复现技巧,并将其应用于脑机接口等实际场景。

honey的博客 532

《人人都是产品经理》阅读学习笔记

第一章,写给-1到3岁的产品经理 专业术语: BRD:Business Requirement Document 商业需求文档 PRD:Product Requirement Document 产品需求文档 语句摘抄 作者:苏杰 ① “我毕业于浙江大学,学生物医学工程,专业自己选的,不是因为“21世纪是生物世纪”那句话,而是真的感兴趣。现在回过头来看,我是这么觉得的:当时只是在学习解决问题的思路,而专业就是找了一个特定的领域来练习思考的能力而已。所以,关键还是要跳出以往的应试思维,做过的题不重要,上

weixin_45011930的博客 693

CATIA二次开发一一一计算 CATIA 零件模型在全局坐标系下的包围盒方法

本文介绍了一种在CATIA中计算零件模型全局坐标系下包围盒(BoundingBox)的方法。通过遍历零件几何体特征点,并应用坐标变换矩阵,最终返回精确的零件包围盒。核心步骤包括初始化与输入校验、坐标变换处理、几何体特征点遍历以及全局坐标变换。关键方法涉及CATMathBox操作和坐标变换接口。该方法适用于碰撞检测、可视化优化和装配分析等场景,能够快速判断零件间的空间干涉,提升渲染性能,并计算零件在装配体中的全局位置范围。

工业软件开发 894

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: 女人看了是自省,男人看了是激励
下一篇: C#中的HashTable与Dictionary小结
疯疯爱吃辣
博客等级 码龄15年 25粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值