海屿文章列表

📖《香帅金融学讲义》读书笔记&书摘

bf33-khmynua9049701.jpeg

个人资产配置生命周期

  • 青年:加大实物资产配置

青年拥有漫长未来时间,加大实物资产配置,将未来现金流换成今天的投资(时间换空间)

  • 壮年期:加大风险资产配置

风险承受能力最强的时期

  • 老年期:加大流动资产配置

利用金融工具将非流动资产转化(房地产反向抵押)

金融的本质:时间,资金和风险

人类社会的约束:时间的不确定性,资金的匮乏和个体无法成凑的系统性风险

金融工具提供:时间的价值,资金的聚集和风险的分散

现代语境下的国家本质上是一个信用共同体,现代货币体系则是一套国家信用体系。


影子银行:具有信贷扩张能力,但又游离于监管之外的金融活动(非保本理财)。

投资银行:本质上就是资金的中介,其创新是金融市场演化的原动力


人类社会的本质就是债务关系的总和,债务关系的背后是信用关系,货币是这种关系的度量。

中央集权式帝国藏宝于库,欧洲分封制国家举债藏富于民

我们无法消灭风险,但是我们能够通过跨期合约讲风险进行分散和重新配置

大多数投资者都盯着回拨,很少有人关注风险,想想自己会亏多少。

公司的本质是一连串的合约关系


金融危机的本质就是信用崩塌,个体或者机构的债务关系破裂,通过经济体的网络传染开来,演变成更大规模的信用崩塌。

债:将人从神那里解放出来
股:将人从固化的阶级中解放出来

经济周期=信贷周期


资本回报率远大于经济增长率,所以富人更容易积累财富

货币的基本功能:交换媒介,价值尺度和储藏价值

价值稳定是货币必要基础

货币是其他资产的锚


人类社会最大的信用主体是国家

信用崩塌和主权合法性丧失是同义词

GDP 缺陷,很难捕捉到粒度更小的事务带来的价值

  • 无法薄酌质量或者效率
  • 无法计算免费的数字服务
  • 对于选择多样性无能为力

江恩操作原则

  • 把握投资情绪

阻力位,趋势分析专业名词的背后反映的都是人性

  • 止损原则

永远设置止损线,永远不要过度自信

  • 保守投资原则

    • 不要过度交易
    • 不要轻易改变自己的立场
    • 分散投资

可复制投资原则

  • 市场先生:把握人性
  • 安全边际:不支付过高溢价
  • 能力圈:只投资自己看得懂的企业

金融思维方式

  • 预期思维
  • 贴现思维

    "贴现"和"计息"的本质——货币的时间价值
    资金必须要在投入社会生产周转中才会有时间价值
    
  • 复利思维
  • 风险思维
    风险是相对概念,会随时间地点等变量变化,突破现有思维框架,寻找未来风险趋势
  • 杠杆思维
  • 信用思维
    将信任转化为资本的思考方式,如何转化,将自己当作一个品牌来经营。

Github Action 打包 Docker 镜像&自动部署

根据 git tags 触发部署,用版本号生成镜像,上传至腾讯云私有镜像仓库。
服务器拉取最新版本部署上线。

name: Docker Build And Push
on:
  push:
    tags:
      - 'v*'

jobs:
  docker:
    runs-on: ubuntu-latest
    steps:
      - name: Get version
        id: version
        run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}

      -
        name: Set up QEMU
        uses: docker/setup-qemu-action@v1
      -
        name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v1
      -
        name: Login to DockerHub
        uses: docker/login-action@v1
        with:
          registry: ccr.ccs.tencentyun.com
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}
      -
        name: Build and push
        id: docker_build
        uses: docker/build-push-action@v2
        with:
          push: true
          tags: ${{ secrets.REGISTRY }}:latest,${{ secrets.REGISTRY }}:${{ steps.version.outputs.VERSION }}
      -
        name: Image digest
        run: echo ${{ steps.docker_build.outputs.digest }}

  pull-docker:
    needs: [ docker ]
    name: Pull Docker
    runs-on: ubuntu-latest
    steps:
      - name: Deploy
        uses: appleboy/ssh-action@master
        with:
          host: ${{ secrets.HOST }}
          username: ${{ secrets.USERNAME }}
          key: ${{ secrets.KEY }}
          script: |
            docker stop $(docker ps --filter ancestor=${{ secrets.REGISTRY }} -q)
            docker rm -f $(docker ps -a --filter ancestor=${{ secrets.REGISTRY }}:latest -q)
            docker rmi -f $(docker images  ${{ secrets.REGISTRY }}:latest -q)
            docker login --username=${{ secrets.DOCKERHUB_USERNAME }} --password ${{ secrets.DOCKERHUB_TOKEN }} ccr.ccs.tencentyun.com
            docker pull ${{ secrets.REGISTRY }}:latest
            docker run -d -p 8060:8060 ${{ secrets.REGISTRY }}:latest

✨ 在线生成 Nginx 配置

配置高性能、安全、稳定的NGINX服务器的最简单方法。
支持一键复制到服务器~

Github Action 前后端项目模板

android-github-actions-setup-image-35b6a79fea4a7289acb6796cd4ad05b4.png
GitHub Actions 用起来非常简单,只要在你的仓库根目录建立.github/workflows文件夹,将你的工作流配置(YAML 文件)放到这个目录下,就能启用 GitHub Actions 服务

前端项目部署到服务器

name: Deploy
on:
  push:
    branches:
      - master

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@master

      - name: use Node.js 14
        uses: actions/setup-node@v1
        with:
          node-version: 14

      - name: npm ci and build
        run: |
          npm ci
          npm run build
        env:
          NODE_ENV: development
          CI: true

      - name: Prepare SSH
        run: >
          cd ~ && mkdir .ssh &&
          touch ~/.ssh/known_hosts &&
          ssh-keyscan -H "$IP" >>~/.ssh/known_hosts
        env:
          IP: ${{ secrets.HOST }}

      - name: Deploy to Server
        uses: easingthemes/ssh-deploy@v2.1.6
        env:
          REMOTE_HOST: ${{ secrets.HOST }}
          SSH_PRIVATE_KEY: ${{ secrets.TOKEN }}
          ARGS: "-avzr --delete"
          SOURCE: "build/"
          REMOTE_USER: "ubuntu"
          TARGET: "/var/www/scholar.run"
          

后端 Docker 镜像

GitHub Actions Docker镜像编译和推送到云镜像仓储

Github:https://github.com/risfeng/docker-image-build-push-action

Github Marketplace:https://github.com/marketplace/actions/docker-images-build-and-push

name: Docker Build And Push To Aliyun Hub

on:
  push:
    branches:
      - master

jobs:
  build:
    name: Build Spring Boot
    runs-on: ubuntu-latest
    steps:
      - name: Git Checkout Code
        uses: actions/checkout@v1
        id: git_checkout

      - name: Set up JDK 12.0
        uses: actions/setup-java@v1
        with:
          java-version: 12.0

      - name: Build with Gradle
        run: ./gradlew build

      - name: Build Docker Image
        id: buildAndPushImage
        uses: risfeng/docker-image-build-push-action@v1.0
        with:
          registry_url: 'registry.us-east-1.aliyuncs.com'
          namespaces: 'adotcode'
          repository_name: 'adc.ms.eureka.usa'
          user_name: ${{ secrets.ALIYUN_IMAGES_HUB_USER_NAME }}
          password: ${{ secrets.ALIYUN_IMAGES_HUB_TOKEN }}
          image_version: 'v1.0'
          docker_file: '.'
      - name: Get pre step result output image_pull_url
        run: echo "The time was ${{ steps.buildAndPushImage.outputs.image_pull_url }}"

其中 registry_url、namespaces、repository_name、user_name、password 为自己云镜像仓库设置,${{ secrets.ALIYUN_IMAGES_HUB_USER_NAME }} ${{ secrets.ALIYUN_IMAGES_HUB_TOKEN }}是调用Github仓库settings配置的云镜像仓库的登录用户名和密码,防止密码硬编码被泄漏,配置路径:Github代码仓库-->[settings]->[Secrets]中添加对应的Key。

输入参数说明

以下参数均可参见云私有镜像仓库,如:阿里云私有镜像仓库

参数是否必传描述
registry_url仓库地址,eg: registry.us-east-1.aliyuncs.com
namespaces命名空间
repository_name镜像仓库名称
user_name云登录账户
password登录个人容器镜像服务设置
image_version生成镜像的版本,可以写死,也可以通过上下文自行动态赋值
docker_file构建镜像的Dockerfile目录,默认当前目录(.)

输出参数说明

脚本执行完成后会输出镜像pull地址,便于后续直接docker pull 使用

参数是否必传描述
image_pull_url镜像上传成功后返回的pull地址,eg: registry.us-east-1.aliyuncs.com/ns/adc.ms.erika:v1.0 使用示例: docker pull ${{ steps.<steps.id>.outputs.image_pull_url }}

参考文章

https://frostming.com/2020/04-26/github-actions-deploy/#%E4%BD%BF%E7%94%A8-github-actions-%E8%87%AA%E5%8A%A8%E5%8C%96
https://github.com/risfeng/docker-image-build-push-action

写在2020年的尾巴

2021.jpg

每每静坐在屋子阅读,没有钟表的滴答,却更能感觉时间在指尖划过。时间是如此丝滑,怎么也抓不住,二十五岁的我,滑到了青春的尾巴。前几天周末去了一趟花市,路过百度大厦,故地重游甚是感慨,一幕幕宛如昨日。感觉自己真的是一个恋旧的人,别人说过的话语,当时的心情,甚至当时时间点都牢牢记在心上。也许生活就是流水,只有与人交流和人与人产生交集的种种瞬间才会在水面上引起一丝涟漪。

生活

周末我时常望着窗外,一年间草木荣枯一个轮回,我想人生活的意义在哪里。两点一线工作赚钱,吃喝拉撒一梦一醒,好像除却生死便再无什么大事。

生命本身或许是没有什么意义的,但是活下去,却能发现有趣的事情,如你遇见那花,如我遇见你。

也许要给生命一些意义就是遇见另一个生命吧,一生一代一双人,简简单单的生活,共度的余生,便是生活。

今年换了房子有一个大厨房,自然要利用起来,周末做做饭,享受下烹饪的乐趣,也是算把生活充实了一些。虽然有疫情的插曲,但是离自己的目标也是肉眼可见的接近,英语也要继续努力,不过内心也越来越想回天津,虽然岗位相比北京少太多,但要知道有一种东西叫归属感,有一种状态是工作与生活的平衡,希望能找到外企或者银行的岗位,如果有机会远程工作也是个不错的选择。

工作与技术 🌐

技术上今年我还是做了不少东西,看下面这密密麻麻的点点就知道了,在最忙的时候还在 Github 上为 antd 贡献了许多代码,技术文章也有十几篇。收获满满,也对得起我的付出。

屏幕快照 2020-12-07 下午2.22.30.png
屏幕快照 2020-12-07 下午2.23.01.png

理财 💴

整体大约 30% ,不慌不忙,继续加油

副业

安稳就没有自由,要自由就要历些危险

想要自由生活就必须折腾起来,工作可以是螺丝钉,但内心须有一颗成为火箭的心,即便是计算机行业重复性的工作也是比较多的,只有在自己的领域多探索,踮起脚尖看世界,才能看到更远的地方,如果如果连远方都看不到,更何谈到达。

今年接了一个外包,赚了个房租钱,算是迈出了第一步,明年也要继续积累人脉和经验。也许可以自己做一个网站,或一个 app 可能古诗词方向的,试试看~

明年规划

我想回天津了,我想买辆车,雪佛兰畅巡太好看了 😂

写在最后

祝福所有我今年遇见的人,和遇见我的人,希望你们明年身体康健,诸事顺遂~

往年的文章

2019 的最后一天 🌌