ARTS_202207W3

2022-08-26 09:53:35 浏览数 (1)

ARTS 第 4 周

每周完成一个ARTS:

Algorithm:每周做一个 leetcode 的算法题

Review:阅读并点评写作一篇英文技术文章

Tip:学习至少一个技术技巧

Share:分享一篇有观点和思考的技术文章。

image.pngimage.png

Table of Contents

  • Algorithm 替换空格
  • Review 使用Springboot快速构建项目原型
  • Tip Markdown编辑器推荐
  • Share 阮一峰博客

Algorithm

leetcode 替换空格

题目描述:实现一个函数,把字符串 s 中的每个空格替换成" "。

输入:s = "We are happy."

输出:"We are happy."

代码语言:txt复制
public class 替换空格_剑指Offer_05 {
    public static void main(String[] args) {
        String s = "We are happy.";
        System.out.println(replaceSpace(s));
    }

    public static String replaceSpace(String s){
        int length = s.length();
        char[] array = new char[length*3];
        int size=0;
        for (int i = 0; i < length; i  ) {
            char c = s.charAt(i);
            if (c==' '){
                array[size  ]='%';
                array[size  ]='2';
                array[size  ]='0';
            }
            else {
                array[size  ] = c;
            }
        }
        String newString = new String(array, 0, size);
        return newString;
    }
}

leetcode链接

Review

Spring Boot Tutorial – How to Build Fast and Modern Java Apps

文章中作者演示了如何使用Springboot快速构建项目原型。搭建了一个便利设施预订系统,用户将登录并预订一段时间来使用健身中心、游泳池等,每个便利设施都将具有一定的容量(可以同时使用该服务的人数)。预期效果如下

image.pngimage.png

项目前提条件:

  • 了解Java和面向对象编程OOP
  • 了解基本的关系型数据库
  • Spring基础知识
  • HTML基础知识

该应用程序的功能列表

类似于公寓大楼的预订系统。

  • 用户应该能够登录。 我们将假设居民的帐户是预先创建的,并且不会有注册功能。
  • 用户应该能够查看他们的预订。
  • 用户应该能够通过选择设施类型、日期和时间来创建新的预订。
  • 只有登录用户才能看到预订页面并创建预订。
  • 我们应该检查容量,并且仅在当前预留数量不超过容量时才创建新预留。

使用的技术

Bootify

Hibernate

Spring Boot

Maven

JPA

Swagger

H2 In-Memory Database

Thymeleaf

Bootstrap

Spring Security

具体实践

项目代码地址

代码语言:txt复制
https://github.com/yigiterinc/amenity-reservation-system.git

使用Bootify新建项目和依赖

新建实体:

Reservation实体,(包含与每个预约相关的数据的预约,比如预约日期、预约开始时间、结束时间和拥有这个预约的用户。)

User实体,

Amenity实体,拥有便利设施类型及其容量的便利设施实体

测试和探索生成的代码

接口文档swagger地址:http://localhost:8080/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config#/

H2数据库:http://localhost:8080/h2-console/

jdbc:h2:mem:amenity-reservation-system

调整生成的代码

创建控制器和查看文件以显示数据

定义不同类型的便利设施

创建枚举类型AmenityType

展示用户的预定信息

使用Thymeleaf创建视图

实现创建预定

使用Spring Security向应用程序添加身份验证和授权

显示登录用户的预订

检查设施的容量

Tip

使用Markdown写文章方便,排版也美观,分享几款markdown工具。

Typora

个人使用最顺手的Markdown编辑器。已经开始收费,目前公布价格是89元,可在3台设备上使用,价格不贵,可以支持一下。

typora.pngtypora.png

另外,如果暂时不想购买,可以使用beta版,Typora最后一个免费版本是0.11.18。

下载地址:https://www.typora.io/releases/all

image.pngimage.png

也可以看一下这篇文章,typora beta版本

EverNote(印象笔记)

比较好用的在线笔记,支持markdown格式

Notable

Notable一款开源的高颜值、跨平台的Markdown编辑器。

Atom

文本编辑器,可以通过插件支持markdown编辑,具体步骤可以参考网上教程

atom.pngatom.png

Share

分享阮一峰博客的一期文章:《软件订阅制的胜利》

作者认为:软件订阅制是未来的趋势。 因为这对于软件公司很有利,销售软件从一次性收入变成了经常性收入,能够产生稳定的现金流。只要用户使用,就必须付费,连续使用就必须连续付费。而且总能让用户使用软件的最新版,不用担心旧版本问题。对于用户来说,相对不那么有利,相比之前的一次性购买,使用越久,费用可能越高。

0 人点赞