7 PayneQin

尚未进行身份认证

暂无相关描述

等级
TA的排名 891

在WSL中使用Linux桌面环境的尝试与总结

最近忙里偷闲的博主,再次迷恋上折腾Linux。话说自从微软推出WSL以后,我就彻底地停止了Windows+Linux的双系统组合。回想起从前使用过的各种Linux发行版,基本上每隔一段时间就会崩溃一次,所以,面对WSL这种近乎应用级别的方案,我个人是非常愿意去接受的。因为一不小心玩坏了的话,可以直接对应用程序进行重置,或者重新从应用商店下载,相比重装系统,我觉得这种方式要更友好一点。虽然说W...

2019-08-25 11:22:03

通过ApiExplorer为Swagger提供MVC扩展

我一直想吐槽下运维同事提供的Jekins项目模板,因为它居然不支持含有多个项目的解决方案。作为一个有追求的程序员,每个解决方案下最少应该含有两个项目,即项目本身和项目对应的单元测试。可惜在这样一种情形下,我没法再去坚持这样的原则,而这真正让我感到难过的是,为了在编译环节向Jekins妥协,大家在一个项目里极尽所能,在这一个项目里居然混合了MVC、WebApi和WebService三种技术,甚至到最...

2019-08-25 11:20:53

.NET Core POCOController在动态Web API中的应用

Hi,大家好,我是Payne,欢迎大家关注我的博客,我的博客地址是:https://blog.yuanpei.me。在上一篇文章中,我和大家分享了ASP.NET中动态WebAPI的实现,这种方案的现实意义是,它可以让我们把任意一个接口转换为WebAPI,所以,不单单局限在文章里提到的WCF迁移到WebAPI,任意领域驱动开发(DDD)中的服务层,甚至是更为普遍的传统三层,都可以通过这种方式快...

2019-08-25 11:19:24

长安十二时辰随想

年少时未见长安,难以想象万国来朝的盛唐气象,心中最为仰慕的人物,是那个“好剑术、喜任侠“、二十五岁“仗剑去国、辞亲远游”的李白。人在年少轻狂的时候,容易因为一个人的豪迈不羁,而选择性地模糊一个时代的印象。于是,长安就蓦地变成了李太白大放异彩的舞台。印象里的长安,是一个可以让人吟咏“安能摧眉折腰事权贵,使我不得开心颜”的地方,是一个可以让“贵妃捧墨、力士脱靴”的地方,是一个“绣口一吐,就是半个盛唐”...

2019-08-25 11:17:35

使用ASP.NET Core和Hangfire实现HTTP异步化方案

Hi,大家好,我是Payne,欢迎大家一如既往地关注我的博客。今天这篇博客里的故事背景,来自我工作中的一次业务对接,因为客户方提供的是长达上百行的XML,所以一度让更喜欢使用JSON的博主感到沮丧,我这里不是想讨论XML和JSON彼此的优缺点,而是我不明白AJAX里的X现在基本都被JSON替代了,为什么还有这么多的人坚持使用并友好的XML作为数据的交换协议呢?也许你会说,因为有这样或者那样等等的理...

2019-07-14 23:27:23

通过动态Controller实现从WCF到Web API的迁移.

在《又见AOP之基于RealProxy实现WCF动态代理》这篇文章中,我和大家分享了关于使用动态代理来简化WCF调用过程的相关内容,当时我试图解决的问题是,项目中大量通过T4生成甚至手动编写的“代理方法”。今天,我想和大家分享的是,如何通过动态的Controller来实现从WCF到WebAPI的迁移。为什么会有这个环节呢?因为我们希望把一个老项目逐步迁移到.NETCore上面,在这个过程中首当...

2019-07-14 23:23:05

《Web API 的设计与开发》读书笔记

设计优美的WebAPI:易于使用、便于更改、健壮性好、不怕公开REST的两层含义:指符合Fielding的REST架构风格的Web服务系统指使用符合RPC风格的XML或JSON+HTTP接口的系统(不使用SOAP)端点的基本设计:短小便于输入的URI-人可以读懂的URI没有大小写混用的URI修改方便的URI不暴露服务端架构的URI规则统一的URIHTTP方法和...

2019-07-14 23:20:09

又见AOP之基于RealProxy实现WCF动态代理

最近一直在研究Mongodb和ElasticSearch之间同步数据的问题,苦于到目前为止,并没有取得任何实质性的进展。偶尔“趁得浮生半日闲暇”,看一看WebAPI设计方面的书籍,和前辈交流下项目中的历史遗留问题,最为直观的感受就是,这个世界上任何方案的最终落地,都经过理想和现实的无数次挣扎,比如我们希望迁移项目到.NETCore平台上,初步分析大概有将近1000多个无法兼容的地方,维持现状固...

2019-07-14 23:15:57

WSL下Docker使用踩坑小记

众所周知,Win10中开始提供Linux子系统,即WindowsSubsystemforLinux,简称WSL,它可以让我们在Windows系统使用Linux系统,自从有了这个新功能以后,博主果断地放弃双系统的方案,因为折腾起来实在花费时间。关于如何使用WSL,网上有非常多的文章可以参考,这里不再赘述。今天想说的是,WSL下使用Docker遇到的各种坑。装完WSL以后,对各种编译环境的使用...

2019-05-03 23:05:26

由DBeaver与PL/SQL引发的数据库吐槽

因为工作中需要同时面向MySQL、Oracle和SQLServer三种数据库进行开发,所以,大概从去年国庆节开始,我开始使用一个开源的数据库管理工具——DBeaver。使用这个工具的初衷,是因为我不想在同一台电脑上安装三个客户端工具,尤其是Oracle和SQLServer这种令人恐惧的、动辄需要重装系统的应用程序。我不想再使用类似Navicat这样的软件,因为它的画风像是上个世纪VB6.0的产品...

2019-04-28 16:48:57

聊聊前端跨域的爱恨情仇

今天是过完春节以后的第二周啦,而我好像终于回到正常工作的状态了呢,因为突然间就对工作产生了厌倦的情绪,Bug就像无底洞一样吞噬着我的脑细胞。人类就像一颗螺丝钉一样被固定在整部社会机器上,除了要让自己看起来像个正常人一样,还要拼命地让所有人都像个正常人一样。过年刚经历过被催婚的我,面对全人类近乎标准的“幸福”定义,大概就是我此刻这种状态。其实,除了想自己定义“幸福”以外,我还想自己定义“问题”,因为...

2019-04-08 08:30:25

基于Server-Sent Events实现服务端消息推送

前段时间,为客户定制了一个类似看板的东西,用户可以通过看板了解任务的处理情况,通过APP扫面页面上的二维码就可以领取任务,而当任务被领取以后需要通知当前页面刷新。原本这是一个相对简单的需求,可是因为APP端和PC端是两个不同的Team在维护,换句话说,两个Team各自有一套自己的API接口,前端页面永远无法知道APP到底什么时候扫描了二维码,为此前端页面不得不通过轮询的方式去判断状态是否发生了变化...

2019-02-22 13:39:58

博客图片迁移折腾记

  去年国庆的时候,七牛官方开始回收测试域名,这直接导致博客中大量图片出现无法访问的情况,虽然博主第一时间启用了新的域名:https://blog.yuanpei.me,可是因为七牛官方要求域名必须备案,所以,这件事情一直耽搁着没有往下进行。至于为什么会一直拖到2019年,我想大家都能猜到一二,没错,我就是懒得去弄域名备案这些事情

2019-01-18 11:24:01

基于WebSocket和Redis实现Bilibili弹幕效果

  嗨,大家好,欢迎大家关注我的博客,我是Payne,我的博客地址是https://qinyuanpei.github.io。在上一篇博客中,我们使用了.NETCore和Vue搭建了一个基于WebSocket的聊天室。在今天这篇文章中,我们会继续深入这个话题。博主研究WebSocket的初衷是,我们的项目上有需要实时去推送数据来完成图表展示的业务,而博主本人对这个内容比较感兴趣,因为博主有对爬虫...

2018-08-27 12:49:33

使用.NET Core和Vue搭建WebSocket聊天室

  Hi,大家好,我是Payne,欢迎大家关注我的博客,我的博客地址是:https://qinyuanpei.github.io。今天这篇博客,我们来说说WebSocket。各位可能会疑惑,为什么我会突然间对WebSocket感兴趣,这是因为最近接触到了部分“实时”的业务场景,譬如:用户希望在远程视频通话过程中,实时地监控接入方的通话状态,实时地将接入方的响应时间、通话时长以及接通率等信息推送到后...

2018-08-27 12:46:57

声明式RESTful客户端WebApiClient在项目中的应用

  自从项目上采用敏捷开发的流程以后,我们的开发任务中出现了不少“联调”的任务,而所谓的“联调”任务,完全是拜前后端分离所赐。通常来讲,按照前后端分离的思想,我们的团队会被分成前端和后端两个组,前端负责页面内数据的展示,后端负责提供相关服务的接口。这样听起来非常合理,对吧?可问题在于,后端常常在等前端联调这些接口,因为后端不知道具体有哪些异常需要处理;同样,前端常常在等后端接口稳定,因为一旦出现问...

2018-07-17 18:20:23

基于Docker构建-NET持续集成环境

  最近在考虑将整个项目组的产品,努力向着持续集成(CI)/持续部署(CD)的方向靠拢,因为目前我们仅仅实现了基于Docker的自动化部署,而部署包的构建依然依赖于人工打包,而每个版本的测试和部署,基本上都要给所有相关人员发一遍邮件,而写邮件无非是填写版本号和变更历史。身处在这样一个社会化分工逐渐加剧的『摩登时代』,我们唯一的希望就追求技能的多元化,你越是担心有一天会被AI所替代,就越是应该去追求...

2018-06-13 12:43:15

一个由服务器时区引发的Bug

  太阳照常升起,在每个需要挤公交车上班的日子里,即使窗外早已大雨如注。想来只有在周末,太阳会陪着我一起起床,所谓睡觉睡到自然醒,在雨天里保持晴天的心情,相当大的程度上,是因为今天不必上班。因此,一周里的心情晴雨表,简直就是活生生的天气预报,可惜我并不能预测我的心情,因为Bug会在某一瞬间发动突然袭击。一周前测试同事小J得到用户的反馈,我们某一笔订单突然无法从系统中查到,可就在数分钟前用户创建了这...

2018-06-12 17:34:56

关于电影《暗杀》背后的故事和想法

  最近看过了由全智贤主演的电影《暗杀》,虽然说这是一部我们早已熟稔的抗战题材电影,可是在全女神颜值和演技的诱惑下,我终于还是花了点时间来看这部电影。或许是因为我们见识过了太多的“抗日神剧”,所以在面对这样一部电影的时候,我们难免带着某种不屑的眼光去审视它。可是当你看完了这部电影,突然间兴奋到难以自制,不由地惊呼一声:想不到韩国拍这种主旋律电影都能这么好看。我想,这是一种由视角转换所引起的代入感,...

2018-06-12 17:34:22

使用SonarCloud为.NET-NET-Core项目集成静态检查

  Hi,朋友们,大家好,欢迎大家关注我的博客,我是Payne,我的博客地址是http://qinyuanoei.github.io。在不知不觉间,5月份已然度过大半,最近无论是读书还是写作均停滞不前,被拖延症支配的我深感有虚度时光之嫌。今天这篇文章,我将为大家介绍如何使用SonarCloud,来为.NET/.NETCore项目集成静态检查。如果大家使用过SonarCube的话,对接下来我要讲的...

2018-05-14 09:52:12

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。