Web实践之路
Web相关入门分享,相关资料翻译。
muzizongheng
熟悉.net技术栈、web技术栈、ELK、xml/xslt/xsd、mfc、python等;熟悉DICOM、IHE熟悉敏捷、DDD
展开
-
利用xslt3 把xml转为json (abp vnext本地化升级的xml到json的资源转换)
最近在做Abp升级到abp vnext的时候, 发现旧版abp的本地化资源是xml, 新版abp vnext是json。 好吧, 得写个xslt来转换下。然后就发现这个事情没那么容易。xslt默认的output的method没有json。<xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>结论:如果我们需要xml转为json的话, 我们需要...原创 2020-09-29 17:08:28 · 1044 阅读 · 0 评论 -
ASP.NET Boilerplate v5升级到Abp vNext的改动
AppConfigurations GetAssembly() 改为 Assembly属性访问 MongoDB的配置更改 DBMigrate和 数据库连接。 注入方式的初始化 更改了审计日志的接口, 更改AbpSession 到ICurrentUser 更改了ApplicationService里的entity和dto的mapper方式, 由entity.mapto改为调用ApplicationService成员变量ObjectMapper....原创 2020-09-29 17:05:10 · 1059 阅读 · 0 评论 -
防腐层(Anti Corruption Layer)介绍
防腐层(ACL):DDD(Eric Evans)中引入的模式, 用于隔离两个系统, 允许两个系统之间在不知道对方领域知识的情况下进行集成。主要进行的是两个系统之间的model(模型)或者协议的转换, 并且最终目的是为了系统使用者的方便而不是系统提供者的方便, 进一步解释就是ACL尽量把系统提供者的模型转换为系统使用者的模型(而不引入中间第三者模型)使用场景: 新旧系统切换时, 有些新系统需要和旧系统打交道, 此时可以利用 防腐层隔离新旧系统。 微服务中多个边界上下文的领域知识..原创 2020-09-29 17:02:03 · 15844 阅读 · 0 评论 -
绞杀者模式的介绍
先看两张图(来自Martin Fowler)上面图的介绍:绞杀无花果树绞杀无花果树是一种非常奇怪的树,它们不从地面开始生长。热带雨林重气 候湿润,一粒无花果树种子落在一颗树顶,如果条件合适,它就会在那儿发芽。 那颗树就成了它的寄主。那么,那些种子是怎样到那儿的呢?从猴子、蝙蝠或鸟 儿嘴里掉下来的。 由于发芽的小树在大树肩上,能得到更多的阳光,它长得很快,生出许多根 来缠绕着大树。这些根很快长长到达地面,源源不断地将水分和营养物质从绞杀 根送到高处。 根不断向下生长,它牢牢...原创 2020-09-29 17:00:18 · 1853 阅读 · 1 评论 -
EFcore 报错:Value cannot be null. Parameter name: frameworkName
今天在EF core 2.2 中使用code first 保存数据时遇到一个错误:Value cannot be null.Parameter name: frameworkNameat Microsoft.EntityFrameworkCore.Metadata.Internal.ClrCollectionAccessorFactory.Create(INavigation navigation)at Microsoft.EntityFrameworkCore.Metadat...原创 2020-09-29 16:55:18 · 4224 阅读 · 0 评论 -
Can‘t bind to ‘ngModel‘ since it isn‘t a known property of ‘xxx‘
当在angular中使用双向绑定时, 需要导入angular的FormsModule。import { FormsModule } from '@angular/forms';另外,记着 imports: [ FormsModule]原创 2020-09-29 16:56:54 · 3185 阅读 · 0 评论 -
基于Abp 的.net core 工程改造mysql 的记录
1. 首先从 https://aspnetboilerplate.com/创建个demo, 注意:abp现在有2个网站创建模板, 另一个是 http://abp.io/。 区别是abp.io是基于.net core 3.0以上的。因为项目需求, 此处用的还是第一个网站创建。2. 改造EntityFrameworkCore工程的引用,目前是用的.net core 2.2。具体最终的引用如下3. 该种EntityFrameworkCore工程里DbContextOptionsConfigurer .原创 2020-09-29 16:51:58 · 555 阅读 · 0 评论 -
使用nuget私用源 nexus 的方法
下载nuget命令程序,https://dist.nuget.org/win-x86-commandline/latest/nuget.exe, 可以参考 https://docs.microsoft.com/zh-cn/nuget/consume-packages/install-use-packages-nuget-cli 把下载好的nuget.exe放到一个自己建的目录, 比...原创 2020-04-09 14:39:21 · 1295 阅读 · 0 评论 -
使用npm私有源nexus 或者 verdaccio 的方法
1. 首先搭建npm的私有源, 比如使用Nexus, https://www.sonatype.com/nexus-repository-oss2. 下载nodejs,然后把npm路径加到环境变量里, https://nodejs.org/en/3. 使用命令来更改私有源, 并注册账号npm set registry http://10.6.110.103:34873npm a...原创 2020-04-09 14:37:27 · 1884 阅读 · 0 评论 -
docker push到harbor私有仓库出现的相关问题及解决办法
目录0. 我们打开harbor的镜像仓库, 可以看到有推送仓库的命令, 包含了具体地址1. 但是我在执行push命令报错了, Get https://10.6.119.106/v2/: dial tcp 10.6.119.106:443: connect: connection refused2. 看了说明需要在docker的配置文件中添加"insecure-registries...原创 2020-04-08 14:37:06 · 11725 阅读 · 0 评论 -
离线安装k8s的node
目录1.从k8s的github上下载最新版本的安装包。https://github.com/kubernetes/kubernetes/releases2.通过winscp把windows上的下载的安装包copy到centos虚拟机上3.更改各虚拟机的hostname, 比如一个为k8s-node1:hostnamectl set-hostname k8s-node14.假设etc...原创 2020-04-03 10:22:34 · 603 阅读 · 0 评论 -
在linux中离线安装k8s的master, 包括kube-apiserver, kube-controller-manager, kube-scheduler
1.首先建立3个centos7.6的虚拟机。比如用流行的VirtualBox2.从k8s的github上下载最新版本的安装包。https://github.com/kubernetes/kubernetes/releases3.通过winscp把windows上的下载的安装包copy到centos虚拟机上4.更改各虚拟机的hostname, 比如一个为k8s-master:hostna...原创 2020-04-03 10:18:50 · 1747 阅读 · 0 评论 -
Windows 10 中WSL 内部目录对应的本地目录
如windows 10 的wsl的目录C:\Users\你的用户名\appdata\local\Packages\CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc\LocalState\rootfs 2. 也可以在windows 的资源管理器中敲入 \\wsl$, 如果进入后发现目录为空, 请多次点击文件夹的菜单项”...原创 2020-04-03 10:15:04 · 20473 阅读 · 0 评论 -
Docker镜像的复制转移
有些时候因为我们的目标机器无法联网, 我们需要在一台上网机上下载好的docker image ,然后复制到另外的机器并离线安装。1.首先需要联网的机器可以连接Docker 仓库, 此仓库用于下载镜像docker pull xxxx2.把此镜像保存到当前目录docker save xxxx > xxxx.tar3.把此文件复制到目标机器上,在目标机器上加载...原创 2020-04-03 10:13:11 · 2417 阅读 · 0 评论 -
在linux上离线安装harbor的docker 私有仓库
1. 下载,https://github.com/goharbor/harbor/releases2. copy到目标linux上解压3. copy解压后的目录到/usr/local/harbor.sudo cp harbor/* /usr/local/harbor4.直接安装, ./usr/local/harbor/install.sh5. 如果遇...原创 2020-04-03 10:11:53 · 8413 阅读 · 2 评论 -
docker pull命令出现failed to register layer: rename C:\ProgramData\Docker\image\lcow\layerdb\tmp\write-s
今天在机器上从docker hub上拉取image时, 下载完成后报错, 如下:latest: Pulling from kaldiasr/kaldie79bb959ec00: Extracting [==================================================>]45.34MB/45.34MBb85bd7c06daa: Down...原创 2020-04-03 10:10:20 · 1807 阅读 · 0 评论 -
centos中离线安装docker 和docker compose
目录linux安装docker, 参考 https://docs.docker.com/install/linux/docker-ce/binaries/#install-static-binarieslinux离线安装docker-compose,参考 https://docs.docker.com/compose/install/linux安装docker, 参考 https...原创 2020-03-28 15:07:48 · 696 阅读 · 0 评论 -
centos中如何把进程以service自启动
1.linux的服务可以通过systemctl来启动/停止, 一般.service这样的配置文件来实现一个进程包装为服务。2. .service文件一般放在/usr/lib/systemd/system目录,也可能在/etc/systemd/system目录3..service文件定义了一个服务,分为[Unit],[Service],[Install]三个小节, 看看参考https:...原创 2020-03-28 14:58:35 · 813 阅读 · 0 评论 -
cenos 离线安装k8s集群的步骤及遇到问题的调试方法
放大看原图原创 2020-03-24 11:32:01 · 694 阅读 · 0 评论 -
windows 10 中安装Dokcer遇到的问题及解决方案。
目录1. 关于WSL的安装办法1.1 因为我的windows store 无法访问,只能根据下面的网站手动安装:1.2 当下载完成后, 就可以在powershell里用下面的命令安装appx文件1.3 安装完成后则系统会出现ubuntu的程序入口2. Docker for windows启动失败的解决办法:2.1 Docker for windows 启动失败2.2 ...原创 2020-03-05 15:05:05 · 2047 阅读 · 0 评论 -
DDD的基本概念介绍
DDD的基本概念澄清目录什么是DDDUbiquitous language (通用语言)Layered architecture(分层架构)Entity(实体)Value Ojbect(值对象)Service(服务)Module(模块)Aggregate(聚合)Factory(工厂)Repository(仓库)Specfication(规格)Bo...原创 2020-01-10 15:06:17 · 5521 阅读 · 0 评论 -
Server端常用技术介绍
2019年做了一个有意义的事情就是给出了一个完整的把单体工作站改为C/S架构的技术改造方案。现在把其中涉及到的通用非业务概念摘出来。目录1. C/S拓扑图2. 单体、2层C/S、3层C/S3. 会话介绍4.JWT介绍5. 远程过程调用(RPC)6. 服务器的多进程多线程开发技术7.缓存介绍8.单体数据库更改C/S面临的最大问题是高并...原创 2020-01-10 14:38:59 · 720 阅读 · 0 评论 -
angular使ng-zorro的nz-tree树控件
最近做angular项目中, 需要使用NG-Zorro中的tree, 遇到一些坑。 nz-tree的官方地址:https://ng.ant.design/components/tree/zh组件的html代码<nz-tree #nzTree [(ngModel)]="nodes" [nzShowLine]="true" [nzDefaultExpandAll]="false" >&...原创 2018-12-25 14:01:01 · 13139 阅读 · 5 评论 -
nz-tree的右键菜单的实现, 以及选中状态的实现
ant design of angular中的nz-tree在官方实例并没有给出和context menu的例子, 不过官方的context menu独立的例子倒是有:https://ng.ant.design/components/dropdown/zh#components-dropdown-demo-context-menu我们需要把nz-tree和context menu 结合。nz-...原创 2018-12-25 14:00:29 · 3751 阅读 · 7 评论 -
如何在typescript中移除数组中某一项
typescript中的数组 默认只有push、pop这样的增删api。 如果想移除数组中间的某一项元素, 可以通过:let node: int; //要移除的对象nodes: int[];this.nodes = this.nodes.filter(item => item !== node);...原创 2018-12-25 13:59:57 · 27102 阅读 · 0 评论 -
angular中安装ng-alain 插件
ng-alain官方给的安装如下:ng new demo --style lesscd demong add ng-alainng serve但是ng add报错。 最终还是按照npm来安装的λ npm install ng-alain --savenpm WARN ng-alain@1.0.4 requires a peer of @angular-devkit/core@^0.6.1 bu...原创 2018-12-25 13:59:26 · 1589 阅读 · 0 评论 -
angular cli入门
完成angular 官方的Hero教程 https://angular.cn/tutorialangular cli的常用命令如下:创建工程ng new 工程名启动工程ng serve 创建组件ng generate component 组件名称 创建服务ng generate service 服务名字创建路由ng generate module app-routing --flat --mo...原创 2018-12-25 13:58:18 · 167 阅读 · 0 评论 -
angular 2中elasticsearch.js的使用
1.安装进入angular工程中, 执行npm install --save elasticsearch2.封装api// 参考-https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/quick-start.htmlimport { Injectable } from '@angular/core...原创 2018-12-25 13:57:46 · 709 阅读 · 1 评论 -
angular的属性绑定
[ngModel] 单向绑定, 从model到view(ngModelChange) 单向绑定, 从view到model,比如click事件, (click)='onClick($event)'[(ngModel)] 双向绑定使用ngModel时,最好加上name属性。例子:@Component({ selector: 'exe-app', template: ` <form n...原创 2018-12-25 13:57:15 · 907 阅读 · 0 评论 -
git 中同步主干的代码到fork分支里
git 中同步主干的代码到fork分支里1.指定代码同步的源, 即最新代码库的地址git remote add upstream http://xxx.xxx.git2.远程代码提交到本地upstream/master分支git fetch upstream 3.切换本地master分支git checkout master4.把upstream/master合并到本地mastergit re...原创 2018-12-25 13:56:43 · 3383 阅读 · 0 评论 -
前端开发及构建流程
前端IDE: VS Code, git for vscode, tfs for vscode前端js框架:Angular前端第三方依赖包管理: NPM前端模块打包管理: Webpack前端自动化测试框架: karma + jasmine/Jest前端代码覆盖率: Istanbul前端CI/CD: gitlab + Jenkins/Travis; 或者TFS服务器: nginx/IIS后端IDE...原创 2018-12-25 13:56:12 · 947 阅读 · 0 评论 -
git的常用提交流程用到的命令
先把本地的更改暂存到stash里git stash save '本地更改的内容说明'git stash apply把文件提交到本地仓库git add 你修改的文件路径git commit -a同步本地仓库到服务器git push合并分支到主干git checkout 主干的名字git merge 你的分支的名字...原创 2018-12-25 13:55:36 · 183 阅读 · 0 评论 -
es的C# api 的封装和使用说明
说明:C#的elastic client通过ConnectionSettings来指定es server的地址C#的Request有多种类型封装,比如Search相关的封装SearchRequest, GetAlias相关的GetAliasRequest, Count相关的CountRequest, ping相关的PingRequest等。 即,es默认支持的关键字都有对应的requestC...原创 2018-12-25 13:55:04 · 448 阅读 · 0 评论 -
aspnet mvc中应用easyui 的教程
通过nuget获取easyui最新版 修改_Layout.cshtml文件: 代码行下加入如下代码 @RenderSection("styles", required: false) 结果: 在需要使用easyUI的子页面中修改: A. 顶部添加ea...原创 2018-12-25 13:52:48 · 982 阅读 · 0 评论 -
EF core的使用
EF core相比EF6 , 对于DDD的支持更好。 比如私有字段的映射, 私有数组多对多的映射等等。 EF core 有几个坑需要注意:1.多对多的关系,因为只支持HasOne和Withmany, 不支持HasMany。 因此必须手动建立多对多的关系表的entity定义类, sample code如下:class MyContext : DbContext{ pub...原创 2018-12-25 13:52:40 · 2563 阅读 · 0 评论 -
ASP.Net MVC中页面嵌套的使用教程
创建Layout的view, 在Views文件夹右键Add/MVC x Layout Page 代码如下: @{ Layout = null;}<!DOCTYPE html><html><head> <meta content="width=device-width...原创 2018-12-25 13:52:31 · 4193 阅读 · 1 评论 -
html中class和id的区别
class用来声明类别, 主要是指向css表中的类,可以给html元素赋予多个class, 例如:<html><head><style type="text/css">h1.intro{color:blue;text-align:center;}.important {background-color:yellow;}&l...原创 2018-12-25 13:52:23 · 10372 阅读 · 0 评论 -
用Html.BeginForm辅助方法进行easyui 的表单验证
代码片段如下(即可以用html的辅助方法,也可以用ajax的辅助方法): @{ ViewBag.Title = "Home Page";}@section styles{ <link rel="stylesheet" type="text/css" href="~/Content/themes/default/easyui.css">}&...原创 2018-12-25 13:52:14 · 392 阅读 · 0 评论 -
EF Code First 团队环境下工作方式规范
为了实现数据库自动迁移,需要在Package Manager Console 输入 Enable-Migrations –EnableAutomaticMigrations这个命令添加了一个Migrations文件夹到工程里, 并且文件夹里包含一个Configuration类。我们可以在Configuration类里配置迁移的行为,以及初始化一些出厂数据, 并且启用自动迁移等。 下面有...原创 2018-12-25 13:52:05 · 351 阅读 · 0 评论 -
ABP中把EF访问sql server改为mysql
在EntityFramewor和Web工程中通过nuget添加mysql.data.entity引用, 默认最新的是6.10。4 在web工程的web.config文件中更改连接字符串为mysql, 如下: <connectionStrings> <add name="Default" connectionString=...原创 2018-12-25 13:51:47 · 773 阅读 · 0 评论