0%

初识 Masa Framework

MASA Framework
全新的.NET现代应用开发,提供分布式应用运行时–基于Dapr云原生最佳实践,能够快速实现分布式、微服务、DDD,SaaS等现代应用开发。官方文档参阅

先决条件

开发计算机上应安装以下工具:

一个集成开发环境 (比如: Visual Studio) 它需要支持 .NET 6.0 的开发.

环境配置

MacOS dotnet环境配置

1
2
3
4
5
6
7
8
# 下载对应脚本进行安装 https://dotnet.microsoft.com/zh-cn/download/dotnet/scripts 
./dotnet-install.sh --channel 6.0

echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.zshrc
echo 'export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools' >> ~/.zshrc

source ~/.zshrc

阅读全文 »

Abp vNext 学习第七弹 - 作者

参考上一篇 :Abp vNext 学习(6).

简介

在前面的章节中, 我们使用 ABP 框架轻松地构建了一些服务;

  • 使用 CrudAppService 基类, 而不是为标准的增删改查操作手工开发应用服务.
  • 使用 generic repositories 自动完成数据层功能.

对于 “作者” 部分;

  • 我们将要展示在需要的情况下, 如何 手工做一些事情.
  • 我们将要实现一些 领域驱动设计 (DDD) 最佳实践.

开发将会逐层完成, 一次聚焦一层. 在真实项目中, 你会逐个功能(垂直)开发, 如同前面的教程. 通过这种方式, 你可以体验这两种方式

阅读全文 »

Hexo Change Permanent Link Format

Recently I would like to simplify permanent link for each post. From:

/2020/09/12/deploy-docker-on-ubuntu18-04
/2022/12/15/abplearn/sixth
To:

/deploy-docker-on-ubuntu18-04
/abplearn/sixth

If you don’t care about the search engine drop right after directly changing the permalink, you can change the config in _config.yml ,change permalink from :year/:month/:day/:title/ to :title/ directly. otherwise, please read on.

阅读全文 »

Apply cert for domain

this article is apply cert for domain on ubuntu 22.04

Install nginx

1
sudo apt install nginx

Install snap

1
2
3
4
sudo snap install core
sudo snap refresh core
# Remove certbot-auto and any Certbot OS packages
sudo apt-get remove certbot

Install certbot

1
2
3
4
5
6
7
8
9
#Install Certbot
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo snap set certbot trust-plugin-with-root=ok
#Install correct DNS plugin
sudo snap install certbot-dns-aliyun
sudo snap set certbot trust-plugin-with-root=ok
sudo snap connect certbot:plugin certbot-dns-aliyun
/snap/bin/certbot plugins

Set up DNS credentials of aliyun

Go to https://ram.console.aliyun.com Apply AliYun child account And Set AliyunDNSFullAccess permission。Then create AccessKey for child account。

create certbot-dns-aliyun config:

1
2
3
4
5
6
cat > /home/ubuntu/aliyun.ini <<EOF
dns_aliyun_access_key = 12345678
dns_aliyun_access_key_secret = 1234567890abcdef1234567890abcdef
EOF

chmod 600 /home/ubuntu/aliyun.ini

Apply cert for nginx

1
2
3
4
sudo certbot -i nginx -a dns-aliyun  
--certbot-dns-aliyun:dns-aliyun-credentials /home/ubuntu/aliyun.ini
-d xyfy.loan
-d "*.xyfy.loan"

Abp vNext 学习第四弹 - 图书增删改查

参考上一篇 :Abp vNext 学习(3).

新增图书

你将会了解如何创建一个 modal form 实现新增书籍的功能. model dialog将如下图所示:

New book

阅读全文 »

Abp vNext 学习第三弹 - 图书列表

参考上一篇 :Abp vNext 学习(2).

动态JavaScript代理

JavaScript 端通过AJAX调用HTTP API端点是常见的做法. 你可以使用 $.ajax 或其他工具来调用端点. 但是ABP提供了更好的方法.

ABP动态为所有API端点创建 JavaScript代理. 所以你可以像调用Javascript本地方法一样使用任何端点.

在开发者控制台中进行测试

你可以在自己喜欢的浏览器的开发者控制台轻松的测试JavaScript代理. 运行应用程序,打开浏览器的开发者人员工具(快捷键通常是F12),切换到控制台选项卡,输入以下代码然后按回车:

阅读全文 »

Abp vNext 学习第二弹 - 创建服务端

创建解决方案

参考上一篇 :Abp vNext 学习(1).

创建书籍实体

启动模板中的领域层分为两个项目:

  • Acme.BookStore.Domain包含你的实体, 领域服务和其他核心域对象.
  • Acme.BookStore.Domain.Shared包含可与客户共享的常量,枚举或其他域相关对象.

在解决方案的领域层(Acme.BookStore.Domain项目)中定义你的实体.

该应用程序的主要实体是Book. 在Acme.BookStore.Domain项目中创建一个 Books 文件夹(命名空间),并在其中添加名为 Book 的类,如下所示:

阅读全文 »

Abp vNext 学习第一弹

在本系列教程中, 你将构建一个名为 Acme.BookStore 的用于管理书籍及其作者列表的基于ABP的应用程序. 它是使用以下技术开发的:

  • Entity Framework Core 做为数据库提供程序.
  • MVC / Razor Pages 做为UI框架.

先决条件

开发计算机上应安装以下工具:

一个集成开发环境 (比如: Visual Studio) 它需要支持 .NET 6.0+ 的开发.

Node v16 或 v18

Yarn v1.20+ (不是v2) 1 或 npm v6+ (已跟随Node一起安装)

Redis (启动解决方案使用 Redis 作为 分布式缓存).

安装 Abp CLI

dotnet tool install -g Volo.Abp.Cli

Abp Cli

创建新项目

abp new Acme.BookStore -dbms MYSQL -cs 'Server=xyfy-out.mysql.rds.aliyuncs.com;Database=Acme;User Id=dev;Password=Dzd@2020'

数据库连接字符串仅供参考,实际不能访问。

阅读全文 »