自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(207)
  • 资源 (2)
  • 收藏
  • 关注

原创 tips

修改返回按钮:UIImage *backImage = [UIImageimageNamed:@"navback"];     [[UIBarButtonItemappearance] setBackButtonBackgroundImage:[backImageresizableImageWithCapInsets:UIEdgeInsetsMake(0, backImage.

2016-01-19 18:07:12 920

原创 cocopods 自动化打包ipa

关于CocoaPodsCocoaPods是一个用于管理iOS工程中所使用第三方开源库的工具,可以大大节省我们在工程中添加和配置第三方库所用的时间。关于CocoaPods的使用,推荐下面两篇博客。《使用CocoaPods来做iOS程序的包依赖管理》作者:唐巧 《CocoaPods进阶:本地包管理》作者:王轲自动打包脚本认识到CocoaPods优点后,我便开始在工程中使用了。但在使用了CocoaPod...

2018-04-11 10:35:13 707

原创 如何写一个crash收集sdk

微博以前的crash策略是log批量上传。。。话不多说,上代码,iOS crash 主要分为linux信号异常中断与普通异常捕获。。。- (void)registerHandlerWithAppId:(NSString *)appId {  _appId = appId;  // 1 linux错误信号捕获  signal(SIGHUP, SignalHandler);  signal(SIGIN...

2018-04-10 22:42:17 798

转载 volatile 关键字防止指令重排

前言不管是在面试还是实际开发中 volatile 都是一个应该掌握的技能。首先来看看为什么会出现这个关键字。内存可见性由于 Java 内存模型(JMM)规定,所有的变量都存放在主内存中,而每个线程都有着自己的工作内存(高速缓存)。线程在工作时,需要将主内存中的数据拷贝到工作内存中。这样对数据的任何操作都是基于工作内存(效率提高),并且不能直接操作主内存以及其他线程工作内存中的数据,之后再将更新之后...

2018-04-08 20:17:13 8908 3

转载 iOS copy

Copying 在 iOS 中有很多概念,例如浅拷贝与深拷贝、copy 与 mutableCopy、NSCopying 协议,一直想彻底搞明白这些概念,刨根问底不搞懂不罢休嘛。于是搜 Google 看了一些博客,又去翻了 Apple 相关的文档,发现网上许多博客都理解错了,下面说说自己的理解。浅拷贝与深拷贝对于浅拷贝(Swallow Copy)与深拷贝(Deep Copy),经常看到这样的说法:浅...

2018-04-04 13:08:48 714

原创 nlp 本体 语义计算

研究生读的专业。需要补充。

2018-03-28 22:21:54 576

原创 蓝牙开发BLE协议流程(iOS为例)

凭借大脑残留的记忆写的BLE的一些概念与接入流程。IOT领域与智能设备通信的方式除了zigbee wifi 就算蓝牙了,BLE(bluetooth low energy)看名字就是低功耗的一个东西,通俗来说ble很简单啊,因为无论是iOS还是android 提供的api 都屏蔽了嵌入式开发的东西,基本就是看看api,连接下蓝牙,与蓝牙通讯下。当然也有被坑的地方。perial 大概是这么拼的,分为中...

2018-03-28 22:00:51 4767

原创 私有pod包含第三方静态库

Pod::Spec.new do |s|s.name = 'HaierUserCenter' s.version = '3.3.3.1' s.summary = 'try pod' s.homepage = 'https://github.com/niuxinghua' s.license = { :type => 'MIT', :file => 'LICENSE' } s.autho

2017-12-22 15:25:46 3072

转载 https流程

http是非常常见的应用层协议,是超文本传输协议的简称,其传输的内容都是明文的。在这个混乱的世界,明文传输信息想想就可怕,网络“小混混”的手段远比我们这些凡人高明得多,他们有一万种方式劫持,篡改我们的数据。对于一个网站或者服务,如果你给你的用户两个选择:通讯数据明文传输,速度快;通讯数据加密传输,但是速度可能会稍微慢一点.我想,只要脑袋没有长歪的用户都宁愿牺牲一点速度去换取数据传输

2017-11-20 13:42:07 1666

转载 自旋锁与互斥锁

为了解决对共享资源的互斥使用,出现了一些锁机制。比如,自旋锁和互斥锁。自旋锁和互斥锁很类似,在任何时刻,最多只能有一个保持者,也就说,在任何时刻最多只能有一个执行单元获得锁。但是两者在调度机制上略有不同。对于互斥锁,如果资源已经被占用,资源申请者只能进入睡眠状态。但是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是否该自旋锁的保持者已经释放了锁,”自旋”一

2017-09-25 09:46:42 1184

转载 block copy字符修饰

Objective-C 拾遗:从Heap and Stack到BlockStack和Heapheap和stack是内存管理的两个重要概念。在这里我们指的不是数据结构上面的堆与栈,在这里指的是内存的分配区域。stack的空间由操作系统进行分配。在现代操作系统中,一个线程会分配一个stack. 当一个函数被调用,一个stack frame(栈帧)就会被压到stack里。

2017-09-20 16:26:32 259

转载 cache policy

cache policy近期在做ceph cache-tier 相关的事情, 在cache-tier 里面cache有多种更新策略其实更缓存相关的系统里面, 都存在这几种策略, 比如操作系统的page cache, 业务层使用memcache, redis 作为后端数据库的缓存的时候, 也都要考虑缓存和后端存储的数据一致性问题. 其实就是更新操作的时候, 什么时候去更新缓存, 什么时候去更

2017-09-12 13:24:37 448

转载 IO 概念

在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,而Proactor运用于异步I/O操作。什么是同步和异步同步和异步是针对应用程序和内核的交互而言的,同步指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪,而异步是指用户进程触发IO操作以后便开始做自己的事情,而当IO操作已经完成的时候会得到

2017-08-24 16:09:48 768

转载 IO多路复用

摘要:本文属于原创,欢迎转载,转载请保留出处:https://github.com/jasonGeng88/blog文章一:JAVA 中原生的 socket 通信机制当前环境jdk == 1.8代码地址git 地址:https://github.com/jasonGeng88/java-network-programming知识点nio

2017-08-23 09:33:39 630

转载 IO

摘要:本文属于原创,欢迎转载,转载请保留出处:https://github.com/jasonGeng88/blog当前环境jdk == 1.8知识点socket 的连接处理IO 输入、输出流的处理请求数据格式处理请求模型优化场景今天,和大家聊一下 JAVA 中的 socket 通信问题。这里采用最简单的一请求一响应模型为例,假设我们现在需要向

2017-08-23 09:23:26 282

转载 mmap在iOS系统上IO优化的体现

图片的展示是前端开发中必不可少的功能。iOS中,想要在展示一张图片非常简单:1234UIImage *image=[UIImageimageNamed:fileName];  UIImageView *imageView=[[UIImageViewalloc]

2017-08-21 11:19:05 1503

转载 计算机系统体系

要想让代码乖乖运行,自然代码要先经过编译,这篇文章就来聊聊编译体系。代码的编译过程分为四个阶段,预处理、编译、汇编、链接。而编译阶段是整个过程中最复杂的阶段,编译阶段还可以分为词法分析、语法分析、语义分析。在一头扎进这四个阶段之间,先聊一下语法、语义。人类之所以能在进化的历史长河中,成为动物中的佼佼者,进化出的复杂的沟通机制—语言功不可没。假如,我说出这句话:你个产品狗还在改需求!那么语法

2017-08-21 10:24:02 359

转载 滤波

本文将不解释卡尔曼滤波具体的数学原理,不作为小白晋升高端玩家的台阶,只说卡尔曼滤波在简单场景下(处理温度、加速度计、RSSI等数据)怎样只用三行代码实现,及相关参数的设置。代码提供Matlab和Objective-C版本。最近做的项目用到iPhone收集的蓝牙信号强度,即RSSI值。发现果然如文献中所说,即使手机保持静止,检测到的来自同一蓝牙信标的信号强度也会不停地上下波动,且数据(滤除粗

2017-08-16 11:28:33 1019

转载 framework自动化合并

编译与合并合并则分为两种,一个手动,一个脚本如果打包出去只需要真机或者模拟器中的一种,那么我们只需编译就可以得到,合并是为了同时满足模拟器和真机进行的操作。1、在模拟器 和 真机 环境下分别编译我们的 framework随便选择一个simulator和 Generic Device(代表真机) 分别编译 command + B2、选中我们

2017-07-30 15:19:16 418

转载 synchronized

在上篇多线程安全的文章中,我曾推荐过大家使用@synchronized来使得代码获得原子性,从而保证多线程安全。这篇文章向大家介绍一些@synchronized的知识点和应该避免的坑。@synchronized原理@synchronized是几种iOS多线程同步机制中最慢的一个,同时也是最方便的一个。苹果建立@synchronized的初衷就是方便开发者快速的实现代码同步,

2017-07-30 09:47:03 259

原创 iOS 开发gitignore

为什么要配置.gitigore在我们使用git的过程当中,不是任何文件都需要commit到本地或者远程仓库的,比如一些三方库文件。那么作为一个git新手,很多人不知道如何配置.gitignore文件,本文只是提供一个便捷的例子。你可以直接使用本文提供的代码编辑到你的.gitigore文件中。简便配置直接复制下面的内容到你的.gitignore文件即可。注意,这个

2017-07-16 21:37:50 273

转载 git远程仓库回滚

使用git管理项目开发的过程中经常会碰到这种情况:某次提交已经push到了远程仓库,可是突然意识到“天哪,我怎么做了这么蠢的事情”。那么问题来了,怎么将远程代码库回滚呢?在网上看到大部分人给出的解决方案是先将本地回滚,然后删除远程分支,之后再将本地的分支push到远程仓库,这其实是一种很危险的方案,毕竟直接删除远程分支太狠了,不推荐这样做。。。关于远程仓库回滚首先,必须要明

2017-07-03 10:17:18 421

转载 cocopods管理framework

前言在上篇文章中介绍了Cocoapods管理本地代码,今天我们来说下,管理.a,.framework。管理.a库1、首先我们建立一个static library的工程TestLib。[email protected]、新建TestLib.h/.m,添加test方法。[email protected]、生成通用的.a库。3@

2017-06-07 14:11:03 905

转载 opentsdb

OpenTSDB是基于HBase存储时间序列数据的一个开源数据库,确切地说,它只是一个HBase的应用而已,其对于时间序列数据的处理可以供其他系统参考和借鉴。本文会针对它在数据库的设计方面展开一些探索和讨论。本文基于的是OpenTSDB最早的一个稳定版本1.0.0进行讲解的,下载部署完成之后,我们首先需要了解的是它的数据库Schema, 它主要有两个表:tsdb-uid和tsdb. 前

2017-06-01 09:34:43 373

转载 数据库切分

本文,将介绍数据库架构设计中的一些基本概念,常见问题以及对应解决方案,为了便于读者理解,将以“用户中心”数据库为例,讲解数据库架构设计的常见玩法。 一、用户中心用户中心是一个常见业务,主要提供用户注册、登录、信息查询与修改的服务,其核心元数据为:User(uid, uname, passwd, sex, age,nickname, …)其中:

2017-06-01 09:17:14 278

转载 美团打包

Hyperloop 是什么?Hyperloop 是服务于美团点评客户端的组件发版、持续集成、App 打包构建、资源调度等各个环节的发布调度系统。名称起源于美国 Elon Musk 构想的 Hyperloop 超级高铁,象征着现代、简洁、高效。Hyperloop 提供了一站式的平台,管理着美团点评 iOS 业务的超过 300 个组件和包括美团 iOS 客户端在内的4个App。接入 H

2017-05-27 16:56:31 2037

转载 linkedin oauth

At LinkedIn, we value the integrity and security of our members' data above all else.  In order for your applications to access LinkedIn member data and/or act on their behalf, they must be authentica

2017-05-26 22:16:31 1277

转载 不同version的宏

#if __IPHONE_OS_VERSION_MIN_REQUIRED > __IPHONE_8_0 // iOS 8或更高版本#else // iOS8之前的版本#endifswiftif #available(iOS 8, *) { // iOS 8或更高版本 } else { // iOS8之前的版本 }

2017-05-24 16:37:03 554

转载 iOS framework

写在前面有关于库的出现场景,其实很简单的回答就是,不愿意把实现的源码暴露给其他人。虽然我是脑残的开源爱好者,但是总有些场景下,有这样的需求,比如外包公司的框架,比如我这次写NativeScript,需要自己将三方库打包然后使用在js中调用(当然后来我看到支持CocoaPods的时候,喷了一口老血)。不过这个是客观的一些原因,还有一些有想法的程序员,为了减少编译的时间,也会选择将改动不大的代

2017-05-23 18:05:22 257

转载 framework 比较靠谱的文章

Xcode8 搭建.framework的步骤大致如下: 1、创建一个Cocoa Touch Framework模板。 2、模板创建完成后,新建Test类。 3、TARGETS下选中工程,在Build Settings下更改几个参数 4、在Architectures下增加armv7s,并选中。将Build Active Architecture Only 设置为NO。 

2017-05-22 11:55:45 261

原创 xcode下载最新版本的地址

https://developer.apple.com/download/more/

2017-05-19 16:44:00 374

转载 target-action

Target-action is a design pattern in which an object holds the information necessary to send a message to another object when an event occurs. The stored information consists of two items of data: an

2017-05-18 10:33:24 267

转载 iOS 支持最大的并发数

On iOS URL Connection Parallelism and Thread PoolsThe problemDid you know iOS has a limit on the number of concurrent NSURLConnections to the same end-point? No? Maybe you should, we

2017-05-17 09:51:16 3008

转载 后端接口的幂等性

在微服务架构下,我们在完成一个订单流程时经常遇到下面的场景:一个订单创建接口,第一次调用超时了,然后调用方重试了一次在订单创建时,我们需要去扣减库存,这时接口发生了超时,调用方重试了一次当这笔订单开始支付,在支付请求发出之后,在服务端发生了扣钱操作,接口响应超时了,调用方重试了一次一个订单状态更新接口,调用方连续发送了两个消息,一个是已创建,一个是已付款。但是你先接收到已付款,然后又接

2017-05-09 13:52:03 36615 1

转载 一致性哈希算法

一致性hash作为一个负载均衡算法,可以用在分布式缓存、数据库的分库分表等场景中,还可以应用在负载均衡器中作为作为负载均衡算法。在有多台服务器时,对于某个请求资源通过hash算法,映射到某一个台服务器,当增加或减少一台服务器时,可能会改变这些资源对应的hash值,这样可能导致一部分缓存或数据失效了。一致性hash就是尽可能在将同一个资源请求路由到同一台服务器中。本篇文章将模拟实现一个分布式

2017-05-09 13:44:57 356

转载 cocopods 二进制化

什么是组件二进制化?在iOS开发中,事实标准是我们使用CocoaPods生成、管理和使用library。这里的library就是一个模块、组件或库。二进制化指的是通过编译把组件的源码转换成静态库或动态库,以提高该组件在App项目中的编译速度。我们的方案是转换成静态库,也就是.a格式的文件加上暴露出来的头文件。为什么我们需要二进制化呢?在我们App开发中,我们逐渐的抽

2017-05-03 17:19:32 499

转载 私有pod

这是相关的第二部分 第一部分请参见 http://www.cocoachina.com/ios/20150906/13323.html我们在这里,使用的是 第一部分使用pod lib create YohunlUtilsPod 创建的framework工程来说明.其创建过程在此就不重复了,当然你也可以下载我已经创建好的demo https://github.com/yohunl/Yoh

2017-05-02 11:22:17 298

转载 固定渲染管线

浅谈 GPU图形固定渲染管线阅读目录1.  应用程序阶段(CPU)1.1 视锥裁剪 1.2 场景图 1.3 四叉树与八叉树2. 几何阶段(GPU) 2.1  坐标系统局部坐标系世界坐标系观察坐标系视口坐标系(屏幕坐标系)2.2 图元装配3. 光栅化阶段3.1 背面剔除3.2 alpha测试3.3 模板测试3.4 深度测试3.5 a

2017-04-11 14:36:08 3125

原创 iOS 离屏渲染

CPU 和 GPU渲染OpenGL中,GPU屏幕渲染有以下两种方式:On-Screen Rendering 意为当前屏幕渲染,指的是GPU的渲染操作是在当前用于显示的屏幕缓冲区中进行。Off-Screen Rendering 意为离屏渲染,指的是GPU在当前屏幕缓冲区以外新开辟一个缓冲区进行渲染操作。 按照这样的说法,如果将不在GPU的当前屏幕缓冲区

2017-04-11 13:36:17 667

转载 universal link

没错,这次要说的是 Universal Links,让你的网站和 APP 无缝结合, 原理不复杂,但收益明显。打通网站和 APP如果你的项目同时有 Web 形态的网站,也有移动端的 APP, 并且你更希望用户使用体验更好的 APP,该怎么做呢? 在以往我们可以用到 Scheme 调起, 比如给你的 APP 定义一个特殊的 Scheme,类似 myapp:// 这种形式的。

2017-04-11 13:06:30 290

爬去大学就业信息

爬去大学就业信息 抓包新闻网的接口 做的app 练手的 还有bug

2015-04-21

iOS多线程基础 适合初学者

ios多线程基础 适合初学者 gcd 网路下载

2014-11-23

空空如也

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

TA关注的人

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