Here

设计模式

荒凉一梦 提交于 2020-10-29 07:38:17
定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 其中代理类能在原来对象行为的基础上增加额外的行为,甚至可以完全替换原来的行为。代理模式主要可以分为两种:一个是静态代理,一个是动态代理 静态代理 中代理类中需要手动的处理被代理对象中的所有行为,即使这个行为我们不希望做任何改变,也需要编写这个行为并直接调用被代理对象的行为。被代理的对象是固定的,这种代理是死的,在编译期的时候就生成了一个不可改变的代理类,以下是静态代理的一个基本类图 其中RealSubject为需要被代理的类;Proxy即为用来代理RealSubject的代理类,Proxy中保存一个RealSubject类的引用,这样可以访问被代理对象的行为;Subject定义了RealSubject和Proxy共用的接口,这样我们可以将任何使用RealSubject类的地方都可以替换为Proxy。来看下具体的代码 Subject接口 public interface Subject { void request(); } RealSubject类 public class RealSubject implements Subject { @Override public void request() { System

js中 var functionName = function() {} 和 function functionName() {} 两种函数声明的区别

走远了吗. 提交于 2020-10-29 06:58:09
js中有两种声明函数的方法,分别为: var functionOne = function () { // Some code }; function functionTwo() { // Some code } 为什么会有两种不同的方法?每个方法的优点和缺点分别是什么?有什么情况是一种方法能完成而另外一种方法不能完成的吗? 答: by @ Greg 不同点在于functionOne只会在到达赋值的那一行才会被真正定义,而functionTwo会在 包含它的函数或script脚本 执行的时候马上被定义。例如: 1 <script> 2 // Error undefined 3 functionOne(); 4 5 var functionOne = function () { 6 }; 7 8 // No error 9 functionOne(); 10 </script> 11 12 <script> 13 // No error 14 functionTwo(); 15 16 function functionTwo() { 17 } 18 </script> 这也意味着你不能在条件语句中使用第二种方法定义函数: <script> if (test) { // Error or misbehavior function functionThree() {

ngx-admin with Asp.net Core 2.0, possibly plus OrchardCore

耗尽温柔 提交于 2020-10-28 17:06:00
1 Download ngx-admin from https://github.com/akveo/ngx-admin 2 Create a new Web Application in vs2017 through file->new->project->Select .Net Core->Select ASP.NET Core Web Application and Next->Select Empty Template(Not Angular) and OK Now you have a .net core app and a ngx-admin app in different folders. Presume: ngx-admin in D:\test\ngx-admin asp.net application solution in D:\test\WebApplication1 and there's a project named WebApplication1 in D:\test\WebApplication1\WebApplication1 3 Copy all contents in D:\test\ngx-admin into D:\test\WebApplication1\WebApplication1 . Yes only the contents,

稀疏矩阵乘法

点点圈 提交于 2020-10-28 16:45:12
给定两个 稀疏矩阵 A 和 B,返回AB的结果。 您可以假设A的列数等于B的行数。 题目地址: https://www.jiuzhang.com/solution/sparse-matrix-multiplication/#tag-other 本参考程序来自九章算法,由 @Roger 提供。 题目解法: 时间复杂度分析: 假设矩阵A,B均为 n x n 的矩阵, 矩阵A的稀疏系数为a,矩阵B的稀疏系数为b, a,b∈[0, 1],矩阵越稀疏,系数越小。 方法一:暴力,不考虑稀疏性 Time (n^2 * (1 + n)) = O(n^2 + n^3) Space O(1) 方法二:改进,仅考虑A的稀疏性 Time O(n^2 * (1 + a * n) = O(n^2 + a * n^3) Space O(1) 方法三(最优):进一步改进,考虑A与B的稀疏性 Time O(n^2 * (1 + a * b * n)) = O(n^2 + a * b * n^3) Space O(b * n^2) 方法四:另外一种思路,将矩阵A, B非0元素的坐标抽出,对非0元素进行运算和结果累加 Time O(2 * n^2 + a * b * n^4) = O(n^2 + a * b * n^4) Space O(a * n^2 + b * n^2) 解读:矩阵乘法的两种形式,假设 A(n, t

使用Git初始化本地仓库并首次提交代码到远程仓库

倖福魔咒の 提交于 2020-10-28 06:56:40
本文介绍使用Git初始化本地仓库,并首次提交代码到远程仓库GitLab上面。 首先,登录GitLab,创建一个新项目的私人仓库; 然后,在本地仓库(就是你写代码文件夹),右键,Git Bash Here,打开Git命令窗口; 在Git命令窗口输入 git init,初始化本地仓库,初始化完成后,本地仓库文件夹中会出现一个.git文件夹,证明该仓库 已经被git管理了; 按照如下步骤,添加远程仓库地址,并提交代码; git add -A src: 把src文件夹提交到远程仓库; git commit -m "首次提交代码,ssm整合": 把代码提交到本地仓库,并备注信息; git remote add origin 仓库地址: 设置远程仓库地址; git push -u origin master: 提交代码到远程仓库,master分支; 获取远程仓库地址; 当提交代码时,可能出现如下错误: 说明你提交的仓库 origin不存在,我犯的错误是把origin单词拼写错误,导致前后输入命令时找不到该远程仓库,所以提交失败,可以使用使用以下命令解决该问题; git remote -v: 查看远程仓库详细信息,可以看到仓库名称 git remote remove orign: 删除orign仓库(我把origin拼写成orign,删除错误名称仓库) git remote add origin

git创建远程仓库以及在本地提交到远程仓库的方法

假装没事ソ 提交于 2020-10-28 06:46:31
Git create remote repository and usage in the local environment 1. create the remote repository loggin the server $ cd ~/git/git_learn/ $ mkdir project.git $ cd project.git $ git init --bare thus there are some files and directories in the directory '~/git/git_learn/project.git/', just like the following picture and then you need to add the write access to this repository, so that you can git push in the local environment $ cd ~/git/ git_learn $ chmod -R 777 project.git ( significant ) 2. In your local environment, open 'bash' shell, and initialize a local repository(git project) $ cd ~/ test

Innodb页合并和页分裂

谁都会走 提交于 2020-10-28 04:51:09
作者:Marco Tusa 、 Sri Sakthivel 译者:孟维克,知数堂优秀校友 原文链接: https://www.percona.com/blog/2017/04/10/innodb-page-merging-and-page-splitting/ https://www.percona.com/blog/2020/06/24/mysql-table-fragmentation-beware-of-bulk-insert-with-failure-or-rollback/ InnoDB页合并和页分裂 如果您遇到全球少数的MySQL顾问之一,请他审核您的SQL语句和表结构设计,我相信他会告诉您一些有关好的主键设计的重要性。特别是对InnoDB,我相信他已经想您解释了索引合并和页分裂。这两个概念与性能密切相关,在设计任意索引(不仅仅是主键)时都应该考虑这方面因素。 对您来说,这听起来可能有点胡言乱语,也许您是对的。这不是一件容易的事情,尤其是在讨论内部原理时。这不是您经常要处理的事情,而且通常您根本不想处理它。 但有时这是必要的。如果是这样,这篇文章就是为您准备的。 在这篇文章中,我想解释一些InnoDB幕后操作中最不清楚的部分:索引页创建、页合并和页分裂。 在InnoDB中,所有的数据就是一个索引。您可能也听过,对吧?但这到底是什么意思呢? 表&文件

git配置:本地仓库提交到远程仓库

送分小仙女□ 提交于 2020-10-28 04:41:52
前提:1.已安装git  一:创建公钥,一台机子匹配一个公钥 桌面右键选择 Git Bash Here 打开命令行输入: ssh-keygen -t rsa -C "xxx@xxx.com" 连点三次回车得到一个 id_rsa.pub 文件,记事本打开全部复制到码云的SSH公钥保存. 测试公钥: ssh -T git@gitee.com 一:全局设置绑定git git config --global user.name "xxx" git config --global user.email "xxx@outlook.com" 创建/初始化存储库: git init 查看工作目录和暂缓区状态: git status 提交到暂缓区: git add . //注意这里加个点代表全部文件 提交到存储库: git commit -m "add files" 关联已有仓库: git remote add origin https://gitee.com/XXXXX.git git push -u origin master 至此,本地仓库项目上传到GIT仓库完成。 来源: oschina 链接: https://my.oschina.net/u/4342612/blog/3332064

2005考研英语小作文

一笑奈何 提交于 2020-10-28 03:02:33
2005英语写作练习 开始准备写作背诵,早上听了下九宫格写作,准备现学现卖 Directions: Two months ago you got a job as an editor for the magazine Designs & Fashions. But now you find that the work is not what you expected. You decide to quit. Write a letter to your boss, Mr. Wang, telling, him your decision, stating your reason(s), and making an apology. Write your letter with no less than 100 words. Write it neatly on ANSWER SHEET 2. Do not sign your own name at the end of the letter; use "Li Ming" instead. You do not need to write the address. 练习选自王江涛高分写作(略有修改地默写) 方法来源九宫格写作 应用文( 辞职信+道歉信 ) 这是一篇小作文,字数控制100左右 何为九宫格:大体如下(要学会灵活变通使用)

Understanding LightGCN in a Visualized Way

Deadly 提交于 2020-10-28 02:42:23
The reason why this article is in English: https://www. zhihu.com/pin/129614545 1478413312 And my blog backup: https:// blog.tsingjyujing.com/m l/recsys/light_gcn Feel free to comment in Chinese, but maybe I will reply in English if I guess my reply will be deleted, you got it. If this article is deleted, I'm afraid I won't dare to publish any article on this f--king platform. In this article, I'm going to introduce LightGCN, a new algorithm for collaborative filtering problem. What's LightGCN LightGCN is a shorten of Light Graph Convolutional Neural-network, it's a new approach for