《Web API 的设计与开发》读书笔记 设计优美的 Web API需要易于使用、便于更改、健壮性好、不怕公开。REST有两层含义,一是符合Fielding的REST架构风格,二是使用符合RPC风格的XML或JSON+HTTP接口的系统。端点的基本设计包括短小便于输入的URI、易读的URI、大小写统一的URI等。HTTP方法包括GET、POST、PUT、DELETE、PATCH。查询参数和路径的使用区别在于唯一资源放在路径中,可忽略参数放在查询参数中。RESTful设计级别包括使用HTTP、引入资源概念、HTTP动词、HATEOAS。指定数据格式可通过查询参数、扩展名或Accept头部字段。用户可通过GraphQL决定响应内容,状态码表示错误信息,缓存需符合HTTP协议规范。API版本控制可以嵌入版本号或查询字符串中加入版本信息,也可通过媒体类型指定版本。API安全需使用HTTPS,避免XSS/XSRF注入漏洞,返回正确数据格式,使用安全相关首部,采用KVS实现访问限制。最后,提供API文档可使用API Blueprint、API Console或Apigee,并提供SDK。
爱情像一场霍乱
我是猫,一只特立独行的猫
我是猫,一只特立独行的猫 夏目漱石的《我是猫》是一本以猫的视角叙述的小说,探讨了人类社会和知识分子的心理状态。通过猫的观察,揭示了人类的荒谬与困境,同时反映了日本文化中对猫的神圣地位。小说深刻刻画了人类与猫之间的关系,探讨了人类的自负和矛盾。作者以独特的视角呈现了对现实世界的讽刺和同情,探讨了人类的欲望和困境。通过猫的观察,小说揭示了人类社会的种种荒谬和无奈。
《C#多线程编程实战》读书笔记 本文是根据《C#多线程编程实战》整理的读书笔记,详细介绍了在.NET中多线程编程相关的知识,包括线程基础、线程同步、使用线程池、任务并行库、并行集合、PLINQ以及异步I/O等内容。涵盖了线程的基本操作、线程同步的方法、使用线程池、任务并行库的使用、并行集合的应用以及异步I/O的实现。文章总结了55条关键的技巧和注意事项,对于想深入学习多线程编程的人来说是一份很好的参考资料。
函数式编程常用术语 函数式编程作为一种编程范式在近年来逐渐流行,通过将计算机运算视为数学函数来避免状态和变量的概念。Lambda演算是函数式编程中的基础,函数式程序以表达式为主体,强调无状态和不可变性。常见术语包括高阶函数、柯里化、惰性求值等,这些术语在C#中得到了解释和应用。函数式编程的优点在于改善程序模块化程度,但缺点在于无法处理现实世界中的状态变化等问题。函数式编程应当视为一种编程思想的选择,而不是取代面向对象编程。函数式编程可能会作为面向对象编程的延伸和补充存在。
生命的朝圣者 《一个人的朝圣》讲述了哈罗德·弗莱这个平凡而沉默寡言的退休老人,在收到老友奎妮患癌症的消息后,决定徒步穿越英格兰去见她,希望通过这个行动给予她生存的力量。这场旅程不仅是对奎妮的朝圣,更是哈罗德自我救赎的过程。在旅途中,他遇到了很多人,学会了分享和倾听,开始接受自己的不完美,找回内心的善良和温情。哈罗德的妻子莫琳也在这个过程中学会了理解和接纳,最终两人和解。哈罗德的朝圣之旅成为了一个关于自我发现、爱情和生命意义的旅程,激励着读者勇敢面对生活,追求内心的真实。
当黑客遇见画家 《黑客与画家》是 Paul Graham 的作品,书中不仅讨论了黑客与画家的关系,还涉及了编程、软件、创业、财富、设计和研究等多个领域。作者认为,理解计算机背后的人是理解计算机的关键,强调了程序员在现代社会中的主导作用,并将黑客视为数字时代的艺术家。书中还探讨了编程的艺术性,鼓励人们以设计而非实现软件的思路来寻找编程的乐趣。作者提倡一丝不苟的工作态度,以创作者的身份进行编程,认为这会使程序员的工作更受尊重。此外,书中还讨论了社会对程序员的误解,以及计算机与人类发展的关系。
像诗人一样睿智,像天才一样疯狂 在这篇文本中,作者探讨了程序员与艺术家的相似之处,强调程序员应当视代码为艺术品,追求代码的优雅与创造力。同时,提到了天才与普通人的区别、疯狂与创新的关系,以及对天才如图灵的理解和孤独感。文章还涉及了对生活、激情和不断探索的呼吁,以及在《模仿游戏》中描绘的图灵的故事,强调了对天才的理解和尊重。整体而言,文章探讨了热情、创新和执着对于成就和留下印记的重要性。
你了解爱的艺术吗? 这篇文章探讨了作者对爱情、自我认知和人际关系的思考,引用了弗洛姆的《爱的艺术》来探讨爱的本质和重要性。弗洛姆认为爱是人类解决孤独感的方式,强调了爱的自由和包容。文章还提及了人与人之间的沟通和理解,以及对自我和他人的尊重和爱的重要性。弗洛姆的观点涵盖了个人内省、自我成长和真正理解爱的意义。整体而言,文章呼吁人们学会爱自己、理解他人,并通过爱去改善自己和他人的生活,体现了对人际关系和爱情的深入思考。
《Cg Programming in Unity》读书笔记 最近开始学习Shader语言,Unity3D中的Shader编写基于Cg语言和HLSL语言,两者相似性较高,具有互通性。Shader编写可参考ShaderLab,是对Cg的封装。Shader结构包括Properties、SubShaders和Fallback部分。其中Properties定义属性,SubShaders包含Pass通道,Fallback处理无法运行的情况。SubShader中使用Tags标签控制渲染,Pass通道设定渲染对象的几何体。渲染设置包括材质、光照、深度测试等设置,纹理设置指定纹理及混合模式。Fallback用于处理不支持Shader的情况。Shader语法主要针对Cg代码,包括CGPROGRAM和ENDCG。Unity3D中有三种着色器类型:固定功能着色器、表面着色器和顶点&片段着色器。
贝塞尔曲线学习笔记 贝塞尔曲线是一种由法国工程师皮埃尔·贝塞尔于 1962 年提出的数学曲线,广泛应用于计算机图形学中。它能够用数学方法描述直线和曲线,最初用于汽车设计,现在常见于图形软件如 Photoshop和 Flash 中。贝塞尔曲线通过四个任意位置的点来绘制光滑的曲线,具有皮筋效应,即随着点的移动,曲线会产生视觉上的变化。曲线可按照阶数扩展,常见的有一度、二度和三度贝塞尔曲线,每种都有相应的数学公式。文章还提供了 Unity3D 中实现二次贝塞尔曲线的代码示例,通过调整参数实时预览曲线变化。
HTML5 游戏开发技术基础整理 随着HTML5标准的确立,HTML5游戏开发逐渐兴起,可跨平台运行,本文基于《HML5 Canvas游戏开发实战》整理了HTML5游戏开发基础,强调了JavaScript中的面向对象编程和Canvas绘图基础,包括属性、方法的实现,继承机制,静态类实现,以及Canvas绘制线、矩形、圆等基本图形,文字、图片绘制,平移、旋转、伸缩操作,以及线性渐变、径向渐变、颜色反转和灰度等高级特效。
互联网黑洞读书笔记(2) 在移动互联网时代中,微信作为弄潮儿,走上平台化道路,各种商业模式探索微信的价值。微信在中国社会加强信任,降低交往成本。互联网的自由精神带来便利,同时与政治互动。互联网文明改变传统,全民制衡对社会有价值。互联网的人文属性体现在不同国家盈利模式差异。张小龙提出关系价值、本土实现和用户数据魔力。大数据时代来临,数据是机会。互联网本质是关系,重视搜索引擎是网络营销核心。
脚本语言编程:Lua 脚本编程入门 Lua是一种轻量级脚本语言,广泛应用于游戏开发等领域。文章介绍了 Lua 的系统构成,包括链接库、编译器和解释器,并详细阐述了 Lua 的语法,如注释、变量、数据类型、逻辑与表达式。Lua 支持六种数据类型:数字、字符串、函数、表、用户数据和空值。Lua 与 C/C++的交互通过 C API 实现,文章给出了一个 C++ 调用 Lua 脚本的示例代码,展示了如何创建 Lua 环境、加载运行脚本、读取变量、调用函数和注册 C++ 函数。
互联网黑洞读书笔记(1) 互联网时代的本质是数据和信息的交换,引发了转向以道德为动力的东方文明体系。互联网行业的属性将逐渐渗透到各行业,强调关系和互动。品牌代表稳定关系,包含实用性、信任度和荣誉感。人文与科技在人类文明中扮演不同角色,前者代表感受与传承,后者追求满足欲望。互联网的核心在于关系,需求驱动着关系建立。互联网思维强调与众不同和与己不同,倡导创新和发展活力。