自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

转载 MongoDB数据库设计要点

MongoDB数据库设计原则首先考虑集合的规模一对很少比如个人需要保存多个地址,个人关注的话题等。这种情况下使用内嵌文档就很合适一对很多注意很多的定义: 数百到数千之间。这种情况先使用间接引用比较合适,即通过一个数组保存很多一端的文档id一对非常多通过父级引用来解决,即非常多的那端保存一端的id总结确定集合是否为一对多,考虑多的一端是否需要一个单独的实体...

2019-10-04 14:27:03 71

原创 Node使用Mongoose操作MongoDB(基础)

Node 中 使用 Mongoose 操作 MongoDB 数据库1. 引入依赖const mongoose = require('mongoose');2. 连接数据库mongoose.connect('mongodb://localhost/test',{useNewUrlParser:true});mongoose.set('useFindAndModify',false);...

2019-08-30 16:11:09 79

原创 vue jwt 认证

JWT 认证什么是jwt?JSON Web Token (JWT) 是目前最流行的跨域身份验证解决方案解决问题: session 不支持分布式架构,无法支持横向扩展,只能通过数据库来保存会话数据实现共享。如果持久层失败会出现认证失败。优点: 服务器不保存任何会话数据,即服务器变为无状态,使其更容易扩展。JWT包含了使用 . 分割的三部分Header 头部{"alg":"HS2...

2019-08-28 15:56:28 345

转载 关于NODE_ENV

原文链接:http://www.cnblogs.com/zhansu/p/9888660.html先看两篇文章1.前端工程项目的NODE_ENV2.Node 环境变量 process.env.NODE_ENV 之webpack应用3.process.env.NODE_ENV下面全部是在windows系统,我们在命令行输入node,进入node模式,输入process...

2019-08-26 15:30:46 288

原创 Node.js模块化系统基础

模块概念一个js文件就是一个模块Node 中没有全局作用域,一个模块就是一个独立的环境Node 中的模块默认是不能相互访问的核心模块由Node提供的封装了API的具名模块fs : 文件处理模块http : 网络服务构建模块os : 系统服务模块. . . . . .导入导出模块(让模块之间可以相互访问)导入通过 require()来加载并执行指定的模块,返回对...

2019-08-24 14:23:06 46

原创 iOS网络--NSURLSession基本使用(1)

一、NSURLSessionNSURLSession是苹果对网络会话的封装,可以完全替代原来的NSURLConnection。相比于NSURLConnection,NSURLSession具备以下优势:支持http2.0协议 在处理下载任务的时候可以将下载内容写入磁盘(NSURLSessionDownloadTask) 支持后台下载/上传 同一个NSURLSession可以发送多个请...

2019-05-21 15:32:36 56

原创 iOS网络--同步,异步下载数据

一、 这一节我们来学习几种下载数据的方式,目的在于学习同步,异步下载数据的知识。二、 1.直接同步下载数据//直接下载 同步下载 阻塞主线程NSURL * url = [NSURL URLWithString:@"http://127.0.0.1/upload/image/timg.png"];NSData * imageData = [NSDat...

2019-05-17 17:41:21 256

原创 iOS网络--发送get,post请求

一、发送get请求 1. 准备URLNSString * urlStr = @"http://127.0.0.1/hello.php?userName=jack&userPwd=123"; 2.通过URL来get数据 NSData * data = [NSData dataWithContentsOfURL:[NSURL URLWithStr...

2019-05-17 14:18:41 57

原创 iOS网络--socket(2)

一、 在前面的一节,我们学习了iOS网络相关的知识,并利用scoket搭建了一个简易的响应端(这里我都不好意思称他为服务器端...

2019-05-16 09:22:55 62

原创 iOS网络--socket(1)

一、预备知识1.计算机网络的7层模型:网络的7层模型如上图(左边部分)所示,其中应用层,表示层,会话层现在统称为应用层,同时我们的开发就是建立在应用层之上的,而传输层及其以下的层都是比较底层的。数据从应用层到达物理层转换为电信号的过程叫做封包,从物理层到应用层的过程叫做解包。在传输层有两种协议:1.TCP协议 2.UDP协议1.1TCP协议:TCP协议是面向连接...

2019-05-14 12:41:29 161

原创 iOS sqlite3数据库操作

一、前言 sqlite3数据库是一种轻量型的数据库,系统中已经默认安装了,可以通过终端来查看: 首先进入模拟器的沙盒目录中,我们在Documents目录下创建一个sql文件,然后使用sqlite3来访问这个文件。在终端中,可 以使用sql语句来对表进行操作,这里就不在赘述了,下面主要介绍使用代码来对表进行操作。二、使用代码对数据库进行增、删、...

2019-05-09 11:17:27 447

原创 iOS UIBezierPath实现手势解锁

一、先来看一下最终效果 二、需要用到的主要知识viewController中点击,移动,点击结束事件的处理 UIBezierPath的使用 重写drawRect的使用三、实现的具体步骤1.ViewController中我们直接使用view的layer的contents属性来设置背景图片- (void)viewDidLoad { [super v...

2019-03-23 20:11:12 199

原创 iOS通知的例子

一、通知通知是iOS中的一种消息传递方式,通过消息中心(NSNotificationCenter)对消息的监听,当某些类发送出消息的时候,消息中心监听到这些消息,然后进行相应的操作,这些操作对于发送出这些消息的类来说是相同的。下面通过一个demo来说明通知的实现 就是点击按钮,弹出弹窗,然后点击弹窗中的按钮打印出一些信...

2019-03-13 17:21:49 773

原创 自定义UIAlertController

一、首先来看一下效果图二、具体实现我们参照系统的alertController的创建方法来写我们自定义的alertController。1.首先创建一个xib文件,这个文件作为我们自定义的alertview的视图文件,然后创建与之对应的cococlass文件。2.然后写一个类方法方面外界创建我们自定义的弹窗://LSRAlertView.m+(LSRAlertView ...

2019-03-10 20:50:29 301

原创 iOS 使用URLtype实现程序之间的跳转

一、实现目标 就是点击上面蓝色背景的APP(去哪儿)的按钮然后跳转到白色背景APP(支付宝)里面。二、具体实现2.1 因为是去哪儿跳转到支付宝,支付宝需要进行scheme的设置,所以我们在支付宝工程设置里面进行scheme的配置在info的界面下,我们打开URL Type的标签,我们在这里面配置scheme。这里解释一下什么是scheme,其实schem...

2019-03-05 22:27:42 1951

原创 iOS 瀑布流实现

一、先来看看最终的效果吧二、创建UI     1.首先我们在viewcontroller中创建一个UICollectionView.//主控制器中#import "ViewController.h"#import "WaterFallCollectionViewCell.h"#import "WaterfallFlowLayout.h"static const NSIn...

2018-10-03 20:42:50 1356 3

原创 iOS之UITableView

  UITableView在app中的应用十分广泛,接下来我们就来简单学习一下UITableView。一、基本认识 UITableView继承于UIScrollView,只不过前者只能纵向滑动。UITableView在父类的基础添加了一些属性:(这些属性是没有遵守代理时的UITableView的本身的属性),这些属性在后面会介绍。然后再来看看tableview的结构:...

2018-09-02 11:21:59 283

原创 iOS UITextField通过Block回调数据

UITextField可以通过代理回调数据,也可以通过Block回调数据。 //UIText.h#import <UIKit/UIKit.h>typedef void(^textShowDidFinished)(NSString * content);//类型重定义的block@interface UIText : UIView<UITextFieldDelega...

2018-08-11 14:55:39 251

原创 iOS之UIView基本动画

iOS的动画基本上都是通过UIView来实现的,UIView里面封装了许多当前视图的属性以及改变这些属性的方法,通过这些方法我们就可以完成一些简单的动画。 一、渐变透明属性:  alpha  是一个CGFloat 类型,1.0 表示不透明,0.0表示全透明。//渐变,alpha属性-(void)changeopacity{ //现将初始状态改变为全透明 _red...

2018-08-09 13:09:18 679

原创 iOS之UILabel

在iOS开发中,我们经常需要显示文本的信息,这就需要UILabel来实现。 创建一个UILabel//创建UIlabel UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(50,50,realsize.width, realsize.height)];跟其他控件创建过程差不多,都是要指定这个控件的左...

2018-08-08 12:53:31 202

原创 iOS之UITextField代理回调数据方法

UITextField的本身的方法主要是针对输入框本身的操作,真正的对输入框里面的内容和事件的监听是通过UITextFieldDelegate来实现的。 代理方法我们既然需要代理来监听事件,我们就需要完成设置代理的三大步一、首先要让需要代理的类遵守代理类的协议,这里是UITextFieldDelegate二、然后在需要代理的类中说明代理返回的结果给谁  ,这里是   self....

2018-08-08 08:41:30 813

转载 iOS之UITextField属性

UITextField是一个类,用来接收用户的输入,就是常见的文本输入框,不过一般是输入用户名密码之类的那种输入框。只能一行显示。UITextView是一个类,也可以用来接收用户的输入,不过与UITextField不同的是,它能接收超过一行的数据,可以换行。 UITextField的部分属性预备知识:第一响应者当用户点击一个UITextField、UITextView时表明他要...

2018-08-07 21:17:02 45

原创 iOS之UIView

UIView是iOS中非常重要的一个类,几乎所有的有关视图的操作都要依赖这个类。这里只是介绍一些这个类的皮毛。UIView就是控制视图的类,在iOS开发中,看得到的控件都是视图,而视图就是一个矩形区域,视图的呈现由GPU去渲染。  一、UIView属性        1.frame            frame由上图看出它是一个CGRect类型,而CGRect类型是一个...

2018-08-06 21:22:58 409

原创 ios自己配置主界面加载

由于使用xcode的模板,默认加载的主界面就是它为你创建的ViewController,如果我们想自定义主界面的加载,就是说不加载默认的,而加载我们指定的界面,我们需要走三步。 一、删除xcode自动为我们创建的文件删除的文件有三个: ViewController.h ;ViewController.m以及一个Main.storyboard文件,然后右键删除,在弹出的框中选择mov...

2018-08-06 20:03:52 853

原创 ios程序基本文件

一、一个ios程序的文件        1.使用系统的模板来创建程序            xcode -> iOS模块 -> single view app        3.默认创建的程序 提供的文件介绍                      Assets.xcassets: 存放图片资源 ,可以直接拖动图片到里面                  M...

2018-08-06 19:28:38 101

转载 OC 类别

有时我们会为某一个类扩展方法或者属性,我们的处理方式可能有两种:1.直接在这个类中扩展。2.采用继承的方式然后再进行扩展。(效率不高)OC 为我们提供了一种比较简单的方式--类别(category),它能让我们在原有类的基础上扩展出新的方法和属性。 一、分类// NSString+DateToString.h#import <Foundation/Foundat...

2018-08-02 10:41:10 230

原创 OC block回调数据

除了用delegate进行代理传值,block也可以实现数据的传递,并且实现起来更简单。 一、房屋中介设想我们现在需要租房子,我们要先找一个中介,让他来帮助我们。//Agent.h#import <Foundation/Foundation.h>typedef void (^RentHouseOkBlock) (NSString * result);//首先类型...

2018-08-01 12:52:20 435

原创 OC block

block是一种块语法,类似于函数指针,它可以封装一段代码,被封装的代码在block被调用的时候才会执行。 一、block的定义#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { @autoreleasepool { //设置一个没有返回值 没有参...

2018-07-31 20:32:39 68

原创 OC代理传值

delegate(代理)是OC中的一种模式,可以用来传递值和配置值(这里我们只讨论传值的过程)。设想有两个界面,其中一个界面要改变另一个界面的数据,这里我们就会用到代理模式,将改变数据的那个界面作为被改变界面的代理,通过代理来返回给后者被改变的数据。 房屋中介设想我们现在需要去租房子,我们需要一个中介,这个中介就是一个代理,他去帮我们完成我们的需求。现在我们来实现这个场景。//中...

2018-07-30 20:08:51 435

原创 OCMRR模式下重写属性变量的set方法和get方法

由于MRR模式下系统是不会自动释放掉我们不用的对象的,所以对于频繁使用的属性变量,我们就应该重写他们的set来避免重复赋值(但是不能同时重写set和get方法,否者系统就不会为我们创建 _属性变量名 的成员变量)。 重写属性变量的set方法有时候我们需要第一时间知道数据改变了,这个时候我们就需要重写set方法。#import "Person.h"@implementati...

2018-07-29 08:37:57 206

原创 OC内存管理

OC的内存管理分为ARC和MRR两种机制,前者是系统自动去管理内存的,后者是我们主动去管理内存的。在这里我们主要讨论的后者。 引用计数 retainCount无论是ARC还是MRR都是通过OC的引用计数机制来管理内存的(也就是retainCount) ,每当一个对象被创建起来时,它的引用计数就加一,当某个对象的引用计数为0时,说明这个对象就没有被使用了,也就是说这个对象的拥有者就为0了...

2018-07-28 16:21:16 348

原创 重写父类的init方法与自定义init方法

在为对象分配了内存空间之后要初始化对象时,我们希望初始化的结果是对象中的成员变量是有值的,但是默认情况下,init方法是不会给予这些成员变量以我们想要的值的,这个时候我们就应该重写或者自定义init方法。重写父类的init方法-(instancetype)init{ self = [super init];//super 告诉编译器从当前对象所属类的上一级去查找(父类) ...

2018-07-27 14:11:17 1246

转载 @property的属性关键字(@property 的参数)

 //@property (nonatomic, strong) //@property (nonatomic, copy) //@property (nonatomic, weak) //@property (nonatomic, assign) 在声明属性变量时,后面括号里面的参数往往是我们所要考虑的,那么该使用哪一个参数呢,下面的一篇转载的文章将向我们说明一、assig...

2018-07-27 11:34:20 249

原创 OC中的属性变量

在OC中定义一个类时,如果我们将变量全部作为成员变量都写在大括号里面,由于成员变量默认是protected的,因此在外部需要使用这些变量的时候就会变得很棘手,我们可能想到用get和set方法来获取和设置其中的值,但是若我们为每一个变量都这样做,那么代码就会变得十分冗余,以至于给bug提供藏身之所。因此,objective-c为我们提供了十分有效的解决方案--属性变量。 @property关...

2018-07-26 21:06:16 77

原创 OC中函数声明前面的‘+’号和‘-’号

函数声明前的 ‘-’号(学习记录,如果有不妥的地方,还请不吝赐教)方法前面一个减号表示这个方法是一个实例方法也叫对象方法,顾名思义是只有用对象调用的方法也就是必须对象存在了才能去调用这个方法。@interface Person:NSObject{ NSString * name;//这是一个字符串对象}-(void)setName:(NSString *)aName...

2018-07-26 15:57:19 1858 1

原创 objective-c如何定义一个类

 类的声明的一些规则1.类名首字母大写2.创建类的文件名和类名相同 现在我们创建一个Person类@interface Person:NSObject{ NSString * name;//这是一个字符串对象 NSInteger age;//这是一个整型变量 NSString * address;//这是一个字符串对象}@end    @int...

2018-07-25 21:13:22 1073

原创 冒泡排序的升级版--鸡尾酒排序

鸡尾酒排序(作一个自己学习的记录)作为冒泡排序的升级,鸡尾酒排序的思路是首先从开始向末尾循环找出一个最大数,将它放在末尾,然后再从末尾向开始循环找出一个最小数将它放在开头。当指向开始的索引与指向末尾的索引重合时,排序结束。下面是此算法的C语言实现。 #include<stdio.h>#include<stdlib.h>int main(){...

2018-07-24 20:00:40 356 2

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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