开发工具
使用 Jexus 实现 ASP.NET 在 Linux 平台下的部署
Payne在他的博客中讨论了在Linux平台上部署ASP.NET项目的问题。他介绍了选择使用Jexus来实现ASP.NET在Linux平台的部署的背景和原因,以及Jexus的特点和配置方法。此外,Payne还讨论了如何将工作转移到Docker容器中,并提供了通过Dockerfile构建网站镜像的步骤。最后,他总结了文章的主要内容,并提及了技术选型的复杂性和对Jexus性能等方面的考量,强调了技术决策的多方面影响。
开发工具
使用 SonarCloud 为.NET/.NET Core 项目集成静态检查
本文介绍了如何使用 SonarCloud 对.NET/.NET Core 项目进行静态代码检查。SonarCloud 是 SonarQube 的云版本,支持 .NET Framework 4.6 及以上版本和 .NET Core。文章首先讲解了 SonarCloud 的基本使用,包括创建项目、生成Token、设置项目类型和名称,并提供了如何将 SonarScanner 与 SonarCloud 结合使用进行代码扫描的步骤。接着,文章探讨了 SonarCloud 与 TravisCI 的集成,展示了如何通过 TravisCI 实现自动化的代码质量检测。作者通过配置 TravisCI 的 `.travis.yml` 文件,实现了在 Linux 环境下使用MSBuild、Nuget 和 NUnit 进行 .NET 项目的构建、测试和静态分析。最后,文章对整个流程进行了总结,指出虽然静态分析不能保证代码完全没有问题,但它是一种有益的代码质量管理手段。作者还提到,对于不公开的项目,更推荐使用 Jenkins 与 Sonar 的组合来实现持续集成和静态代码检查。
编程语言
罗马数字与阿拉伯数字的相互转换
文章首先通过一个富有想象力的交易场景,引发出对罗马数字与阿拉伯数字转换的算法问题的讨论。接着,回顾了罗马数字的起源和基本规则,指出罗马数字主要用于计数而非计算,并介绍了罗马数字的四个组合规则。文章详细阐述了如何实现阿拉伯数字到罗马数字的转换,以及如何将罗马数字转换回阿拉伯数字,并提供了相应的代码实现。讨论中提到了罗马数字在表示大数时的局限性,即 “4000” 问题,以及罗马人通过加横线来增值 1000 倍的解决方法。最后,文章探讨了为何历史最终选择了阿拉伯数字而非罗马数字,指出阿拉伯数字的统一和简洁性使其更适合计算和扩展,从而取代了罗马数字成为主流的数字系统。
编程语言
邂逅 AOP:说说 JavaScript 中的修饰器
本文介绍了 JavaScript 中的修饰器(Decorator),它是 ES7 的一个提案,用于在编译时对类及其方法进行修改,以及实现不同类间共享方法。修饰器与 Python 中的装饰器类似,通过 @ 符号使用。文章通过实例讲解了修饰器如何修饰类和方法,并强调了其在 AOP(面向切面编程)中的应用,如日志记录、运行时间统计和登录检查等。尽管修饰器在 JavaScript 中的应用需要借助 Babel 等工具进行转译,但它为代码复用和模块解耦提供了优雅解决方案。作者表达了对 JavaScript 中修饰器功能的期待和对前端工具链的复杂性的无奈,同时提倡简洁编程,并推荐了一些相关参考文章。
生活感悟
一念执着,千山无阻
这篇影评讨论了印度电影《小萝莉的猴神大叔》,故事围绕着一个巴基斯坦小女孩在印度迷路的经历展开,男主角帕夫在印度猴神节上遇到她并决定帮助她回家。影片探讨了宗教矛盾、种姓歧视、印巴冲突等社会议题,突出展示了善良和信念的力量,以及人性和宗教之间的和谐。导演通过角色之间的互动和情节展示了包容、勇气和追求和平的主题,呼吁人们拥有开放的心态和长远的眼光。整体而言,影片以感人的故事情节和深刻的社会思考赢得了观众的喜爱。
编程语言
漫谈应用程序重试策略及其实现
最近在项目联调中面临稳定性、文档维护和部署效率等问题,引发对如何更好地处理事务的思考。文章探讨了在开发过程中保证Web服务稳定性、降低文档维护成本以及提高多环境服务部署效率的挑战。通过一个简单的业务场景和代码演进展示了在面对复杂代码和重试策略时的思考过程。提出了Try-Catch-Redo、Try-Catch-Redo-Retry、Retry-Builder和装饰器/AOP等重试策略,并强调了重试策略核心理念。最后,介绍了一个简单的Retry实现,旨在优雅处理重试问题。文章强调了设计模式的重要性以及对应用程序重试策略的综合考虑。
编程语言
使用 Unity 框架简化应用程序异常处理及日志记录流程
最近在学习一个项目代码,发现项目整体难度中等,涉及完整的前后端流程,发现一些有趣的设计,如采用严谨的错误码、OAuth和JWT实现API资源访问控制以及在JavaScript中使用修饰器特性记录日志等。作者决定通过Unity框架简化应用程序的异常处理和日志记录流程,避免项目中滥用异常处理和重复代码的现象。讨论了Unity框架与AOP,介绍了Unity中的三种拦截器及其应用场景,展示了如何实现LogHandler和ExceptionHandler组件,以及如何使用这些组件。最后,强调了使用AOP机制对项目的影响和依赖注入的重要性。
数据分析
基于新浪微博的男女性择偶观数据分析(下)
这篇文章主要介绍了作者的数据分析过程,从文本分类的技术方法、TF-IDF与朴素贝叶斯的理论,到具体的数据分析包括年龄、性别、身高、地区和星座等方面。通过Python代码实现了对微博中男女性择偶观的分析,包括身高、地域分布、星座分布等,展示了数据可视化结果。文章总结了作者的心路历程和对数据分析的热情,呈现了一次全面而深入的数据探索过程。
生活感悟
行走在消逝中
本文是关于作者对生命、记忆和死亡的深刻思考。文章以霍金逝世的消息为引子,探讨了人们对于名人逝世的集体缅怀现象,以及我们对生活中人和事的遗忘与记忆。作者回忆了乔布斯逝世时自己的感受,以及家族长辈去世带来的对时间的感慨。文章中还提到了《Remember Me》这首歌,以及对人与人之间关系脆弱性的思考,包括亲情、友情和爱情。作者通过游戏《风之旅人》的隐喻,表达了人与人之间相遇和分离的无常。最后,作者反思了人生的意义,以及我们如何在宇宙中留下痕迹。
读书笔记
我是猫,一只特立独行的猫
夏目漱石的《我是猫》是一本以猫的视角叙述的小说,探讨了人类社会和知识分子的心理状态。通过猫的观察,揭示了人类的荒谬与困境,同时反映了日本文化中对猫的神圣地位。小说深刻刻画了人类与猫之间的关系,探讨了人类的自负和矛盾。作者以独特的视角呈现了对现实世界的讽刺和同情,探讨了人类的欲望和困境。通过猫的观察,小说揭示了人类社会的种种荒谬和无奈。
独立博客
基于 Travis CI 实现 Hexo 在 Github 和 Coding 的同步部署
Payne在博客中分享了如何通过Travis CI实现Hexo在Github和Coding的同步部署,介绍了Coding Pages作为备份镜像的重要性,以及使用Token授权Travis CI向Coding推送内容的方法。探讨了三种思路解决同步部署的问题,最终通过设置Token并修改.travis.yml文件,成功实现在两个平台的自动化部署。文章提供了详细配置和展示链接,鼓励读者尝试,展示了Coding上的提交历史和博客镜像链接。
数据分析
基于 Python 实现的微信好友数据分析
微信最近更新,允许用户自定义“发现”页面,与此同时朋友圈的复杂性在增加,人们更多设置为“仅展示最近三天的朋友圈”,反映出人们渴望被关注却又担心隐私泄露的矛盾心理。文章通过 Python对微信好友进行数据分析,维度包括性别、头像、签名和位置,并使用了图表和词云展示结果。分析发现,性别比例失衡,男性用户多于女性;头像使用人脸的好友约占四分之一,签名中正面情感占主导,位置分析显示好友主要集中在宁夏和陕西。文章最后指出,数据可视化是手段,重要的是数据背后反映的现象和启示。
独立博客
使用 Python 生成博客目录并自动更新 README
Payne欢迎读者关注他的博客,他介绍了如何利用TravisCI进行持续集成服务,简化博客更新部署流程。他想为博客生成目录并自动更新README文件,以提供良好的文档导航。通过解析hexo-generator-json-content插件生成的content.json文件,他用Python编写了脚本来提取文章信息并生成Markdown文件。最终,他调整了博客更新流程,手动执行Python脚本生成README.md文件,并更新了TravisCI的脚本文件。他讨论了将Python脚本执行过程合并到hexo生成步骤中的可能性,并提出了两种方案,倾向于通过Locals变量生成Markdown文档。最后,他分享了相关脚本的GitHub链接。
生活感悟
愿你和我一样喜欢蛋炒饭
编程语言
基于 Python 实现 Windows 下壁纸切换功能
本文介绍了作者尝试改变博客写作风格的经历,强调了在写作中注重"为什么"而不只是"如何"的重要性。作者通过Python和Windows注册表实现了壁纸切换功能,涉及requests和pyinstaller模块的使用。初衷源于对壁纸的挑剔,通过从Pexels和Unsplash网站抓取图片来解决。详细介绍了代码实现和将功能整合到系统菜单中的过程。最终,通过修改注册表实现了右键菜单中的壁纸切换选项。提及了未来设计扩展的问题和计划。
上页
1
...
10
11
12
13
14
...
19
下页