Gitee

从壹开始前后端分离【 .NET Core2.0/3.0 +Vue2.0 】框架之十 || AOP面向切面编程浅解析:简单日志记录 + 服务切面缓存

为君一笑 提交于 2020-12-06 04:09:58
本文3.0版本文章 https://mp.weixin.qq.com/s/pjvleNGi_AazZ7COdxQyPQ 代码已上传Github+Gitee,文末有地址   上回《 从壹开始前后端分离【 .NET Core2.0 Api + Vue 2.0 + AOP + 分布式】框架之九 || 依赖注入IoC学习 + AOP界面编程初探 》咱们说到了依赖注入Autofac的使用,不知道大家对IoC的使用是怎样的感觉,我个人表示还是比较可行的,至少不用自己再关心一个个复杂的实例化服务对象了,直接通过接口就满足需求,当然还有其他的一些功能,我还没有说到,抛砖引玉嘛,大家如果有好的想法,欢迎留言,也可以来群里,大家一起学习讨论。昨天在文末咱们说到了AOP面向切面编程的定义和思想,我个人简单使用了下,感觉主要的思路还是通过拦截器来操作,就像是一个中间件一样,今天呢,我给大家说两个小栗子,当然,你也可以合并成一个,也可以自定义扩展,因为我们是真个系列是基于Autofac框架,所以今天主要说的是基于Autofac的Castle动态代理的方法,静态注入的方式以后有时间可以再补充。   时间真快,转眼已经十天过去了,感谢大家的鼓励,批评指正,希望我的文章,对您有一点点儿的帮助,哪怕是有学习新知识的动力也行,至少至少,可以为以后跳槽增加新的谈资 [哭笑],这些天我们从面向对象OOP的开发

IDEA 激活码,IDEA 注册码,IDEA 2019.3 激活码

天大地大妈咪最大 提交于 2020-12-06 02:25:55
https://www.cnblogs.com/souyunku/archive/2020/03/04/12405977.html 申明:本教程 IntelliJ IDEA 2019.3 激活方式 均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。 注意:激活,可到 2089 年 本教程理论上适用于 IntelliJ IDEA 所有版本,请放心食用~ 本教程适用于 JetBrains 全系列产品,包括 Pycharm、IDEA、WebStorm、Phpstorm、Datagrip、RubyMine、CLion、AppCode 等。 本教程无需修改 hosts 文件 。 一、前言 说实话,IDEA 更新是真滴快,还以为 IDEA 2019.2.4 后面会更新 IDEA 2019.2.5 版本,谁知道 11 月份刚结束,官方直接就上了 2019.3 版本 ... 据官方说 IDEA 2019.3 版本在启动速度以及 UI 交互上做了很大优化。 废话少说,开始激活... 二、关于破解方法 破解补丁 + 注册码 的方式激活 这种步骤繁琐一些,但是 能激活到 2089 年 。 通过破解补丁+注册码的方式,以下是详细步骤: 三、下载最新的 IDEA 2019.3 其实也可以从老版本直接升级,这里为了照顾大部分人可能第一次安装,我们选择从官网下载,下载地址为: https:/

常用网站记录

泪湿孤枕 提交于 2020-12-05 10:52:00
在Linux服务器上安装Jenkins:https://www.jianshu.com/p/c517f09df025 码云:https://gitee.com python生成requirement 使用requirements.txt安装类库:https://www.cnblogs.com/zhaoyingjie/p/6645811.html 在线UTF-8编码转换工具:http://www.ecjson.com/utf8/ jQuery选择器语法:http://www.360doc.com/content/18/0515/15/55624432_754145608.shtml jQuery插件库插件搜索:https://www.jq22.com/search?seo=多选下拉框 jQuery之家:http://www.htmleaf.co jQuery的父子兄弟节点查找,节点的子节点循环:https://www.cnblogs.com/mingforyou/p/4410054.html 测试用LinuxIP阻隔模拟断网方法:https://blog.csdn.net/xiaoguanyusb/article/details/81112523 Highcharts 图标插件:https://www.highcharts.com/demo Bootstrap弹出输入框:https:

BeetlSQL3.0.0-M5 发布,Spring框架集成

狂风中的少年 提交于 2020-12-05 05:42:51
BeetlSQL3.0.0-M5主要对Spring,Spring Boot ,JFinal,Solon等框架进行集成,并新增 ignite,CouchBase内存数据库的支持。 M6 计划对更多的国产数据库支持, 内存和图数据库支持。以及发布BeetlSQL3的Idea 插件。 <dependency> <groupId>com.ibeetl</groupId> <artifactId>beetlsql-all</artifactId> <version>3.0.0-M5</version> </dependency> 轻松集成Spring BeetlSQL的目标是提供开发高效,维护高效,运行高效的数据库访问框架,在一个系统多个库的情况下,提供一致的编写代码方式。 传统数据库:MySQL,MariaDB,Oralce,Postgres,DB2,SQL Server,H2,SQLite,Derby,神通,达梦,华为高斯,人大金仓等 大数据:HBase,ClickHouse,Cassandar,Hive 物联网时序数据库:Machbase,TD-Engine SQL查询引擎:Drill,Presto,Druid 内存数据库:ignite,CouchBase BeetlSQL 不仅仅是简单的类似MyBatis或者是Hibernate,或者是俩这的综合

EasyExcel--Excel工具

和自甴很熟 提交于 2020-12-05 05:22:38
特点 一看就懂的excel操作工具 demo gitee地址 https://gitee.com/ichiva/easy-excel-demo.git 主要依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.5</version> </dependency> 编写测试用例 实体类 @Data public class Student { //设置excel表头名称和顺序 @ExcelProperty(value="学生编号",index=1) private Integer sno; @ExcelProperty(value="学生姓名",index=0) private String sname; } 编写监听器 public class ExcelListener extends AnalysisEventListener<Student> { //一行一行读取excel内容 @Override public void invoke(Student data, AnalysisContext analysisContext) { System.out.println("*****" + data); } //读取表头内容 @Override

WPF 基于Adorner实现类似Popup效果

社会主义新天地 提交于 2020-12-05 00:40:30
1. 什么是Adorner 装饰器是一种特殊类型的 FrameworkElement ,可用来向用户提供可视提示。 装饰器有很多用途,可用来向元素添加功能句柄,或者提供有关某个控件的状态信息。 2. 使用Adorner实现Popup的原因 1. 通过AdornerLayer存在与独立的布局系统,不会与界面布局环论 2. 使用过WPF中的Popup就可以知道Popup中有许多的限制(例如需要实现某些效果比较麻烦) 3. 效果 4. 主要实现 1. Popup中当StaysOpen为False的情况下,当打开Popup后如果再点击其他区域时将会关闭Popup的实现(实现方法参考自Popup, 但是不采用Mouse.Capture(element),因为会导致其他控件无法收到鼠标实现 if (StaysOpen) return ; Point pos = e.GetPosition(ListenMouseElement); HitTestResult hitResult = VisualTreeHelper.HitTest(ListenMouseElement, pos); if (hitResult == null ) { IsOpen = false ; return ; } // 如果点击对象对Child则返回 if (TreeHelper.IsDescendantOf

冲刺周三The Third Day

天涯浪子 提交于 2020-12-04 18:35:17
一、ThirdDay照片 二、项目分工 三、今日份燃尽图 四、项目进展 码云团队协同环境构建完毕 利用Leangoo制作任务分工及生成燃尽图 完成AES加解密部分代码 用代码实现对文件的新建、移动、复制、删除 学习文件查找并加入到对文件基本操作的类中 Android界面添加按钮及事件处理机制 五、问题与困难 问题1:在编写查找文件的代码时,我考虑到了在现实生活里,用户很可能会因为记不住,而给不出想查找的文件的指定文件夹路径。 问题1解决方案:在原有给定路径进行查找文件的基础上,我新增了全盘查找方式。并将两种方式的选择,放置在用户选择查找文件后,只是全盘查找花费的时间较长。 六、心得与体会 鑫浩 冲刺周的第三天,代码的编写也进入了中间阶段,开始着手已完成代码的串联工作,在这个过程中,我们不但完善了代码,同时也更加熟悉了软件的整体架构。 老彭 到了第三天,依旧不断有问题出现而得不到解决,心情有些焦虑,希望能在明天完成文件功能的完整实现。 小谢 今天是第三天,我们在编写代码的同时也对已有的代码进行了汇总,并进行编译,看能否正常运行,虽然难度挺大,但是在我们小组成员的不懈努力下,最终还是达到了预期效果,接下来的几天,希望我们再接再厉! 泽龙 第三天,工作分块的加多,促使我们需要更好地去做架构。为了最后的胜利,我们还要继续加油。 祥杰 经过前两天的锻炼后,我也慢慢适应了冲刺阶段的节奏

Tushare-SDK

泄露秘密 提交于 2020-12-04 10:12:39
tushare一直没有出java的sdk,好在出了http协议的api.本项目根据http的api封装而成 gitee地址 https://gitee.com/ichiva/tushare-sdk.git 项目目录 定义实体类 @Getter @Setter public class TuTable implements Serializable { private String[] fields; private String[][] items; } 定义获取数据的接口 /** * tu 数据 */ public interface TuData { /** * 获取数据 * @return */ Optional<TuTable> get(); } 定义api请求和应答 请求 @Data public class TuRequest implements Serializable { /** * 接口名 */ private String api; private String token; /** * 输入参数 */ private Map<String,String> params; /** * 输出参数 */ private String[] fields; /** * 输出参数描述 */ private String[] fieldsName; /** * 接口描述

《Redis基础》笔记

狂风中的少年 提交于 2020-12-02 05:53:36
同步自 https://gitee.com/Corvey/note 数据类型 strings set key value 和 get key ,注意set操作会覆盖已有的key/value,若不希望覆盖可使用 set key value nx mset key1 value1 key2 value2 ... 和 mget key1 key2 ... 一次性完成多个key/value关系 incr key 加一, incrby key increment 加increment decr key 减一, decr key decrement 减decrement Lists lpush key value... 将多个value依次插入到key的最左边, rpush 最右 lrange key start stop 输出key的start到stop范围,负数表示倒数 lpop key 和 rpop key 弹出key的最左或最右 lset key index value 将key的index位置元素 修改 为value Hashes hset key field value 和 hmset key field1 value1 field2 value2... hget key field 和 hmget key field1 field2... hincrby key field

grafana界面查询功能demo

折月煮酒 提交于 2020-12-02 01:52:35
接到一个任务,给社区数字运营看板的一部分看板新增查询功能,想了想,grafana有自带的配置功能,提供用户根据Lucene查询语法搭配使用,可以做到动态查询,废话不多说,上菜 首先,看板数据已经准备好,如下,统计仓库中的issue信息,我们要做的是根据关键字进行模糊查询 第一步: 先配置查询的参数,查询方式为term,根据特定字段这边是gitee_repo这个是和编辑面板中模糊匹配的名称一致({"find":"term","field":"gitee_repo"}),如下图 第二步:gitee_repo:http*$gitee_repo*, Lucene支持在Term中使用通配符来支持模糊查询,其中*匹配多个字符,?匹配单个字符,具体情况大家可以随意发挥, 第三步,已经配置完成,检查一下效果,搜索关键词mep,结果如下图: 至此,任务完成,其中用到的查询方式为term,为什么要用term呢,因为我们查询仓库的信息是单个关键词,同时呢,我们又不能把整个仓库的链接全打上,因此,这边选择term查询,顺便普及一下通用的几种查询的区别,方便大家对号使用 term: 在倒排索引中查找确定的词组,它不会分词,通常适用于 keyword、 numeric、date 等类型的值 term:查询某个文档含有多个关键词 mathc:对查询的字符串会进行分词,类如 "hello babay",