• 博客(470)
  • 资源 (43)
  • 收藏
  • 关注

原创 spring源码解析之从AbstractApplicationContext#refresh()初始化单例过程看Bean的创建过程

1.简介AbstractApplicationContext#refresh()方法的最后一步是初始化所有单例 /** * 完成此上下文的bean工厂的初始化,初始化所有剩余的单例bean。 * @param beanFactory */ protected void finishBeanFactoryInitialization(ConfigurableListableBeanFactory beanFactory) { /** 为此上下文初始化转换服务{@link.

2020-10-16 14:59:21 141 1

原创 spring源码解析之ConfigurationClassPostProcessor对@Configuration注解的处理

1.简介之前讨论过,spring框架在读取配置类Bean定义时,会预先注册一系列BeanDefinitionRegistryPostProcessor、BeanPostProcessor用来处理@Configuration、@Autowired等注解其中ConfigurationClassPostProcessor就是用来处理@Configuration注解,读取配置类,注册配置的Bean定义。2.继承结构实现了BeanDefinitionRegistryPo...

2020-10-14 19:40:12 506 3

原创 spring源码解析之注解配置后处理器对@Configuration、@Autowired、@Value、@Inject、@PreDestroy、@PostConstruct等注解的处理

1.简介spring框架在从配置类中读取bean定义时,会对一些注解进行处理,比如遇到@Configuration注解,需要读取配置类中@Bean注解的方法,定义为Bean,遇到@Autowired注解,需要自动装配依赖。这些都是通过BeanDefinitionRegistryPostProcessor、BeanPostProcessor等后处理器来实现的1.1AnnotatedBeanDefinitionReaderAnnotatedBeanDefinitionRe...

2020-10-14 17:07:18 127 2

原创 spring源码解析之AnnotationConfigWebApplicationContext#loadBeanDefinitions()方法加载BeanDefinition过程

1.简介AnnotationConfigWebApplicationContext是常用的上下文容器类,在spring boot没有流行的时候,以前用tomcat在web.xml配置spring容器时,如果使用Java注解的配置类,一般都会使用这个上下文类顾名思义,AnnotationConfig代表注解配置,Web代表具有web功能,可以访问ServletContext。这是这个上下文的基本功能。之前在spring源码解析之AbstractApplicationContext#..

2020-10-13 14:26:01 160

原创 spring源码解析之AbstractApplicationContext#refresh()方法刷新上下文过程

1.简介方法的定义 /** * 加载或刷新配置的持久性表示形式,它可能来自基于Java的配置,XML文件,属性文件,关系数据库模式或其他格式。 * 由于这是一种启动方法,因此,如果失败,则应销毁已创建的单例,以避免资源悬空。 * 换句话说,在调用此方法之后,应实例化所有单例或根本不实例化。 * @throws BeansException 如果无法初始化bean工厂 * @throws IllegalStateException 如果已经初始化并且多次刷新.不支持尝.

2020-10-12 19:53:32 114 1

原创 cloudinary迁移以及前端上传

1.简介最近做了一次本地文件到cloudinary迁移以及前端上传到cloudinary的改动,这里记录以下问题:本地目录上传到cloudinary目录 上传后保证url与目录结构相似 前端上传渲染标签以及监听函数2.上传本地目录到cloudinary可以直接打开:https://cloudinary.com/console/xxxxxx/media_library/folders/home,进入Cloudinary Management Console / Me...

2021-01-25 23:15:06 5

原创 c++标准库实战之通用工具Pair

11

2021-01-25 22:44:36 12

原创 c++标准库的宏__cplusplus

c++的设计目标之一是,对c++98向后兼容。在c++98或c++03中可被编译的任何一样东西,也都应该能在c++11中正常编译。如果你的代码里掺杂着c++各版本的身影,可以使用预定义好的宏_cplusplus.对c++11而言,当编译一个c++转译单元时,以下定义有效:#define __cplusplus 201103L在c++98以及c++03中则是:#define __cplusplus 201103L有时候编译器厂商提供的值与上述不同...

2021-01-25 20:55:21 5

原创 gcc/g++ -print-***选项打印编译器信息

1.-print-file-name=lib打印链接时将使用的库文件库的绝对全名,而无需执行其他任何操作。使用此选项,GCC不会编译或链接任何内容;它只是打印文件名。2.-print-multi-directory打印与命令行中存在的任何其他开关选择的multilib对应的目录名称。该目录应该存在于GCC_EXEC_PREFIX中。g++ -print-multi-directory.3.-print-multi-lib打印从multilib目录名到启用它...

2021-01-23 21:29:18 10

翻译 vscode使用MinGW/GCC

1.简介在本教程中,您将Visual Studio Code配置为使用mingw-w64中的GCC C ++编译器(g ++)和GDB调试器来创建在Windows上运行的程序。配置VS Code后,您将在VS Code中编译和调试一个简单的Hello World程序。本教程不会教您有关GCC,GDB,Mingw-w64或C ++语言的信息。对于这些主题,Web上有很多可用的资源。如果您有任何问题,请随时在VS Code文档库中提交本教程的问题。2.先决条件要成功完...

2021-01-23 19:03:26 19

翻译 React Router之API

1.HooksReact Router附带了一些挂钩,可让您访问路由器的状态并从组件内部执行导航。请注意:您必须使用React> = 16.8才能使用这些钩子中的任何一个!useHistory useLocation useParams useRouteMatch1.1 useHistory该useHistory挂钩使您可以访问history可用于导航的实例。import { useHistory } from "react-router-dom"...

2021-01-17 00:33:31 33

翻译 React Router之深度Redux集成

Redux是React生态系统的重要组成部分。对于想要同时使用React Router和Redux的人们,我们希望使其无缝集成。为此,有些人希望:与store同步路由数据,并从store访问路由数据。 能够通过dispatching动作进行导航。 在Redux devtools中支持对路线更改进行时间旅行调试。所有这些都需要更深入的集成。我们的建议是完全不要在Redux store中保留您的Route。这是我们的理由:路由数据已经成为您关心它的大多数组件的支持。无论是来自store还...

2021-01-16 23:45:02 29

翻译 React Router之测试

1.简介React Router依靠React上下文来工作。这会影响您如何测试使用我们的组件的组件。2.语境如果尝试对呈现a<Link>或a<Route>等的组件之一进行单元测试,则会收到一些有关上下文的错误和警告。虽然你可能受到诱惑,自己存根出路由器背景下,我们建议你换你的单元测试中的一个Router组成部分:基础Router与history支柱,或者<StaticRouter>,<MemoryRouter>或者&lt...

2021-01-16 23:42:45 30

翻译 React Router之动态路由思想

1.简介本指南的目的是解释使用React Router时要具有的思维模型。我们称其为“动态路由”,它与您可能更熟悉的“静态路由”完全不同。2.静态路由如果您使用过Rails,Express,Ember,Angular等,则使用了静态路由。在这些框架中,您将在进行任何渲染之前将路由声明为应用程序初始化的一部分。React Router pre-v4也是静态的(主要是)。让我们看一下如何在express中配置路由:// Express Style routing:...

2021-01-16 23:16:07 41

翻译 React Router之滚动还原

1.简介在早期版本的React Router中,我们提供了对滚动恢复的开箱即用的支持,从那以后人们一直在要求它。希望本文档可以帮助您从滚动条和路由中获得所需的信息!浏览器开始以history.pushState与普通浏览器导航相同的方式自行处理滚动恢复。它已经可以在chrome中使用,而且非常棒。这是Scroll恢复规格。由于浏览器开始处理“默认情况”,并且应用程序具有不同的滚动需求(例如本网站!),因此我们不附带默认滚动管理功能。本指南应帮助您实现任何滚动需求。2.滚动到...

2021-01-16 23:02:49 30

翻译 React Router之代码分割

1.简介网络的一项重要功能是,我们不必让访问者下载整个应用程序即可使用。您可以将代码拆分视为增量下载应用程序。要做到这一点,我们将使用的WebPack,@babel/plugin-syntax-dynamic-import和loadable-components。webpack内置了对动态导入的支持;但是,如果您使用Babel(例如,将JSX编译为JavaScript),则需要使用该@babel/plugin-syntax-dynamic-import插件。这是仅语法的插件,这意味着Ba...

2021-01-16 22:49:24 27

翻译 React Router之服务端渲染

1.简介服务器上的渲染有些不同,因为它们都是无状态的。基本思想是,我们将应用包装在无状态<StaticRouter>而不是有状态的<BrowserRouter>。我们从服务器传入请求的url,以便路由可以匹配,然后context我们将讨论一个prop。// client<BrowserRouter> <App/></BrowserRouter>// server (not the complete stor...

2021-01-16 22:43:42 33

原创 React Router实战之基本路由

1.基本路由import React from "react";import { BrowserRouter as Router, Switch, Route, Link} from "react-router-dom"; export default function App() { return ( <Router> <div> <nav> <ul> ...

2021-01-13 23:35:58 33

翻译 React Router之主要组件

1.简介React Router中的组件主要分为三类:路由器,像<BrowserRouter>和<HashRouter> Route匹配器,例如<Route>和<Switch> 和导航,比如<Link>,<NavLink>和<Redirect>我们还喜欢将导航组件视为“Route更改者”。您应该从react-router-dom中导入Web应用程序中使用的所有组件。import { Bro...

2021-01-13 23:13:33 31

翻译 React Router快速入门

1.简介要在Web应用程序中开始使用React Router,您需要一个React Web应用程序。如果需要创建一个,我们建议您尝试create-react-app。这是一个非常流行的工具,可以与React Router一起很好地工作。首先,安装create-react-app并创建一个新项目。npx create-react-app demo-appcd demo-app2.安装您可以使用或从npm注册表中安装React Router。由于我们正在构建We...

2021-01-13 22:33:36 36

翻译 create-react-app之高级用法

1.定制模板使用自定义模板,您可以从中选择一个模板来创建您的项目,同时仍保留Create React App的所有功能。您会注意到,自定义模板始终以格式命名cra-template-[template-name],但是您只需[template-name]要向创建命令提供即可。还支持作用域模板,名称为@[scope-name]/cra-template或@[scope-name]/cra-template-[template-name],可以分别通过@[scope]和安装@[scope...

2021-01-13 22:14:49 36

翻译 create-react-app之部署方式

1.简介npm run buildbuild使用应用的生产版本创建目录。设置您喜欢的HTTP服务器,以便为您网站的访问者提供服务index.html,并向静态路径/static/js/main.<hash>.js等请求提供文件内容/static/js/main.<hash>.js。2.静态文件服务器对于使用Node的环境,处理此问题的最简单方法是安装serve并让其处理其余部分:npm install -g serveserve -s ...

2021-01-12 23:45:25 25

翻译 git之reset命令

1.简介git-reset:将当前的HEAD重置为指定状态,也就是重置顶部commit的引用2.概要git reset [-q] [<tree-ish>] [--] <pathspec>…​git reset [-q] [--pathspec-from-file=<file> [--pathspec-file-nul]] [<tree-ish>]git reset (--patch | -p) [<tree-is...

2021-01-11 22:40:31 53

翻译 create-react-app之后端集成

1.在开发中代理API请求人们通常在与后端实现相同的主机和端口上为前端React应用提供服务。例如,在部署应用程序后,生产设置可能如下所示:/ - static server returns index.html with React app/todos - static server returns index.html with React app/api/todos - server handles any /api/* req...

2021-01-09 23:26:28 23

翻译 create-react-app之测试

1.运行测试Create React App使用Jest作为其测试运行器。为进行此集成做准备,我们对Jest进行了重大改进,因此,如果几年前您听到有关Jest的坏消息,请尝试一下。Jest是基于Node的运行器。这意味着测试始终在Node环境中运行,而不是在实际的浏览器中运行。这使我们能够实现快速的迭代速度并防止松散。虽然Jest提供了浏览器全局如window和jsdom,他们是只有真正的浏览器行为的近似值。Jest旨在用于逻辑和组件的单元测试,而不是DOM怪癖。如果需要,我们建...

2021-01-09 20:46:08 60

翻译 create-react-app之构建应用

1.安装依赖生成的项目包括React和ReactDOM作为依赖项。它还包括由Create React App用作开发依赖项的一组脚本。您可以使用以下命令安装其他依赖项(例如React Router)npm install --save react-router-domyarn add react-router-dom2.导入组件由于使用了webpack,该项目设置支持ES6模块。虽然您仍然可以使用require()和module.exports,但我们建议...

2021-01-09 19:46:16 31

翻译 create-react-app之样式和资产

1.添加样式表该项目设置使用webpack处理所有资产。webpack提供了一种自定义方式来“扩展” JavaScript以外import的概念。要表示JavaScript文件依赖于CSS文件,您需要从JavaScript文件导入CSS:Button.css.Button { padding: 20px;}Button.jsimport React, { Component } from 'react';import './Button.css'; //...

2021-01-09 00:36:41 18

翻译 create-react-app之开发

1.设置编辑器如果配置正确,Create React App会提供许多工具来改善编辑体验。这里有一些技巧,可以最大程度地提高您的生产力:1.1 语法高亮要在您喜欢的文本编辑器中配置语法突出显示,请转到相关的Babel文档页面并按照说明进行操作。其中涵盖了一些最受欢迎的编辑器。1.2 在编辑器里显示lint的输出一些编辑器,包括Sublime Text,Atom和Visual Studio Code,都提供了ESLint的插件。linting不是必需...

2021-01-07 23:54:32 27

翻译 create-react-app之入门

1.入门create-react-app是创建单页React应用程序的官方支持方式。它提供了无需配置的现代化构建设置。1.1 快速入门npx create-react-app my-appcd my-appnpm run start然后打开http://localhost:3000,查看应用当您准备部署到生产环境时,请使用创建最小化的捆绑包npm run build如果您以前create-react-app通过进行了全局安装npm install...

2021-01-07 23:22:56 34

原创 nginx之location指令匹配规则

doc:https://nginx.org/en/docs/http/ngx_http_core_module.html#location1.简介localtion是用于和请求url进行匹配的指令,语法如下句法: location [ = | ~ | ~* | ^~ ] uri { ... }location @name { ... }默认: —内容: server, location可以在匹配的uri模式前面添加四种修饰符,来指定匹配模式 还可以使用@指定一个命名lo..

2021-01-03 21:21:58 38

原创 win10系统使用vs2019/msys/cl编译nginx源码

1.简介nginx编译需要以下源码或者库文件:nginx:https://github.com/nginx/nginx pcre:https://ftp.pcre.org/pub/pcre/, 只支持4.4-8.43版本 zlib:https://zlib.net/ openssl:https://github.com/openssl/openssl2.编译./auto/configure --prefix=. --sbin-path=nginx.exe --...

2021-01-03 15:40:38 46

原创 win10 64位系统下openssl编译

1.下载https://www.openssl.org/source/old/2.编译进入根目录,找到INSTALL.W64,发现:To build for Win64/x64: > perl Configure VC-WIN64A > ms\do_win64a > nmake -f ms\ntdll.mak > cd out32dll > ..\ms\test To build for Win64/IA64: ...

2021-01-03 14:46:12 57

原创 记一个Makefile构建时*** missing separator.错误

1.简介*** missing separator.错误是由于指定行缺少tab制表符开头,行开头添加制表符即可

2021-01-01 21:31:11 41

原创 记一个nginx源码编译,make运行出现objs/Makefile:108: *** multiple target patterns.问题

1.问题在win10系统上,下载nginx源码,使用msys进行编译,出现错误:$ makemake -f objs/Makefile make[1]: Entering directory `/d/workspace/github/c/nginx'objs/Makefile:108: *** multiple target patterns. Stop.make[1]: Leaving directory `/d/workspace/github/c/nginx'm...

2021-01-01 20:37:50 43

原创 AWS之CloudWatch使用CloudWatchAgent监控cpu、memory、disk、web监控配置

1.简介Amazon CloudWatch实时监控您的Amazon Web Services(AWS)资源以及您在AWS上运行的应用程序。您可以使用CloudWatch收集和跟踪指标,这些指标可以衡量您的资源和应用程序。CloudWatch主页自动显示有关您使用的每个AWS服务的指标。您还可以创建自定义仪表板,以显示有关自定义应用程序的指标,并显示所选指标的自定义集合。您可以创建警报,以监视指标并发送通知,或者在超出阈值时自动更改要监视的资源。例如,您可以监视您的Amazon EC2...

2020-12-31 21:03:25 88

原创 Makefile简介

1.简介您需要一个名为Makefile的文件来告诉make该怎么做。通常,makefile会告诉您make如何编译和链接程序。在本章中,我们将讨论一个简单的Makefile,该文件描述了如何编译和链接由八个C源文件和三个头文件组成的文本编辑器。make明确要求时,makefile还可以告诉您如何运行其他命令(例如,删除某些文件作为清理操作)。当make重新编译编辑器,每一个改变C源文件必须重新编译。如果头文件已更改,则包含头文件的每个C源文件都必须重新编译以确保安全。每次编译都会产生...

2020-12-31 00:01:45 25

原创 初识make之概述

1.简介make程序会自动确定需要重新编译大型程序的哪些部分,并发出命令对其进行重新编译。您可以使用make其编译器可以通过shell命令运行的任何编程语言。确实,make不仅限于程序。您可以使用它来描述任何任务,其中只要其他文件发生更改,某些文件必须自动从其他文件更新。2.准备并运行Make要准备使用make,您必须编写一个名为makefile的文件,该文件描述程序中文件之间的关系并提供用于更新每个文件的命令。通常,在程序中,可执行文件是从目标文件更新的,...

2020-12-30 23:29:37 32

原创 php之变量检测函数isset()、is_string()、is_scalar()、is_resource()、is_float()、 is_double()、is_real()、is_object等

1.isset()isset()函数用于检测变量是否已设置并且非 NULL。如果已经使用 unset() 释放了一个变量之后,再通过 isset() 判断将返回 FALSE。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是 null 字符("\0")并不等同于 PHP 的 NULL 常量。PHP 版本要求: PHP 4, PHP 5, PHP 7bool isset ( mixed $var [, mixed $... ]...

2020-12-27 18:28:00 34

原创 php值转换之strval()、intval()、floatval()、boolval()函数

1.strval()strval()函数用于获取变量的字符串值。PHP 版本要求: PHP 4, PHP 5, PHP 7string strval ( mixed $var )$var: 可以是任何标量类型,但不能是数组或对象。<?php $int_str= 123; var_dump($int_str); $str = strval(123); var_dump($str);?>int(123)string(3...

2020-12-27 17:01:28 44

原创 php之对象基类StdClass

1.简介StdClass是PHP中一个通用对象类,初始化时即加载,很多操作会返回一个StdClass类型对象2.使用可以直接使用new来初始化一个StdClass对象,这与其他类的初始化一样<?php $obj = new StdClass(); $obj->a = 1; $obj->b = 2; print_r($obj);?>stdClass Object( [a] => 1...

2020-12-27 16:49:09 35

LuaForWindows_v5.1.4-46.zip

Lua开发IED LuaForWindows 5.1.4 因为github下载太慢,所以打包了一份 里面还包含一个x86的补丁,出现连接不上问题可以安装补丁

2020-05-12

httpd-2.4.46-o111h-x64-vc15.zip

httpd-2.4.46-o111h-x64-vc15.zip

2020-10-04

salesforce_apex_language_reference.pdf

salesforce apex语言开发文档

2020-08-17

httpd-2.4.46-win64-VS16.zip

httpd-2.4.46-win64-VS16.zip

2020-10-04

postgis-bundle-pg12x64-setup-3.0.1-3.zip

postgis-bundle-pg12x64-setup-3.0.1-3.zip

2020-05-20

postgresql-10.12-1-linux-x64-binaries.tar.gz

PostgreSQL 10.12.1

2020-05-21

sfdx_setup.pdf

sfdx_setup.pdf

2020-10-05

avatar-js-0.10.32-20150322.063156-103.jar

avatar-js-0.10.32-20150322.063156-103.jar

2020-10-05

DemoService

ablecloud demo service

2020-10-05

php_xdebug-2.9.8-7.4-vc15-x86_64.dll

php_xdebug-2.9.8-7.4-vc15-x86_64.dll

2020-10-05

php_xdebug-2.9.8-7.4-vc15-nts.dll

php_xdebug-2.9.8-7.4-vc15-nts.dll

2020-10-05

php_xdebug-2.9.8-7.4-vc15-nts-x86_64.dll

php_xdebug-2.9.8-7.4-vc15-nts-x86_64.dll

2020-10-04

httpd-2.4.46-lre314-x64-vs16.zip

httpd-2.4.46-lre314-x64-vs16.zip

2020-10-04

httpd-2.4.46-lre314-x86-vs16.zip

httpd-2.4.46-lre314-x86-vs16.zip

2020-10-04

httpd-2.4.46-win32-VS16.zip

httpd-2.4.46-win32-VS16.zip

2020-10-04

appserv-x64-9.3.0.exe

appserv-x64-9.3.0.exe

2020-10-04

php-7.4.11-Win32-vc15-x64.zip

php-7.4.11-Win32-vc15-x64.zip php-7.4.11-Win32-vc15-x64.zip php-7.4.11-Win32-vc15-x64.zip

2020-10-04

php-7.4.11-nts-Win32-vc15-x64.zip

php-7.4.11-nts-Win32-vc15-x64.zip php-7.4.11-nts-Win32-vc15-x64.zip php-7.4.11-nts-Win32-vc15-x64.zip

2020-10-04

sfdx-windows-amd64.exe

Salesforce CLI

2020-08-17

activiti-6.0.0.7z

activiti流程编辑器6.0.0版本

2020-08-08

ffmpeg-4.3-win64-static.zip

ffmpeg-4.3-win64-static.zip

2020-07-08

Docker Desktop Installer.zip

Docker Desktop Installer.zip

2020-07-08

postgresql-10.13-1-windows-x64-binaries.zip

PostgreSQL 10.13.1

2020-05-21

postgresql-9.6.18-1-windows-x64-binaries.zip

postgresql-9.6.18-1-windows-x64-binaries.zip

2020-05-21

postgresql-11.8-1-windows-x64-binaries.zip

postgresql-11.8-1-windows-x64-binaries.zip

2020-05-20

postgresql-12.3-1-windows-x64-binaries.zip

PostgreSQL

2020-05-20

pgadmin4-4.21-x86.exe

pgadmin4-4.21-x86.exe

2020-05-20

LuaForWindows_v5.1.4-46.7z

lua for Windows

2020-05-19

VSCodeUserSetup-x64-1.45.0.zip

vscode 64位版

2020-05-18

LuaJIT-2.0.5.7z

LuaJIT

2020-05-18

mysql-cluster-8.0.20-winx64.msi

mysql-cluster-8.0.20-winx64.msi

2020-05-17

mysql-cluster-8.0.20-winx64.zip

mysql-cluster-8.0.20-winx64.zip

2020-05-17

mysql-router-8.0.20-winx64.zip

mysql router

2020-05-17

mysql-8.0.20-winx64-debug-test.zip

Mysql 8.0.20 64位安装压缩包,包含用例与debug模块

2020-05-17

mysql-shell-8.0.20-windows-x86-64bit.zip

mysql-shell-8.0.20-windows-x86-64bit.zip

2020-05-17

UnlimitedJCEPolicyJDK7.7z

java 扩展 jce包 jce7 加密扩展包,因为官网下载太慢,这里分享,请大家放心下载 主要用于jdk7加密扩展使用

2020-05-17

UnlimitedJCEPolicyJDK8.7z

java 扩展 jce包 jce8 加密扩展包,因为官网下载太慢,这里分享,请大家放心下载 主要需要java加密扩展时使用

2020-05-17

jce_policy-6.7z

java 扩展 jce包 jce6 加密扩展包,因为官网下载太慢,这里分享,请大家放心下载 主要是需要加密扩展时使用

2020-05-17

PowerShell-7.0.0-rc.1-win-x64.7z

PowerShell 7.0.0最新版Shell Windows10安装包,因为github下载太慢所以上传一份

2020-05-12

pcl-1.9.1-pdb-msvc2017-win64-pdb文件.zip

pcl 1.9.1 windows 64位PDB文件,因为文件过大488MB,分了2份300MB为限制,这里是1,还有2单独下载

2020-05-10

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除