一.简要说明 本篇文章主要是跟着官方的文档把项目安装好先,同时了解一下大概的项目结构. 二.具体步骤 2.1全局安装ABP CLI,直接在cmd中安装即可.如果你之前安装过,这里可以略过: dotnet tool install -g Volo.Abp.Cli 2.2转到你要保存项目的路径中输入cmd指令,回车: 输入: abp new AbpVnext.Learn -t module --no-ui --no-ui表示不包含UI层. 然后等待安装完成就可以了,这里首次安装会很慢,有vpn的可以…
一·背景 Abp vnext是 ABP 框架作者所发起一个完全基于 ASP .NET Core框架,截至2020年4月份已经升级到2.5.0版本,根据经验2.0版本以后可以放心的使用在生产环境.类似asp.net core一样,ABP vNext 比原来的ABP zero更加精简且可控性更强,你可以根据自己的爱好与需求引入自己所需要的组件.同时官方团队对此框架会进行持续的更新与迭代,github上面对issue的响应与处理也非常及时,以及官方也有abp zero这个成熟的案例.总的来说:是一个非…
简要说明 [项目源码] [章节目录] 本文主要介绍Automapper与Validation的使用方法.首先使用Automapper的目的是引入组件完成entity与dto之间的转换以达到简化代码的目的.Abp vnext的项目中已经默认添加好此组件了[介绍],本文只是说一些简单的用法,更进一步的使用需要到automapper的官网中查看文档其次是Validation主要是用于入参校验,通过对dto标注相应的属性达到入参校验的功能.[abp介绍][官方介绍] 具体步骤 1.Automapper的…
前言 本章结束之后,这个abp vnext系列算是初步完结了,基础的组件都已经接入了.如果各位还需要其它的组件的话,可以自己按需要进行接入使用.其实这个只是一个基础的框架,可以自己根据需要进行变通的.比如:如果没有太多需求且更熟悉三层的同学可以把application和application.contract去掉就是一个三层架构了.基础是基础,用好还是要看各位对业务的理解是否够深入才能发挥好框架的作用. 对于各个框架的使用,建议是:先使用起来,然后熟悉它,再然后改造它.并不是按照别人的标准一味的…
一.简要说明 本篇文章开始进行业务模块的开发模拟,借助user模块来进行业务开发,主要是用户相关的基础操作.主要是先使用Users来体验整个开发的流程.主要是先把一个基础流程跑顺利,在这里我并不会过于追求让所有属性都只能通过方法进去赋值这种写法,我觉得绝大部分项目并没有必要写到这样.虽然借助代码生成器,这种方法也很简单的生成出来.只是我觉得没必要,只是个人喜好.. 二.具体步骤 2.1.首先创建相应的Entity, 并将Entity放入Dbcontext中绑定Dbset 2.2.初始化Migra…
一.感想 在写这一系列文章之前,本来以为写这个之前已经搭建好的框架描述会比较简单,但是慢慢写下来才发现.写这个真的不简单额,本来以为图文一起,一个晚上应该能输出一篇吧...结果:现实真的骨感,一个星期能输出两篇都不错了.. 1.之前没有写过整体系列类的文章,从高考之后就基本上没有写长篇的文章了. 2.本系列文章主要定位面向是初中级的开发可以根据步骤来搭建,高级与架构主要是相互讨论一下借鉴,所以很多东西写得很简单,基本上相当于是手把手教搭建的了 3.虽然自己之前的搭建已经完成了,但是从新来的时候好…
一.简要说明 本篇文章根据我自己的需要对项目结果进行简化,让项目结构更符合我自己的要求,同时让项目跑起来.仅供参考 二.具体步骤 2.1卸载掉对我来说目前使用不上的项目,identityserver,mongodb,httpapi.client,以及对应的test项目 2.2删除掉下图红框中的包与类文件,由于我后期会创建一个独立的项目来做migrations,所以不需要在HttpApi.Host里面直接使用EF相关的操作,而且个人认为这样会模糊掉abpvnext的层级,混乱了层级的职责. 上图的…
前言 由于最近一直在修改一下排版,同时找了非技术的朋友帮忙看一下排版的问题,现在已经基本上确定了排版和样式了.更新可以恢复正常了. 作为一个写前端代码基本只写js不写css的开发,搞排版真的头疼..各位将就着看吧!!排版并不会太高大上,主要是保证了阅读体验,让各位尽量不会看得头晕眼花而错过了比较重要的内容.希望各位有收获吧!然后后面我会找个时间把之前的文章再重新排版一下.. 简要说明 [项目源码] [章节目录] 本文主要是介绍如何接入swagger来自动生成api文档.[Swagger介绍] 首…
一.简要说明 [项目源码] [章节目录]   前面我们已经初步完成了框架的功能了,jwt的也已经接入完成了.   现在需要进行全局异常的接入了,abpvnext官方本来就有了全局异常的模块了,介绍链接.但是我自己感觉那个并不是很符合我自己的开发标准,因此需要替换掉他们的异常处理,变成由我们自己输出的形式,且记录日志.   替换之前,首先我们需要知道的是在netcore中,若要定义自己的异常filter是需要继承IExceptionFilter的,并在Starup里面去注入.因此AbpExcept…
继续gulp的爬坑路,在准备get更多gulp的具体操作之前,先来明确一下在gulp中创建和使用多个task任务的情况. gulp所要做的操作都写在gulp.task()中,系统有一个默认的default任务,如下: var gulp = require('gulp');//gulp自身 gulp.task('default',['task1','task2'], function() { // 将你的默认的任务代码放在这 console.log("default"); }); 在命令…
有没有同学记得我们一起挖了多少个坑?嗯-其实我自己也不记得了,今天我们再来挖一个特殊的坑,这个坑可以说是挖到根源了--元编程. 元编程是编程领域的一个重要概念,它允许程序将代码作为数据,在运行时对代码进行修改或替换.如果你熟悉Java,此时是不是想到了Java的反射机制?没错,它就是属于元编程的一种. 反射 Rust也同样支持反射,Rust的反射是由标准库中的std::any::Any包支持的. 这个包中提供了以下几个方法 TypeId是Rust中的一种类型,它被用来表示某个类型的唯一标识.ty…
都说Vue2简单,上手容易,但小马过河,自己试了才晓得,除了ES6语法和webpack的配置让你感到陌生,重要的是思路的变换,以前随便拿全局变量和修改dom的锤子不能用了,变换到关注数据本身.vue的官方文档还是不错的,由浅到深,但是当你用vue-cli构建一个工程的时候,发现官方文档还是不够用,得参考git上开源的项目并去学习es6.而且vue的全家桶(vue-cli,vue-router,vue-resource,vuex)还是都要上的. 1.vue-cli 这个构建工具大大降低了webpa…
首先呢,下载一个visual  studio 2017的编辑器工具,可能有最新的2019年的版本,根据自己喜欢选择哪个版本就好了 visual studio IDE下载地址:https://visualstudio.microsoft.com/zh-hans/ 有社区版,企业版,专业版,一般来说个人的话社区版就好了,当然如果你有更高的要求,企业版,专业版也是你的选择. 下载的步骤与配置在这里就不详细说明了 新建一个项目步骤: 1.打开visual  studio  2017 IDE工具: 打开之…
得益于前辈的分享,做了一个h5录音的demo.效果图如下: 点击开始录音会先弹出确认框: 首次确认允许后,再次录音不需要再确认,但如果用户点击禁止,则无法录音: 点击发送 将录音内容发送到对话框中.点击即可播放.点击获取录音即可下载最后一次的音频: 播放下载都是围绕blob文件.播放就是让隐藏的audio标签的地址指向内存中的blob: this.play = function (audio,blob) { blob=blob||this.getBlob().blob; audio.src =…
本系列目录 一.Phalcon在Windows上安装 <Phalcon入坑指南系列 一> 二.Phalcon入坑必须知道的功能(项目配置.控制器.模型.增.删.改.查) 三.Phalcon如何切换数据库<Phalcon入坑指南系列 三> 复制标题直接搜索即可 前言 咔咔闲谈 在以前的项目中大多数都是一个库就搞定了,很少遇到多库操作的. ThinkPHP框架对于多库说的非常明白,但是这个Phalcon框架多库就不是那么容易了. 接下来看看Phalcon框架针对于跨库如何操作. 一.解…
学习了Vue全家桶和一些UI基本够用了,但是用元素的方式使用组件还是不够灵活,比如我们需要通过js代码直接调用组件,而不是每次在页面上通过属性去控制组件的表现.下面讲一下如何定义动态组件. Vue.extend 思路就是拿到组件的构造函数,这样我们就可以new了.而Vue.extend可以做到:https://cn.vuejs.org/v2/api/#Vue-extend // 创建构造器 var Profile = Vue.extend({ template: '<p>{{firstName…
Abp VNext是Abp的.NET Core 版本,但它不仅仅只是代码重写了.Abp团队在过去多年社区和商业版本的反馈上做了很多的改进.包括性能.底层的框架设计,它融合了更多优雅的设计实践.不管你是自己需要快速上手项目.或者是公司的研发团队没有足够的能力去完整地开发一套稳定且功能全面的快速开发框架:对于.NET 系的开发者和公司来说,Abp目前就是你目前最好的选择.2020年7月15日和腾飞Jesse.计节做了一次<我和ABP vNext的故事>直播,期间我分享时间超时,占用了25分钟,也就…
本系列目录 一.Phalcon在Windows上安装 <Phalcon入坑指南系列 一> 二.Phalcon入坑必须知道的功能<Phalcon入坑指南系列 二> 三.Phalcon如何切换数据库<Phalcon入坑指南系列 三> 前言 使用Phalcon框架大多数都是为了其多模块功能来的,今天来聊聊Phalcon多模块如何使用. 依然是一步一个坑,使用这个框架就是痛并快乐着,一边承受坑带来的痛苦,一边享受解决坑的快乐. 一.创建一个多模块应用 使用命令先来创建出一个多模…
0   前言 用过 SQLserver 和 MySQL 的自增列(auto_increment),然而 Oracle 在建表设置列时却没有自增列. 查阅资料后发现 Oracle 的自增列需要手动编写. 1   序列  1.1.创建序列(sequence) create sequence [sequence_name] --创建序列 increment --递增步长为1 start --开始值为1 nomaxvalue --没有最大值 (设置最大值:maxvalue 1000) minvalue…
简介 <Asp.Net Core3 + Vue3入坑教程> 此教程适合新手入门或者前后端分离尝试者.可以根据图文一步一步进操作编码也可以选择直接查看源码.每一篇文章都有对应的源码 目录 <Asp.Net Core3 + Vue3入坑教程>系列教程目录 Asp.Net Core后端项目 后端项目搭建与Swagger配置步骤 配置CROS策略解决跨域问题 AutoMapper & Restful API & DI EF Core & Postgresql .Ne…
背景 我们在用EFCore框架操作数据库的时候,我们会遇到在 xxDbContext 中要写大量的上下文 DbSet<>; 那我们表少还可以接受,表多的时候每张表都要写一个DbSet, 大量的DbSet无异于是很蛋疼的一件事:而且看上去也很啰嗦,也不美观:至此我们就开始了下边的踩坑之旅: EFCore 如何实现动态DbSet 我们网上百度一下千篇一律大概都是一下这种方式来实现动态的 我们一般都是先定义实体 public class UserJob: IEntity { public Guid…
这个项目起源于去年公司相要尝试用微服务构建项目,在网关的技术选型中,我们原本确认了ApiSix 网关,如果需要写网关插件需要基于Lua脚本去写,我和另外一个同事当时基于这个写了一个简单的插件,但是开发测试以及发布都很麻烦,而且使用Lua脚本作为插件的开发语言本身也不是我们强项. 后来通过其他渠道了解到了微软出了一个反向代理组件 Yarp,而且也有人基于它去做过一些项目,于是我就决定自己基于它来构建一个简单的Api网关,能够满足基础需求就好. 项目技术使用: 开发平台: .Net 6 + MySq…
反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑)   背景介绍: 为了平衡社区成员的贡献和索取,一起帮引入了帮帮币.当用户积分(帮帮点)达到一定数额之后,就会“掉落”一定数量的“帮帮币”.为了增加趣味性,帮帮币“掉落”之后所有用户都可以“捡取”,谁先捡到归谁. 但这样就产生了一个问题,因为这个“帮帮币”是可以买卖有价值的,所以难免会有恶意用户用爬虫不断的扫描,导致这样的情况出现: 注:经核实,乔布斯的同学 其实没有用爬虫,就是手工点,点出来的!还能说什么呢?只能表示佩服啊佩服……
系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 基于 abp vNext 和 .NET Core 开发博客项目 - 完善与美化,Swagger登场 基于 abp vNext 和 .NET Core 开发博客项目 - 数据访问和代码优先 基于 abp vNext 和 .NET Core 开发博客项目 - 自定义仓储之增删改查 基于 abp vNe…
开篇废话: 在9月份时参加了一个网站的比赛,比赛的题目是需要使用第三方平台提供的服务做出创意的作品. 于是我选择使用语音服务,天气服务,Unity3D,Android来制作一个3D语音天气预报,我给它起名叫做3D语音天气球(好土...) 虽然没获奖但我觉得这个项目中还是有些东西比较有创意的,所以打算分享出来,或许有人会用到. 下面简单看下效果图: 左边是Unity做出后在电脑上运行效果图 右边是Unity结合Android和语音控制之后在手机运行的效果图(手机不会做GIF):      瞅着还不…
一.简要说明 本篇文章主要剖析与讲解 Abp vNext 在 Web API 项目下的启动流程,让大家了解整个 Abp vNext 框架是如何运作的.总的来说 ,Abp vNext 比起 ABP 框架更加精简.因为在 vNext 版本当中,原来归属于 Abp 库的许多内置的基本组件 (组织单元.拦截器等) 被拆分成了单独的模块,这样我们来看它整个启动流程就更加地直观清晰. 二.源码分析 要分析其源码,我这里是从他官方的 Demo 模板入手的,你可以在 https://abp.io 上构建你自己的…
1   表空间是什么 1.1.数据表看做的货品,表空间就是存放货品的仓库.SQLserver 用户可以把表空间看做 SQLserver 中的数据库. 1.2.引用[日记二]的总结来解释表空间. 一个数据库由一个或多个表空间组成,一个表空间只能属于一个数据库一个表空间由一个或多个多个数据文件组成,一个数据文件只能属于一个表空间一个数据文件由一个或多个操作系统块组成,每一个操作系统块只能数以一个数据文件一个表空间可以包含一个或多个段,一个段只能属于一个表空间一个段由一个或多个区组成,每一个区只能属于…
1.SID(数据库实例) 1.1. oracle安装的时候有一项叫[全局数据库名]的填写项,这个就是oracle的SID也是数据库的唯一标识符: 1.2.一个oracle数据库有且只有一个SID(一般情况一台服务器或桌面机只有一个SID),SID主要用于一些DBA操作以及与操作系统交互,例如,远程连接数据库就需要指定SID: 1.3.PL/SQL 连接 格式 : username@ip:1500/SID 1.4.安装oracle时命名,SID存在于注册表中,可以修改: 1.5.在Windows下…
React 事件处理 建议:在了解 js 的 this 取值后食用更佳. 一.react 与 Html 中用法的异同和注意点 html 中的绑定事件的写法: <button onclick="activateLasers()"> // onClick = "xxxx()" 激活按钮 </button> react 中的写法: <button onClick={activateLasers}> // onclick = { xxxx…
译注: ABP的主要负责人hikalkan最近又发布了一篇博客, 说明了ABP vNext的微服务演示,项目状态和路线图.其中特意对ABP的中文社区进行了感谢! 本文翻译自该博客文章(https://abp.io/blog/abp/Microservice-Demo-Projects-Status-and-Road-Map). 微服务演示,项目状态和路线图 在ABP vNext上的第一个公告之后,我们对代码库进行了很多改进(GitHub存储库上的1100多次提交).我们已经创建了功能,示例,文档…