前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ARTS_202207W3

ARTS_202207W3

原创
作者头像
cswh
发布2022-08-26 09:53:35
3860
发布2022-08-26 09:53:35
举报
文章被收录于专栏:CSWH技术博客CSWH技术博客

ARTS 第 4 周

每周完成一个ARTS:

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

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

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

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

image.png
image.png

Table of Contents

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

Algorithm

leetcode 替换空格

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

输入:s = "We are happy."

输出:"We%20are%20happy."

代码语言: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.png
image.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.png
typora.png

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

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

image.png
image.png

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

EverNote(印象笔记)

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

Notable

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

Atom

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

atom.png
atom.png

Share

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ARTS 第 4 周
  • Table of Contents
    • Algorithm
      • Review
        • 项目前提条件:
        • 该应用程序的功能列表
        • 使用的技术
        • 具体实践
      • Tip
        • Typora
        • EverNote(印象笔记)
        • Notable
        • Atom
      • Share
      相关产品与服务
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
      http://www.vxiaotou.com