git基于ssh拉代码报错ssh_dispatch_run_fatal: Connection to xxx port xxx: incorrect signature git报错ssh_dispatch_run_fatal: Connection to xxx port xxx: incorrect signature
chrome扩展开发与上架 前言了解Chrome插件chrome扩展插件可以为chrome浏览器增加额外的功能,它能对某个网页进行css注入或执行js方法,同时也可以实现单独的一个功能,同时它在进行网络请求时不会受到跨域的影响。所以它能实现什么主要依赖你的想象力安装插件后在浏览器的输入框右侧将会出现你安装的插件图标如何安装插件目前安装插件的方式只有两种:在Chrome网上应用商店来选择安装插件,这种安装的模式时基于crx包的,目前已经禁止直接加载现有外部的crx文件来安装插件安装自己开发的插件可在浏览器扩展程序设置中
iOS可视化界面编程XIB简单使用 iOS的UI界面的编写现在基本分为三个流派手写代码XIBStoryBoard三者区别本文主要介绍XIB的简单使用,基于XIB在界面上放几个按钮并生成点击事件代码以下代码及截图基于XCode12快速创建1、创建文本对象自定义创建vc时勾选create XIB file,后将会自动创建xib文件,创建后如图2、为XIB添加控件选中xib文件后可以看到右侧出现了一个vc的UI展示图点击右上角的+,可以拖动添加UI组件选中按钮控件后,点击右侧对应栏可以看到有关于该button
js原型链中的__proto__和prototype区别与联系 function Persion() {}let person1 = new Persion();__proto__和prototype的关系如上图所示,如果明白这两则关系的话这个图是很清晰易见的,看不懂的话可以继续往下看首先需要明确的一点是,JS中除了一些基本数据类型外其他的都是对象,既然都是对象那么在继承关系或者实例关系中就会存在共享属性(公共区)的概念在其他语言中存在class类的概念,那么公共区的引用由类来指向没什么问题,但js中没有类的概念(es6后的class本质是语法糖),在j
并查集结构 并查集 主要是用以解决元素分组的问题其基本操作包括合并:把两个不相交的集合合并为一个集合查询:查询两个元素时否在一个集合中在实际算法问题中有一个使用并查集的经典问题祖先(亲戚)问题给出一系列的两两亲源关系,再合并形成总的祖先树图结构1、在最开始我们有一系列的点[0, 1, 2, 3, 4, 5, 6, …]作为问题的元素,一个标号可以代表一个人,在最开始我们不知道他们的亲源关系时,大家都是孤立的节点,即单元素集合2、 随后我们得到一系列的关系列表例如[[0, 1], [0,
Manacher算法,线性解决最长回文子串 问题提要:回文串即从左到右与从右到左的序列完全相同的字符串,现在要寻找一个字符串中的最长回文子串针对这个问题有一下几种解题思路暴力求解:循环每一个子串,然后再进行子串的回文判断,但这样的话时间复杂度可以达到O(n^3)的级别动态规划:在进行回文判断时,我们可以把这个问题分解为一个小问题, 判断 s(i, j)是否为回文,则可以在s[i] == s[j]的情况下判断s(i+1, j-1)是否为回文// 动态方程如下 { s(i, i) true s(i, j) = (s[i] .
iOS封装超出滚动可点击静态文本框(oc实现) ClickTextScrollView继承了OC的UIScrollView,实现了一个超出显示区后支持滚动的ScrollView,同时支持设置点击文字OC的原生UIScrollView实在是太难用了,光是超出或自动滚动这个在别的语言上很常见的设置,UIScrollView貌似需要手动设置高度,令人头大示例安装有几种方式进行安装:CocoaPods在工程的Podfile文件中添加一下语句pod 'ClickTextScrollView'然后执行pod install.手动引入
npm插件基于模板变量生成plist文件 最近在做脚本文件生成的时候发现没有找到plist文件的支持变量的模板生成,找到的都是将字符串写入生成plsit文件的插件,但使用上没有html-webpack-plugin优雅需求二次封装,所以就顺手写了一个方便使用github开源链接npm插件位置快速安装执行以下代码安装插件npm install plist-from-template使用在webpack.config.js文件中引入并配置const PlistFactoryPlugin = require('plist-fro.
javascript中止Image的加载 事情的起源是在工程中发现了一个bug,在低网速情况下请求网络图片资源时请求耗时会达到1分多钟,而这长时间的网络请求最后又导致了界面渲染被阻塞,首页一直白屏如果是解决界面阻塞问题的话有很多方案,但令我困惑的是当我创建了一个Image对象时如何才能中止它的请求呢,【不考虑用Image的话采用XMHttpRequest这些http请求封装的对象的话也是可以通过超时时间来中断的】let ps = new Promise((resolve, reject) => { let image = n.
梦回KMP算法 今天偶然间刷到一题,在目标字符串中查找模式串的起始位置,第一想法就是公共库带的indexOf这类的API,如果是自己实现的话就是经典的KMP算法,但算法实现已经完全模糊了,估计一开始也没掌握,难得再遇,所以打算记录下我关于KMP算法的理解KMP算法是一个经典的字符串查找算法,全称是Knuth-Morris-Pratt,取自三个发表者的名字算法背景假设当前有一个T目标字符串和一个P模板字符串,我们希望在T中查找到P这个模板串的位置算法思想理解暴力求解的话就是直接二重循环进行查找假设遍历T串的.
从零开始使用树莓派搭建自己的gitlab 准备工作一块树莓派的板子,电源,一张sd卡,读卡器,hdmi线,usb鼠标键盘,外显示屏另外一台电脑(将系统烧制到sd卡中)流程背景本教程中使用的是树莓派4b,gitlab下载中提到至少是4GB的ARM架构,所以板子的内存不要小于4GB选择的系统的Debian的arm64,另外硬盘也就是SD卡的大小会根据不同的系统有不同的最小需求,其中树莓派爱好者基地提供的图形完全版最后烧到sd卡里要15GB,所以建议整个32GB的sd卡吧烧制系统盘// 插入准备软件地址首先将SD卡插入读卡器再插入电
发布npm包 操作前提:已经对webpack的plugin有了一定的了解,可以自己编写简单的plugin插件,若无此基础建议先进行webpack的简单入门发布npm包前需要注册一个npm账号点击跳转完成注册后在本地建立一个文件夹npmtest,并在终端中进入该文件目录进入该目录后执行npm login输入自己的npm账号密码在该步可能会发生409异常,大概率是之前换过npm的地址为淘宝镜像,此处需要换回来,执行npm login --registry http://registry.npmjs.org.
oc中的成员变量属性@synthesize和@dynamic理解 尽管已经写了一段时间的oc但对self.xxx和_xx的理解以及在三方代码中看到的@synthesize不是很理解,写代码还是不能太随便,不理解的东西写多了容易埋坑,所以还是花了点时间整理下这些到底是什么什么是成员变量和属性@interface Person : NSObject{ NSString *name ; // 成员变量,实例变量}// 属性@property (nonatomic, strong) NSString *pName;@end定义在h文件中的属性和成员变
设计模式记录(oc编程之道笔记) 设计模式记录算法封装模版方法策略欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入算法封装模版方法【模版方法模式】定义一个操作中算法的骨架,而将一些步骤延迟到子类中。模版方法使子类可以重定义
OC代理delegate适配器模式杂记 适配器模式又分有对象适配器模式和类适配器模式,其类图如下所示OC中的委托delegate也是一种对象适配器模式协议为target,指出了客户端希望有的接口,而实现了协议的具体类就是适配器客户端定义了协议内容(即客户端想要的接口),以及客户端中的delegate对象后期会指向适配器对象,而适配器对象中也可以根据具体情况应用被适配对象(Adaptee)的引用或直接成为其子类。块(block)下的适配器模式...
js高级程序设计(4th)--11章Promise和异步函数杂记 new Promise(() => {}); // 永远的pending状态Promise进度通知class TrackablePromise extends Promise { constructor(executor) { const notifyHandlers = []; super((resolve, reject) => { return executor(resolve, reject, (status) => { console.log(not
objective-C基础教程(第2版)-17,18,20章杂记 文件加载与保存cocoa中存在一种名为属性列表(property list)的对象,简写plist,这些列表可以放置一些cocoa可以处理的对象,这些属性列表类似NSArray, NSDictionary, NSString, NSNumber, NSDate, NSData以及它们的可修改形态(Mutable)集合型属性列表类(NSArray和NSDictionary)具有一个writeToFile:atomically:方法将内容写入文件,atomically传递一个BOOL值表明是否需要将内容存到