ServerSuperIO开发记录】的更多相关文章

1.需要编写DriverCommand来支撑协议驱动,实现ProtocolCommand抽象类,在驱动初始化时,会加载同一个程序集内的所有实现了IProtocolCommand接口的所有命令,并存储在ProtocolCommand的_Commands集合中,当收到返回帧时,根据ProtocolCommand中的getCommand方法获取对应的命令,然后调用ProtpcolCommand中的DriverAnalysis方法(参数:Command名称.字节数据)解析数据…
CozyRSS开发记录22-界面退化 1.问题1-HtmlTextBlock 找的这个HtmlTextBlock有很严重的bug,有时候显示不完全,有时候直接就崩了.然后看了下代码,完全是学生仔水平写的啊! 2.问题2-MaterialDesignToolkit 有严重的性能问题.Github上有一个文档可以缓解: https://github.com/ButchersBoy/MaterialDesignInXamlToolkit/wiki/Performance 然后,就算把帧数改低,把动画禁…
CozyRSS开发记录21-默认RSS源列表 1.默认列表 在第一次使用CozyRSS的情况下,我们让它内置五个RSS源吧: 2.响应RSS源的更新 先不处理RSS源列表项的点击,响应下下拉菜单里的更新: 分别通知主窗口和RSS订阅内容栏: 主窗口负责把侧滑菜单缩回去: 内容栏里更新内容: 最终效果一般般,但是能用,不过有时候会异常,后面再来看吧:…
CozyRSS开发记录20-CanResizeWithGrip 1.窗口样式 首先,WindowStyle有四种: 然后,对于窗口缩放的ResizeMode,也有四种,CanResize和CanResizeWithGrip两种都可以拖放缩放,CanResizeWithGrip右下角有网格: 2.无边框并且可缩放 如果给窗口的ResizeMode设置CanResize,那么,即使给WindowStyle设置了None,窗口照样有边框,而CozyRSS要求是无边框的. 实现无边框并且可缩放,网上也提…
CozyRSS开发记录19-窗口标题栏交互 1.谈谈对mvvm解耦的看法 在使用mvvm时,如何操作窗口,这是一个问题.这个问题的关键点是:mvvm是把view和viewmodel解耦了的,很多写法一不小心又把它们耦合起来了. 那么,view和viewmodel解耦有什么好处,不解偶又有什么坏处呢?我这里也不深入讨论了,只说一个场景:CozyRSS假使要做android版和ios版了,我的model和处理的库肯定是不用改的,那viewmodel需要改吗? 前面说到,mvvmlight是跨平台的,…
CozyRSS开发记录18-番外之Atom1.0的支持 1.对CozyRSS.Syndication批判一番 由于我工作的主要开发语言是c++,所以会看到我的c#代码写得非常朴素,很多语法糖都没有用上.Cozy的第三顺位开发MaxTan(星爷)看了CozyRSS.Syndication的代码后,觉得来一个大改造.我们来看一下星爷的改动吧! 2.利用反射自动解析xml 首先,我把rss的xml的model定义出来了,里面每一个成员变量都是对应上xml的标签的.那么,自然可以不用写标签名了,星爷的代…
CozyRSS开发记录17-Html2Xaml 1.RssContentView还需要优化 上回做了RssContentView的显示,但是对于rss返回的描述(摘要),连换行的没有,更别说里面还有html描述符了.换行比较好解决,加个限定大小,再加一个自动换行的描述就可以了: TextWrapping="Wrap"  Margin="10 12 10 10" 2.在wpf里显示html的方法 显示html,有两个方向: A.直接显示html B.将html转换成别…
CozyRSS开发记录16-RssContentView显示 1.RssContentView的布局和绑定 继续参照原型图来写xaml: 然后在RSSContentFrameViewModel里提供绑定的几个属性: 后面,这些属性会根据左侧RSSContentList里所选择的来显示. 2.RSSContentList选定项变色 为了体现当前选择项和其它项的区别,我们在xaml里来描述一下.这里处理了IsMouseOver和IsFocused两种触发器: 3.显示所选 最后,我们来控制显示的内容…
CozyRSS开发记录15-获取和显示RSS内容 1.内容列表 我们先给RSSContentFrame增加一个ViewModel,里面和RSS源列表一样,提供一个ObservableCollection.列表项的内容换成绑定到RSSContentList_ListItemViewModel: 2.更新按钮 将RSSContentTitle里的刷新按钮,绑定到UpdateContentCommand.点击更新按钮时,获取feed内容,显示标题和内容列表: 3.实际效果 打开界面时,什么内容都没有…
CozyRSS开发记录14-RSS源管理初步完工 1.添加源的响应 DialogHost.Show有几个版本的重载,加一个DialogClosingEventHandler参数.我们让添加源对话框的添加按钮响应时,将文本框里的字符串作为命令参数: 响应时,如果参数是string类型,就做添加源的操作: 2.读写到文件 在FeedManageService中,我们内部调用读写文件.在第一次取时读,每次修改时写: 就这样简单的几步,源管理的界面和功能就基本都完工了,接下来我们要开始真正的把RSS的内…
CozyRSS开发记录13-添加订阅的对话框 1.设计对话框 首先,还是先用MockPlus来画个原型图: 因为用了MaterialDesignToolkit,那么可以很方便的有一个蒙层的效果. 2.实现对话框 在MaterialDesignToolkit中,Dialog是以UserControl来描述的.新建一个UserControl,内容如下: 这样,对话框的大体布局就完成了,然后是绑定一下两个按钮的命令,可以用MaterialDesignToolkit内置的: 3.调起对话框 给主界面里的…
CozyRSS开发记录12-MVVM,绑定RSS源和数据 1.引入MvvmLight MVVM最近貌似在前端那块也挺火的.据说,WPF的程序如果不用MVVM,那跟MFC和winform的,也没啥区别.用上MVVM,程序瞬间高大上.MVVM的好处和介绍,网上多得是,这里也不多说,推荐一篇比较好的文章: http://www.codeproject.com/Articles/165368/WPF-MVVM-Quick-Start-Tutorial MVVM相关的库也很多,比较有名的有:Prism.R…
CozyRSS开发记录11-够用的RSS源管理 1.分析需求 先随手画个用例图来看看有哪些参与者会访问我们的源管理: 2.搞一个Controller类 根据前面分析得出的用例图,我们就可以来设计实现一个FeedManageController类了.类提供的接口参照前面的图,实现上也先不考虑太多的异常处理和线程安全. 3.增加父子关系来处理删除 Controller类的实现也没太多好说的,不过为了处理删除,给FeedCategory和FeedNode增加了一个parent成员. 增加了parent…
CozyRSS开发记录10-RSS源管理 1.RSS源树结构 做解析体力活很多,把RSS解析的优化先放放,先玩一玩RSS源的管理. 虽然在初步的设计中,RSS源是以一个列表的方式来展示,但是,我觉得如果可以对RSS源进行分类管理,那就更好了.分类又可以分成三种情况: A.单层分组 B.一个RSS源可以属于多个分类的图 C.树状结构 随便想了想,这里就用树状结构来管理RSS源吧,跟浏览器的收藏夹管理形式类似. 对RSS源树相关的定义如下: 随便写点代码,试一下构造一颗树.这里没有考虑如何方便使用,…
CozyRSS开发记录9-快速实现一个RSS解析器 1.再读RSS标准 既然需要自己实现一个RSS解析器,那自然需要仔细的读一读RSS的标准文档.在网上随便找了两份,一份英文一份中文: http://cyber.law.harvard.edu/rss/rss.html http://wangjunle23.blog.163.com/blog/static/11783817120132220851144/ 根据文档,把解析结果的Model定义好如下: 2.xml解析随便写写 RSS用System.…
CozyRSS开发记录8-解析一份RSS 1.使用Rss20FeedFormatter解析RSS 使用Rss20FeedFormatter配合XmlReader来解析RSS非常的简单,几行搞定: 来试试效果: 貌似一切顺利,爽的一笔. 2.这是一个悲伤的故事 然而,故事总是没有这么简单.我们再试一下另一个网站的RSS. 虽然可能是因为这个网站提供的RSS不规范造成的,但是这个RSS在别的RSS阅读器都没问题啊! 看看Mono里的代码: 真是呵呵啊. 3.CozyRSS.Syndication 所…
CozyRSS开发记录7-了解RSS 1.初窥RSS 多找几个RSS源就会发现,有的源是用Atom协议提供的,有的源是RSS协议提供的.RSS协议有过几个版本,0.9.1.0和2.0等,理论上支持2.0是能向前兼容1.0的.这里我们先只考虑RSS2.0. 首先,我下载了一份最新的配色网的RSS. 之前说过,RSS是XML的子集,我们先看看这份XML的DOM结构: Channel下为RSS的主要内容,我们姑且称它为RssFeed,而每一个item是一条可读的RSS内容,我们称它为RssItem.…
CozyRSS开发记录6-继续补全订阅内容栏 1.订阅内容栏布局 按照之前的原型图,把订阅内容栏分成三块.Xaml如下: 2.照葫芦画瓢,完成头部和列表 头部依然使用ColorZone,右侧再放两个按钮.Xaml如下: 列表项分两行,第一行包含两个图标和内容标题,第二行是时间.Xaml如下: 3.最终效果 RssContentView部分暂时先用一个WebBrowser. 列表里的图标用到了materialDesign的PackIcon,在materialDesign的demo里可以看到所有图标…
CozyRSS开发记录5-订阅列表栏里的项 1.订阅列表栏里的项的原型图 这里列表项依然参考傲游的RSS阅读器,以后可能会微调. 2.使用ControlTemplate来定制ListBoxItem 给展示RSS源名称的TextBlock设置MaxWidth和ToolTip,是为了优化名称过长的情况. 这里暂时把内容都写死,后面会使用MVVM和bindling来处理. 3.ListBox效果展示 最后,我们修改ListBox的xaml,用上我们的模版. 效果还行…
CozyRSS开发记录4-抽屉效果订阅列表栏 1.LeftDrawerContent实现侧滑菜单 抽屉效果,又有人称做侧滑菜单,在手机和平板应用里也是广泛用到.这里,决定把订阅列表栏用抽屉效果实现,而materialDesign有对应的LeftDrawerContent. XAML中的写法是: IsLeftDrawerOpen=”False” 默认收起来. 成品订阅列表栏效果如下: 2.用ContentControl来整理xaml 为了让MainWindow.xaml里的代码更整洁好看,使用Co…
CozyRSS开发记录3-标题栏再加强 1.更精炼的标题栏 接下来,我们把窗口的边框和默认的标题栏给去掉,让Cozy看起来更像一个平板应用. 在主窗口的属性里,修改下列两个属性: 效果一目了然: 2.添加PopupBox 参考了MaterialDesignDemo之后,感觉最初的原型图里,标题栏不够Material Design,所以,接下来我们要在标题栏的右边加一个PopupBox.内容包含全部更新.添加订阅.退出. 添加PopupBox的xaml如下: 效果也是杠杠的: 3.响应退出 最后,…
CozyRSS开发记录2-酷炫的皮肤库 1.MaterialDesignToolkit 最开始微软推出Metro设计风格的时候,有人喜欢有人喷.紧接着,Ios也开始做扁平化的UI,这时候,扁平化已成为新的设计趋势.再往后,谷歌也推出了Material Design. MaterialDesignToolkit是一个帮助桌面程序快速应用Material Design的库,并且它是开源的,github地址为: https://github.com/ButchersBoy/MaterialDesign…
CozyRSS开发记录1-原型图与Grid 1.使用MockPlus画出最简陋的原型图 这个界面参考了目前我最常使用的RSS阅读-傲游浏览器的内置RSS阅读器.主体框架划分为上.左下.右下三块,分别是标题栏(工具类)TitleBar.订阅列表栏RSSListFrame.订阅内容栏RSSContentFrame.订阅内容栏又划分为上.左下.右下三部分,分别是RSSContentTitle.RSSContentList.RssContentView. 2.建立CozyRSS工程,用Grid划分窗口…
CozyRSS开发记录0-RSS阅读器开坑 1.RSS RSS,全名是Really Simple Syndication,简易信息聚合. 关于RSS相关的介绍,网上可以很容易的找到.RSS阅读器是我几乎每天都用到的一个工具类软件,他的优点是: A.没有广告,只关注内容: B.可以轻松快捷的关注到一批博客和新闻网站的更新. RSS本身涉及到的技术点: A.XML,RSS使用XML来编写,它是XML的子集: B.HTTP,RSS的内容源通常是使用HTTP协议来提供的. 2.CozyRSS的目标 初步…
[目录] 扯淡吹逼之开发前奏 Django 开发环境搭建及配置 web 页面开发 Django app开发 Django 站点管理 Python 简易爬虫开发 Nginx&uWSGI 服务器配置 ... 一.扯淡吹逼之开发前奏 终于答辩完了,实在没什么事,作为一个死宅到底的码农,只有呆在宿舍写程序玩. 以前项目都是基于Windows平台开发的,主要是.NET和C++,一直想学一学python,可是没有项目驱动实在是没动力,看了文档不动手过几天就忘了,好吧,我们干脆就开发一个开发的工具网站,主要用…
Python全栈开发记录只为记录全栈开发学习过程中一些难和重要的知识点,还有问题及课后题目,以供自己和他人共同查看.(该篇代码行数大约:300行) 知识点1:优先级:not>and 短路原则:and:如果第一个条件的结论为假,那么 and 前后两个条件组成的表达式计算结果一定为假,后面的条件计算机不会进行计算 or:如果第一个条件的结论为真,那么or 前后两个条件组成的表达式计算结果一定为真,后面的条件计算机不会进行计算 知识点2:python区分大小写,常量需全部字母大写(默认这样写) pyt…
.Net Core ORM选择之路,哪个才适合你   因为老板的一句话公司项目需要迁移到.Net Core ,但是以前同事用的ORM不支持.Net Core 开发过程也遇到了各种坑,插入条数多了也特别的慢,导致系统体验比较差好多都改写Sql实现. 所以我打算找一款 性能比较好 功能比较完善 方便以后可以切换数据库(经过我对老板的了解这个功能非常重要) 并且要有一定用户基础的ORM 参赛ORM 能够参赛的ORM必须要有以下个条件 第一.功能方面要比较完善 第二.Github需要有一定人气并且最近有…
做一个Python+USB+Vnet+FTP传输文件开发记录…
Linux GPIO键盘驱动开发记录_OMAPL138 Linux基本配置完毕了,这几天开始着手Linux驱动的开发,从一个最简单的键盘驱动开始,逐步的了解开发驱动的过程有哪些.看了一下Linux3.3内核文件下的driver目录,点开里面的C文件,感觉底层的Linux驱动机制还是很复杂的,还需要一段漫长时间的学习.现在开发的也不能说是叫做驱动,也只能说是驱动的应用,我们学习驱动也从应用逐步开始,往里面深入吧. 0.开发准备 内核源文件(当时我们编译内核时候的目录,很重要,编译驱动的时候需要依赖…
首页 开源项目 问答 代码 博客 翻译 资讯 移动开发 招聘 城市圈 当前访客身份:游客 [ 登录 | 加入开源中国 ]   当前访客身份: 游客 [ 登录 | 加入开源中国 ] 软件   土龙 关注此人   关注(16) 粉丝(28) 积分(39) 选择,坚持,勤奋 .发送私信.请教问题 博客分类 Meteor(5) java(16) Nodejs(3) 数据库(10) 工作日志(4) 前端(11) PHP(20) 服务器(14) Maven(3) 报表(4) ecshop(6) 阅读排行 1…