题目要求

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Given two strings s and t which consist of only lowercase letters.

String t is generated by random shuffling string s and then add one more letter at a random position.

Find the letter that was added in t.

Example:

Input:
s = "abcd"
t = "abcde"

Output:
e

Explanation:
'e' is the letter that was added.

假设两个只包含小写字母的字符串s和t,其中t是s中字母的乱序,并在某个位置上添加了一个新的字母。问添加的这个新的字母是什么?

阅读全文 »

题目要求

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
There is a list of sorted integers from 1 to n. Starting from left to right, remove the first number and every other number afterward until you reach the end of the list.

Repeat the previous step again, but this time from right to left, remove the right most number and every other number from the remaining numbers.

We keep repeating the steps again, alternating left to right and right to left, until a single number remains.

Find the last number that remains starting with a list of length n.

Example:

Input:
n = 9,
1 2 3 4 5 6 7 8 9
2 4 6 8
2 6
6

Output:
6

假设有1-n一共n个数字,从左往右开始每隔一位删除一个数字,到达最右侧后,再从右往左每隔一位删除一个数字,如此反复,直到剩下最后一个数字。问最后剩下的数字是多少。

阅读全文 »

前言

在非技术术语中,“网关或门是进入一个由墙围住的封闭空间的入口点。”同理,API网关是指位于防火墙或互联网后面
的服务的入口点。在微服务的世界中,网关坐镇于API前面,直接面向客户并进行反向代理。

越来越多的应用程序正在从单片架构迁移到微服务架构。API网关已成为微服务架构模式中的关键组件之一。请
注意,本文不是关于任何特定网关,而是讨论网关的一般功能。

阅读全文 »

序言:项目环境

本次简单的demo是建立在springmvc框架上的,部署环境为tomcat,前段使用的bootstrap+jquery_file_upload组件。图片存储的方式为存储在虚拟目录下并返回虚拟目录的路径。建议先搭配好springmvc环境再继续参考本博客。没有搭配好环境的可以参考这篇博客

图片存储方式

在给出上传图片的代码之前,先讲解一下服务器接收图片上传的思路。服务器端保存图片一般有两种思路。

  1. 将图片以blob的格式存储在数据库中,仅适用于图片较小的场景
  2. 将图片存储在服务器的目录下,并在数据库中存储图片路径和访问URL,缺点是可能会造成服务器性能的下降
  3. 将图片存储在非服务器目录的任意路径下,在服务器中配置虚拟目录,通过虚拟目录访问图片目录下的图片

在这里我将主要讲一下如何实现第三种图片存储。
在开发环境中,可以直接使用Intellij来配置tomcat虚拟目录。因为Intellij管理下的tomcat实际上是一个tomcat虚拟映像,所以Intellij中的配置将不会影响实际tomcat中的配置。所以如果是在开发测试的过程中直接使用Intellij部署项目,请参考Intellij中配置虚拟目录。如果是将开发的war包直接部署在服务器中,则参考tomcat配置虚拟目录。

阅读全文 »

前言

最近在写一个项目,基于springmvc+spring+mybatis,其中涉及用ajax向controller发送数据的功能。因为不想使用spring的form标签,所以想看看有没有方法将ajax中的json数据直接转化为controller方法中的对象接收并处理。以下将逐渐介绍各种不同情况下传递json数据并封装的方法

阅读全文 »

引言

在leetcode中刷到了一题是关于正则表达式的。然而网上给出的关于正则表达式的信息往往都是现成的,直接照搬还是可以的,但是并不能掌握到精髓。所以,我用这篇文章来由浅入深的介绍一下我学习正则表达式的过程。该博客将随着学习进度不断更新,希望各位能够指出博主在学习中的误区

阅读全文 »

简单说一下Jackson

如果想要详细了解一下Jackson,可以去其github上的项目主页查看其版本情况以及各项功能。除此以外,需要格外提一下Jackson的版本问题。Jackson目前主流版本有两种,1.x和2.x,而这二者的核心包是不同的。在2.0以后的Jackson版本中,groupId从原来的org.codehaus.jackson.core转而变成了com.fasterxml.jackson.core。所以如果希望用到新性能的Jackson,请将原来的maven依赖改为以下的依赖。

下文中的jackson-2-version是指特定的版本,当前的稳定版本为2.8.9。想要了解最新的版本情况还请去项目主页或是maven官网上查看。但是如果是要和spring mvc配合使用的话,还要注意一下他们之间的兼容问题。目前我采用的是4.2.6版本的springmvc和2.6.6版本的jackson

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<!-- the core, which includes Streaming API, shared low-level abstractions (but NOT data-binding) -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson-2-version}</version>
</dependency>

<!-- Just the annotations; use this dependency if you want to
attach annotations to classes without connecting them to the code. -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson-2-version}</version>
</dependency>

<!-- databinding; ObjectMapper, JsonNode and related classes are here -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson-2-version}</version>
</dependency>

<!-- smile (binary JSON). Other artifacts in this group do other formats. -->
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-smile</artifactId>
<version>${jackson-2-version}</version>
</dependency>
<!-- JAX-RS provider -->
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>${jackson-2-version}</version>
</dependency>
<!-- Support for JAX-B annotations as additional configuration -->
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
<version>${jackson-2-version}</version>
</dependency>

如果是在springmvc中配置maven依赖,则需要的依赖包为core,annotation和databind

阅读全文 »

前言

Git作为一个当前被最广泛使用的版本控制开发工具,是每一个学习软件开发的程序员所必须熟悉的。这里我将所有的Git指令收编整理,列出一个简单的表项,方便自己以后查询。对于初学者,可以从这个教程入手,可以非常快的理解其内在的功能。

阅读全文 »

在centos上安装mongodb

仅以此文记录一下我在centos上安装mongodb的过程。因为之前百度了一些教程结果并不理想,所以决定自己写一下。本教程用的版本分别是CentOS7Mongodb-3.6

阅读全文 »
0%