自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ruby gem 制作(二)包含可执行文件

文章目录制作包含可执行文件的 gemfile在 `bin` 目录下创建一个可执行文件修改可执行文件内容测试可执行文件内容修改 `gemspec` 文件内容把内容推送到远端执行发布使用补充 使用 gem 安装的可执行文件的路径参考文章制作包含可执行文件的 gemfile在 bin 目录下创建一个可执行文件切换到 bin 目录下cd ./bin创建一个文件touch ocean1执行 chmoda: 表示所有用户x: 可执行文件权限chmod a+x bin/ocean1

2020-07-09 13:37:49 666

原创 ruby gem 制作(一)

文章目录步骤使用 rubymine 新建一个项目在 github 上新建一个项目使用终端切换到项目目录执行命令: `rake build`执行命令 `rake install`关联远端仓库推送到远端仓库发布参考文章步骤使用 rubymine 新建一个项目在 github 上新建一个项目使用终端切换到项目目录执行命令: rake build✗ rake buildResolving dependencies...Resolving dependencies...ocean1 0.1.0

2020-07-09 13:36:13 452

原创 Ruby 学习(十一)模块Module

文章目录模块(Module)基础语法例子require 语句include 语句模块(Module)基础定义了一个命名空间,相当于一个沙盒方法和常量不会与其他地方的方法常量冲突。模块类似与类,但有以下不同:模块不能实例化模块没有子类模块只能被另一个模块定义模块常量命名与类常量命名类似,以大写字母开头。方法定义看起来也相似:模块方法定义与类方法定义类似。语法module Identifier statement1 statement2 .....

2020-06-26 23:52:16 299

原创 Ruby 学习(十)类class

文章目录类定义创建对象`new`自定义初始化构造器变量局部变量实例变量 `@`类变量 `@@`全局变量 `$`常量 `大写字母开头:Constant`伪变量函数/方法 `def`定义返回值类方法getter 和 setter`to_s 方法`访问控制类的继承类定义class 类名称end创建对象new自定义初始化构造器class Box def initialize(w, h) @width = w @height = h endendobj = Box.ne

2020-06-26 23:51:08 646

原创 Ruby 学习(九)范围Range

文章目录范围类型 `Range`例子作为序列的范围作为条件的范围作为间隔的范围范围类型 Range范围可使用 s..e 和 s...e 来构造,或者通过 Range.new来构造s..e: 包含结束值s...e: 不包含结束值例子(10..15).each do |n| print n, ' 'endprint "-------\n"(10...15).each do |n| print n, ' 'end输出10 11 12 13 14 15 ------

2020-06-26 23:50:30 170

原创 Ruby 学习(八)日期和时间

文章目录Date & Time当前的日期和时间年月日时分秒等信息格式化时间和日期 `Time.strftime`Date & Time当前的日期和时间time = Time.nowputs time2020-06-26 22:06:57 +0800年月日时分秒等信息time = Time.now# Time 的组件puts "当前时间 : " + time.inspectputs time.year # => 日期的年份puts time.month

2020-06-26 23:49:48 418

原创 Ruby 学习(七)哈希类型Hash

文章目录哈希类型 `Hash`创建大小`hash.length``hash.size`空判断 `hash.empty?`添加新的健值对`hash.store(key, value)``hash[key]=value`获取key对应的value`hash[key]``hash.default(key = nil)`修改健值对 `hash[key]=value`删除清空所有的健值对 `hash.clear`删除key对应的健值对 `hash.delete(key)``hash.delete_if { |key,

2020-06-26 23:49:01 439

原创 Ruby 学习(六)数组Array

文章目录数组 `[]`基础索引常用API创建数组的大小 `size` `length`判断是否为空 `array.empty?``&``*``array * int``array * str``+``-``|``<<``==`获取元素`array[index]``array[start, length]``array[range]``array.at(index)``array.slice(index)``array.slice(start, length)``array.slice(r

2020-06-26 23:48:16 536

原创 Ruby 学习(五)字符串String

文章目录String`''` 和 `""``#{ expr }` 双引号的字符串才可以使用多行字符串字符编码常用 api大小`str.length``str.empty?``str * integer`拼接`str + other_str``str.concat(other_str)`比较相等判断 `str <=> other_str`相等判断 `str == obj`相等判断 `str.eql?(other)``str =~ obj`字符串截取大小写首字母大写 `str.capitalize`

2020-06-26 23:47:14 321

原创 Ruby 学习(四)循环语句

文章目录循环语句`while``until``for``each``break 语句``next 语句``redo 语句``retry 语句`循环语句while语法while conditional [do] codeend例子$i = 0$num = 5 while $i < $num do puts("在循环语句中 i = #$i" ) $i +=1end输出在循环语句中 i = 0在循环语句中 i = 1在循环语句中 i = 2在

2020-06-26 23:46:02 219

原创 Ruby 学习(三)条件语句

文章目录条件判断`if...else``code if condition``unless 语句``code unless conditional``case 语句`条件判断if...else值 false 和 nil 为假,其他值都为真语法注意是 elsifif conditional [then] code...[elsif conditional [then] code...]...[else code...]endcode if

2020-06-26 23:45:22 294

原创 Ruby 学习(二)运算符

文章目录运算符算术运算符比较运算符赋值运算符位运算符逻辑运算符三元运算符范围运算符`defined?` 运算符点运算符 `.` 和双冒号运算符 `::`运算符算术运算符+: 加法-: 减法*: 乘法/: 除法%: 求模**: 指数比较运算符==: 相等!=: 不相等>: 大于<: 小于>=: 大于等于<=: 小于等于<=>: 联合比较运算符。如果第一个操作数等于第二个操作数则返回 0如果第一个操作数大于第二个操作数则返回 1如

2020-06-26 23:43:50 419

原创 Ruby 学习(一)Gem

文章目录Gem查看版本 `gem --version`查看已安装的包 `gem list`安装包 `gem install 包名称`卸载包`gem uninstall 包名称`Gem是ruby的包管理器链接查看版本 gem --versiongem --version3.0.4查看已安装的包 gem list本地已经安装的包gem list --localgem list远端可用的安装包gem list --remote安装包 gem install 包名称gem

2020-06-26 23:41:56 247

原创 Xcode Build Setting 常用的设置

配置值描述CONFIGURATIONDebug配置PROJECT_NAMEStudyBuild项目名称PRODUCT_NAMEStudyBuild产品名称,也就是.app文件夹名称CONTENTS_FOLDER_PATHStudyBuild.appSDKROOT/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/...

2020-06-22 20:52:55 1121

原创 Xcode Build Setting 整理(二)

文章目录`Apple Clang``Apple Clang - Address Sanitizer` 清扫`Apple Clang - Code Generation` 产生`Debug Information Level` (CLANG_DEBUG_INFORMATION_LEVEL)`Enable Additional Vector Extensions``Enable Code Coverage Support``Enforce Strict Aliasing``Generate Debug Symb

2020-06-21 23:13:30 2500

原创 Xcode Build Setting 整理(一)

文章目录基本概念最终取值`Build Settings``Architectures` 架构`Base SDK` (SDKROOT)`Additional SDKs` (ADDITIONAL_SDKS)`Supported Platforms` (SUPPORTED_PLATFORMS)`Architecures` (ARCHS)`Valid Architectures` (VALID_ARCHS)`Build Active Architecture Only` (ONLY_ACTIVE_ARCH)`Ass

2020-06-21 21:41:44 7807

原创 SpringBoot配置https访问 (使用p12证书)

文章目录SpringBoot配置https访问 (使用p12证书)需求清单步骤参考文章SpringBoot配置https访问 (使用p12证书)需求清单云服务器ECS域名SSL证书步骤去阿里云官网后台下载SSL证书因为使用p12配置https访问,这里选择的Nginx类型证书下载解压证书登录云服务通过终端使用 ssh 登录服务器新建文件夹,用来存放证...

2020-03-07 22:21:23 3368

原创 服务器运行jar包流程

文章目录一: 服务器需要安装 Java环境下载 java 安装包把java安装包拷贝到服务器上解压缩安装包配置java环境变量参考文章二: 把jar包手动部署到服务器IDEA 打 jar 包把 jar 包上传到服务器对应的目录下运行java的jar包接口调用三: 使用 Alibaba Cloud ToolKit最近在学习服务器相关知识,把使用IDEA生成jar包,上传到服务器,运行的过程记录如下...

2020-01-04 01:29:19 8357 1

原创 Xcode编译App(三): 编译整个项目的最终Target

文章目录编译最终的 Target一、准备工作创建 `.app` 文件夹处理 Entitlements二、WriteAuxiliaryFile (写入辅助文件)三、脚本文件 Check Pods Manifest.lock四、CompileC (编译源文件)五、Ld 库(静态库`.a`、动态库`framework`)处理(链接到.app下的可执行文件中)六、拷贝/处理资源文件CompileStory...

2019-06-12 13:56:03 6131

原创 Xcode编译App(二): 编译Pod项目Target

文章目录编译 Pod 项目的 Target一、准备工作二、 WriteAuxiliaryFile (写入辅助文件)三、CompileC (编译源文件)四、Libtool (链接 .o 文件 生成 `.a` 静态库)编译 Pod 项目的 TargetBuild target Pods-MyAppName of project Pods with configuration Debug补充:...

2019-06-12 13:51:16 2022

原创 Xcode编译App(一): 编译单个Target

文章目录编译单个 Target 过程 (以 AFNetworking 为例子)一、准备工作1、CreateBuildDirectory (产品 `Products` 最终路径: Build/Products)2、CreateBuildDirectory (产品 `Products` 中间文件路径: Build/Intermediates.noindexs)二、 WriteAuxiliaryFile...

2019-06-12 13:47:33 2581

原创 KVO原理探究

[TOC]KVO研究没有使用KVO和使用KVO的变化测试的类Person@interface Person : NSObject@property (nonatomic, assign) int age;@end@implementation Person@end通过 objc_copyClassList 验证思路: 使用runmtime 的 objc_copyClass...

2019-06-02 22:19:05 915

原创 使用脚本`shell`构建自动化的`podspec`发布

最近在研究自动化这一块的内容,学习了shell的一些知识,学以致用,就研究了一下使用shell进行自动发布podspec,有了这个脚本以后,发布pod只需要在终端执行一下就好了,然后就可以去做其他的事情了,不用一直等着在终端敲命令了,哈哈

2018-12-12 18:16:47 979

原创 数据库 sqlite 使用小结

文章目录`sqlite3``数据类型``基础的` (`NULL` `INTEGER` `REAL` `TEXT` `BLOB`)运算符算术运算符比较运算符逻辑运算符位运算符 (真假)约束条件 `WHERE`排序 `ORDER BY`创建数据库 `path`打开数据库 `open`关闭数据库 `close`创建表 `CREATE`删除表 `DROP`插入 `Insert`删除 `Delete`修改...

2018-09-18 11:06:47 1214

原创 iOS和Android对比系列(二):页面跳转和传参

iOS和Android对比系列(二):页面跳转和传参iOS跳转页面方式页面传递参数正向传递: 在 .h 文件中设置需要传递的参数反向传递:方法一:使用代理(协议)方法二:遍历控制器进行设置Android跳转页面(不传递参数)跳转页面 (传递简单的参数) putExtra()跳转页面 (传递复杂的参数) Bundle的putSerializable()跳转页...

2018-09-13 17:46:07 474

原创 iOS和Android对比系列(一):生命周期

iOS和Android对比系列(一):生命周期iOS UIViewController 和 Android Activity 生命周期对比iOS UIViewControllerpresent方式navigation方式Android Activityactivity 基本的四种状态小结iOS UIViewController 和 Android A...

2018-09-13 17:08:32 993

原创 iOS 使用 jenkins 自动化打包过程

安装 Jenkins安装相关插件配置Jenkins和相关的插件信息配置 Jenkins 的 GitLab 相关信息配置访问token配置ssh在Jekins配置GitLab账号配置相关插件配置证书插件新建工程配置工程General源码管理构建触发器构建环境构建更新 pod配置 build 和 archive 配置General build set...

2018-09-04 17:52:09 3623

原创 iOS音频开发相关(四)小结

一、代理方法播放器操作 AVAudioPlayer耳机插入拔出的通知音频播放:上拉画出控制面板,app走的是UIApplicationWillResignActiveNotification方法一、代理方法AVAudioRecorder录音完成: stop或者超过最大时间限制 会调用下面的方法- (void)audioRecorderDidFinishRec...

2018-08-25 17:57:40 258

原创 iOS音频开发相关(三)播放 `AVAudioPlayer`

AVAudioPlayer初始化方法控制方法属性代理播放时间分贝AVAudioPlayer初始化方法/* all data must be in the form of an audio file understood by CoreAudio */- (nullable instancetype)initWithContentsOfURL:(N...

2018-08-25 17:50:35 625

原创 iOS音频开发相关(二)录音 `AVAudioRecorder`

录音 AVAudioRecorder初始化方法AVFormatIDKeyAVSampleRateKeyAVNumberOfChannelsKeylinear PCM keysAVLinearPCMBitDepthKeyAVLinearPCMIsBigEndianKeyAVLinearPCMIsFloatKeyAVLinearPCMIsNonInterleavedaudi...

2018-08-25 17:48:36 2686

原创 iOS音频开发相关(一)

前言跨平台的音频文件格式选择(iOS Android H5)aac音频格式caf文件格式转mp3文件格式使用到的类前言最近开发app的时候用到了音频的”录音”和”播放”功能,把开发过程中的一些知识整理一下,做了备份,也可以让别人少走一些弯路;建议先了解一下音频的相关基础内容,参考下面的文章https://www.jianshu.com/p/5c5e95d8...

2018-08-25 17:45:31 1219

原创 微信小程序模板消息

阅读前建议先通读一下微信官方文章,如下 https://developers.weixin.qq.com/miniprogram/dev/api/notice.html 注意: - 需要用户先在小程序内存在交互行为(如表单提交获取formId,支付行为获取prepay_id) - 需要模板ID - 需要微信6.5.2版本及以上版本才支持小程序的模板消息和app的推...

2018-05-22 15:29:29 1086

原创 微信小程序小结:(二)

一、给每个页面设置页面id,便于区分(页面跳转传递参数的实现)如从页面A跳转到页面B:A向B传递参数可以使用key=value&amp;key2=value2的形式拼接到path后面,其实就是query参数例子:var url = '/pages/bindResult/bindResult' + '?bindType=0' + '&amp;telephone=' + too...

2018-05-22 14:12:56 466

原创 oc 中协议 protocol 的使用

1、把相同的属性和方法抽取出来:一、构建父类;二、构建协议;2、类的属性和方法都是和这个类关联的;协议的属性和方法不和任何类进行关联,是独立的;3、协议包含方法(类方法、对象方法)和属性;正是因为这个特性,所以协议可以作为数据源;根据协议传入的数据不同显示不同的页面,如 UITableView 的数据源;@property (nonatomic, weak, nullable) i...

2018-03-02 11:10:06 646

原创 编程语言对比系列:二、数组的基本使用

文章大纲如下:一、初始化 init array File URL ArrayOC init array File URLJava ArrayJS Array.from Array.of相同点不同点二、长度 count size lengthOC countJava sizeJS length相同点- oc 为 count ,Java...

2018-03-01 11:45:10 546

原创 微信小程序知识点,踩过的坑小结

前言微信小程序开发也有一段时间了,把开发过程中的一些知识点,踩过的坑记录一下页面的 json 配置文件不能够使用注释 // ,使用注释会报错VM360:2 pages/accountSetting/accountSetting.json 文件解析错误 SyntaxError: Unexpected token / in JSON at position 39因此,需要的进行配置...

2018-02-11 18:23:02 1439

原创 编程语言对比系列:一、字符串的基本使用

前言最先接触编程的知识是在大学里面,大学里面学了一些基础的知识,c语言,java语言,单片机的汇编语言等;大学毕业后就开始了app的开发之路,先使用oc进行iOS的app开发,后面应公司需求,又相继学习了java语言并使用java语言进行Android的app开发,后来微信开放了小程序,应公司需求,又学习了小程序的相关知识,js、css、html等,脑袋里面有了这么多的编程语言,有时候会有点混...

2018-02-11 16:32:09 2448

原创 iOS开发中的进制转换

进制转换开发中常用的进制有二进制、十进制、十六进制,此文章旨在说明进制转换的规则、流程;最后用OC写了进制转换的方法,自测是ok的;生活中最常用的是十进制,所以进制转换总的可以分为两大类: 第一类:其他进制(如二进制、十六进制)转十进制; 第二类:十进制转其他进制(如二进制、十六进制);第一类:其他进制转十进制1、抛开进制的观念,数值都可以写成这种形式:xxxx.xxxx,因为进制的不同,导致每

2017-11-23 10:22:24 852

原创 iOS和Android的尺寸小结

前言最近开始做了Android开发,发现和iOS开发还是有很大的区别的,把一些相关知识记录下来:iOS和Android的尺寸小结iOS1、iOS中根据屏幕的ScaleFactor可以把机器分为@1x,@2x,@3x三种机型,具体见下图:2、UI设计师给的设计图一般都是以px作为单位的,而iOS中是以pt(point)作为标准的(这一点和安卓不同,Android的距离一般以dp为单位,dp为安卓特有的

2017-10-26 10:43:07 1289

原创 在GitHub上搭建框架podspec过程以及遇到的问题

这篇文章记录了自己在GitHub上搭建框架podspec过程以及遇到的问题总的来说可以分为5步骤一、在GitHub上和电脑本地搭建项目二、配置.podspec文件三、上传本地项目文件到GitHub四、配置tag并验证podspec文件五、发布框架具体过程如下:一、在GitHub上和电脑本地搭建项目这一步主要就是把GitHub的项目和本地的项目关联起来1、在GitHub上新建一个项目仓库(只有LICE

2017-08-30 16:49:08 811

空空如也

空空如也

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

TA关注的人

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