c3b2a7 / c3b2a7.github.io Goto Github PK
View Code? Open in Web Editor NEWHome Page: https://lolico.me
Home Page: https://lolico.me
问题由来在一次将Asp.net Core默认日志换成NLog时,发现NLog配置文件中的设置不生效?具体的来说就是在NLog文件中设置的路由以及对应的日志级别只有在Info或者以上时才生效,而Debug、Trace级别则不会有日志输出。比如我的NLog配置:123456789101112131415161718192021222324252627282930313233<?xml versi
https://lolico.me/2020/02/04/Shiro%E7%AE%80%E4%BB%8B/
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在 JavaSE 环境,也可以用在JavaEE 环境。Shiro 可以帮助我们完成:认证、授权、加密、会话管理、与 Web 集成
https://lolico.me/2020/03/10/2020-JetBrains-Quest-One/
2020年3月9日,JetBrains官方推特发布了这么一条消息:48 61 76 65 20 79 6f 75 20 73 65 65 6e 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 66 20 74 68 65 20 4a 65 74 42 72 61 69 6e 73 20 77 65 62 73 69 74 65 3f观察这
https://lolico.me/2020/04/12/python3%E5%AE%89%E8%A3%85dlib%E5%BA%93/
python3编译安装dlib库十分麻烦,这里提供已经编译好的whl文件,使用pip直接安装即可。
https://lolico.me/2020/04/22/Why-cannot-use-this-pointer-to-get-vue-instance/
不要在选项属性或回调上使用箭头函数,比如created: () => console.log(this.a)或vm.$watch('a', newValue => this.myMethod())。因为箭头函数并没有this,this会作为变量一直向上级词法作用域查找,直至找到为止,经常导致Uncaught TypeError: Cannot read property
https://lolico.me/2020/04/15/Git%E8%BF%9E%E6%8E%A5%E5%A4%9A%E4%B8%AAGitHub%E8%B4%A6%E5%8F%B7/
前言用ssh连接GitHub,需要在GitHub账号上传唯一的公钥。当我们需要连接两个或多个GitHub账号,上传同一个公钥是不允许的,那么该如何设置才能在一台电脑上连接多个GitHub账号呢?
https://lolico.me/2019/12/19/SpringBoot%E8%87%AA%E5%8A%A8%E9%85%8D%E7%BD%AE%E5%8E%9F%E7%90%86/
前言不论在工作中,亦或是求职面试,Spring Boot已经成为我们必知必会的技能项。除了某些老旧的政府项目或金融项目持有观望态度外,如今的各行各业都在飞速的拥抱这个已经不是很新的Spring启动框架。当然,作为Spring Boot的精髓,自动配置原理的工作过程往往只有在“面试”的时候才能用得上,但是如果在工作中你能够深入的理解Spring Boot的自动配置原理,将无往不利。Spring Bo
https://lolico.me/2020/03/14/2020-JetBrains-Quest-Three/
2020年3月13,JetBrains Quest第三弹到来:
前言在web项目中采用用户注册时的时间戳作为密码加密的salt:123public String getSalt(User user) { return String.valueOf(user.getRegistrationTime().getTime()/1000L);}数据库中保存注册时间戳的字段类型使用Timestamp(0)即10位精确到的秒时间戳注册用户逻辑:1
https://lolico.me/2019/12/27/%E5%86%8D%E8%B0%88SpringDataJPA/
前言在 关于SpringBoot使用JPA进行更新操作 这一篇文章中曾提到了关于jpa使用save方法更新记录时会出现当有些参数为null时,save操作会用null覆盖数据库中的字段的情况,通常我们的需求是动态的去更新记录,而不是全部覆盖,所以对比起Mybatis的动态sql,Jpa不太灵活的特性就暴露出来,事实上,对于动态更新虽然实现上麻烦了点,但还是能操作一下的。以前的方法对于以前实现动态更
https://lolico.me/2019/11/15/SpringDataJPA%E6%A8%A1%E7%B3%8A%E6%9F%A5%E8%AF%A2/
实体类User.java123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475@Entity@Table(name = "user")public class User &
现在有这样一个场景:有一个按钮监听器类ButtonListener:ButtonListener.java123456import me.lolico.demo.button.event.ButtonEvent;import java.util.EventListener;public interface ButtonListener ex
不要在选项属性或回调上使用箭头函数,比如created: () => console.log(this.a)或vm.$watch('a', newValue => this.myMethod())。因为箭头函数并没有this,this会作为变量一直向上级词法作用域查找,直至找到为止,经常导致Uncaught TypeError: Cannot read property
从源码去分析认证流程前,你需要知道Shiro是什么,以及Shiro中的基本组件。在看本篇文章前,我假设你已经知道上述东西,并且后续的分析不会对这些组件是什么进行讲解。如果你并不了解Shiro可以看下我的这篇博文:Shiro简介 对于更详细的分析,大家可以百度、google一下,资料应该是很全的。Shiro工作流程简述Shiro进行认证的本质还是通过过滤器进行拦截,过滤器拦截后判断是否需要进行认证,
问题由来异常:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990org.springframework.be
https://lolico.me/2019/10/19/ModelAttribute-SessionAttribute-and-SessionAttributes-in-SpringBoot/
@ModelAttribute如果希望将方法入参对象添加到模型中,则仅需要在相应入参前使用@ModelAttribute注解。来看一个具体的实例:12345@GetMapping("/h")public User user(@ModelAttribute("user") User user) { user.setNickName("lolico li"); return us
https://lolico.me/2020/03/11/2020-JetBrains-Quest-Two/
2020年3月11,JetBrains Quest第二弹到来:.spleh A+lrtC/dmC .thgis fo tuo si ti semitemos ,etihw si txet nehw sa drah kooL .tseretni wohs dluohs uoy ecalp a si ,dessecorp si xat hctuD erehw esac ehT .sedih tseuq
https://lolico.me/2020/05/19/Using-custom-WSL-in-jetbrains-product/
JetBrains产品对于WSL提供了一定的支持,但是其只支持Microsoft Store中发行的WSL,对于类似ArchWSL这种非商店发行版,在配置工具链时却不能够被发现。下面给出两个方法来解决这个问题。由于我目前只使用过ArchWSL这个非商店发行版的WSL,所以下面以ArchWSL为例,对于其他版本的WSL,理论上也行得通。第一种方法很简单,而且在我测试中也只有这个方法有用只需将Arch
前言我们都知道,在一个请求被前端控制器DispatchServlet捕获后会经历下面几个流程:DispatherServlet根据请求URL解析获取请求URI,调用HandlerMapping#getHandler方法获取HandlerExecutionChain获取返回的HandlerExecutionChain处理器执行链(包括处理器对象和拦截器对象)根据处理器执行链获取一个处理器适配器Han
前言Spring提供了AbstractRoutingDataSource类以方便开发者实现多数据源,看一下AbstractRoutingDataSource#getConnection()的源码:1234@Overridepublic Connection getConnection() throws SQLException { return determineTargetDataSo
https://lolico.me/2020/03/03/hello-world/
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.博客以迁移至
https://lolico.me/2020/03/15/%E5%B5%8C%E5%A5%97%E5%88%97%E8%A1%A8%E6%8E%A8%E5%AF%BC%E5%BC%8F/
列表解析中的第一个表达式可以是任何表达式,包括列表解析。考虑下面由三个长度为 4 的列表组成的 3x4 矩阵:12345>>> matrix = [... [1, 2, 3, 4],... [5, 6, 7, 8],... [9, 10, 11, 12],... ]现在,如果你想交换行和列,可以用嵌套的列表推导式:12>>> [[row[
https://lolico.me/2020/04/24/Change-comment-plugin-to-gitalk/
正式将评论插件由valine更改为gitalk,提高了评论的门槛,但考虑到文章受众以及博客类型,还是可以接受的。之前的评论丢失,后续也可能会考虑回到valine。
https://lolico.me/2019/11/12/EntityManagerFactory%E5%92%8CEntityManager/
常见异常及可能的解决办法javax.persistence.TransactionRequiredException: no transaction is in progress可能的原因:没有开启事务开启事务没有生效@transactional注解是作用于EntityManager的操作的层级上EntityManagerFactory#createEntityManager生成的EntityMa
不要在选项属性或回调上使用箭头函数,比如created: () => console.log(this.a)或vm.$watch('a', newValue => this.myMethod())。因为箭头函数并没有this,this会作为变量一直向上级词法作用域查找,直至找到为止,经常导致Uncaught TypeError: Cannot read property
https://lolico.me/2020/05/03/SpringBoot2-AOP-uses-cglib-proxy-by-default/
在一次偶然情况下发现SpringBoot开发的应用在没有使用@EnableAspectJAutoProxy注解的情况下,AOP还是可以正常工作。不经引起了我的注意,随后便猜测SpringBoot中是否存在一个自动配置类在不使用注解的情况下完成自动配置并开启了AOP。
https://lolico.me/2020/04/27/Spring-Security-CORS/
写在前面在SpringSecurity中配置跨域,我相信所有用过SpringSecurity的人应该都知道,因为实在是太简单了。那我为什么还要写这篇文章呢?写这篇文章的目的当然不是去解释如何配置跨域,而是通过分析Spring对跨域支持的源码来感受设计中的优雅。先声明一下开发环境:SpringBoot:2.2.2
不要在选项属性或回调上使用箭头函数,比如created: () => console.log(this.a)或vm.$watch('a', newValue => this.myMethod())。因为箭头函数并没有this,this会作为变量一直向上级词法作用域查找,直至找到为止,经常导致Uncaught TypeError: Cannot read property
https://lolico.me/2020/04/15/Git%E8%BF%9E%E6%8E%A5%E5%A4%9A%E4%B8%AAGitHub%E8%B4%A6%E5%8F%B7/
前言用ssh连接GitHub,需要在GitHub账号上传唯一的公钥。当我们需要连接两个或多个GitHub账号,上传同一个公钥是不允许的,那么该如何设置才能在一台电脑上连接多个GitHub账号呢?
不要在选项属性或回调上使用箭头函数,比如created: () => console.log(this.a)或vm.$watch('a', newValue => this.myMethod())。因为箭头函数并没有this,this会作为变量一直向上级词法作用域查找,直至找到为止,经常导致Uncaught TypeError: Cannot read property
在一次部署Asp.Net Core应用时遇到了这么几个问题:启动应用后,从IConfiguration中获取不到连接字符串。使用nginx反代后,Identity框架页面跳转后域名被改写成了localhost或者主机名。问题一:应用使用sqlite数据库,在程序启动后创建并初始化数据库,本地开发启动并没有报错,但是部署到服务器却获取不到连接字符串,报错:百度和谷歌都无果,最初我还以为是程序中某个地
前言在使用Spring进行web开发时经常会遇到前后台互相传值的问题,大致分无非就是下面两种情况:将参数以及值直接放在request的请求体(POST)或者url(GET)中。将参数以及值以JSON的形式发送(POST或者GET)到服务端。Spring其实对前后台传值时参数的绑定提供了支持,像我们平时接触的转换器Converter以及消息转换器HttpMessageConverter的工作就是将‘
https://lolico.me/2020/04/12/python3%E5%AE%89%E8%A3%85dlib%E5%BA%93/
python3编译安装dlib库十分麻烦,这里提供已经编译好的whl文件,使用pip直接安装即可。
利用正则表达式匹配日期字符串格式并转换1234567891011121314151617181920212223242526272829303132public class DateConverter { public static Date parseDate(String dateStr, String format) throws ParseException 
https://lolico.me/2020/04/15/Git%E8%BF%9E%E6%8E%A5%E5%A4%9A%E4%B8%AAGitHub%E8%B4%A6%E5%8F%B7/
前言用ssh连接GitHub,需要在GitHub账号上传唯一的公钥。当我们需要连接两个或多个GitHub账号,上传同一个公钥是不允许的,那么该如何设置才能在一台电脑上连接多个GitHub账号呢?
https://lolico.me/2020/04/12/python3%E5%AE%89%E8%A3%85dlib%E5%BA%93/
python3编译安装dlib库十分麻烦,这里提供已经编译好的whl文件,使用pip直接安装即可。
使用SimpleJpaRepository#save(JpaRepository的默认实现,更新操作本质上是调用EntityManager#merge方法)进行更新操作时会发现:在传入的对象只有部分参数时,更新后数据库中该记录的其他字段为null解决:123456789@Transactional@Modifying@Query("update User u set u.email=:#{
不要在选项属性或回调上使用箭头函数,比如created: () => console.log(this.a)或vm.$watch('a', newValue => this.myMethod())。因为箭头函数并没有this,this会作为变量一直向上级词法作用域查找,直至找到为止,经常导致Uncaught TypeError: Cannot read property
不要在选项属性或回调上使用箭头函数,比如created: () => console.log(this.a)或vm.$watch('a', newValue => this.myMethod())。因为箭头函数并没有this,this会作为变量一直向上级词法作用域查找,直至找到为止,经常导致Uncaught TypeError: Cannot read property
环境:SpringBoot 2.2.2拦截器方式一:写一个配置类,实现WebMvcConfigurer接口并实现addInterceptors方法过滤器方式一:使用@component或@bean配合进行注册方式二:当使用嵌入式web服务器时使用@ServletComponentScan配置扫描,同时可以用来注册filter、servlet和linstener转换器方式一:使用@component
不要在选项属性或回调上使用箭头函数,比如created: () => console.log(this.a)或vm.$watch('a', newValue => this.myMethod())。因为箭头函数并没有this,this会作为变量一直向上级词法作用域查找,直至找到为止,经常导致Uncaught TypeError: Cannot read property
https://lolico.me/2020/04/24/vue/
写在前面原本是打算写一个VueJS学习笔记专栏,用于记录vue学习过程中的一些感想,但后来想想,如此做实在是太麻烦,并且每篇文章的篇幅也会比较短,所以现在考虑直接在这一篇博文中进行总结。将学习过程中的感谢或者踩得一些坑直接记录在此一篇文章中,尽量做到每个点都短小精悍。该篇博文并非最终稿,内容会随着文章的更新不断丰富。官方中文文档:Guide:https://cn.vuejs.org/v2/guid
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.