smniuhe

春风十里,不如你...


  • Home

  • About

  • Tags

  • Categories

  • Archives

  • Schedule

  • Search

Cloud Toolkit 运用

Posted on 2019-02-02 | In IDE

Alibaba Cloud Toolkit( 阿里云开发者插件,简称:Cloud Toolkit )是一个面向 IntelliJ IDEA、Eclipse 和 Maven 平台的免费插件,旨在帮助开发者在本地开发平台(IDE)中更便捷的使用阿里云,从而高效地开发、测试、诊断并部署应用。
Cloud Toolkit 帮助开发者将本地应用程序一键部署到线下自有 VM,或阿里云 ECS、EDAS、Kubernetes 中去;并支持快速 SSH 登录到机器,高效执行终端命令和文件上传等。钉钉群号:23341694

Cloud Toolkit产品说明

Read more »

多条件查询遵循 Restful API 规范的改如何设计?

Posted on 2018-12-12 | Edited on 2019-02-02 | In RESTful

SF提问

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#### 问题描述

1. 由于遵循 Restful API 规范,Get 请求的方式针对于多条件查询来说,不好设计接口

#### 问题出现的环境背景及自己尝试过哪些方法

有人提供过两种方式

1. http://localhost:8080/app/names?queryDtoStr={"query1":12,"query2":2,"query3":2}
2. 或者直接使用 POST 请求

#### 相关代码

#### 你期待的结果是什么?实际看到的错误信息又是什么?

有没有其他设计方式,尽量遵循 Restful API 规范

回答

如果Action不符合CRUD操作那该怎么办?

  1. 重新构造这个Action,使得它像一个资源的field(我理解为部分域或者部分字段)。这种方法在Action不包含参数的情况下可以奏效。例如一个有效的action可以映射成布尔类型field,并且可以通过PATCH更新资源。
  2. 利用RESTful原则像处理子资源一样处理它。例如,Github的API让你通过PUT /gists/:id/star 来 star a gist ,而通过DELETE /gists/:id/star来进行 unstar 。
  3. 有时候你实在是没有办法将Action映射到任何有意义的RESTful结构。例如,多资源搜索没办法真正地映射到任何一个资源接入点。这种情况,/search 将非常有意义,虽然它不是一个名词。这样做没有问题 - 你只需要从API消费者的角度做正确的事,并确保所做的一切都用文档清晰记录下来了以避免(API消费者的)困惑。
RESTful API 设计最佳实践引用于

所以题主完全可以提供 /app/names/search 服务专门用于搜索功能,查询参数一般是通过 query parameters 的方式传递。

SpringBoot整合shiro 密码加密

Posted on 2018-12-07 | Edited on 2019-02-02 | In encrypt

数据库中密码相关字段都不是明文,肯定是加密之后的,传统方式一般是使用MD5加密。

单纯使用不加盐的MD5加密方式,当两个用户的密码相同时,会发现数据库中存在相同内容的密码,这样也是不安全的。我们希望即便是两个人的原始密码一样,加密后的结果也不一样。

Read more »

Spring Boot web 应用加速

Posted on 2018-12-06 | Edited on 2019-02-02 | In SpringBoot

Spring Boot Web 应用加速

默认情况下,Spring Boot Web 应用会装配一些功能组件 Bean。

在大多数 Web 应用场景下,可以选择性地关闭一下自动装配的Spring 组件 Bean,以达到提升性能的目的。

Read more »

浅谈摘要、数字签名、数字证书

Posted on 2018-12-01 | Edited on 2019-02-02 | In encrypt

CIA 原则

所有互联网企业都要建立一套完整的信息安全体系,遵循 CIA 原则,即保密性(Confidentiality)、完整性(Integrity)、可用性(Availability)

  • 保密性。对需要保护的数据(比如用户的私人信息等)进行保密操作,无论是存储还是传输,都要保证用户数据及相关资源的安全。比如,在存储文件时会进行加密,在数据传输中也会通过各种编码方式进行加密等。在实际编程中,通常使用加密等手段保证数据的安全。黑客不只是外部的,有可能从内部窃取数据,所以现在大多数企业的用户名敏感信息都不是以明文存储的,避免数据管理员在某些利益的驱动下,直接托库下载。数据泄露可能导致黑客进一步利用这些数据进行网站攻击,造成企业的巨大损失。

上面这段介绍是出自《码出高效:Java开发手册》

Read more »

WireMock 伪造REST服务

Posted on 2018-11-04 | Edited on 2019-02-02 | In Mock

交代背景

在工作的过程中,前后端工程师一般都是并行工作的,假如移动端工程师(Android ,ios)、Web工程师(公司主站)需要我后端的一个接口,或者需要知道后端会返回怎样的数据格式时,此时后端可能还在撸逻辑,或者说还在不停的修改逻辑或者重构代码,这个时候就比较尴尬啦!你可能会觉得他们自己就可以模拟相关HTTP接口,REST服务等…

Read more »

Jenkins 搭建自动化测试环境

Posted on 2018-10-28 | Edited on 2019-05-06 | In environment

Jenkins 安装

官网下载war

官网下载 Download Jenkins 2.148 for: jenkins.war

Read more »

焦油坑,没有银弹

Posted on 2018-10-07 | Edited on 2019-02-02

没事就多聚聚,反正也是不归路

我总算体会到了, 以前那本我只愿意抬一眼看看封面那宛如动物世界一般的图片的<<人月神化>>. 从现在体会开来软件开发就是如此, 一个焦油坑. 没有银弹, 就看有人否让我们不越陷越深而已. 别期望写出令自己可以满意的代码, 除非你有充足的时间可以去每天涂涂改改. 面对前辈留下的心血, 我们接过他们的枪(冠冕堂皇点是, 说穿就是烂滩子), 理解多个人的思想, 最后才发觉每个人思想不统一, 他们之间的思想又可以排列组合出不同的思想. 最后发觉自己在那焦油坑里又陷下去一点. 接着把能骂的能发泄的话都说出来,吃着instant food做完最大的补救, 然后同样的结局和场景会发生在接过你的烂摊子的那个人身上.

[終わりなき旅](https://junchu25.wordpress.com/)地址
Read more »

RabbitMQ安装和详解

Posted on 2018-09-11 | Edited on 2019-02-02 | In middleware

RabbitMQ介绍

RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。RabbitMQ主要是为了实现系统之间的双向解耦而实现的。当生产者大量产生数据时,消费者无法快速消费,那么需要一个中间层。保存这个数据。

AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。

RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

Read more »

语义化版本

Posted on 2018-09-08 | Edited on 2019-02-02 | In VC

如何制定版本

版本格式:主版本号.次版本号.修订号,版本号递增规则如下:

  1. 主版本号:当你做了不兼容的 API 修改,
  2. 次版本号:当你做了向下兼容的功能性新增,
  3. 修订号:当你做了向下兼容的问题修正。

先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。

Read more »
123…6

smniuhe

大家好,我是牛河
56 posts
37 categories
83 tags
GitHub E-Mail
Links
  • 阿里中间件
  • 美团技术团队
  • Mercy Ma
  • CoolShell
  • 当然我在扯淡
  • 周立
  • 芋道源码
  • 程序猿DD
  • 梁桂钊
  • 纯洁的微笑
© 2020 smniuhe
Powered by Hexo v3.8.0
|
Theme – NexT.Muse v7.0.1