自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 资源 (7)
  • 问答 (1)
  • 收藏
  • 关注

原创 动态规划之连续乘积最大子数组 & 连续和最大子数组

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [5,4,-1,7,8]输出:23。

2023-09-02 12:04:27 551

原创 README

开源代码阅读笔记。

2023-08-26 18:44:49 90

原创 不同架构的详细分析VIP架构

* Clean Swift将系统分为六个部分:视图控制器(ViewController)、表示器(Presenter)、业务逻辑处理器(Interactor)、实体(Entity)、请求(Request)和响应(Response)。** VIPER架构将系统分为五个部分:视图(View)、表示器(Presenter)、交互器(Interactor)、实体(Entity)和路由(Router)。**传统的MVC架构将系统分成三个部分:模型(Model)、视图(View)和控制器(Controller)。

2023-05-27 19:00:03 1363

原创 No signing certificate “iOS Distribution“ found No “iOS Distribution“ signing certificate matching

真机调试遇到的问题

2022-08-24 19:48:48 2502

原创 设计模式二三事

设计模式学习

2022-07-29 17:41:49 213

原创 iOS打基础之Block二三事

iOS 学习之Block学习

2022-07-29 17:25:51 536

原创 Apple M2芯片pod报错问题cocoapods (>= 0.a) with executable pod (Gem::GemNotFoundException)

cocoapods pod update 在M2的异常

2022-07-19 16:24:32 1221

原创 关于属性和实例变量

OC中属性和实例变量的区别和使用场景

2022-04-12 10:24:46 290

原创 git 根据已有分支创建新分支并推到远程

git 拉取新分支

2022-04-11 18:19:49 526

原创 2021-08-04

完整代码:公v x号 一起学习Finteach 关回 【OC代理】注复

2021-08-04 11:32:23 93

原创 YYCache源码解读 (一)

YYCache  YYCache是 ibireme 大神在2015年设计的一个IOS缓存工具。  通常来讲,一个缓存包括内存缓存和磁盘缓存。YYCache在磁盘缓存的设计上使用数据库sqlite映射和文件系统映射的方式进行存储,内存中设计了一个双向链表的结构存储数据结点。内存和磁盘的数据淘汰策略均采用了lru算法进行实现。同时在存储上,YYCache分别对对象数量,存储容量,对象生存周期、内存警告、程序退出到后台时的状态等进行了限制。同时采用锁结构和信号量保证了线程同步与安全。图一:YYCache

2021-07-29 14:54:14 282

原创 Editor placeholder in source file Xcode的奇葩错误

由于占位符所引起的异常解决办法:复制目标代码,删除所在行所有内容,再重新复制粘贴上代码即可。未央书斋 温故知新

2021-07-09 11:47:58 1328

原创 OC KVO学习

KVO      KVO 即 Key-Value Observing键值监听。可以将其直接理解为观察者模式。      例如,存在一个Person类和一个Account类分别代表一个人和一个银行账户,每当银行账户发生变化时,Person应当收到一个更改通知,知道自己账户变化。//// ViewController.m// MyFirstApp//// Created

2021-07-07 15:46:16 192

原创 OC中的KVC

KVCkvc 即 Key-Value Coding键值编码。提供了一种间接访问对象属性的机制。键值编码是一种使用字符串标识符间接访问对象属性和关系的机制。它支持或与 Cocoa 编程特有的几种机制和技术相关,其中包括核心数据、应用程序脚本性、绑定技术和声明属性的语言特性。 (脚本能力和绑定特定于 OS X 上的 Cocoa。)您还可以使用键值编码来简化您的程序代码。KVC行为访问对象属性值。 操作集合的属性。 在集合对象上调用集合运算符。 访问非对象...

2021-07-07 15:17:11 186

原创 OC学习笔记一

Object-C概述面向对象语言OC的h文件和m文件有什么区别以及作用?h:头文件。头文件包含类,类型,函数和常数的声明。//因此就像是接口文件一般。m:源代码文件。这是典型的源代码文件扩展名,可以包含Objective-C和C代码。//具体的实现文件就像C程序中的.h .c文件。在.m文件中声明的变量是无法被外界看到的,属于私有属性,而.h文件中的属性属于public属性。Object-c不支持多重继承;C++支持;Object-c是动态语言动态语言是指程序

2021-07-05 22:11:16 736 1

原创 Cocoapods安装异常ERROR: Failed to build gem native extension.

报错如下:解决办法       产生上述问题绝大多数情况是因为XCode并没有安装或者在更新XCode的同时进行安装。       只需要等待Xcode安装结束后再次执行Cocoapods安装步骤即可正常安装。安装homebrew(MacOS X上的软件包管理工具)不能翻墙:/bin/zsh -c “$(curl -fsSL https://gitee.co

2021-07-01 19:38:45 413

原创 经济学十大原理

人们如何做出决策权衡取舍机会成本边际量人们对激励做出反应人们如何相互影响贸易可以使每个人的状况都变好市场通常是组织经济活动的一种好办法政府有时可以改善市场的结果整体经济如何运行一国的生活水平取决于它生产物品与服务的能力当政府发行了过多的货币时,物价上升社会面临通货膨胀与失业之间的短期权衡取舍...

2021-06-19 23:40:04 73

原创 经济学常识之破窗谬论

破窗谬论  某个淘气的孩子用砖块打碎了面包店的窗户,现在面包店老板不得不花钱来修理窗户,这就会增加修理工的收入,而修理工又将增加的收入用于支出,又增加了其他人的收入,以此类推,支出链将成倍的增加,并带来更高的收入和就业,如果打破的窗户足够大,这将带来一轮经济繁荣。破窗谬论,请问谬论在哪里?...

2021-06-19 23:14:15 403

原创 Scrapy问题记录

Scrapy爬取豆瓣租房信息数据爬取单个页面源码  如图一所示,网页中有发布的租房信息、作者、时间、回应信息。目标是获取讨论内容、帖子地址、作者、时间。图一.豆瓣租房讨论组页面  如图二所示为图一页面的源码结构,其中table结构十分清晰,直接使用正则表达式提取页面内容即可。图二.页面源码结构注意:Python re模块中,match方法匹配从头开始,此处用findall直接有效。结果  如图三所示,为爬虫获取的数据结果。图三.结果...

2021-06-17 17:11:51 126 1

原创 Date数据的Int类型与Date类型转换

文章目录问题出现js端转换方法result获取年月日Date方法表问题出现在Springboot中,使用【com.alibaba.fastjson.JSON】的【JSON.toJSONString(Obj)】时,Obj对象中的【Date(java.util.Date)】对象的数据转换为整型数字(秒数)。js端转换方法首先将数字封装在Date对象中:var date = new Date(1617033600000);result获取年月日//年份var year = date.ge

2021-04-20 22:31:06 1858

原创 from origin ‘null‘ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ header is prese

跨域问题文章目录跨域问题Spring 项目Other项目Spring 项目@CrossOrigin在对应方法上加入这个注解即可。注解详解:未完待续Other项目增加如下代码可以解决。(HttpServletResponse)resp.setContentType("text/json; charset=utf-8");(HttpServletResponse)resp.setHeader("Access-Control-Allow-Origin", "*");注意括号内

2021-04-20 17:11:51 3566 2

原创 Python 股票数据处理二三事

文章目录TuShare 股票数据接口使用股票基本信息读取股票基本指标Python日期遍历DataFrame垂直拼接TuShare 股票数据接口使用股票基本信息读取股票基本指标Python日期遍历import datetimestart = datetime.datetime(2021,4,1)end = datetime.datetime.today()for i in range((end-start).days+1): day = start+datetime.timedelta(

2021-04-18 00:24:58 216

function() 与 $(function())

文章目录function(){};$(function(){});function(){};function()是ES中的函数。我们可以使用这个关键字定义一个函数。特别注意,在ES6中允许为函数的参数设置默认值。function log(x,y='World'){ console.log(x,y);}参数变量是默认声明的,不能使用【let】或者【const】再次声明。同时,使用默认参数时,函数的参数不允许有同名参数。$(function(){});等价于~$(document

2021-04-15 20:07:51 444

原创 数组不重复子集求法

数组不重复子集文章目录数组不重复子集子集思路代码实现运行结果子集数组子集,即包含有限个数组元素的集合。eg. [1,2,3]的子集,[[1],[2],[3],[1,2],[1,3],[2,3],[1,2,3]]思路我们之前采用【回溯算法】计算指定长度的数组子集组合。eg. 在数组[1,2,3,4,5][1,2,3,4,5][1,2,3,4,5]找长度为【3】的数组子集,我们首先确定前两个数,【1,2】然后增加【3】则满足数组长度为3,将这个结果增加到答案中,同时return, 递归弹栈并

2021-04-14 19:34:24 811

原创 求平方根

袖珍计算器算法【袖珍计算器】是一种使用【指数函数 expexpexp】和【对数函数lnlnln】代替平方根的方法。x\sqrt{x}x​ = x12x^{\frac{1}{2}}x21​ = (elnx)12(e^{lnx})^{\frac{1}{2}}(elnx)21​ = e12ln⁡xe^{\frac{1}{2} \ln x}e21​lnx注意: 由于计算机无法存储浮点数的精确值(浮点数的存储方法可以参考 IEEE 754,这里不再赘述),而指数函数和对数函数的参数和返回值均为浮点数,因此运算

2021-04-12 15:16:13 137

原创 ASCII码与字符移动

ascii码ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符.百度百科【48~57】为【0~9】十个阿拉伯数字。【65~90】为26个大写英文字母。【97

2021-04-11 21:50:33 871

原创 python深拷贝和浅拷贝

直接赋值等同于对象引用浅拷贝(copy)拷贝父对象,不会拷贝对象内部的子对象。>>>a = {1:[1.2.3]}>>>b = a.copy()>>>a,b({1:[1,2,3])},{1:[1,2,3]})>>> a[1].append(4)>>>a,b({1:[1,2,3,4]},{1:[1,2,3,4]})>>>b[2] = [1,2]>>>

2021-04-10 22:10:37 71

原创 设计模式之代理模式

代理模式代理模式是一种能有效为大型系统提升效率的设计模式。如图所示,【Printer】是一个打印机类,此类的主要工作是打印名字。但是print方法是一项耗时很长的工作【重活】,而【set】和【get】方法是相对轻松的工作而且这两种方法比较频繁,对象【Printer】的构造方法中需要执行重活,所以我们设计了代理类,当且仅当使用【print】方法时我们才会创建【Printer】对象,否则【get】/【set】这种轻松的工作由代理者【PrinterProxy】完成。设计模式源码温故知新 未央书斋

2021-04-07 16:08:32 89

原创 HTTP和HTTPS

基本概念http: 超文本传输协议。https: 使用SSL加密的http.区别https协议需要ca证书,费用较高。http是明文传输,https是具有安全性的加密传输协议。使用不同的链接方式,端口也不同:http:80;https:443优缺点优点使用HTTPS协议可以认证用户和服务器,确保数据发送到正确的客户机和服务器。HTTPS协议是由SSL+HTTP协议构建的可以进行【加密传输】、【身份认证】的网络协议。它比http更加安全,可以防止数据在传输过程中被窃取、改变、确保

2021-04-03 16:09:11 257 1

原创 简单死锁实现

public class Main{ public void func(){ Object o1 = new Object(); Object o2 = new Object(); new Thread(()->{ while(true){ synchorized(o1){ synchorized(o2){ .

2021-04-01 15:35:01 102

原创 操作系统存储管理(一)

虚拟存储器(一)问题程序执行时,所需要的指令和数据必须一次性调入内存。系统的并发性受到物理内存大小的影响。解决问题在程序装入时,只将当前需要执行的部分页或者段读取到内存,就可以让程序执行。执行过程中如果需要执行的指令或者数据不再内存中(缺页或缺段),操作系统将使用页调用算法将数据调入内存。同时将不使用的页或者段调出到外存中。好处程序大小不受物理内存限制系统并发性提高载入内存的数据可能减少,提高系统性能无需编程人员介入虚拟页式机制以页式管理为基础,增加页调度算法需要

2021-04-01 12:56:25 182

原创 关于java GC大纲

GC是java的垃圾回收机制。GC的区域是堆和方法区,堆又分为新生代和老年代,新生代按8:1:1分为Eden/to servior/from servior。GC对象:1. 引用计数:无法解决循环引用问题2. 可达性分析什么时候触发GC:1. System.gc();2. Minor GC: Eden满3. Full GC: 调用System.gc/老年代空间不足/方法区空间不足常用算法:1. 标记清除算法2. 标记压缩算法3. 复制算法4. 分代收集算法(主流)新生代一般采用.

2021-03-31 23:40:28 66

原创 Mysql优化策略(一)

字段优化一般情况下数据库中的表越小,执行效率越高,所以我们在创建表的时候,为了获得更好的性能,要讲字段的宽度设计的尽可能小。eg.定义邮政编码,我们不要盲目的将其设置为CHAR(255)CHAR(255)CHAR(255)或者VARCHAR()VARCHAR()VARCHAR()我们只需要使用CHAR(6)CHAR(6)CHAR(6)就可以很好的完成任务了。此外,我们设计字段的时候,尽可能设计非空字段,因为执行查询时,数据库比较空值也是一项开销。对于某些省份、性别,我们可以将其定义为ENUME

2021-03-29 21:20:10 72 1

原创 HashMap深入学习

Class HashMap<K,V>继承关系KaTeX parse error: No such environment: split at position 8: \begin{̲s̲p̲l̲i̲t̲}̲java.lang.Obje…

2021-03-29 15:59:38 83

原创 动态规划之容量问题

题目:给你一个二进制字符串数组 strs 和两个整数 m 和 n 。请你找出并返回 strs 的最大子集的大小,该子集中 最多 有 m 个 0 和 n 个 1 。如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。输入:strs = [“10”, “0001”, “111001”, “1”, “0”], m = 5, n = 3输出:4解释:最多有 5 个 0 和 3 个 1 的最大子集是 {“10”,“0001”,“1”,“0”} ,因此答案是 4 。其他满足题意但

2021-03-29 15:33:50 271

原创 Java 锁(一)

乐观锁悲观锁自旋锁在短时间内,持有锁的线程能够释放资源,等待的线程不必做内核态与用户态之间的切换,只需要做一个自旋的操作等待持有锁的线程释放锁就可以立即获得锁。Synchronized同步锁独占式悲观锁可重入锁非空对象可以加锁作用范围作用于方法时:锁住对象实例作用于静态方法时,锁住Class实例,相当于类的全局锁,所有调用该方法的线程都会被锁。作用于一个对象实例时,锁住的是所有以该对象为锁的代码块。核心组件wait Set:Contention ListEntry

2021-03-27 14:45:20 219

原创 操作系统之内存管理

虚拟内存分段和分页页式信息的物理单位,分页是为了实现离散分配方式以减少内存的外碎片,提高内存的利用率。分页仅仅是系统管理的需要。段式信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。页的大小固定,且由系统确认,将逻辑地址分为页号和页内地址两部分。段的长度不固定,决定于用户编写的程序,通常由编写程序对源代码进行编辑时根据信息的性质划分。分页的地址空间是一维的,分段的地址空间是二维的(页号、页内地址)。进程间通信信号量: 计数器,锁机制:用来同步信号

2021-03-26 23:03:37 103

原创 java并发总结

创建方式继承Thread实现Runnable、Callable线程池newCachedThreadPool:适用于短期异步,线程可重用。newFixedThreadPool: 固定线程数,以共享队列的方式运行。newScheduledPool: 可以延迟运行或者定期执行。newSingleThreadExecutor 只有一个线程,当这个线程死了会重启一个新的线程代替它。线程池参数四种线程池都是new这个对象public ThreadPoolExecutor(int c

2021-03-26 20:27:18 84

原创 Java 的hashCode

文字待填充~下面是String的hashCode然后看一下Integer的hashCode

2021-03-26 17:57:03 59

原创 后端面试复习(二)

进程和线程的区别进程是资源分配的基本单位;线程是系统调用的基本单位。进程有自己独立的地址空间,启动进程的消耗比较大;线程共享进程中的数据,使用相同的地址空间。线程通信更加方便,同一个进程下的线程共享全局变量,静态变量等数据,进程之间的通信需要通过复杂方式。(处理好同步和互斥是编写多线程程序的难点)。多进程程序更加健壮,多线程程序只要有一个线程死掉,整个进程就死了如何保证线程安全线程安全程度:不可变 :可靠性最高绝对线程安全:高标准安全相对线程安全:我们保证的安全线程兼容:一般不安全

2021-03-26 17:23:18 135

EatDelegate.zip

IOS基础代理使用,栗子。人被狗代理~

2021-08-04

scrapy爬虫获取豆瓣租房信息

爬取豆瓣租房小组中发布的租房信息

2021-06-17

设计模式之代理者模式源码

实现一个模拟学生工作的代理模式,学习是一项耗时的工作,布置工作和查询工作由代理者实现,具体工作由学生自己完成。

2021-04-07

设计模式之java工厂模式

创建者模式中的工厂模式

2021-03-09

Java队列实现,数据结构

队列实现,数据结构作业练习参考,Java实现,环境eclipes1.8

2019-01-14

Java实现堆并调整

Java实现堆的建立和堆的向下向上调整,heap。环境Java eclipes1.8

2019-01-14

链表,Java实现

链表为Java实现,包括增删改查方法,内含运行结果,可直接用于实验报告,截图粘贴即可。开发环境eclipes java1.8

2018-12-11

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

TA关注的人

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