Mac版minikube安装笔记
Mac版minikube安装笔记minikube是一个专注于让Kubernetes更加容易学习和开发的本地Kubernetes。只需要Docker或者虚拟机环境,我们便可以通过minikube start就能快速启动Kubernetes。
要求安装minikube需要以下要求:
至少两个CPU
至少2GB内容
至少20GB的硬盘空间
容器或者虚拟机, 比如Docker, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox, or VMware Fusion/Workstation
安装针对macos的x86-64的平台的,可以使用homebrew进行安装:
1brew install minikube
如果倾向于二进制文件安装,可以使用下面的命令:
12curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64sudo install minikube-darwin-amd64 /usr/local/b ...
2022年度总结
2022年度总结2022年真的是一个让人难以忘怀的年份,尤其在先后经历了上海封城、老丈人去世、领证结婚。
疫情还记得2020年疫情刚开始的时候,那时侯自己一个人开车回上海,路上的车辆非常少,开车的感觉真的可以说非常爽,完全可以闭着眼开车,反正看不到车,即使进了上海市区。那个时候单纯的想,少则三个月,多则半年,疫情就会自然而然的过去,到时候我们该吃吃该喝喝。虽然这个判断翻车了,但是2021年也是对国内疫情还是比较乐观。但是2022年的上海封城打破了我所有的幻想。我从来没想过上海居然玩砸了“动态清理”,从华亭宾馆开始,上海的疫情持续不断,感染人数死活都下不去。
3月份我刚搬到南翔就被封控了,但是我刚开始还好,虽然什么吃的都没有,但是只要封控时间到了就能出去买点东西。但遗憾的是,从4月份开始,上海开始静默了,我足足封在家里差不多两个月。我本来是不反对封城的,但是上海市政府真的很让人失望,疫情两年了,市政府似乎没有做好任何相关封城的预案。而且总感觉可能涉及到二十大的高层安排,市政府决策层应该是存在分歧的,并且和医疗系统的人也存在一定的隔阂。由于上层的问题,基层机构出现各种乱七八糟的事儿那也能理 ...
记录一次迁移Apollo Server V3的过程
记录一次迁移Apollo Server V3的过程前言Apollo Server V3出来也快半年了,是时候把express-postgres-ts-starter的graphql部分升级了。
使用dependabot帮助更新版本dependabot是一个github的工具(似乎也支持gitlab,但是我不确定),用于检测repo依赖安全性,同时也可以帮助我定期更新repo的依赖版本。
这是我的dependabot的配置文件:
1234567version: 2updates: - package-ecosystem: npm directory: '/' schedule: interval: weekly open-pull-requests-limit: 10
升级Apollo Servier所需要依赖nodejsApollo Servier 3仅仅支持nodejsv12以上版本(Apollo Servier 2则只需要nodejsv6以上的支持)。 因此需要升级到nodejs12,推荐使用node14和node16。
我十分推荐使用Li ...
从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.Il ...
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.aliyun.c ...
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 /app/ ...
使用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/typescript ...
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 HOME ...
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 === nul ...
在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来进行安装:
12 ...