win10 不支持VB6.0系统对象的好多属性, 比如可以适用于黑客,比如 app.tasksetvisiblee=false已经不支持了

35791113151719212325只有本站注册会员才能下载,建议您或!随机分享本站基于互联网自由分享,所有下载均来自互联网;本站服务器未保存任何影视、音乐、游戏等资源或文件。本站并不属于下载的提供者、制作者、所有者。若有相关资源涉及您的版权或知识产权或其他利益,请及时,确认后我们会尽快删除,并致以最深的歉意。&浙ICP备号VB APP对象属性一览表+灵活使用VB的APP对象_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
VB APP对象属性一览表+灵活使用VB的APP对象
上传于||文档简介
&&V​B​ ​A​P​P​对​象​属​性​一​览​表​ ​ ​灵​活​使​用​V​B​的​A​P​P​对​象
大小:5.51KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢主流的同步方案有两种:帧同步和CS同步。&br&正好这两天在整理这块的东西,就一并分享一下!也希望能够得到一些讨论的机会。&br&&br&看到评论,补充一个观点:&i&&u&&b&CS和帧同步其实各有有优缺点,并不是某一项方案一定能够取代另一项方案,当游戏类型对实时性要求很高时(比如,实时格斗、体育竞技类游戏(NBA2K)),帧同步可能就是唯一的方案了。&/b&&/u&&/i&&br&&br&&br&&br&以下是正式答案&br&&p&&b&概念定义:&/b&&br&&/p&&br&&b&1 ArenaServer&/b&&br&&br&&ul&&li&战斗核心逻辑及数据所在&/li&&li&不关心表现&/li&&li&由客户端的输入驱动运行&/li&&li&CS同步架构里,这个部分是在服务器的&/li&&li&帧同步架构里,这个部分是在客户端的。&/li&&/ul&&br&&br&&b&2 ArenaServer[预表现层]&/b&&br&&br&&ul&&li&战斗的预表现层,一定在客户端&/li&&li&对于一些需要本地预表现的逻辑,如行走。需要先在这里模拟实现。&/li&&li&ArenaServer的真实数据反馈到预表现层后,会修改本地数据。&/li&&li&ArenaClient只知道预表现层,并不知道真正的ArenaServer的存在。&/li&&li&所以,当游戏要改变同步方案时,Client层并不需要修改。&/li&&/ul&&br&&br&&b&3 ArenaClient:ArenaInput+ArenaRender &/b&&br&&br&&ul&&li&负责客户端输入和渲染&/li&&li&只与预表现层交互。&/li&&/ul&&br&&b&4 FrameServer&/b&&br&&ul&&li&以每秒30次(假设)的频率,收集各个客户端上报上来的ClientInput。&/li&&li&组装为FrameInput,广播给各个客户端。&/li&&li&即为帧同步的服务器所有逻辑&/li&&/ul&&img data-rawwidth=&611& data-rawheight=&710& src=&/a58b8ba96f844b3e8f124ad0aae496aa_b.jpeg& class=&origin_image zh-lightbox-thumb& width=&611& data-original=&/a58b8ba96f844b3e8f124ad0aae496aa_r.jpeg&&&br&&img data-rawwidth=&618& data-rawheight=&799& src=&/520e56f5c710d014dc778_b.jpeg& class=&origin_image zh-lightbox-thumb& width=&618& data-original=&/520e56f5c710d014dc778_r.jpeg&&&br&&br&&br&&img data-rawwidth=&1410& data-rawheight=&694& src=&/8a63be2a3c4fb_b.jpeg& class=&origin_image zh-lightbox-thumb& width=&1410& data-original=&/8a63be2a3c4fb_r.jpeg&&&br&&br&=======一早上都在画这三个图,最后求个赞~~~=======
主流的同步方案有两种:帧同步和CS同步。正好这两天在整理这块的东西,就一并分享一下!也希望能够得到一些讨论的机会。看到评论,补充一个观点:CS和帧同步其实各有有优缺点,并不是某一项方案一定能够取代另一项方案,当游戏类型对实时性要求很高时(比如…
我是个刚入行没多久的Windows运维(入行大半年)。我们公司的服务器除了研发相关的,其余支撑日常运转的服务器基本都是Windows Server的系统,如果服务器是虚拟机的话,那就是Hyper-V里装Windows Server。相关的,包括Exchange,Lync,SharePoint,SQL Server等我们都有用,公司的Mail PC是使用的Windows+MS Office的组合。&br&&br&&b&基于我司的特殊情况,我们和微软中国没有接触,主要是和台湾那边的微软进行各种接触和业务往来。而且我们公司坚持非得要自己人在那边搭建各种服务,不外包=。=&/b&&br&说点我个人的理解。&br&&br&费用我不清楚,因为授权大部分在我入职前就买好了。初次投入和后续投入的总和,这个我这边没有足够的信息去计算。至于盗版途径的“省钱”,这个我们公司是没有的。正经买的授权,当然钱是通过台湾那边给到微软的。&br&&br&域管理不用多说吧;兼容性么,这可能是微软的“看家本领”了……&br&&br&我认为Windows Server一个极大的优势应该是技术支持。微软对企业客户的技术支持相当赞。可能一次性投入是会大一点,但是投入之后你是他大爷。主要有这么几点,&br&&b&1、专人服务。&/b&微软会有专门的人服务你这个企业,有些问题自己的工程师如果一下子解决不了,或者说这个问题对使用的影响不是很大但是需要去解决,那可以找微软开case,只要点数够就行。微软的工程师会定期同我们开会总结已经解决的case和花去的点数、跟进讨论处理中的case并讨论是否要修改所花点数、准备接受处理新的case并讨论预计花去多少点数. 并且处理的时候不但态度好,也很负责。曾经一个Lync在共享桌面会卡顿十几秒的问题,微软一位专门负责和我们公司接洽Lync相关内容工程师和我们一起测试了数次,提供完整的测试方案,测试需要用到的软件,并分析测试中获取的各种数据、日志,随后返回结果和若干种可能适用的解决方案。&br&&b&2、官方支持资料丰富详尽。&/b&TechNet的各种文档,不但容易获取,而且内容完善,分类细致,文章主体也格式工整并且统一,便于阅读。文档之间的关联做的很好,相关联的内容都互相会有一个跳转链接。不同类型的重要内容会有不同样式的格式,以便读者注意到这些重要内容。TechNet的文档语言版本较多,如果机器翻译之后的文档不便理解,可以查看原版的英文文档也可以查看人工翻译的繁体中文文档(对我这种大陆的人来说)。几篇文档之间若关联紧密或者有其他关系,则文章中都会有链接可以直接跳转过去。而有些搭建过程较为简单的服务可以按照TechNet上官方的标准流程直接从无到有搭建完成。只要需求不古怪,TechNet可以解决很多问题。除去TechNet,MVA更是有视频资源可以参考。文档不能解决的问题,官方的社区问答也很多,有专门的专家、讲师等会相当耐心的解答各种疑问。如果问题可以通过某个补丁解决,文章或者回答里往往会给出一个或者若干个适用于各个OS版本的补丁下载链接。&br&&br&&br&&b&附1、微软其他的微软企业产品。&/b&这可能是Windows Server的另一个优势,在没有古怪需求的情况下,专业的人可以利用这些产品和Windows Server相结合,很便利的完成各种服务的搭建。最初刚开始做这行的时候,我甚至觉得微软的企业软件产品可以满足一个公司在基础办公上对软件的绝大部分需求。&br&&b&附2、微软可以替自家工程师背锅。&/b&之前我管理的两台服务器有些个问题,我一下子没找到原因,就把锅先推给了微软,称“可能是系统bug”。毕竟人家不开源,有些事情不好说的……当然后来我找到原因,是我的问题……&br&&br&一个菜鸟的肤浅之见,纰漏之处还望各位大牛指正。
我是个刚入行没多久的Windows运维(入行大半年)。我们公司的服务器除了研发相关的,其余支撑日常运转的服务器基本都是Windows Server的系统,如果服务器是虚拟机的话,那就是Hyper-V里装Windows Server。相关的,包括Exchange,Lync,SharePoint,SQL Serv…
GDI+的功能基本跟Direct2D差不多,但是性能可以差上几十倍,所以不用考虑第一个选项。Direct2D唯一的难点就是初始化,这个你找个代码抄一抄,后面的绘图部分都很直接。&br&&br&支持D3D11混合编程的D2D1.1需要初始化的东西略多,见:&a href=&///?target=https%3A///vczh-libraries/GacUI/blob/master/Source/NativeWindow/Windows/Direct2D/WinDirect2DApplication.cpp& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GacUI/WinDirect2DApplication.cpp at master · vczh-libraries/GacUI · GitHub&i class=&icon-external&&&/i&&/a& 的“class Direct2DWindowsNativeWindowListener_1_1 ”部分
GDI+的功能基本跟Direct2D差不多,但是性能可以差上几十倍,所以不用考虑第一个选项。Direct2D唯一的难点就是初始化,这个你找个代码抄一抄,后面的绘图部分都很直接。支持D3D11混合编程的D2D1.1需要初始化的东西略多,见:
从实现的角度
GDI和GDI+ 和AGG都是软件实现的。&br&原理类似于比如我要在屏幕绘制一个矩形的色块,他的代码就类似于&br&for (int i = 0;i & ++i)&br&
for (int j = 0;j & ++j)&br&{&br&
bitmap[i][j] = rgba(r,g,b,a);&br&}&br&从这个过程中你可以发现其实他有大量的循环,当然裁剪等等还有很多计算几何的算法在里面,但是渲染过程中有大量的这样的循环,在AlphaBlend的时候还需要和底部颜色通过Alpha做插值计算到一个新的值,这样的循环一多CPU就可能抗不住。这个时候大家都会用sse或则mmx 之类的多媒体的指令加速。这里指令可以在一个指令周期里面计算多个浮点数的加减乘除。所以循环的时候就可以加速了。软件渲染有他的优点就是不需要显卡,有比较好兼容性。缺点就是CPU密集型的,比较不容易在渲染的性能上面做出很大的文章。&br&所以当我们在做UI引擎的时候,会配合裁剪做脏区域渲染,这样可以大量的减少要着色的像素的个数,也就是减少上面循环的次数。从而提升渲染的性能。&br&&br&D2D如果像轮子哥 &a data-hash=&ecc0ec035f& href=&///people/ecc0ec035f& class=&member_mention& data-tip=&p$b$ecc0ec035f&&@vczh&/a&说那么一句带过性能很好真的是埋没他了。D2D目前可以确定的是基于显卡的加速的。但是显卡加速是万能的嘛?其实不是!&br&&br&我们来看看显卡有哪些优点?&br&1.他天生的并行处理能力可以并计算上面的循环(哇塞是不是碉堡了)&br&2.显卡的浮点数运算比SMID只能要快太多了(就是上面sse和mmx,SMID之类一次算几个 8个?还是几个我忘记了。显卡一次可以运行 成千上万个,IPhone 5s的手机和PC比很垃圾的显卡吧, 一秒可以选 12亿次 还是 120亿次的浮点数, 我又忘记了!!反正就是这个数量级)&br&我们再看看显卡的有那些缺点?&br&1.他只能绘制三角形(其实也能绘制线之类的基元,蛋疼)&br&2.他在PC上面需要从内存和显存直接的通信比耗时&br&好了! 现在我们有一个急速(我都不用快速)可以绘制大量三角形的工具,还可以给三角形填充颜色的工具。好了这个可以认为就是一个简易的显卡了。那么D2D就需要在这个基础上面绘图啦!&br&&br&首先我们和GDI+作图一样可以绘制任意形状的图,哇塞好蛋疼显卡只能画三角形。咋办~
我们遇到了第一个图形学的问题 “三角剖分”。就是把几何图形剖分成三角形,是的这个只能用CPU来做。当我们把几何图形剖分成三角形后这个三角形的就可以提交给显卡,显卡疯狂的把这些三角形画出来!比图下面这个图&br&&br&&img src=&/e8da9639e6bde8cc1eee5ab_b.png& data-rawwidth=&1202& data-rawheight=&492& class=&origin_image zh-lightbox-thumb& width=&1202& data-original=&/e8da9639e6bde8cc1eee5ab_r.png&&把一个a三角化了很多个三角形。当然这后面还要做抗锯齿(一个大坑哇)。这个过程把一些图形转成了显卡可以接受的三角形,显卡可以愉快的渲染喽!这个算法看着就耗时是不是?其实是的,尤其是各种圆角!!(你是不是说Shader里面可以绘制圆角,那样的控制不是很方便,尤其是在外面做多边形裁剪的时候)&br&&br&对的没错 D2D就是把类似于 GDI+的API 描述的渲染的命令和图形转化成了显卡可以渲染的三角形和显卡渲染命令,(这只是一个简单的例子,真实的情况这个里面设计的图形学的知识实在太多了,不一一说了,因为我也是一个菜逼),到这个过程就结束了吗? 远没有,这个时候你需要把数据提交给显卡,提交很快?我告诉你很慢!!!每一次提交叫一个DrawCall,Drawcall的次数决定你软件的FPS。&br&&br&所以D2D的性能远不是一句它有硬件加速就能说的明白的!硬件毕竟是个傻逼,算法才是灵魂,然而矢量算法尼玛还是用CPU在算哇!好蛋疼哇!!所以D2D经管有硬件显卡的加速但是实际上CPU也不能很差。&br&&br&&br&从目前来看D2D的确加速矢量的渲染!!!
从实现的角度 GDI和GDI+ 和AGG都是软件实现的。原理类似于比如我要在屏幕绘制一个矩形的色块,他的代码就类似于for (int i = 0;i & ++i) for (int j = 0;j & ++j){ bitmap[i][j] = rgba(r,g,b,a);}从这个过程中你可以发现其实他有大量的循环,…
“用c++做一个光栅化渲染器”?这事我刚刚做了!要不题主您受累过去看一眼?:)&br&&br&我不知道题主这个问题是什么时间开的?(知乎页面上好像不显示)如果你还对这事感兴趣,或者还是弄,没弄完,那么不如来我这看看,一起切磋~&br&&br&上面那些大神的回答都非常有理论指导意义,我弄得这个玩意可能有一点点实践方面的参考价值?&br&&br&&a href=&/?target=https%3A///CallMeZhou/Puresoft3D& class=&internal&&GitHub - CallMeZhou/Puresoft3D&/a&&br&他们都有漂亮的截图,我也有~&br&&img src=&/479bf2d12fbf7b4544976_b.jpg& data-rawheight=&768& data-rawwidth=&1024& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&/479bf2d12fbf7b4544976_r.jpg&&&img src=&/52ffccac0ea5accbe2d1cacde9d9121c_b.jpg& data-rawheight=&640& data-rawwidth=&1024& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&/52ffccac0ea5accbe2d1cacde9d9121c_r.jpg&&&img src=&/bdec_b.jpg& data-rawwidth=&800& data-rawheight=&600& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&/bdec_r.jpg&&&br&喜欢的话,赏个星星呗~
“用c++做一个光栅化渲染器”?这事我刚刚做了!要不题主您受累过去看一眼?:)我不知道题主这个问题是什么时间开的?(知乎页面上好像不显示)如果你还对这事感兴趣,或者还是弄,没弄完,那么不如来我这看看,一起切磋~上面那些大神的回答都非常有理论指…
泻药。我是 &a data-hash=&744f33e9e597ca0759251& href=&///people/744f33e9e597ca0759251& class=&member_mention& data-editable=&true& data-title=&@伟大的春春& data-tip=&p$b$744f33e9e597ca0759251&&@伟大的春春&/a& 中提到的光栅化软件渲染器SALVIA的作者。&br&&br&下面是小广告时间:&br&SALVIA的主页: &a href=&///?target=https%3A///p/softart/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/p/softa&/span&&span class=&invisible&&rt/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&&br&这篇文章大概可以算是SALVIA从07年开始做到12年的一个整体回顾&br&&a href=&///?target=http%3A///lingjingqiu/archive//2858177.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&开源光栅化渲染器SALVIA的漫长五年(准·干货)&i class=&icon-external&&&/i&&/a&&br&&br&下面是针对你的情况做的一些补充:&br&&br&&ul&&li&首先你说你只有C#的基础,对C++这种需要手工管理资源的方式不是很适应。所以首先你需要阅读C++方面的书籍,尤其是C++11方面的内容,这会对你的开发大有助益。&br&&/li&&li&&b&掌握OpenGL或者D3D API的用法。&/b&你必须要知道你做的东西是用来干什么的,是怎么用的。&/li&&li&“光栅化渲染器”的关键,其实并不完全在于“光栅化”算法本身,更重要的是围绕着光栅化而做出来的一系列结构。&a href=&///?target=http%3A///en-us/library/windows/desktop/ffv%3Dvs.85%29.aspx& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&此篇内容&i class=&icon-external&&&/i&&/a&会给你一个很好的概念。当然出于简单起见,DX9级别的管线要更加简单。&/li&&li&在这整个结构中,实际上光栅化、插值以及Pixel的处理都相对简单,难点反倒是在Primitive的生成(也就是三角形的生成、变换、裁切)。光栅化算法可以使用教科书上的经典算法,就是先把三角形按照水平线切割成上下两个部分,再来按照斜率来计算水平像素的范围。比如说下图这样。这是我当时在ADSK做Team sharing的时候所讲的内容。&img src=&/ef317abd755e34b1da2ca39_b.jpg& data-rawwidth=&781& data-rawheight=&694& class=&origin_image zh-lightbox-thumb& width=&781& data-original=&/ef317abd755e34b1da2ca39_r.jpg&&&/li&&li&我当年的用的唯一“图书”,是&b&OpenGL 2.0 Specification&/b&。这一版的复杂度和DX9对应,既有提纲挈领的架构描述,也会精细到每个算法,&b&非常适合拿来开发&/b&。比OpenGL 2.0 Specification更好的材料当然也有,比如Direct3D 10 Functional Specification和D3D Reference Rast,但是这些都是在微软的NDA协议保护下,是很难见到的。&/li&&li&关于平台,你可以考虑先&b&把场景渲染成图片&/b&。&/li&&li&如果说着手的话,&b&顶点变换,基本的光栅化算法,再加上把覆盖到的像素以黑色,覆盖不到的像素以白色的方式,绘制成一个图片,这应该是最最基本的功能。&/b&在你的程序能将空间三角形能变成2D的图像后,你就可以慢慢往里面增加光照纹理等功能了。&/li&&/ul&&a data-hash=&1e2cccc3ce33& href=&///people/1e2cccc3ce33& class=&member_mention& data-tip=&p$b$1e2cccc3ce33&&@Milo Yip&/a&
泻药。我是
中提到的光栅化软件渲染器SALVIA的作者。下面是小广告时间:SALVIA的主页: 这篇文章大概可以算是SALVIA从07年开始做到12年的一个整体回顾下面是针对你的情况做的…
如果对好玩的东西有兴趣,非常推荐下面的三大新一代轮子。它们的核心思想都可用极简短的代码实现,效果特别直观,并且拥有无数的后续改进。因为这三者都属于易入门,但很难真正做完善。&br&&br&&b&&u&1. &渲染器&:Path Tracing 路径追踪。&/u&&/b&&br&&br&入门例子:&br&&a href=&///?target=http%3A///smallpt/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&smallpt: Global Illumination in 99 lines of C++&i class=&icon-external&&&/i&&/a&&br&&img src=&/04dfdffa71cd34bf4daf1_b.png& data-rawwidth=&1024& data-rawheight=&768& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&/04dfdffa71cd34bf4daf1_r.png&&懂一点的朋友会问,path tracing 的算法不是已经很明确了吗?渲染还有要研究的问题了吗?事实是,做得差不多,不难;但有很多复杂的情况很难,如 SDS path。因此后续有 BPT,MLT,PPM 等等改进,直到下面的 VCM 才能比较完善地处理大多数复杂情况(但仍然存在无法处理好的情况)。此外,高品质的实时渲染依旧是难题。&br&&br&进阶例子:&br&&a href=&///?target=http%3A///publications/VertexMerging& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Iliyan Georgiev: Light Transport Simulation with Vertex Connection and Merging&i class=&icon-external&&&/i&&/a&&br&&img src=&/528faa991fe34d6bdbcc7e_b.jpg& data-rawwidth=&1913& data-rawheight=&662& class=&origin_image zh-lightbox-thumb& width=&1913& data-original=&/528faa991fe34d6bdbcc7e_r.jpg&&&br&&b&&u&2. &博弈器&:Monte Carlo Tree Search 蒙特卡洛树搜索。&/u&&/b&&br&&br&入门例子:&br&&a href=&///?target=http%3A//mcts.ai/about/index.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Monte Carlo Tree Search&i class=&icon-external&&&/i&&/a&&br&&img src=&/9ef902e9_b.png& data-rawwidth=&571& data-rawheight=&233& class=&origin_image zh-lightbox-thumb& width=&571& data-original=&/9ef902e9_r.png&&&br&&br&现实世界中的许多问题都可以转化为博弈问题,通用的名词叫做 General Game Playing,其中也有无数 trick,有兴趣可以去看相关 survey。目前所有 GGP 使用的都是 MCTS 作为核心算法,并且可以预期未来它们都会使用 AlphaGo 的 MCTS + DNN + RL 框架。&br&&br&进阶例子(AlphaGo 是这里第二个轮子和第三个轮子的结合):&br&&a href=&///?target=https%3A///i/2016/03/deepmind-mastering-go.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/i/2016/0&/span&&span class=&invisible&&3/deepmind-mastering-go.pdf&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&&img src=&/0a31ee323ec250ed9c9e1df0bb22a888_b.jpg& data-rawwidth=&999& data-rawheight=&697& class=&origin_image zh-lightbox-thumb& width=&999& data-original=&/0a31ee323ec250ed9c9e1df0bb22a888_r.jpg&&&br&&br&&b&&u&3. &识别器&:Deep Neural Network 深度神经网络。&/u&&/b&&br&&br&入门例子:&br&&a href=&///?target=http%3A///exdb/lenet/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MNIST Demos on Yann LeCun's website&i class=&icon-external&&&/i&&/a&&br&&img src=&/883ff066b63dc9c25f3fc967259eaa05_b.jpg& data-rawwidth=&465& data-rawheight=&378& class=&origin_image zh-lightbox-thumb& width=&465& data-original=&/883ff066b63dc9c25f3fc967259eaa05_r.jpg&&&br&&b&更新:下面是目前最直观的 DNN 演示,似乎要翻墙。不夸张地说,现在每个人都可以在自己的浏览器里面直接“玩深度神经网络”了。什么都不用说,自己玩玩就明白。&br&&/b&&br&地址是: &a href=&///?target=http%3A//playground.tensorflow.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&A Neural Network Playground&i class=&icon-external&&&/i&&/a&&br&&br&&img src=&/fdbe8b10d5dd6860cdb6a4_b.jpg& data-rawwidth=&800& data-rawheight=&508& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&/fdbe8b10d5dd6860cdb6a4_r.jpg&&&br&进阶例子:&br&&a href=&///?target=http%3A//arxiv.org/abs/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&arxiv.org/abs/&/span&&span class=&invisible&&2&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&&img src=&/d142bd07fdddbaaaa342_b.jpg& data-rawwidth=&989& data-rawheight=&842& class=&origin_image zh-lightbox-thumb& width=&989& data-original=&/d142bd07fdddbaaaa342_r.jpg&&&br&=====================&br&&br&严格说来,这三个轮子已经不完全是计算机理论的层面,而涉及到了世界与我们思维的运行规律,所以就更值得自己造一遍了。&br&&br&顺便一提。这里第一个和第二个其实很像(请思考为什么),只是有一个很微妙而重要的区别(请思考是什么)。&br&&br&而第三个要真正做得robust,也许还是需要再多理解前面二个,毕竟CV应该首先是CG的逆。也就是说,如果电脑要真正&理解&看到了什么,应该从2d图像把原始的3d场景(3d模型+材质+光照)还原出来,然后再分析这个3d场景;而不是像现在的绝大多数文章这样只在2d图像上做统计分析。
如果对好玩的东西有兴趣,非常推荐下面的三大新一代轮子。它们的核心思想都可用极简短的代码实现,效果特别直观,并且拥有无数的后续改进。因为这三者都属于易入门,但很难真正做完善。1. "渲染器":Path Tracing 路径追踪。入门例子:
VS在这里用的魔法叫做Debug Visualizer,通过叫natvis的xml文件描述对象的内存布局以及如何显示。如果希望自己的类也能有自定义的显示,只要写一个natvis文件即可。&br&&br&1. 在工程中添加魔法卷轴。&img src=&/8afb7a45c2eff5_b.png& data-rawheight=&289& data-rawwidth=&942& class=&origin_image zh-lightbox-thumb& width=&942& data-original=&/8afb7a45c2eff5_r.png&&2. 在卷轴上写好要吟唱的魔法。&br&&div class=&highlight&&&pre&&code class=&language-xml&&&span class=&cp&&&?xml version=&1.0& encoding=&utf-8&?&&/span&
&span class=&nt&&&AutoVisualizer&/span& &span class=&na&&xmlns=&/span&&span class=&s&&&/vstudio/debugger/natvis/2010&&/span&&span class=&nt&&&&/span&
&span class=&nt&&&Type&/span& &span class=&na&&Name=&/span&&span class=&s&&&TestVector&*&&&/span&&span class=&nt&&&&/span&
&span class=&nt&&&DisplayString&&/span&{{size={num}}}&span class=&nt&&&/DisplayString&&/span&
&span class=&nt&&&Expand&&/span&
&span class=&nt&&&Item&/span& &span class=&na&&Name=&/span&&span class=&s&&&[size]&&/span& &span class=&na&&ExcludeView=&/span&&span class=&s&&&simple&&/span&&span class=&nt&&&&/span&num&span class=&nt&&&/Item&&/span&
&span class=&nt&&&ArrayItems&&/span&
&span class=&nt&&&Size&&/span&num&span class=&nt&&&/Size&&/span&
&span class=&nt&&&ValuePointer&&/span&ptr&span class=&nt&&&/ValuePointer&&/span&
&span class=&nt&&&/ArrayItems&&/span&
&span class=&nt&&&/Expand&&/span&
&span class=&nt&&&/Type&&/span&
&span class=&nt&&&/AutoVisualizer&&/span&
&/code&&/pre&&/div&3. 见证魔法的奇迹。&br&&img src=&/f09a0cc9ee854f58e7bd64bba1c94880_b.png& data-rawheight=&448& data-rawwidth=&885& class=&origin_image zh-lightbox-thumb& width=&885& data-original=&/f09a0cc9ee854f58e7bd64bba1c94880_r.png&&4. 施法中重写卷轴,实时生效哦!&br&&img src=&/5c1c32fceb0b16c0e24a_b.png& data-rawheight=&322& data-rawwidth=&1086& class=&origin_image zh-lightbox-thumb& width=&1086& data-original=&/5c1c32fceb0b16c0e24a_r.png&&&br&&br&参考: &a href=&///?target=https%3A///en-us/library/jj620914.aspx& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Create custom views of native objects&i class=&icon-external&&&/i&&/a&&br&内置的natvis文件在%VSINSTALLDIR%Common7\Packages\Debugger\Visualizers,可以找到关于STL的作为参考。
VS在这里用的魔法叫做Debug Visualizer,通过叫natvis的xml文件描述对象的内存布局以及如何显示。如果希望自己的类也能有自定义的显示,只要写一个natvis文件即可。1. 在工程中添加魔法卷轴。2. 在卷轴上写好要吟唱的魔法。&?xml version="1.0" encoding="u…
&p&不管微软的广告怎么说,WWF这个东西实际上是一个可视化的编程语言,顺便送了你一个编辑WWF的WPF控件。你可以把这个控件集成到你的程序里,然后让甲方的苦力们在公司实现各种“策略”,譬如说“晚婚妇女买安全套八折”这样的东西。&/p&&br&&p&顺便,msbuild也是用WWF来管理的。譬如说你想在TFS里面实现checkin后自动运行unit test,就在BuildProcessTemplates目录下面的xaml文件里面,打开VS改里面的Workflow(用WWF搞的),拖拉几下就搞定了。&/p&
不管微软的广告怎么说,WWF这个东西实际上是一个可视化的编程语言,顺便送了你一个编辑WWF的WPF控件。你可以把这个控件集成到你的程序里,然后让甲方的苦力们在公司实现各种“策略”,譬如说“晚婚妇女买安全套八折”这样的东西。顺便,msbuild也是用WWF来…
如果你想用最快的速度把C#+WPF跑在浏览器上的话,那你应该使用微软的winjs(在github上)和FunScript。首先把你的WPF程序移植到UWP上,其次是用winjs(就是UWP在浏览器上的移植)先让你的UI在浏览器上搞出来,最后把WPF的ViewModel部分(如果你是用WPF的方法是正确的的话,那么UI和Model应该没有任何交集,可以直接分别处理)编译成dll之后反编译成F#再用FunScript处理成js,然后改一改,done。iPad部分镶嵌一个WebView,就搞出来了。
如果你想用最快的速度把C#+WPF跑在浏览器上的话,那你应该使用微软的winjs(在github上)和FunScript。首先把你的WPF程序移植到UWP上,其次是用winjs(就是UWP在浏览器上的移植)先让你的UI在浏览器上搞出来,最后把WPF的ViewModel部分(如果你是用WPF的方…
说一个门诊的小事儿,警告图片稍有不适,胆小勿看。&br&&br&男生拔手指上的肉刺导致甲沟炎,女朋友陪着来拔甲(就是脓肿已经蔓延到指甲深部,需要拔除指甲排脓,否则有可能加重感染导致骨髓炎甚至截肢)&br&&img src=&/9ec3f48ae31e99abc6b6c_b.jpg& data-rawwidth=&276& data-rawheight=&237& class=&content_image& width=&276&&&br&&br&男生大个子荷尔蒙爆棚,女生小鸟依人&br&&br&一进诊室,男生就对女生说:“你到外面等吧,我没事!怕你看到会吓晕。”女生乖乖出去。&br&&br&一看到女生从外面关上门,男生立刻转向我,一脸惊恐:“大夫,能不能不拔指甲就治好啊?”&br&&br&答曰你这种情况强烈不建议保守治疗,再说指甲会再长出来的&br&&br&男生又紧张地问:“会不会疼啊大夫?”&br&&br&告之会打麻药,只是个小操作,2分钟就完事,请他不要紧张&br&&br&男生深吸一口气,下定决心,说:“那……大夫……你给我找个布呗?——把我眼睛包上——我不敢看……”&br&&br&请护士姐姐给找了个干净的治疗巾盖在头上&br&&br&男生又说:“你给我换块布呗——这个是白色的——不吉利……”&br&&br&只好拆了包绿色的一次性无菌治疗巾给盖上&br&&br&我戴无菌手套告之开始消毒&br&&br&男生:“妈呀,怎么这么凉呀?我手咋啦?”&br&&br&我说不是告诉你消毒呢吗?这是消毒水而已啦&br&&br&铺无菌巾开始打麻药,告之&br&&br&男生:“哎呀妈——疼疼疼!医生你轻点!哎~~呀~~哎~~呀~~医生你不是说不疼吗?哎——医生你轻点!哎~~呀~~!咋还没完呐——!哎呦哟——”(请自行脑补东北口音,无地域歧视的意思)&br&&br&打完麻药,边告之放松、不要紧张,边轻轻用注射器针尖轻刺麻醉的手指各部位,问他:“现在手指还痛吗?是不是不疼了”(我已经不敢问他能不能感觉到针刺感了)&br&&br&男生:“倒是不疼了,就是感觉麻……医生你拔的时候一定要告诉我啊!我好提前忍住!”&br&&br&答曰:“好的,等一会儿麻药起效我就开始拔了,会提前告诉你的。”——轻轻拿起手术尖刀开始分离指甲&br&&img src=&/cce0070cac1d0d8d3a847ce135930afa_b.jpg& data-rawwidth=&108& data-rawheight=&90& class=&content_image& width=&108&&&br&&br&男生:”大夫你可千万等麻药完全起效再开始哈!我有时间……“&br&&br&我:“好的……”——已经分离一半了&br&&br&男生:“大夫你打的麻药够不?要不要再多打点?……”&br&&br&护士姐姐:”麻药够了,需要的时候会再给你加的,放心吧。“——我开始分离甲床部&br&&img src=&/ae89a8bf22f06e4efb1c1a06d4807dd7_b.jpg& data-rawwidth=&100& data-rawheight=&80& class=&content_image& width=&100&&&br&&br&男生:”大夫你啥时候开始啊?一定要提前告诉我啊!要不你把刚才那块布搁我嘴里——咬住?……“&br&&br&我和护士姐姐都没接话,只能使劲憋住,怕一张嘴就笑出声来……&br&&br&男生:“大夫,要不今天就这样吧,我都不疼了,是不是就好了?不用拔了吧?”&br&&br&我已经用止血钳夹住松动的指甲,轻轻一晃一拽就拔掉了。&br&&img src=&/9b6addf6edf7e15f4fccfad_b.jpg& data-rawwidth=&124& data-rawheight=&93& class=&content_image& width=&124&&&br&&br&男生:“大夫,啥时拔你可要告诉我啊!……”&br&&br&我清理感染灶、填药、压迫止血……护士姐姐说:“好了,已经拔完了,再止止血就完事了……”&br&&br&男生:“已经拔完了啊?这么快啊?哎妈也没感觉到疼啊?大夫真是拔掉了是吧?以后不会再犯了吧?——哎大夫咋还要止血尼?这还大出血啦咋滴?是不是特别严重啊?哎妈我不敢看——这手是不是就废了?……”&br&&br&赶紧告之是止血不是大出血,真正的出血连1ml都不到。包扎,完事。……&br&&br&告知完注意事项,男生满意地转身出门,又恢复了伟岸高大的形象。门口断续传回他和女朋友的谈笑风生——“&b&没事儿!这点小操作算个啥!……咋不疼尼?我一声都没吭,眼瞅着指甲拔下来的!……哎,你要不要去看看我拔掉的指甲?……看把你吓得哈哈哈&/b&……”&br&&br&——————————————————————————————&br&PS:&br&1.没有黑任何地域的意思。我爱东北。&br&2.图片来自网络,侵删&br&3.&b&不要拔手指上的肉刺!要用消过毒的指甲钳齐根剪除!真的会继发甲沟炎的!&/b&&br&&br&&br&&b&4.&/b&评论里的内容我都看了,有好多甲沟炎的朋友,看来甲沟炎这个问题还挺广泛(我算知道以前普通外科门诊每天10多个拔甲、切开引流的病人都是哪里来的了哼哼哼),没办法一一回复,我集中回答一下。&br&&br&&br&&b&1)&/b&关于肉刺的叫法问题,我只听过叫“肉刺”“倒刺”的,看评论区还有叫“倒欠”“倒欠刺”等的,应该就是一个意思。有些朋友问“什么是肉刺”?正好今天等电梯的时候捉到一只——它长这样(真人出镜示范!我也是蛮拼的)&br&&img src=&/ed8dbb65469f3dea13f5ae0c72a4fe62_b.jpg& data-rawwidth=&512& data-rawheight=&682& class=&origin_image zh-lightbox-thumb& width=&512& data-original=&/ed8dbb65469f3dea13f5ae0c72a4fe62_r.jpg&&&br&&br&&br&&b&2)&/b&是不是感觉这肉刺太小只了?因为我一直有用护手霜啊!——话说我可是外科医生哎!检查病人要洗手,饭前便后要洗手,手术要刷手——但因为近年养成经常涂护手霜的好习惯,已经很少起肉刺了,就算起也是这样小小的,指甲刀一剪就OK啦&br&&br&&b&3)&/b&关于涂护手霜。这个真的是非常必要的,要知道&b&干燥是皮肤的一大杀手,洗手会破坏皮肤的油脂层&/b&(这下知道为什么盘核桃、手串会油亮油亮的了吧?),小时候因为皮肤含水量高,细胞代谢旺盛,可以不涂,&b&成年以后是必须要涂的,而且是越早涂保养得越好&/b&哦!&br&&br&&br&4)对了,&b&涂护手霜的时候不要只顾着抹手背手心,要用手掌挨个儿握住手指旋转,保证涂抹到每个指尖&/b&。&br&&br&5)&b&为什么撕肉刺会导致甲沟炎?&/b&因为肉刺翘起来那一部分是已经干燥死亡的角质细胞,但它的根部还是活的皮肤啊!皮肤的韧性可是很高的哦!所以在暴力拉扯下,往往造成一部分皮肤撕裂,形成小裂口。&br&&br&6)然后呢?&b&皮肤是人体最重要的保护屏障&/b&,而手指尖、脚趾尖又是最容易接触污染物的部位,所以很容易就感染啦&br&&br&7)&b&什么时候会拔甲?&/b&为什么有人不用拔甲,只是自己挤脓或者医生切小口排脓就好了?——一般来说,甲沟炎形成脓肿以后,很难自行排出,脓液会积聚在指尖,不停腐蚀正常组织,所以必须想办法把脓液弄出去。但如果指甲下面已经积聚了脓液,通过表面切口是很难引流干净的,这个时候一般就建议拔甲了。&br&&br&8)如果感染过大过深,&b&外力强行挤压有可能会促进感染往更深处蔓延扩散&/b&——甚至会继发骨髓炎截肢哦!所以还是及早去医院比较好。&b&早期感染的话只要外涂药膏就可以治愈&/b&了。&br&&br&9)建议患过甲沟炎的朋友尽可能把指甲留长一点,一般指甲边缘长(chang)过甲床的范围就不容易发炎了。不幸的是,有些人会在长(zhang)指甲的过程中就又复发甲沟炎了,因为指会刺入肉里。另外,家里应该常备消炎的药膏,一旦有发炎的倾向,及早敷药。&br&&br&10)关于护手霜的牌子,其实都差不多啦,主要起作用的都是甘油、凡士林一类的保湿油剂而已。我用的是这个(大众品牌,绝非广告,与本人无任何利益关系。)&br&&img src=&/51c0cb66c043aa1378032_b.jpg& data-rawwidth=&400& data-rawheight=&446& class=&content_image& width=&400&&&br&平时用的护手霜真的不需要特别贵的(晚上睡觉特别保养除外),因为要经常洗手,所以及时涂抹是关键,这个牌子特价的时候才10块一个,我通常一次就屯10个,放白大衣兜里随时用,一管差不多能用一个月吧。&br&&br&为什么中间剪开了呢?因为小医生好穷的!给大家分享个充分利用护手霜的小秘诀哈&br&&img src=&/5e967c22d899dd2e4025e0_b.jpg& data-rawwidth=&400& data-rawheight=&389& class=&content_image& width=&400&&其实挤不出来的时候,底部还有好多,剪开后还可以用好久呢。每次用过后只需要盖紧就可以啦,反正我放白大衣兜里每天跑来跑去的也没有脱开过。&br&&br&兜里经常同时揣着护手霜和手机,某日手机丢了,一女同事捡到后直接拿给我,说:“我捡到个手机,一闻就知道是你的!——一股护手霜的香味”。&br&&br&————————————————————————————————&br&评论区不少朋友称赞我写的东西轻松幽默又科普医学知识,真是感谢朋友们的谬赞了。医疗本就是服务大众的,绝不应该高高在上、脱离群众。再分享几个我写过的医疗段子,希望能对朋友们有所帮助,也希望能侧面了解一下医生的日常工作内容,谢谢关注。&br&&a href=&/question//answer/?group_id=165632#comment-& class=&internal&&作为医生,在火车上听见广播里说有一名旅客需要诊治,你会怎么做? - 杨嘉煜的回答&/a&&br&&a href=&/question//answer/?group_id=400320#comment-& class=&internal&&如何看待史学奇才林嘉文同学的离世? - 杨嘉煜的回答&/a&&br&&a href=&/question//answer/& class=&internal&&医生遇到过哪些「这居然都能死」的病人? - 杨嘉煜的回答&/a&&br&&a href=&/question//answer/& class=&internal&&去医院看病为什么大夫只看片子不看影像报告? - 杨嘉煜的回答&/a&&br&&a href=&/question//answer/& class=&internal&&你看到哪个作者的名字就觉着这是作品质量的保障? - 杨嘉煜的回答&/a&&br&&a href=&/question//answer/& class=&internal&&腰间盘突出片子显示很严重!可是自己的症状不是很厉害,还需要治疗吗? - 杨嘉煜的回答&/a&&br&&a href=&/question//answer/& class=&internal&&普通人跟职业运动员到底有多大差距? - 杨嘉煜的回答&/a&&br&&a href=&/question//answer/& class=&internal&&农药「百草枯」到底是一种什么原理,不是应该只是除草吗?为什么喝一口就救不过来? - 杨嘉煜的回答&/a&&br&&a href=&/question//answer/& class=&internal&&卡在喉咙深处的鱼刺过了一夜自己跑出来了,会是蛔虫干的好事吗? - 杨嘉煜的回答&/a&&br&&a href=&/question//answer/& class=&internal&&你印象最深刻的案件是什么? - 杨嘉煜的回答&/a&
说一个门诊的小事儿,警告图片稍有不适,胆小勿看。男生拔手指上的肉刺导致甲沟炎,女朋友陪着来拔甲(就是脓肿已经蔓延到指甲深部,需要拔除指甲排脓,否则有可能加重感染导致骨髓炎甚至截肢)男生大个子荷尔蒙爆棚,女生小鸟依人一进诊室,男生就对女生说…
一直在 GitHub 的 PR 里面进行 review,尽管不好用,但是该有的功能都有,讨论比较方便。&br&&br&假如你们用过我大微软的 TFS 来进行协作开发的之后,Code Review 也是一种舒服的体验。&br&&br&&a href=&///?target=https%3A///en-us/get-started/code/get-code-reviewed-vs& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Get your code reviewed with Visual Studio&i class=&icon-external&&&/i&&/a&&br&&br&TFS 是我用过最好用的程序员的伴侣工具,没有之一,我跟瑞典,芬兰程序员交流的时候都靠 TFS 的 Code Review 功能协同合作。&br&&br&再次声明:Code Review 如果使用的工具对审阅代码者友好,那么这项工作的效果就会好。
一直在 GitHub 的 PR 里面进行 review,尽管不好用,但是该有的功能都有,讨论比较方便。假如你们用过我大微软的 TFS 来进行协作开发的之后,Code Review 也是一种舒服的体验。TFS 是我用过最好用的程序员的伴侣…
理解的重点就在于“符号表”(symbol table)。之前回答过一个略微相关的问题,&a href=&/question//answer/& class=&internal&&C 语言程序变量作用域的实现机制是什么? - RednaxelaFX 的回答&/a&&br&那个问题主要关注的是符号表对局部变量的体现,而题主这个问题关注的是符号表在函数层面的体现。&br&&br&举个例子:C语言在极限情况下可以“裸奔”——完全不依赖于任何外部的运行时库,编译出来的就是单一、独立的可执行文件。正因为如此,它可以方便的用于写直接跑在裸硬件上的程序,例如操作系统自身。&br&但一般用C写应用层面的程序,多少还是得依赖一些外部库的。最常见的情况之一就是与C Runtime Library(CRT)动态链接。为了能做到这点,CRT作为动态链接库自然要提供链接用的符号信息,而应用程序也需要提供链接用的符号信息说明自己依赖于哪些符号。&br&&br&于是就带回到题主的问题了。C写的程序,编译出来的目标文件,在(静态-)链接前自然带有所有链接用的符号信息,而在静态链接后仍然可能带有动态链接用的符号信息。&br&目标文件里,链接/加载相关的符号信息表大致有三种:&br&&ul&&li&导入表(import table):描述这个目标文件依赖于哪些符号是由外部提供实现的;&/li&&li&导出表(export table):描述这个目标文件向外部提供哪些符号的实现;&/li&&li&重定位表(relocation table):在生成可重定位代码(relocatable code / position independent code (PIC))时,描述重定位后需要修正的东西的偏移量。&/li&&/ul&&br&题主问到微软的情况,接下来稍微提一下Windows上是怎么做的。&br&MSVC编译程序时可以生成可执行文件或动态链接库。这是最终产物,中间步骤会涉及静态库文件(static library,.lib文件)。&br&例如说,一个程序假如有a.c、b.c和c.c三个源文件,分别编译然后打包成一个“东西”,那么中间步骤就会有a.obj、b.obj和c.obj三个目标文件,可以配置为打包成:&br&&ul&&li&一个静态链接用的静态库文件(static library,.lib文件),这基本上就是把三个.obj文件打包在了一起而已&/li&&li&一个动态链接库(.dll)以及对应的一个导入库文件(import library,同样是.lib文件)&/li&&li&一个可执行文件(.exe)&/li&&/ul&题主要导出静态链接用的符号不用做啥特别的事,但要导出动态链接用的符号的话,在源码里函数声明处要加上&a href=&///?target=https%3A///en-us/library/a90k134d.aspx& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&__declspec(dllexport)&i class=&icon-external&&&/i&&/a&,或者是&a href=&///?target=https%3A///en-us/library/d91k01sh.aspx& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&用.def文件来指定导出符号&i class=&icon-external&&&/i&&/a&。&br&&br&这里,静态库文件与动态链接库文件可能比较好理解,其包含的符号信息肯定要能满足静态/动态链接器对导入/导出信息的需要。但是配合动态链接库的那个“导入库文件”又是啥?&br&&br&其实一个“导入库文件”也是一个静态库文件,它包含的桩代码(stub)会通过IAT(Import Address Table)调用位于DLL文件里的实际实现,而它包含的符号信息正好对应于配套的DLL文件。&br&例如说,一个C写的程序通过MSVC工具链编译与链接,要与MSVC的CRT(例如msvcrt90.dll)动态链接的话,可以在静态链接时与配套的import library(例如msvcrt90.lib)链接起来,这样得到的链接后代码就有足够符号信息和stub代码去在运行时正确调用动态链接库的函数。&br&&br&以上这种在静态链接时使用import library的做法,在MSDN的文档上叫做implicit linking,又名load-time dynamic linking。&br&相对应的,还有explicit linking,又名run-time dynamic linking。这种用法不需要使用import library,而是调用方自己显式调用LoadLibrary()加载DLL文件,然后用GetProcAddress()找到对应名字的函数的地址并对其调用,最后用完调用FreeLibrary()去释放DLL文件。&br&请参考文档:&a href=&///?target=https%3A///en-us/library/9yd93633.aspx& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Linking an Executable to a DLL&i class=&icon-external&&&/i&&/a&&br&&br&要是想弄load-time dynamic linking但是又不想依赖import library的话,其实在程序里 &a href=&///?target=https%3A///en-us/library/8fskxacy.aspx& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&__declspec(dllimport)&i class=&icon-external&&&/i&&/a& 也是可以的。事实上这样生成的代码还略微快一些(少了一次stub跳转)。
理解的重点就在于“符号表”(symbol table)。之前回答过一个略微相关的问题,那个问题主要关注的是符号表对局部变量的体现,而题主这个问题关注的是符号表在函数层面的体现。举个例子:C语言…
最好问清楚是那种语言。不同语言处理Try Catch的机制不一样,所以也会有不同回答。&br&比如C++,是不推荐用try catch的,它推荐使用Windows API那种HResult来返回错误情况,原因是try catch会在已有的代码上面增加额外的cost, 这个额外的cost不是说只有throw exception的时候才会有,而是在try catch block里面的每一行代码中都会有,这也是为什么他不建议你使用try catch最主要的原因。在Windows的源代码中,是没有任何try catch的,全部用HResult来处理。&br&比如C#, try catch是建议使用的,C#设计的时候吸取的C++ try catch的教训,所以直接用Try catch包裹已有代码增加的cost可以忽略不计,但是如果真的在代码运行过程中throw exception了,这个cost还是很大的。所以,在C#代码设计中,throw exception基本上是你认为不会发生这种意外的情况下,否则,如果是常见错误,最好不要throw exception。&br&比如Java, try catch也是建议使用的,我这个用的不熟,不过看它的说明,即使是throw exception的时候的cost也很小。&br&总结说来,try catch是否建议使用要看具体语言,最重要衡量的标准就是它对已有的代码性能有多大的影响。但是从它设计的角度就是为了处理一些意料不到的情况,但是因为当初引入的时候各种各样的原因,导致有些语言为了性能,不推荐使用。&br&BTW,
try catch最好不要catch (Exception), 这样会吃掉不该吃的问题,比如C#中的StackOverflowException, OutOfMemoryException, NullReferenceException etc. 该crash的时候就应该让App crash, restart, 这也是保护你service的一个好方法。
最好问清楚是那种语言。不同语言处理Try Catch的机制不一样,所以也会有不同回答。比如C++,是不推荐用try catch的,它推荐使用Windows API那种HResult来返回错误情况,原因是try catch会在已有的代码上面增加额外的cost, 这个额外的cost不是说只有throw ex…
这方面我有个原创方法&a href=&///?target=http%3A//www.klayge.org//%25E8%25B6%%25B6%258Alean-mapping/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&超越LEAN Mapping&i class=&icon-external&&&/i&&/a&,写完之后才发现Wild West里也有个同样的方法&a href=&///?target=http%3A////specular-showdown/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Specular Showdown in the Wild West&i class=&icon-external&&&/i&&/a&
这方面我有个原创方法,写完之后才发现Wild West里也有个同样的方法
1. 没有,D3D并不提供画圆,只有画三角形这样最基本的primitive。&br&2. 理想状况下,上层应该负责把圆转成三角形的表达,交给D3D。“底层函数输出的是什么样的返回值”,这句话真看不懂。到底是输出还是返回值。&br&3. user mode driver和极少数kernel mode。&br&4. &br&&img data-rawheight=&266& data-rawwidth=&446& src=&/84bd431c4dcdc05fb4bae5bc2ebb3d6d_b.png& class=&origin_image zh-lightbox-thumb& width=&446& data-original=&/84bd431c4dcdc05fb4bae5bc2ebb3d6d_r.png&&5. 不是数千CPU,是数千执行单元。翻译由驱动完成。&br&6. 看显卡架构,有软件调度有硬件调度。&br&7. 每个进程地址空间是独立的。&br&8. 每帧重刷。&br&9. 取决于游戏引擎怎么写。&br&&br&但是,最终我仍会告诉你,知道这些对你来说没用。
1. 没有,D3D并不提供画圆,只有画三角形这样最基本的primitive。2. 理想状况下,上层应该负责把圆转成三角形的表达,交给D3D。“底层函数输出的是什么样的返回值”,这句话真看不懂。到底是输出还是返回值。3. user mode driver和极少数kernel mode。4. 5.…
&img src=&/8facadf310c7e55d92c6c_b.png& data-rawwidth=&446& data-rawheight=&266& class=&origin_image zh-lightbox-thumb& width=&446& data-original=&/8facadf310c7e55d92c6c_r.png&&&br&&a href=&///?target=https%3A///en-us/library/windows/hardware/ffv%3Dvs.85%29.aspx& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Windows Display Driver Model (WDDM) Architecture (Windows Drivers)&i class=&icon-external&&&/i&&/a&&br&&br&&blockquote&Display miniport dirver:&br&&p&A device type-specific kernel-mode driver, usually implemented as a dynamic-link library, that &u&provides an interface between a port driver and the system's hardware.&/u& Windows operating systems define the architecture of the following kinds of miniport drivers:&/p&&ol&&li&An HBA-specific driver, linked against the system-supplied SCSI port driver, that drives one or more SCSI buses, or a mass-storage device driver that uses the NT SCSI port driver as its interface to the system.&/li&&li&&b&A video-adapter-specific driver, linked against the system-supplied video port driver, that supports a corresponding display driver.&/b&&/li&&li&A network-adapter-specific driver, linked against the system-supplied NDIS library.&/li&&/ol&&/blockquote&
Display miniport dirver:A device type-specific kernel-mode driver, usually implemented as a dynamic-link library, that provides an interface between a port driver and the …
谢邀。&br&&br&其实高并发经验是考验一个程序员或者说是考验架构师功底和能力的时刻.&br&&br&这里高并发只探讨网站。&br&&br&为了高并发,要学习所有的,完整的前后端技术,才能做好高并发,否则你砸钱买解决方案吧,你面试总不能说我会砸钱吧 &,&&br&&br&如何获得,这个问题太细节了,我也只是基于我以前的工作经验总结一番。。。。或者说只是粗浅的概括。&br&&br&前端概括:&br&&br&首先,前端的所有脚本,资源包括图片,通信时HTTP协议传输的内容,以及你对POST GET的把握,和网页间的跳转频率要有个清楚的认识。&br&比如为什么切图要切在一张上面?为什么图片要清晰和小巧的?怎么压缩内容? 如何知道哪些JS的通信通知了后台?JS通信异步和同步的选择?&br&对前端的总总情况把握的越好,对网站并发侧重的重灾区就越了解。因为前端最能看出病灶,但是病灶并不直接发生在前端,因为前段程序员忙的那些JS和CSS的技术和并发的关系实在不那么的大,可能前端技术中90%都和浏览器和客户端本身的素质有关。&br&除了我上面提到的资源压缩,假如在前端所有的一切都已经做到很好的时候,有效的缓存那些服务端的累赘资源,减轻服务端压力,于后端服务器的消息通信就成了TOP 1的问题。&br&&br&中间语言概括(比如.NET和JAVA写的那些东西):&br&你不得不承认,再牛X的技术,到目前还只是个缓存和负载均衡,只是放在的位置不同而已。负载均衡就是一个分成多个,缓存就是复杂高并发逻辑下数据存放的频率和有效性以及可靠性之间的权衡。这里的方案最多,能说的也最多,负载均衡可以根据好的算法进行服务器之间的最优选择,这里一部分是钱的问题,而另一部分是远见的问题。因为负载均衡和缓存的搭配也比较头疼,所以此时缓存就要考虑范围问题,因为跨服务器缓存的方案开销过于庞大,所以单服务器缓存方案就对数据的范围可控性上做了严苛的要求。 我们在这里抛开业务层代码不管的情况下,单是缓存方案就有很多种。&br&&br&多线程技术和数据锁的概括。&br&一个好的高并发网站对于多线程技术的运用,几乎是决定方案成败的关键。每次看到微软开了一个类,上面总要写,这是线程安全的,和另一种无法提供有效的线程安全。这些在多线程编程的时候尤为重要,多线程编程的思路很多,建议如果是初学的话,多看看显卡和CPU方面的设计方法找灵感,因为在这两种硬件编程里,把多线程技术用的如火纯青,别老盯着现在的代码看了,有时候其他产品的设计方案可以借鉴和运用,纵然你在这个项目中的设计的再牛,框架再好也逃不过性能这把大刀。多开阔眼界是必要的,这里我的经验还在不停的补充中。举个例子吧,多线程有很多思路,比如线程等待后可以直接转接到结果上从而跳出中间处理的环节来节约时间,因为某些线程只为等一个结果,而结果刚刚算好在内存中,参数相同的情况下,变量一直,结果也一致,你要考虑时间性,有些随着时间是不一致的,这里就有点缓存的意思了,但是这里使用的是多线程编程的基本概念,JIT也是有这个原理在里面,你也可以用到你的业务中去! 思考非常重要,这种对代码的要求很高,这时候对数据锁,查看数据有效性,编排数据集合,等等一系列,总之因人而异吧。 每个人在这里的思路都是不一样的。&br&&br&数据库。&br&你不得不说,一个网站不得不等待数据库返回结果,而这里是最头疼的。拿我最熟悉的SQL SERVER来说,如何设计表? 用来简化中间层的逻辑?聚集索引怎么设计,怎么做索引覆盖从而达到只扫描索引就能拿到数据的目的,以及每次查询的逻辑读,物理读,表分区,文件组。RAID的选择。数据库事务的设计。这些的这些不是一两年就能有经验的。&br&&br&最后谈谈测试。&br&在设计系统的时候,必要的LOG设计是非常重要的。它能为还在测试阶段的产品打下良好的基础,微软有LOAD TEST但是要配置Controller和agent,而且并发KEY价格不菲。做LOAD TEST是有必要的,拿目前比较流行的MVC来说,微软可以提供兼容上下文的Page load test来完成一整个生命周期的CALL,所有的CALL C层都会有详细的记录,并且可以逐渐累加,对性能测试是尤为有好处的,当然其他语言也有类似的工具。&br&&br&虽然我是90后,但是我用了10年的时间去理解以上的东西。希望能对你有点帮助。&br&&br&最后希望不要误人子弟,这只是我自己的一些经验。有说错的地方望指正。
谢邀。其实高并发经验是考验一个程序员或者说是考验架构师功底和能力的时刻.这里高并发只探讨网站。为了高并发,要学习所有的,完整的前后端技术,才能做好高并发,否则你砸钱买解决方案吧,你面试总不能说我会砸钱吧 &,&如何获得,这个问题太细节了,我也…
&a href=&///?target=https%3A///timshen91/f6a3f040e5b5b0685b2a& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/timshen&/span&&span class=&invisible&&91/f6a3f040e5b5b0685b2a&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&&br&写了个80行的C++模板版。注意啊,regex的定义包括了concatenation,alternation(“|”),Kleene closure(“*”),还得有一个ε字符(可近似认为“?”),expression还要能嵌套(“(”“)”)。有些例子里缺了alternation和嵌套那就不该叫regex了。&br&&br&之所以这么短是因为压根没有parsing,parsing多无聊啊。直接构造regex的AST,根本不去打NFA的主意。想加什么功能就直接加type就行了。&br&&br&这个是compile time regex,所以跑起来是raw speed,很快。你要是要运行时的regex,把那几个模板特化改为一个树状variant结构,在树上走就行了,算法(包括那个continuation的trick)都是一样的。&br&&br&建NFA那套做法是Ken Thompson推出来的“标准”算法,但是就玩玩而已应该从更简单的学起。学一下CPS变换又不会死。&br&&br&另外把程序写短小紧凑的诀窍就是写成FP style。我的80行中所有函数都只有一个return语句。
写了个80行的C++模板版。注意啊,regex的定义包括了concatenation,alternation(“|”),Kleene closure(“*”),还得有一个ε字符(可近似认为“?”),expression还要能嵌套(“(”“)”)。有些例子里缺了alternation和嵌套那就…
题主原本的问题:&br&&blockquote&我想自己用C/C++做一个脚本语言&b&解析器&/b&,但是不知道需要什么知识?&/blockquote&&br&首先,请问题主想写的是“解析器”(parser)还是“解释器”(interpreter)?&br&在编程语言实现的上下文里,“解析”其实通常是指“语法分析”;“解释”才是跟执行代码相关的名词。这俩名词经常被各种混用,是不对的。&br&&br&其次,编译器跟解释器是怎样的关系,我想放这个传送门:&a href=&/question//answer/& class=&internal&&Java为什么解释执行时不直接解释源码? - RednaxelaFX 的回答&/a& 里面我举了个简单的例子讲一个“一般的编译器”的工作流程是如何可以一点点转变为一个“解释器”。可以看到,解释器里许多概念其实还是跟编译器共同的,只是有些事情可以省略不做,或者本来应该在编译器里做的分析留到了运行时由解释器来做而已。具体请跳传送门看。&br&&br&再次,写解释器需要怎样的知识。前面有不少靠谱的答案,题主可以参考它们先练手试试看。&br&像是说写个简易的LISP实现/Scheme实现,很容易上手。这条路子读读&a href=&///?target=https%3A//mitpress.mit.edu/sicp/full-text/book/book.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《Structure and Interpretation
of Computer Programs》&i class=&icon-external&&&/i&&/a&和&a href=&///?target=https%3A//mitpress.mit.edu/books/little-schemer& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《The Little Schemer》&i class=&icon-external&&&/i&&/a&作为辅助都挺好。&br&如果想实现个类似C的语法的命令式语言的解释器,那可以从最基础的地方出发慢慢练习。下面是一个假想的顺序:&br&&ul&&li&简单的四则混合运算计算器,支持加减乘除、运算符优先级(乘除优先于加减、括号。例如可以运算 &12+3*5-6& 这样的表达式,不用考虑空格之类的问题。&/li&&ul&&li&此时需要的知识非常简单:知道如何使用数据结构的“栈”就可以了。用两个栈就可以求出这样表达式的值,一个用来放操作数,一个用来放运算符;这种算法叫做&a href=&///?target=https%3A//en.wikipedia.org/wiki/Shunting-yard_algorithm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Shunting-yard algorithm&i class=&icon-external&&&/i&&/a&。“词法分析”“语法分析”之类的概念都可以先不用管——尽管这个概念中实际上已经做了词法和语法分析,但还很简单,不用特别学什么。&/li&&/ul&&li&在上述基础上扩展,更好的支持“词法分析”的概念,例如允许空格的出现&/li&&li&继续扩展,添加变量、赋值的支持。此时可以解释执行像是:&div class=&highlight&&&pre&&code class=&language-c&&&span class=&n&&a&/span& &span class=&o&&=&/span& &span class=&mi&&1&/span& &span class=&o&&+&/span& &span class=&mi&&2&/span&&span class=&p&&;&/span&
&span class=&n&&b&/span& &span class=&o&&=&/span& &span class=&n&&a&/span& &span class=&o&&+&/span& &span class=&mi&&3&/span& &span class=&o&&*&/span& &span class=&mi&&4&/span&&span class=&p&&;&/span&
&/code&&/pre&&/div&的代码。此时就需要添加两种支持:&/li&&ul&&li&更正式的语法分析:要能切分出赋值语句,然后里面的混合运算还是跟之前一样处理&/li&&li&变量表:要有一个记录 (变量名 -& 值) 的表&/li&&/ul&&li&继续扩展,添加控制流语句,例如 if-else 语句。事情从这里开始就好玩了:之前的步骤里,所有代码都会按顺序被执行;而一旦添加了控制流语句的支持,输入的程序里就可能会有一些被条件执行,这要如何处理就有许多发挥空间了,例如说要不要引入抽象语法树(AST)。&/li&&li&续集扩展,支持循环语句。&/li&&li&续集扩展,支持函数的声明与调用。&/li&&/ul&做完上面步骤之后,一个初具雏形的解释器就出来了。&br&&br&正巧,近来 &a data-hash=&c373fb94fdb7ec4c3a2b35a& href=&///people/c373fb94fdb7ec4c3a2b35a& class=&member_mention& data-editable=&true& data-title=&@许式伟& data-tip=&p$b$c373fb94fdb7ec4c3a2b35a&&@许式伟&/a& 做的&a href=&///?target=http%3A///archives/5218& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《一周一语言》&i class=&icon-external&&&/i&&/a&演讲也是以类似的思路演化出一门语言的解释器实现。题主感兴趣也可以参考他的经验。&br&他做的qlang解释器的实现思路我在另一个回答里也提到了一点,有兴趣请读读看:&a href=&/question//answer/& class=&internal&&有哪些关于c4 - C in four function 编译器的文章? - RednaxelaFX 的回答&/a&
题主原本的问题:我想自己用C/C++做一个脚本语言解析器,但是不知道需要什么知识?首先,请问题主想写的是“解析器”(parser)还是“解释器”(interpreter)?在编程语言实现的上下文里,“解析”其实通常是指“语法分析”;“解释”才是跟执行代码相关的…
更新 两年前的答案突然通知上知乎日报,虽然最近很忙,还是更新一下,因为两年前的答案,有些信息已经过时了:&br&&br&1、现在食品的职能也都已经归入食品药品监督管理部门,除了农产品都是食品药品监督管理局管,以前声称有保健功能的食品还存在质监、工商、食药监之间的扯皮,现在通通找食药监就好了。&br&&br&2、国家食药监总局出了一个手机软件,可以在线查询相关信息,包括查询药品等多种信息,像原答案说的,只要有国药准字在里面查不到的,是假药的可能性就很大了&br&&a href=&///?target=http%3A//www./WS01/CL1648/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&国家食品药品监督管理总局&i class=&icon-external&&&/i&&/a&&br&&img src=&/f2ce7a456bacf11f375bd2a_b.jpg& data-rawwidth=&1168& data-rawheight=&639& class=&origin_image zh-lightbox-thumb& width=&1168& data-original=&/f2ce7a456bacf11f375bd2a_r.jpg&&&br&虽然界面很简陋,但是信息还是充分的,如果有需要查对一下心理有底。&br&&br&3、评论中有网友提醒我,药品电子监管码的问题也有了新的改变,根据《食品药品监管总局办公厅关于做好全面实施药品电子监管工作的通知》,2015年年底前实现全部药品制剂品种、生产和流通过程的电子监管,建立覆盖全品种、全过程、可追溯的药品电子监管体系。&br&&br&目前还有大半年,时间紧迫,我对全国能年底完成不乐观,而且就算明年开始生产的全部都赋码,2016年前生产的药品在有效期之内继续可以流通,还有好几年的时间。电子监管码这个手段目前还没被破解,如果在几年之后能实现药品全过程的电子监管,意义非凡!&br&&br&关于评论里网友指出fda应该指的是美国FDA,额,其实就是我对国家食品药品监督管理局的简写,也是一样的 food and drug administration,直译也是一样的,只不过国家局以前叫自己SFDA,后来又改CFDA,不知道为什么。为免混淆,还是改了,叫下文统一改为食药监总局好了。&br&---------------------------------------------------------------------------------------------------------&br&以下是2013年的原答案&br&-----------------------------------------------------------------------------------------------------------&br&对正我专业,补充一下其他答案,希望能有帮助。&br&&br&楼主做的,对判定假药而已,手段其实已经足够了,只是楼主对假药概念不清楚,所以还不能肯定是否假药。&br&--------------------------------------------------------------------------------------------------------------&br&下面是我做的:&br&1. 国家药监局网站查不到该药&br&2. 根据说明书上的联系电话,打过去说问了一下,给了两个信息,都比较矛盾:&br&2.1 他说是辽阳市峨眉医院的,可峨眉医院是个结核病医院,怎么会出糖尿病的药?&br&2.2 他又说是沈阳军区联勤部门诊部的,可是那明明在沈阳,而她的电话是辽阳的。&br&3. 然后我报了辽阳的110,接警MM说这个谁买药,在谁的户籍所在地报警 。。。&br&---------------------------------------------------------------------------------------------------------&br&第一,国药准字在国家药监局的数据已经非常齐全了,查不到就是没有国药准字,从法律上来说,不能认定是假药,还需要走法律程序来确认。但对于消费者来说,马上就可以认定是假药了,要不去投诉举报,要不起码能用脚投票,不去买不去用。&br&&br&投诉举报,流程应该在购买所在地向当地药监局举报,当地药监局按照包装标示的生产厂家发函去调查,自己去调查是没有必要的也是没有法律效力的。警察不懂,也不会管,除非涉及诈骗足以立案调查。&br&&br&当然,也有可能是用保健食品或普通食品(这个要看批准文号)宣传疗效,这个就比较麻烦了,现在食品貌似还没完全归fda管,属于这种情况的话,很容易扯皮,比较难处理,不过这不是消费者的事情,有风险的东西尽量敬而远之就是了。&br&&br&另外,说到医院制剂,医院制剂在国家局网站是查不到的,但要鉴别真假也不难:&br&1、合法的医院制剂包装上也应该有医院制剂的批准文号,没有就是假的。&br&2、医院制剂不能流通在市场上,只能在生产的医院或者经批准可以调剂使用的医院(基本不跨省),按处方配用,随便花钱就能生产医院以外的地方买到的,基本都是假的。&br&&br&&b&药品真假的判定其实是最简单的,食药监总局数据库没有就是假的。&/b&&br&fda这些年做得最对的一件事就是把网址数据库搞好了,现在还和百度等搜索引擎合作,基本上国药准字的药,&b&网页右边都有食药监总局数据库的链接,可以马上查询&/b&。&br&不过百度由于商业推广的关系,很多边缘性健康产品第一页都是软文广告,不懂的容易被误导。&br&楼上所说的丁香园也好,用药助手也好,数据库都不如食药监总局的齐全和更新快,所以直接查fda官网就行。&br&另外楼上也有说什么app可以查电子监管码的,但是没搞清楚,电子监管码目前只覆盖“国家基本药品目录”所包含的品种,大部分药品是没有的,而且提供的信息对于消费者的参考价值不大,对于专业人员还比较好用。&br&&br&&img src=&/d39bd9ccbaf_b.jpg& data-rawwidth=&1291& data-rawheight=&589& class=&origin_image zh-lightbox-thumb& width=&1291& data-original=&/d39bd9ccbaf_r.jpg&&&br&所以,楼主,你做的第一步已经解决了你提的问题,可以认定这个药是假药的可能性很大,最好不用。&br&&br&我帮楼主用百度搜索了一下“愈康降糖胶囊”,有一个信息值得关注的:&br&&img src=&/be4aa7eb0a9cca3c9fa266fdb2420974_b.jpg& data-rawwidth=&690& data-rawheight=&106& class=&origin_image zh-lightbox-thumb& width=&690& data-original=&/be4aa7eb0a9cca3c9fa266fdb2420974_r.jpg&&如果这个信息属实,这产品应该属于军队医院的医院制剂。&br&&br&根据《药品管理法》第一百零五条:“中国人民解放军执行本法的具体办法,由国务院、中央军事委员会依据本法制定。”就是说,军队的药品,是军队管的。&br&&br&按理来说,即使合法的医院制剂,都不能在外面卖,军队的医院制剂更不应该在军队外使用流通。不过既然是军队管的,地方行政部门管不了,军队也不会跑去地方专门管某个药品的使用流通,很多人就钻这个空子造假,天朝人民聪明的太聪明,轻信的又太轻信,打着军队医院制剂的照片,还是有一定号召力的,想着真的有点无语。&br&&br&另外说点题外话,降糖类健康产品,非法添加特别特别多,胆子大敢加重料的,即时效果就好,顾客口口相传也就可以想见,劣币驱逐良币。。。&br&&br&&b&目前也没立竿见影让假药通通去死的,唯一可以就是治病只吃药(国药准字),吃药一定上食药监总局数据库查,查不到别用---这就是最快确定假药的方法。。&/b&
更新 两年前的答案突然通知上知乎日报,虽然最近很忙,还是更新一下,因为两年前的答案,有些信息已经过时了:1、现在食品的职能也都已经归入食品药品监督管理部门,除了农产品都是食品药品监督管理局管,以前声称有保健功能的食品还存在质监、工…
谢谢邀请,这个问题,我很愿意认真回答。&br&先说我自己,在设计院里,主要从事的就是信息化建设方向的事情,偶尔画图。&br&在设计院信息化建设的过程中,一共出现了四次比较大的动作,这四次也是我们评价设计院信息化建设的标准。当然我个人接触的范围有限,仅以北京、上海、深圳的国内顶级设计院作为数据参考,为了让更多的人理解,我尽量减少术语,做平实浅显的描述。&br&&br&&u&第一阶段:&/u&&br&
首先是IT架构,这个事情应该是在本世纪初的前五年,现在已经可以看作是IT规划中的基础部分。&br&
大概包括组织架构建设、域管控、IT资产管理、局域网建设、VPN、FTP等内容,对于用户,就是共享盘、内部通讯、邮件系统等等。这些内容其实不局限于某个行业,世界范围内,绝大多数知名企业,都必然要完成的部分。&br&&em&&strong&基于这部分的完成,实现了文件集中管理和区域内区域间的文件共享。&/strong&&/em&&br&&br&&br&&u&第二阶段:&/u&&br&
接着是网页管理工具,这个事情发生在04-10年阶段,对于后期参与进来的公司,他们将IT架构和网页管理工具合并来做了&br&
主要是门户网站、OA网站、运营管理系统(ERP)。&br&
做完这些以后,&em&&strong&基本实现了数据的交互和管理,&/strong&&/em&不再传输文件,而是传输文件原本要传输的数据。&br&
这些内容因为基于网页性质,本质上是一些管理行为,对生产内容的过程与成果资料,并没有涉及。&br&&br&&u&第三阶段:&/u&&br&
因为需求对生产过程和成果的质量的有效管控工具,接下来大家又来做生产管理平台,这个事情应该从08年开始算起,一直算到至今,为什么算到至今,不是还有一个阶段么,因为行业发展的状况,设计院有很多自己的想法,对于平台的建设有自己的意愿,也因为它关联生产比较紧密,所以并不能很快被贯彻的和接受,现在一线城市顶级设计院之间的差距,往往就在于此。有人坚持,有人放弃,有人在建设,有人在观望。&br&
主要是协同平台、云传输、虚拟桌面、档案管理、出版中心等。&br&
做完这部分,&strong&&em&实现的是对生产过程的管控,更为方便的异地协作,更灵活的调配资源,更好用工具&/em&&/strong&。&br&
在此有人会问,和外国设计机构相似,我们不是还有个设计院自己做辅助工具的阶段么?&br&
有,但是这个阶段在国内并不明显,早期是有一些设计机构在做自己的辅助工具,但国内因为大量专业设计软件的出现,这个阶段刚一起步,就没有后劲儿了。&br&
还有人问,知识管理怎么算,我们设计院有方案知识库,图库等等。&br&
这部分内容一直没有一个代表性的状态,知识库、图库等早期是以共享文件存在的,但因为这种方式维护成本高,渐渐没落了,后来又以平台客户端、网页的形式又兴起一波,但因为行业的流动性太大,这个内容大家又都想保密,为了保密使用又诸多不便,而且知识库、图库一直是一个运维成本很高的东西,都知道好,但都做不深。知识库只有做到行业级别才能体现价值,例如知网、设计标准规范在线网站、在线图集库等,靠企业单独去维护,有些付出大于产出了。&br&&br&第四阶段:&br&
这个阶段真的只能说是在探索,因为没有很好的实践性很突出的例子,但方向和技术路线已经基本明确了,就是资源优化。&br&
资源优化从几个方面来说:&br&
①人力资源的优化,大家都愿意往互联网+上靠,就是搞网络分包、众包,当我有小的设计任务,或者我作为设计总包管控设计过程时,我可以将我的一些工作通过网络发布给一般信用对象,或者将一些重要工作分给较高信用对象,在这个状态下,我如何管控他们的过程和质量,我们都知道设计不是一个今天给了明确目标,下周就能准确交付内容的,设计周期再短也要月余,甚者年余、多年,这之间为了形成良好沟通,为了可以监管,为了可以中间对节点进行审核,为了方便修改,还要考虑和项目参与方的交流,业主、施工、专业顾问等,这些都需要有一个良好的平台来实现,而这个平台对功能的要求,是淘宝、猪八戒网等不能比拟的,专业化的内容是比较多的,简单相加来说是协同工作平台+项目管理平台+运营管理平台+行业信用平台的总和,在此不继续展开了。&br&&br&
②成果流转的优化,这个也可以说是互联网+,但并不如上一个那么典型,就是我们常说的无纸化校审、报审、出版、交付,俗称蓝转白。设计机构将最终的交付成果,脱离纸质的流转开来,需要自身在线校审,在线外审,在线报审,报审完发布到网络,电子内容归档。在整个工作流程中,注重审阅的记录和问题管理,注重版本的更迭影响,注重文件唯一性,注重参与人的认证,还有成果的公信力等。这部分内容的起点在设计院,过程点在政府部门,终点也在政府部门,所以这个事情的关键在于谁来 搭建这个平台,谁来对平台提要求,需要设计院站在行业的角度看问题。&br&&br&
③数据提取,往大了说就是大数据,行业现在缺少数据,不是我们没有这个资源数据,而是之前太多的资源数据并不适合整合,在设计过程中,我们普遍交付的PDF和DWG里,并不便于我们提取数据,而项目管控的平台和协同工作平台,提取的数据有限且不能深入设计,目前我们认为最方便我们提取数据的方式,是BIM。&br&
在我之前的回答里,我反复强调过,BIM的核心是数据管理,只抓住可视化、三维这些点,BIM不是BIM,那是VDC(Virtual Design and Construction ),BIM中I是核心,BIM平台的核心除了轻量化显示之外,要能在外部管理模型信息,这样才能方便我们提取,借这些数据,可以做的事情就很多了,智慧园区、智慧城市等等。&br&&br&其他内容,慢慢补充。&br&----------------------先说一下我想说的一个重点----------------------&br&互联网+与建筑,不是一个APP满足了某个需求。建筑行业的信息化建设中,最有发展动力和发展意识的是设计机构,而我们观察下来,这四个阶段并不适合跨越式的发展,所以设计机构涉及互联网+,还是脚踏实地稳扎稳打为好,业主、施工虽然也有很大的信息化诉求,但目前做的好的,也是一步步稳定走过来的。&br&&br&互联网+于建筑设计院、于一个设计师,真的不是一个APP的故事。
谢谢邀请,这个问题,我很愿意认真回答。先说我自己,在设计院里,主要从事的就是信息化建设方向的事情,偶尔画图。在设计院信息化建设的过程中,一共出现了四次比较大的动作,这四次也是我们评价设计院信息化建设的标准。当然我个人接触的范围有限,仅以北…
&p&这几个API处于不同层面。分层比较就一目了然了。&/p&&br&&p&QPainter是上层API,仍需要调用底层的D3D/OpenGL甚至可能是GDI+/GDI来完成渲染,从行为上看也可以通过D2D实现。&/p&&br&&p&D2D也是上层API,需要调用D3D作为底层。&/p&&br&&p&D3D、OpenGL、OpenGLES是可以使用硬件加速的底层API,用它们的话要做更多工作,但定制性更强。&/p&&br&&p&GDI+/GDI是软件渲染的底层API,在现在的架构上最多就有Blt是带硬件加速的。&/p&
这几个API处于不同层面。分层比较就一目了然了。QPainter是上层API,仍需要调用底层的D3D/OpenGL甚至可能是GDI+/GDI来完成渲染,从行为上看也可以通过D2D实现。D2D也是上层API,需要调用D3D作为底层。D3D、OpenGL、OpenGLES是可以使用硬件加速的底层API,用…
已有帐号?
无法登录?
社交帐号登录
162 人关注
2593 人关注
8888 个回答
828 人关注
238 个回答}

我要回帖

更多关于 visible属性 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信