Software architecture, software engineering, and Renaissance Jazz

软件架构基本概念 软件架构(software architecture) 学习笔记,内容来自网络,橙色为自己总结,如有错误还请指正。 目录 软件架构(software architecture) 一、架构的定义 二、软件架构定义 三、架构的种类 逻辑架构:软件系统中元件之间的关系,比如用户界面,数据库,外部系统接口、商业逻辑元件等 物理架构:软件元件是怎样放到硬件上的 系统架构:系统的非功能性特征,如可扩展性、强壮性、灵活性、可靠性、性能等 四、架构的表现形式----4+1视图 逻辑视图(Logic V 阅读详情
Grady is an IBM Fellow who has served as architect and architectural mentor for numerous complex software-intensive systems around the world in just about every domain imaginable. Grady is the author of six best-selling books and has published several hundred articles on software engineering, including papers published in the early '80s that originated the term and practice of object-oriented design. At random times, the laws of physics do not apply to him. He is not dead yet.

Microsoft and Domain Specific Languages
posted by Grady Booch on 2004 Dec. 03 09:33 PM
Permalink

The past couple of months, Microsoft has unleashed a torrent of words detailing their marketecture for software factories. Alan Brown and Simon Johnston of IBM Rational have previously and very ably commented on this work, but Steve Cook of Microsoft has drawn me into the fray in his blog, so I feel compelled to reply: Steve wrote "I hope Grady Booch reads this"; well, I did :-).

I know many of the folks involved in Microsoft's software factory effort, and I very much respect what they are trying to do. We have differences of opinion, as you'll see in this blog, but it's good to watch Microsoft putting some energy into improving the development experience. As I've said many times here and elsewhere, software development has been, is, and will remain fundamentally hard, and whatever can be done to improve the profession of developing software is a Good Thing.

That being said, I'm disappointed that Microsoft choose the term "software factory," because it's an emotionally-laden phrase that harkens to extremely mature manufacturing methods that focus on stamping out endless copies of the same thing, although perhaps with slight variants therein. There's no doubt that reuse at the level of design patterns or, even better, vertically-oriented architectural patterns is a Good Thing, but what Microsoft is proposing to do is not exactly like the manufacturing metaphor, and so their use of the term is a bit misleading (although Steve has curiously used the image of a conveyor belt when describing the Microsoft factory process). Tom Demarco in his book Why Does Software Cost So Much? sets aside a chapter on software factories in which he notes - and I agree with him - that "I think factory methods for software are dead wrong, witless, and counter-effective. Organizations that build good software know that software is an R&D activity, not a production activity. Organizations that try to make it into a production activity produce bad software (though potentially lots of it)."

At OOPSLA, Rick Rishad of Microsoft publically spoke of their strategy (in a somewhat controversial way, as reported by Spencer F. Katt, which was a bit surprising given the typically-frictionless Microsoft marketing machine). That strategy was subsequently reviewed in ADT Magazine. While I agree with much of that article, they too fell into the pit of taking the software factory term a bit too literally. Perhaps the best source of Microsoft's deep thinking in this space, in addition to their site, is the book by Jack Greenfield and others, titled Software Factories: Assembling Applications with Patterns, Models, and Tools. Therein you'll see Microsoft's emphasis upon resuable assets and tooling to support them.

To that end, there's considerable common ground between IBM and Microsoft's approaches to the problem: we both agree that resuable components, as manifest both in code as well as in patterns, are the right next stage in cutting the Gordian knot of software. Indeed, IBM's been in the pattern space for sometime, starting with many of the authors of the seminal book Design Patterns to the current work led by Grant Larsen and as manifest in the open standard we pioneered through the Object Management Group, the Reusable Asset Specification.

However, we do disagree with Microsoft's rejection of the UML in favor of proprietary domain-specific languages, as noted not only in Jack's book but also in Alan Will's blog. To be clear, as Jim Rumbaugh has commented back to me, our observation - and that of our customers - is that the UML has proven itself useful much of the time, yet there are a few purposes for which it may be less appropriate. In many cases, the semantics of the UML are pretty close to what you need, although they are deeper than necessary; in such cases, a suitable UML profile is sufficient to focus the language, which allows you to leverage standard UML tools and training and yet eliminate the bloat. In those cases where the business concepts are more naturally expressed in a specialized syntax, then inventing a suitable DSL is reasonable. At the extreme, this is essentially the path that Charles Simonyi has been trodding for some years, a path that requires a very very deep and integrated underlying semantic model. Indeed, as I've pointed out in one of my earlier blogs, the root problem is not simply making one set of stakeholders more expressive, but rather weaving their work into that of all the other stakeholders. This requires common semantics for common tooling and training, so even if you start with a set of pure DSLs, you'll most often end up covering the same semantic ground as the UML.

Will's blog had a number of errors of fact, which Bran Selic has pointed out to me and so which I'll paraphrase here. Alan wrote "So here's why we don't want to limit ourselves to the UML as a basis for our users' domain-specific language" and then went on to say:

"A careful look at the specialization mechanisms for UML reveals their limitations. Stereotypes and tagged values allow you to change icons etc, although even simple alterations like decorating a box to show the state of some property isn't within range. You can't change the semantic constraints, or invent new sorts of diagram or new categories of element." This is incorrect: a stereotype allows you to define a set of associated constraints (in OCL, for example) that can capture the characteristics of your domain-specific context. While it is true that you cannot violate the semantics of the metaclass that you have stereotyped, this is actually an advantage of the stereotypeing mechanism. A stereotype is a type-compatible specialization of an existing UML concept. Consequently, you can reuse standard UML tools and expertise even though you are using a domain-specific language. Of course, if you want a language that is incompatible with UML, that is OK as well (specifically, you can define it using MOF), but you will be losing some of those benefits.

"You can't take stuff away, so your users are always distracted by other options and elements and diagrams that aren't relevant to your language. Tools that use a UML editor as a front-end have to have a (very annoying) validation step before they generate their DB schema or whatever it is." Also incorrect: as Jim noted above, a UML profile can remove any metaclasses it chooses.

"UML only includes certain types of graphical format. If you want your language to include tree-structured diagrams, or tables, or math formulae, or block-structured text, or prose, or if you want hyperlinks - well, I think you'd have a hard time. While our initial offering won't include all those styles, we'd certainly like to support them at some stage in the future." Actually, the current UML spec really does not restrict graphical formats in any way -- it simply provides a standard set of notations, but not at the exclusion of other notations. In other words, there really is no "illegal" UML graphical syntax. The formal definition of a UML graphical syntax is an outstanding item before the OMG. While this is not good, it also means that Alan's criticisms about its graphical restrictions are misguided - and Microsoft too acknowledges that these different graphical representations are a future desire for them, not a present reality.

"An important aspect of the definition of a modern language includes how you interact with it: how you navigate and elide or elaborate and edit etc - think of your favorite GUI composing tool, in which the GUI-defining language is scarcely separable from its editor. You can't do anything about these aspects in UML." We agree - but this has nothing to do with the UML but rather is all about the tool environment. IBM's tooling approach is to build upon the open standard of Eclipse, not a proprietary IDE.

"What you get out the back of one of our tools says things like CheckinDesk and ConveyorBelt. What you get out the back of a UML tool says things like Class and Stereotype - much more difficult to read. (Yes, of course you could write translators, but it's an extra layer of hassle.)" This is also incorrect: using the UML, at the model level you get back stereotypes called CheckinDesk and ConveyorBelt. At any rate, why would anyone want to look at things at the XMI or metamodel level? XML is not really for human consumption, and ultimately, MDD is all about raising the level of abstraction for the developer.

"You have to understand all of UML (stereotypes etc) before you can create your language on top of it." Not true: you just need to know the subset that you are specializing (mostly it has to do with things such as classes and associations which is what most profiles specialize). Of course, if you want to specialize state machines, you need to know the metamodel. But, if you don't care about state machines, you can ignore them safely.

"Your users have to understand an editor that's intended for something far more complex than they probably have in hand - or at least whose complexities are in a different direction." Again, this is a issue that confuses tooling with language definition.

I hope that Steve and Alan read this :-)

  Comments

Mr. Booch, one of your points is:


I'm disappointed that Microsoft choose the term "software factory," because it's an emotionally-laden phrase that harkens to extremely mature manufacturing methods that focus on stamping out endless copies of the same thing, although perhaps with slight variants therein.... Tom Demarco in his book Why Does Software Cost So Much? sets aside a chapter on software factories in which he notes - and I agree with him - that "I think factory methods for software are dead wrong, witless, and counter-effective. Organizations that build good software know that software is an R&D activity, not a production activity. Organizations that try to make it into a production activity produce bad software (though potentially lots of it).


This argument contends that all apects of building systems is creative to the point that software factories cannot accomodate the level of variance between systems. This argument is fundamentally flawed, as evidenced by the prevalence of established design patterns.

I would argue that companies building good software actually want to take creativity out of the development process when it comes to components for which mature design patterns exist. In other words, the building blocks should come from software factories and be assembled in a creative way to solve the problem at hand. Only the truly unique components should be hand-crafted.

At MAKE Technologies we currently implement this methodology -- we call it Standards Based Automation (SBA) -- presenting DSL models graphically in UML where appropriate or using other visual representations. From the models we can then generate code that conforms to industry-standard design patterns.

The key success behind DSLs is the ease with which people can create them evolve them and implement solutions based on DSL modeling. To my knowledge, successful heavyweight MDA extensions through MOF are non-existant. I can think of dozens of examples of successful DSL implementations. The problem here is that MOF is too complicated.

posted by dgreen on 2004 Dec. 15 11:27 AM

To produce a software a factory-like stile we need two things which made contemporary engineering posssible: 1) a draft-like language which presents software in a way that makes it easy to validate it; 2) a system of measurement or validation which allows QA person to say immediately that this module passed or failed. These are ABCs of mass production be it a mechanical device or electonic one. Unfortunately software either did not come to this phase of maturity or, whatis more probable, it is a totally different animal. As to UML, though I have more than 10 years of experience, I am not deeply impressed. Programmers mostly do not need it because there are simpler way to excahnge ideas. As to high-level folks most whom I met are not very technical and thus totally confused by UML. So the task as I formulated it is a definite challenge. We, designers and programmers should either come up with a language similar to drafts in engineering and simple way of module validation against "software draft" or to obtain deeper understanding why it does not work for software problems and figure out what works.

posted by Leon on 2004 Dec. 13 05:53 PM

Dear Blogger,

I totally agree with Grady, but only if he talks about UML 2 (the new flavor of UML). UML version 2 is offering great more than before and especially a modular and semantically well defined core.

I do not see any inconvenient of using UML 2.0 as a strong basis for building DSL.

In my opinion, the main problem is that people continue to think that UML is just a digramming language (I call it the "Visio" view).

You can design a UML profile to describe enterprise architecture with UML 2.0 and it is very easy and staighforward (if you have a clear idea of what you want!). You can also use pattern and transformation at the model and metamodel level. So you have all the feature needed for customizing UML in the way you want.

Tools are now ready to support UML 2.0, so please before making yourself an idea, try UML 2.0, build your profile, create some patterns and see the result.

So why so much noise around DSL? For building DSL, you will have to design your model and then use it (run time phase). Microsoft will offer a complete suite for building DSL (you can try the beta now!), and will also offer some pre-defined dialects for usage in its tools. I see Microsoft DSL vision more as a "configuration language" building set (see the Microsoft Dynamic System Intitative at http://www.microsoft.com/windowsserversystem/dsi/default.mspx).

Finally, as you see, both camps propose the model driven based approach, but with a clear difference on the process and tools/language to use. You can adopt it using a strategic unified approach (UML language and may be MDA) or a tactical approach (proprietary DSL, proprietary DSL with UML documentation, DSL generated from UML).

posted by billyBoy on 2004 Dec. 13 04:52 AM

From my experience, using uml to document high level software architecture may not be always optimal. The business users who look at the component diagrams/package diagrams find it difficult to identify the logical flows. Using basic block diagrams with arrows for flows seems to be a better way to provide high level architecture to non technical business users. UML Profiles will further bloat UML. For instance, there are many profiles for modelling web applications. which profile to use is confusing.

posted by evijay on 2004 Dec. 11 12:04 AM

"XML is not really for human consumption, and ultimately, MDD is all about raising the level of abstraction for the developer"

Looking at the above quote by Grady and points made by Bob Wilmes, the difference in opinion appears to boil down to "economic relativity".

What I mean is that if you know UML and you are a developer, then using UML represents an economy of effort for the developer.

If you are a Vertical Industry "Subject Matter Expert", or just an "average Joe" who has spent 10-20 years in a business, then UML is a foreign and confusing language. In this case, having a DSL is key to providing "economy of effort".

If proven, patterned, well-architected code can be generated from the DSL -what practical value does UML then provide?

posted by mgunter on 2004 Dec. 10 05:30 PM

As a user of UML, I feel that, just as with any other language or tool, UML has its range of applicability. UML is well suited for identifying and visualizing the structure and the collaborations of the components in a system. It is also an invaluable aid in the iterative process of discovering and refining requirements. On the other hand, a UML tool may not be the best suited for modeling UI components, or for creating business rules or even writing math formulae. I don't feel the need to defend the fact that UML does not do all these things well. It is always conceivable that, given enough specialization, a particular tool or mechanism will perform better than others in a given context.


Software is about patterns, and if something doesn't look like a pattern to you, just broaden the context. UML captures patterns. A good software development tool or language (let's not exclude DSLs), like UML, should aid in the discovery, refinement and validation of requirements ('cause if requirements were always complete, accurate, unambiguous and the same for everyone, then maybe we could use software factories). In addition, it should also capture patterns and, in my opinion, those patterns should be expressed as semantically validated models. It would then be possible to automatically transform those models into a particular target technology in a coherent way within the context of our architecture or platform of choice. Only at this point in the software development process can we talk about factory-like productivity gains. It would help of course if all your favorite development tools were to share a common meta-model, even more if they were to share the same technology. The Eclipse Modeling Framework (EMF) is coming very close to making this vision a reality, a reality where there is no exclusion of UML, or anything that may help you develop your application, even DSLs.

posted by jdf on 2004 Dec. 10 03:02 PM

In partial defense of Microsoft, I think the work that they are doing with visual architecture tools, such as the "Whitehorse" technology in the Visual Studio 2005 code is very forward looking. Software systems design and methodologies are inherently addressing economic value derived from information systems. What Microsoft is doing with Domain Specific Languages serves two purposes: First, it addresses a broader spectrum of need than current generation UML tools, by starting a a conceptual architecture level, then moving down through a logical and physical deployment, based on reference architectures. It's the reference architectures which today have higher economic value to an enterprise. Second, DSL's create economic opportunities for ISV's to add value by providing standardized visual components which cannot be seperated from implementation details. This ecosystem drives has the potential to drive more choice and fit for purpose when integrating commercial of the shelf software with customized integration, which is exactly the way most enterprises operate today.

Finally, Microsoft is not alone in realizing that development of software related systems is inherently an economic value judgement for most enterprises. Sun Microsystems certainly promotes a competitive view - see the recent book "Software by Numbers", which expresses this using incremental development using agile techniques.

What the UML tools lack today are the abstraction capabilities. I've heard this described as "the police skecth artist" view of a system architecture. Ideally the tool would allow visual representation of a system to be described in abstractions, while at the same time driving the abstraction down through the logical and physical reference architecture layers, which themselves incorporate standard reference patterns.

posted by bobwilmes on 2004 Dec. 10 11:19 AM

centos7部署mysql8.0.35,主从复制,主主集群 centos7 linux部署mysql,主从复制,主主模式 阅读详情

相关推荐

LaTeX新手入门以及TeXlive和TeXstudio的安装使用

作为一个新手,LaTeX的了解和使用很是费了一番功夫,因此,在这里给找不到路的同志们稍微介绍一下。如有错误,敬请指正。本篇内容基于Win10系统,因此安装在Mac或者Linux上的同学可以再找找其他的介绍文章。 目录 LaTeX介绍 LaTeX环境配置 一、TeXlive下载 二、TeXlive安装 1. 安装main installer 2. 正式安装 三、TeXstudio安装...

zywhehe的博客 21万+

软件体系结构笔记Software Architecture

本文将软件体系结构的主要笔记整理出来,主要用于自己的复习和回顾。部分内容参考:包尔老师的软件课程吧 Chapter1. 软件体系结构介绍 Introduction 软件体系结构 ≈ 软件设计 详细阐述软件工程的设计阶段 1.1 软件发展的历史 汇编语言assemble language - 因为非常复杂,只能写一些非常小的程序,比如汉诺塔 1970 - 汇编->C,即高级程序语言,从C语言开始能写比较大的程序,但没有库函数,很多时候需要从头写。从C语言开始,就有了程序设计的问题,出现了面向结构的设计理

ycsss的博客 2383

MOOS-ivp 实验三 MOOS简介(3)

MOOS-ivp 实验三 MOOS简介(3) 继上一篇文章继续对实验进行记录 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录MOOS-ivp 实验三 MOOS简介(3)六、A Simple Example with pXRelay1.pXRelay基本使用2.pXRelay简单例子3.pXRelay实验七、First Experiments in Modifying MOOS App Code1.下载一个MOOS模板文件2.打开MOOS模板文件总结 六、A Simple E

weixin_44151170的博客 2535

软件架构(software architecture)

软件架构(software architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口_(计算机科学)来实现。 软件体系结构是构建

每天积累一点,一年后你会发现,自己变化很大 4744

学习笔记之——Event Camera(事件相机)调研

概述 Event Camera是一种bio-inspired sensor,对应的领域为bio-inspired vision。对于传统的相机,从某种程度上,是捕获一个静态/静止的空间,而Event Camera的目的是:敏感地捕捉运动的物体。 对于传统RGB-camera,相机传回的信息是同步的,所谓同步,就是在某一时刻t,相机会进行曝光,把这一时刻所有的像素填在一个矩阵里回传,一张照片就诞生了。一张照片上所有的像素都对应着同一时刻。至于视频,不过是很多帧的图片,相邻图片间的时间间隔...

gwpscut的博客 3万+

QUIC 协议域名封堵:核心原理、关键技术与实现路径(C/C++代码实现)

随着 QUIC 协议在互联网领域的广泛应用,其基于 UDP 的传输特性与加密设计,打破了传统 TCP 协议下的域名封堵逻辑,给网络合规管理与安全防护带来新的技术难题。本文将脱离具体代码实现,聚焦 QUIC 协议域名封堵的核心原理、关键技术环节与实际落地路径,从协议特性本质出发,解析如何在遵循 RFC 9000、RFC 9001 等规范的前提下,实现对 QUIC 流量的精准域名封堵。

chen1415886044的博客 1469

常见的企业架构图

技术企业架构图:揭示企业技术基础设施的蓝图 业务流程架构图:优化企业运营的关键 数据架构图:如何管理和分析企业数据 应用架构图:构建企业级应用的指南 企业架构图的演变:从传统到现代的转变 云计算与企业架构图:如何有效利用云资源 企业架构图与数字化转型:共同迈向未来 安全性在企业架构图中的作用:保护企业免受威胁 企业架构图与业务战略:如何实现目标 企业架构图的五个核心组成部分:构建稳健企业

杨海吉 808

统信UOS V20 安装mysql5.7.42详细教程

到bin/下,执行下面的命令,初始化mysql服务信息,得到数据库的初始密码,实际如果目录不一样记得换成自己的目录。下载后通过远程将安装包上传至服务器,我这里将安装包上传至/usr/local/mysql 下。ps:这时候如果还是不能远程访问的话,可能是防火墙的原因,命令行执行以下命令即可。再次登录,发现缺少 libtinfo.so.5文件,再次建立软连接。登录,发现报错,提示缺少libncurses.so.5文件,使用。创建 /var/lib/ 下mysql目录。登录成功,修改密码,设置远程访问。

为谁伫立在风中 1万+

系统架构图怎么画_科普小知识——系统架构图

什么是系统架构图呢?当你需要设计一个系统时,你就会明白,系统架构图其实就当于是一个框架,用来展示你的系统,以及流程、流向、流转等标注,让懂或不懂开发的人员通过图例可以明白系统的整个架构。当然,如果要正确的、合理的画系统架构图需要全面的理解用户需求以及业务流程。 而系统架构只是一个统称,它实际上包括逻辑架构图、部署架构图、运行架构图、网络架构图,再加上一个数据架构图,称为架构5视图或4+1视图5视图...

weixin_39717598的博客 1万+

中国石油招标投标网 — 中标候选人爬虫技术分析

复制真实浏览器的 TLS 握手参数(密码套件顺序、TLS 扩展、ALPN 等),绕过基于 JA3/JA3S 指纹的服务端检测。所有 API 请求体使用 RSA-1024 公钥加密,响应体使用私钥解密,HTTP body 全程为密文。库使用 urllib3 的默认 TLS 握手参数,与真实浏览器差异明显,易被 JA3 指纹检测工具识别。密钥隐藏在 CSS 文件中,这是一种隐蔽分发技术,防止简单的密钥抓取。切换次数越多,等待时间越长,最大 60 秒,避免被代理 API 限流。为空,也返回包含基础信息的空行。

猫敷雪 287

AI安全护栏评测:TrustedExecBench如何量化评估大模型防护能力

在人工智能和机器学习领域,模型安全对齐是确保AI系统可靠、可控的核心技术。其原理是通过设计安全机制(即“护栏”)来约束模型行为,防止生成有害、偏见或越界内容。这项技术的核心价值在于平衡AI能力与风险管控,是可信AI部署的基石。应用场景广泛覆盖内容审核、对话系统、代码生成等需要人机交互的领域。本文聚焦的TrustedExecBench项目,正是针对“护栏”性能量化评估这一痛点,提供了一个标准化、自动化的开源评测框架。该工具通过构建多维度的恶意测试套件,并引入基于模型的动态评判机制,能够系统性地检验大语言模型在

weixin_42525428的博客 379

工具及方法 - 在线流程图描画

工具及方法 - 在线流程图描画

guoqx的专栏 591

IEC 61400-1:2019 中的 Vref ——从分类基准到极端风模型的应用

IEC 61400-1:2019 中的 Vref ——从分类基准到极端风模型的应用

weixin_46713695的博客 1290

【架构设计】架构学习笔记--如何画好架构图(一)

如何画好架构图? 先摸清一些基础概念 1、什么是架构? 是对系统中的实体以及实体之间的关系所进⾏的抽象描述,是结构和愿景的一种体现。 做了架构,就需要让⼲系⼈理解、遵循相关决策 2.什么是架构图? 是为了抽象地表⽰软件系统的整体轮廓和各个组件之间的相互关系和约束边界 软件系统的物理部署和软件系统的 演进⽅向的一种方便干系人理解的图形化展现方式 3、架构图的作⽤ 解决沟通障碍 达成共识 减少歧义 明确系统系统组件调用关系 ...

Mr X Blog 1089

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

为什么说我们需要软件架构图?

关键要点\n\n\n通过创建和维护架构图来提供准确且有价值的内容并非易事。大多数情况下,我们要么创建了太多的文档,要么太少,或者不相关,因为我们没能准确地定位文档的受益人及其实际的需求。\n\n\n我们常犯的最大的一个错误是为系统中具有高波动性的部分创建详细的架构图。除非是自动生成的,否则手动维护它们对我们来说就是一种负担。\n\n\n在实践中,大多数利益相关者对详细架构图不感兴趣,但会对一两个反...

nostrud ipsum6 609

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

微软技术日报 11-09:.NET 8 与 9 明日同时停止支持,注册表编辑器出了 WinUI 3 版

今天这四条消息的共同点是收口。.NET 8 和 9 的支持期到点,注册表编辑器的新界面只放在仓库里给人看,GitHub 把一类危险触发器按住默认,微软在安全报告里把防线从地址黑名单挪到行为。收口并不等于关门。.NET 10 还在支持期里,被按住的触发器可以用策略按文件放回来,实验室里的样例随时可能变成产品。区别在于这些动作要有人签字,不再是默认开着。如果今天只做一件事,去看一眼构建机上的 .NET 版本。明天之后,8 和 9 的漏洞补丁不会再来了。

海盗Sharp的博客 398

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

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

AI驱动数据处理的安全边界:行业现状、风险权衡与本地化实践路径

本文基于第三方数据,分析AI用于数据处理的安全议题。大模型应用加速普及,但伴随数据出境、影子AI、幻觉与成本失控等风险。行业共识指向“脚本复用”路径:将分析逻辑本地化固化,实现数据可控、结果可复现、成本可降。产品如数以轻舟提供本地处理、多模型接入与一次付费永久使用方案。建议企业从数据落点、可控性、可复现性与合规性四维度评估选型,推动AI在安全边界内释放价值。

数据矿工-数据化运营博客 334

微软技术周报 11-02~11-09:VS Code 混装 Claude 与 Codex、EF Core 11 静默改行为、.NET 11 倒计时

11 月 6 日,Power Platform 通过消息中心通知管理员,Copilot Studio、Power Automate 和 Power Apps 里所有跑在 Anthropic Claude、xAI Grok 以及旧版 GPT 上的 prompt,12 月 2 日自动迁移到 GPT-6 系列,档位价格不变,模型选择收窄到一条产品线。效果是这样的:让 Claude 评审一个 Copilot chat 写出的方案,或者把同样的任务交给 Codex,两边并排跑在同一个会话里。更要紧的是下周的时间线。

海盗Sharp的博客 1021

微软技术日报 11-08:Foundry 与 Entra 各挂一个 10.0 分漏洞,Foundry 接 fal 五款视频模型

这一周的动作可以分成两类。一类在收。Copilot 从电视上退场,搜索里的 AI 改成可选,云端漏洞只发通知不收补丁。共同点是承认铺得太开,代价比预期高。另一类在放。Foundry 一次摆上五个视频模型,容器版应用网关一个入口挂 64 个 MCP 服务器。共同点是把能力做成可组合的积木,让使用者按需挑。两个方向背后是同一个判断。把能力塞到每一个界面上,短期看覆盖率高,长期要解释为什么删不掉。新的做法是先给一个能关的开关,再谈覆盖。对每天写代码的人来说,今天有两样现成的东西可以试。

海盗Sharp的博客 443

MAI-Cyber-1 深度解析:微软首个网络安全专用模型

微软没有去做"更大的安全大模型",而是用一颗 137B 总参、仅 5B 激活的稀疏 MoE 专用模型,配上 90/10 的"小模型铺量、大模型兜底"路由,在 CyberGym 基准上拿到 95.95% 的同时把成本砍掉一半——这标志着 AI 安全从"通用模型加提示词"进入了"专用模型加系统工程"的时代。

Simple_Pure的博客 338

微软技术日报 2026-11-14:Aion Instruct 接替 Phi Silica、1% 投毒与 SCKit 蠕虫

微软在 11 月 13 日公布了 Windows 本地语言模型的换代计划,Phi Silica 交棒给 Aion Instruct。同一周里,微软安全团队连发两项研究,证明训练环节掺进极少量数据就能让编码智能体执行攻击者的命令;微软威胁情报则拆解了一个借 ScreenConnect 反向打技术员的蠕虫工具包。Azure 这边,ARM 的 MCP 服务器从只读扩到了可写。下面按技术线逐条展开。

海盗Sharp的博客 311

微软输入法标点乱跳解决方案

微软拼音输入法常因“中文输入时使用英文标点”开关被意外开启,导致标点自动切换为英文且快捷键失效。本文提供一键批处理脚本,通过修改注册表(HKCU\Software\Microsoft\InputMethod\Settings\CHS)强制锁定中文标点,覆盖多个相关键值,确保设置持久生效。相比手动操作,该方案可抵御更新、同步等导致的配置重置,提升稳定性。执行后需重启输入法或系统以使更改生效,建议提前备份注册表。

谙弆悕博士的技术博客! 373

微软2026年11月补丁星期二解析:1094个 CVE、Outlook 零日 CVE-2026-124194 与修复优先级

微软11月补丁星期二修复1094个 CVE,唯一在野利用的 Outlook 零日 CVE-2026-124194 只评为“中等”,修复随 Office 更新下发、不在 Windows 累积更新里。本文整理漏洞分布、严重级漏洞分类处置与三档修复优先级。

SplashtopLoki的博客 250

【第 008 讲】在终端中运行 Python 程序:交互模式与脚本模式 | 绝对路径与相对路径 | 以模块方式运行 | 常见报错的识别与排查

本文系统讲解在终端中运行 Python 程序的方式:从交互模式与脚本模式讲起,梳理绝对路径与相对路径的运行写法及 cd、dir 等命令的用法;进而讲解以模块方式运行的特点与字节码缓存的产生;最后通过路径、拼写、标点三类典型报错,帮助读者掌握读懂报错、定位并修复错误的排查思路。

大模型全栈工程师 · Thanks_ks 923

情感交互机器人融资,四川具身科技的「爱湫」登场

当前人形机器人的主流战场是工业、仓储、巡检这些「干活」的场景,而「爱湫」把重心放在了「陪伴」上——通过面部投影和情绪识别,让机器人和人之间多一层情感层面的交互。情感交互机器人的市场,其实一直存在,只是过去被「能干活」的主流叙事盖住了。它主推的产品「爱湫」,是一款主打情感交互的人形机器人,搭载 3D 投影面部技术,情感交互机器人的逻辑,是面向养老陪伴、文旅服务、展厅导览这类「不要求重体力、但要求互动感」的场景。真正的考验不在发布会,而在它能不能在真实的养老和陪伴场景里,被用户用起来、留下来。

jushenAGI的博客 301

微软 365 全球掉线复盘,Purview 数据治理退役,C++ 动态调试转正

把今天这几条放在一起,会看到一个共同的题目,系统的自动判断出错时,人还能不能兜住。故障那条是自动判断误判。健康检查本来的职责是把坏机器摘出去,这次它把还能用的机器也摘了,剩下的机器承接双倍压力,再被摘掉,容量一路缩减。微软的补救方向很说明问题,一边验证一套替代的健康检查方式,一边准备自动检测并重启无响应服务器的机制,等于在原来的判断链路上加第二道保险。脚本那条是校验从宽容变严格。旧文件在宽松的校验下一直能用,规则一收紧,一批历史遗留的编码问题同时浮出水面,而表象是「签名没了」。

海盗Sharp的博客 308
上一篇: 文章标题 北美首家Linux零售店开张 致力销售开源软件
下一篇: 创业流程
csdnloading
博客等级 码龄11年 0粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值