从springfox迁移到springdoc
前言之所以考虑从springfox迁移到springdoc是因为我的开源项目hoteler在升级到spring boot 2.6之后,UT的CI/CD挂了: 1234567891011HotelerApplicationTests > contextLoads() FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:132 Caused by: org.springframework.context.ApplicationContextException at DefaultLifecycleProcessor.java:181 Caused by: java.lang.NullPointerException at WebMvcPatternsRequestConditionWrapper.java:56ErrorPropTest > setErrors() FAILED java.lang...
Gradle配置阿里镜像
Gradle配置阿里镜像为了加快gradle的国内下载的速度,我们可以为gradle配置阿里仓库的镜像 请在gradle的安装目录下的init.d的文件夹下添加init.gradle: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374gradle.projectsLoaded { rootProject.allprojects { buildscript { repositories { def JCENTER_URL = 'https://maven.aliyun.com/repository/public' def GOOGLE_URL = 'https://maven.aliyu...
Nodejs项目的Dockerfile模版
Nodejs项目的Dockerfile模版基于Yarn1234567891011121314151617181920212223242526272829303132333435363738FROM node:14.17.6-alpine3.14 as build# 取消对https的证书限制# ENV SELF_SIGNED_CERT_IN_CHAIN=true# ENV NODE_TLS_REJECT_UNAUTHORIZED=0# RUN npm config set strict-ssl false# RUN yarn config set strict-ssl falseRUN apk update && apk add bashCOPY package.json yarn.lock .npmrc /tmp/RUN cd /tmp && yarn install --frozen-lockfile --non-interactiveRUN mkdir -p /app && cp -a /tmp/node_modules /a...
使用Bazel编译TypeScript
使用Bazel编译TypeScript准备请事先安装Nodejs,Yarn 1.x和Bazel 我使用的版本为: Nodejs: v14.17.3 Yarn: 1.22.5 Bzel: 4.1.0 创建一个Typescript项目选择指定目录,创建一个名为ts-bazel(其他名字也可以)的文件夹,使用终端进入该文件夹,然后执行npm init,一路选择默认。 安装Typescipt: 1yarn add typescipt -D 创建Typescript配置文件 1npx tsc --init 创建src文件夹,在该文件夹里新建index.ts文件,并写入一下内容: 12345function sayHello(name: string) { console.log(`helle ${name}`);}sayHello('daming'); 配置Bazel安装bazel等相关依赖: 1yarn add @bazel/bazelisk @bazel/ibazel @bazel/typescri...
Homebrew安装笔记
Homebrew安装笔记简单记录一下Homebrew安装 下载新建终端,以下命令安装: 1/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 配置国内镜像替换 brew.git 1cd "$(brew --repo)" && git remote set-url origin https://mirrors.ustc.edu.cn/brew.git 替换 homebrew-core.git 1cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core" && git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git Homebrew Bottles 配置镜像 以zsh为例 1echo 'export H...
TypeScript中可选链
TypeScript中可选链什么是可选链TypeScript 3.7中一个最引人关注的特性便是可选链(Optional Chaining)。 所谓可选链,就是当我们试图使用访问对象的字段或者方法时,如果对象为null或者undefined,TypeScript将会自动停止运行的代码,以防止空指针异常。 可选链的使用首先定义一个接口 A, 有一个字段b,b可能是字符串,也可能是null: 123interface A { b: string | null} 定义一个变量a: 123const a = { b: 'c'} 使用?.来访问字段: 1console.log(a?.b) 如果a为null或者undefined, 将输出undefined TypeScript做了什么可选链并不是ts的专利,在js就已经存在了,除了ie,其他现代浏览器最新版本都是支持了,但是一些老版本就不支持,因此ts没有使用js的语法,而是通过三元表达式? :转译。因此上面的代码将会转译成: 1console.log(a === ...
在windows上构建angular项目(上)
在windows上构建angular项目 (下)当完成bazel的安装之后,我们还需要安装nodejs就可以开始编译angular了。 Nodejs目前angular仅支持nodejs12和nodejs14这两个版本,推荐使用node14这个版本。 对于windows平台而言,nodejs可以直接从官网选择windows平台的二进制包下载,然后进行点击安装就可以了,但是我个人更推荐使用nvm-windows。 nvm-windowsnvm-windows是windows平台上常用的node版本管理工具,可以方便我们针对不同项目的要求切换不同的node版本。点击该链接,下载最新安装包,然后点击安装。 使用国内镜像由于国家特殊的网络政策,我们需要使用淘宝镜像: 12nvm node_mirror http://npm.taobao.org/mirrors/node/ // 注意结尾有斜杠nvm npm_mirror https://npm.taobao.org/mirrors/npm/ 安装nodejs14目前node14的最新版是14.17.0,现在我们可以使用nvm来进行安装:...
在windows上构建angular项目(上)
在windows上构建angular项目 (上)前端三大框架( angular, reac, vue )中,angular一直都是一个很独特的存在。首先,angular的概念很多,服务、依赖注入、模块,指令等,都是在前端圈不是很常用的,此外,angular使用了bazel作为构建工具,而react和vue都是使用了rollup,因此在本地编译构建angular将会远远超过react和vue,如果你是用的windows平台,那么一个个坑需要自己慢慢来填。。。 Bazel是什么?根据官网的定义,Bazel是类似于Make,Maven和Gradle的开源构建和测试工具。它使用人类可读的高级构建语言Starlark(一种基于python的方言)。 Bazel支持多种语言的项目,并为多种平台构建输出。 从我个人角度来看,bazel是一个强大且复杂的构建系统,通过build rule的概念,支持多种语言、不同平台,支持构建C/C++,Java,Android,IOS,Golang,Nodejs,Docker项目 安装Bazel官方支持Windows,macOS, Ubuntu L...
Angular和React构建体积简单对比
Angular和React构建体积简单对比前言Angular是我主要使用的前端框架, 和React是我最近正在学习的前端框架。今天我想对比一下在各自默认的情况下,两者打包体积的对比。 Angular创建我们使用Angular CLI: 11.1.2简单创建一个angular项目: 12345ng new daming-angular-app# ? Do you want to enforce stricter type checking and stricter bundle budgets in the workspace? Y# ? Would you like to add Angular routing? Y# ? Which stylesheet format would you like to use? CSS 然后终端会提示我们输入一些必要的参数。对于Y或N的选择,我们统一选择Y,对拥有多个选择项的,我们统一选择第一个值: 123# ? Do you want to enforce stricter type checking and stricter bundl...
Docker Desktop自带k8s安装笔记
Docker Desktop自带k8s安装笔记安装一个k8s还是一个比较复杂的事情,但是Docker Desktop已经自带了一个简易版的k8s,可以基本满足正常的学习使用 安装Docker对于Mac用户,请点击Docker Desktop对于Windows10用户,请点击Docker Desktop 配置docker的国内镜像国内的网络下载可能比较慢,建议使用下面的镜像 1234567891011121314151617{ "registry-mirrors": [ "https://dockerproxy.com", "https://dockerhub.azk8s.cn", "https://registry.docker-cn.com", "https://docker.mirrors.ustc.edu.cn", "https://mirror.baidubce.com", "http://hub...
