在 Kindle 上阅读 Markdown 文档 在信息爆炸的时代,个人知识管理显得尤为重要。本文以作者个人知识管理的实践为例,分享了如何使用 Kindle、Markdown 和笔记应用等工具进行知识管理,以提高阅读和写作效率。作者首先强调了在碎片化信息中筛选和集中精力的重要性,随后介绍了 Markdown 作为一种高效写作工具的优势,并通过示例解释了 Markdown 的基本语法。接着,作者分享了从有道云笔记过渡到为知笔记的经历,并探讨了如何将 Markdown 文档转换为 Kindle 可读格式的方法。文章最后指出,个人知识管理的形式并不重要,关键在于建立意识并有效梳理知识体系。
基于 C# 中的 Trace 实现一个简单的日志系统 在项目中,重点工作转向实现具体业务逻辑,强调保证逻辑代码正确性和容错性,以及发现需求文档中的隐性需求和逻辑缺陷与用户需求息息相关。作者表达对用户需求细节缺失的不满,认为应建立平等伙伴关系,避免被限制自由。此外,作者探讨技术发展与个人情感,担忧技术更新与用户习惯脱节,对自身要求完美,同时对人际关系和技术发展持怀疑态度。最后,介绍了基于C#中Trace类实现简单日志系统的步骤及设计思路,强调了程序员对待问题的态度和编程的趣味性。
一个关于概率的问题的思考
一个关于概率的问题的思考 近期,作者在开发一个随机生成人员名单的工具时,思考了概率问题,特别是在活动中考虑到不同人员英语水平和优先级的公平性。通过设计概率算法和累积概率函数,作者提出了一个用于抽奖系统的设计方案,支持不同类型奖品和抽取方式。通过代码实现和示例展示,作者强调了在项目开发中应关注代码的扩展性和可维护性,以避免后期需求变更带来的困扰。整体内容涵盖了概率问题思考、设计方案实现和开发心得体会。
浅析 WPF 中 MVVM 模式下命令与委托的关系 文章介绍了MVVM 模式及其与 MVC、MVP 的关系,并探讨了 WPF 中 MVVM 模式的实现和命令与委托的关系。作者通过比较 MVC、MVP和MVVM 的架构,指出了它们在分离视图和模型方面的不同。特别提到了 WPF 中 MVVM 模式的双向绑定特性,并通过 RelayCommand 的例子解释了命令和委托的实现。文章还讨论了设计和编程分离的重要性,并指出了 WPF 中 XAML 的缺点。最后,作者反思了 MVVM 模式的正确使用方法,并提倡不应被框架和架构束缚,而应以设计出更棒的软件产品为目标。
使用 C#开发 HTTP 服务器系列之实现 Get 和 Post 本文介绍了如何在自己的 Web 服务器上实现 GET 和 POST 请求。GET 请求通过 URL 传递参数,而 POST 请求则将参数放在消息体中,相比 GET 请求更安全且无参数长度限制。实现过程包括解析请求报文中的参数,针对不同请求类型做相应处理。提供了代码示例展示如何在服务器端处理 GET 和 POST 请求,以及在 Unity 客户端使用 WWW 类发送 GET 和 POST 请求。最后展示了一个简单实例并给出了运行结果。
使用 C#开发 HTTP 服务器系列之更简单的实现方式 秦元培在博客中分享了关于HTTP服务器开发的系列文章,强调了从头开始构建Web服务器的乐趣和重要性,提到了HTTP协议的基本原理和无状态特性,以及如何利用TcpListener/TcpClient和HttpListener实现HTTP服务器的两种不同方法。他指出了在设计HTTP服务器时需要考虑保持状态的问题,并介绍了Cookie的应用。最后表示这些内容只是开发HTTP服务器的延伸,鼓励读者进一步探索。
使用 C#开发 HTTP 服务器系列之静态页面 在这篇博客中,作者介绍了如何实现一个简单的可交互的 Web 服务器,以及如何在基础上为服务器增加主页支持。作者详细讨论了主页的定义和服务器如何判断请求的页面是否为主页,展示了根据不同请求返回主页或错误页面的逻辑。进一步,作者说明了服务器需要正确指明资源类型,在加载页面时会发起多个请求报文,强调了正确构造 Content-Type 字段的重要性。最后,作者展示了静态 Web 服务器的编写成果,并演示了在本地设置服务器目录后的效果。整体内容涵盖了主页逻辑、请求处理、资源类型判断等关键概念和实现步骤。
使用C#开发HTTP服务器系列之构建RESTful API 秦元培在博客中介绍了RESTful API的概念和原则,指出REST是一种基于网络的设计风格,旨在正确使用Web标准。他对WebService、SOAP、WSDL等概念进行了讨论,强调REST是一种统一的Web API设计风格。文章还提到了如何构建REST风格的API,包括URL结构、API版本管理、使用名词而非动词等最佳实践。最后,秦元培表示虽然他的服务器目前只支持GET和POST,要实现完整的RESTful API需要更多探索,但鼓励大家关注他的项目[HttpServer](https://github.com/qinyuanpei/HttpServer)。
使用 C# 开发 HTTP 服务器系列之 Hello World 秦元培在博客中介绍到,他将开始撰写关于 HTTP 服务器开发的系列文章,强调了 Web 技术的重要性,将使用 C# 展示如何开发一个基本的 HTTP 服务器。他解释了 HTTP 协议的基本概念和发展历程,包括请求报文、响应报文和常见请求方法。此外,他讨论了 Socket 和 HTTP 之间的关联,并展示了如何设计和实现一个简单的 HTTP 服务器,包括处理 GET 和 POST 请求以及构建响应报文。最后,他展示了一个 Hello World 的示例,并强调了简单、轻量的设计原则。整体内容涵盖了HTTP服务器开发的基本概念和实现步骤。
扫描二维码在移动设备上浏览响应式页面
使用 Mono 打造轻量级的.NET 程序运行时 本文介绍了如何通过 Mono 实现 .NET 程序的跨平台运行,并探讨了搭建轻量级的 .NET 运行时的可能性。首先,文章讨论了 .NET 版本兼容问题,提出了通过应用程序配置文件中的supportedRuntime 节点来指定应用程序兼容的 .NET Framework 版本。随后,文章介绍了 Mono 运行时的搭建,包括必要的组件和目录结构,以及如何使用命令行或 Mono Embedding 方案来运行 .NET 程序。文中还提供了一个使用 C++ 模拟命令行执行 Mono 运行时的示例代码,并讨论了如何避免命令行窗口弹出的问题。最后,文章总结了使用 Mono 实现轻量级 .NET 运行环境的优势和存在的问题,以及可能的解决方案。
使用 Mono 让.NET 程序跨平台运行 Unity3D引擎以其跨平台能力备受开发者青睐,跨平台开发对程序员而言至关重要。从Mono到Xamarin,介绍了.NET跨平台的原理和实现方式。探讨了Mono在实现.NET跨平台方面的作用,以及如何将.NET程序移植到Linux平台。讨论了.NET程序脱离.NET框架运行的可能性,重点在于解决基础类库的依赖问题。最后总结了跨平台开发的重要性和挑战,强调了编写跨平台代码的必要性。
C# 中的扩展方法学习总结 本文总结了 C# 中的扩展方法的概念和特点。扩展方法是为类提供的一种不改变源代码的方式。通过静态类和静态方法实现,需要使用 this 关键字指明要扩展的类。作者提到了编写和使用扩展方法的示例,并讨论了使用扩展方法的利弊,强调了遵守就近原则以避免代码 “污染” 。文章总结了实现扩展方法的关键要点和注意事项。
在 Windows 下使用 Visual Studio 编译 Lua 5.3 文章介绍了如何自行编译 Lua 5.3 版本,首先阐述了 Lua 的三个组成部分:链接库、解释器和编译器。接着,作者分步骤讲述了如何使用 Visual Studio 编译 Lua 链接库、解释器和编译器,并提供了编译过程中的具体操作和注意事项。作者还展示了一个简单的 Lua 程序示例及其运行结果。最后,提到了使用 Lua 编译器时需要在环境变量中添加路径,并提供了相关链接。
C# 中 Socket 通信编程的异步实现 本文探讨了在 C# 中基于 Socket 的异步通信编程实现方法,通过异步过程来提高效率。介绍了服务端和客户端的基本流程,包括创建套接字、连接、收发消息等操作。通过回调函数实现异步通信,展示了异步编程的逻辑性和效果。作者提到了异步编程相对于同步编程的优势,但也面临多客户端异步编程实现的挑战。最后讨论了异步方法调用的两种写法,建议使用更简洁、优雅的第二种写法。