愿浮萍乘风破浪
函数式编程常用术语 函数式编程作为一种编程范式在近年来逐渐流行,通过将计算机运算视为数学函数来避免状态和变量的概念。Lambda演算是函数式编程中的基础,函数式程序以表达式为主体,强调无状态和不可变性。常见术语包括高阶函数、柯里化、惰性求值等,这些术语在C#中得到了解释和应用。函数式编程的优点在于改善程序模块化程度,但缺点在于无法处理现实世界中的状态变化等问题。函数式编程应当视为一种编程思想的选择,而不是取代面向对象编程。函数式编程可能会作为面向对象编程的延伸和补充存在。
基于 Mono 和 VSCode 打造轻量级跨平台 IDE 最近微软推出了 Visual Studio For Mac,展示了微软技术栈向开源和跨平台发展的努力。文章介绍了在Linux下使用Mono和VSCode构建轻量级IDE的过程,展示了在VSCode中编译和调试代码的步骤。由于Mono-Debug插件不支持Windows平台,作者转向Linux平台,并成功在VSCode中运行C#程序。文章强调了在不同平台的探索中不设限,展望了未来研究VSCode调试技巧和.NETCore相关内容的计划。
在 Kindle 上阅读 Markdown 文档 在信息爆炸的时代,个人知识管理显得尤为重要。本文以作者个人知识管理的实践为例,分享了如何使用 Kindle、Markdown 和笔记应用等工具进行知识管理,以提高阅读和写作效率。作者首先强调了在碎片化信息中筛选和集中精力的重要性,随后介绍了 Markdown 作为一种高效写作工具的优势,并通过示例解释了 Markdown 的基本语法。接着,作者分享了从有道云笔记过渡到为知笔记的经历,并探讨了如何将 Markdown 文档转换为 Kindle 可读格式的方法。文章最后指出,个人知识管理的形式并不重要,关键在于建立意识并有效梳理知识体系。
生命的朝圣者 《一个人的朝圣》讲述了哈罗德·弗莱这个平凡而沉默寡言的退休老人,在收到老友奎妮患癌症的消息后,决定徒步穿越英格兰去见她,希望通过这个行动给予她生存的力量。这场旅程不仅是对奎妮的朝圣,更是哈罗德自我救赎的过程。在旅途中,他遇到了很多人,学会了分享和倾听,开始接受自己的不完美,找回内心的善良和温情。哈罗德的妻子莫琳也在这个过程中学会了理解和接纳,最终两人和解。哈罗德的朝圣之旅成为了一个关于自我发现、爱情和生命意义的旅程,激励着读者勇敢面对生活,追求内心的真实。
基于 C# 中的 Trace 实现一个简单的日志系统 在项目中,重点工作转向实现具体业务逻辑,强调保证逻辑代码正确性和容错性,以及发现需求文档中的隐性需求和逻辑缺陷与用户需求息息相关。作者表达对用户需求细节缺失的不满,认为应建立平等伙伴关系,避免被限制自由。此外,作者探讨技术发展与个人情感,担忧技术更新与用户习惯脱节,对自身要求完美,同时对人际关系和技术发展持怀疑态度。最后,介绍了基于C#中Trace类实现简单日志系统的步骤及设计思路,强调了程序员对待问题的态度和编程的趣味性。
当黑客遇见画家 《黑客与画家》是 Paul Graham 的作品,书中不仅讨论了黑客与画家的关系,还涉及了编程、软件、创业、财富、设计和研究等多个领域。作者认为,理解计算机背后的人是理解计算机的关键,强调了程序员在现代社会中的主导作用,并将黑客视为数字时代的艺术家。书中还探讨了编程的艺术性,鼓励人们以设计而非实现软件的思路来寻找编程的乐趣。作者提倡一丝不苟的工作态度,以创作者的身份进行编程,认为这会使程序员的工作更受尊重。此外,书中还讨论了社会对程序员的误解,以及计算机与人类发展的关系。
像诗人一样睿智,像天才一样疯狂 在这篇文本中,作者探讨了程序员与艺术家的相似之处,强调程序员应当视代码为艺术品,追求代码的优雅与创造力。同时,提到了天才与普通人的区别、疯狂与创新的关系,以及对天才如图灵的理解和孤独感。文章还涉及了对生活、激情和不断探索的呼吁,以及在《模仿游戏》中描绘的图灵的故事,强调了对天才的理解和尊重。整体而言,文章探讨了热情、创新和执着对于成就和留下印记的重要性。
你了解爱的艺术吗? 这篇文章探讨了作者对爱情、自我认知和人际关系的思考,引用了弗洛姆的《爱的艺术》来探讨爱的本质和重要性。弗洛姆认为爱是人类解决孤独感的方式,强调了爱的自由和包容。文章还提及了人与人之间的沟通和理解,以及对自我和他人的尊重和爱的重要性。弗洛姆的观点涵盖了个人内省、自我成长和真正理解爱的意义。整体而言,文章呼吁人们学会爱自己、理解他人,并通过爱去改善自己和他人的生活,体现了对人际关系和爱情的深入思考。
一个关于概率的问题的思考
一个关于概率的问题的思考 近期,作者在开发一个随机生成人员名单的工具时,思考了概率问题,特别是在活动中考虑到不同人员英语水平和优先级的公平性。通过设计概率算法和累积概率函数,作者提出了一个用于抽奖系统的设计方案,支持不同类型奖品和抽取方式。通过代码实现和示例展示,作者强调了在项目开发中应关注代码的扩展性和可维护性,以避免后期需求变更带来的困扰。整体内容涵盖了概率问题思考、设计方案实现和开发心得体会。
一见钟情,无疾而终 这篇文章讲述了作者对一位女性同事的喜欢和纠结之情。作者在女同事离职时感到内心平静,却深陷于自卑和无法表达的困境中。他描述了自己在喜欢她过程中的笨拙和纠结,以及对感情的困惑和痛苦。文章中描绘了作者作为双子座男生的内心矛盾和分裂,以及对未来的迷茫和自卑。最终,作者表达了对于爱情的理解,提倡真诚胜过套路,并表达了对未来的期许和努力。
浅析 WPF 中 MVVM 模式下命令与委托的关系 文章介绍了MVVM 模式及其与 MVC、MVP 的关系,并探讨了 WPF 中 MVVM 模式的实现和命令与委托的关系。作者通过比较 MVC、MVP和MVVM 的架构,指出了它们在分离视图和模型方面的不同。特别提到了 WPF 中 MVVM 模式的双向绑定特性,并通过 RelayCommand 的例子解释了命令和委托的实现。文章还讨论了设计和编程分离的重要性,并指出了 WPF 中 XAML 的缺点。最后,作者反思了 MVVM 模式的正确使用方法,并提倡不应被框架和架构束缚,而应以设计出更棒的软件产品为目标。
在 Unity3D 中使用 uGUI 实现 3D 旋转特效 本文介绍了在 Unity3D 中使用 uGUI 实现 3D 滚动视图效果的方法,通过伪 3D 技术,采用椭圆参数方程计算精灵位置,实现视觉上的3D效果。文章首先分析了需求,提出了两种实现思路:真实的 3D 制作和伪 3D 制作,并选择了后者。接着,详细阐述了基于椭圆的伪 3D 效果的核心原理,包括精灵位置和深度的计算,以及如何设置精灵的层级以营造立体感。文章还提供了具体的实现步骤和代码示例,包括初始化精灵数组、设置精灵位置和深度的代码,以及实现向前和向后翻页的功能。最后,作者提到了文章中未实现的功能,如滚动的平滑性和支持鼠标或触屏操作,以及为精灵设置不同的缩放比例以增强3D感,并鼓励读者自行探索和实现这些功能。
Unity3D 游戏开发之在 uGUI 中使用不规则精灵制作按钮 在这篇博客中,作者讨论了在 Unity 引擎中制作不规则按钮的方法。通过对基于多边形碰撞器和精灵像素检测两种方案的比较和研究,解决了基于多边形碰撞器的问题,并剖析了基于精灵像素检测的内部原理。作者指出精灵像素检测方法易用性更好,但存在对图片类型的限制和像素可读写要求,可能影响执行效率。技术性上作者更推崇基于多边形碰撞器的方法,因为学到了新知识并能解决实际问题,尽管在寻找算法方面耗费精力。文章深入探讨了这两种方法的优缺点,展示了对不规则按钮制作的实际操作和测试。
使用 C#开发 HTTP 服务器系列之实现 Get 和 Post 本文介绍了如何在自己的 Web 服务器上实现 GET 和 POST 请求。GET 请求通过 URL 传递参数,而 POST 请求则将参数放在消息体中,相比 GET 请求更安全且无参数长度限制。实现过程包括解析请求报文中的参数,针对不同请求类型做相应处理。提供了代码示例展示如何在服务器端处理 GET 和 POST 请求,以及在 Unity 客户端使用 WWW 类发送 GET 和 POST 请求。最后展示了一个简单实例并给出了运行结果。