- 博客(56)
- 资源 (1)
- 收藏
- 关注
原创 [jenkins]iOS 自动打包上传 Appstore
环境mac 系统mac 系统上搭建 jenkins 服务其它请参考上级内容[jenkins]iOS 自动打包上传 fir直接上脚本// clean 内容xcodebuild clean -workspace ${workspace} -scheme ${scheme} -configuration Debug -sdk iphonesimulatorxcodebuild clean -workspace ${workspace} -scheme ${scheme} -configurati
2021-07-10 22:34:44
700
原创 [jenkins]iOS 自动打包上传 fir
环境Mac 系统作为服务器brew 安装 Jenkins,安装默认插件即可启动 Jenkins 服务器为了让局域网可以访问 Jenkins 可以修改如下配置打包前提是 Mac 服务器已经具有打包 iOS 的能力修改如下两个路径下的 httpListenAddress 配置 ip 为 0.0.0.0~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist/usr/local/opt/jenkins/homebrew.mxcl.jenkins.pl
2021-07-04 20:37:17
359
原创 【Cocoapods】安装升级
安装sudo gem update --systemsudo gem uninstall cocoapods或sudo gem install cocoapods -n /usr/local/bin
2021-06-08 15:28:21
116
原创 【ansible/ansible-tower】
环境mac 系统使用 docker 安装 ansible;docker image 为 ybalt/ansible-towerTower 3.2.1;Ansible 2.6.1;为了解决问题iOS 打包MAC,需要有在自己的电脑上访问,执行打包的 Shell 脚本。为什么选择 Ansible因为 ansible 是通过 ssh 进行配置管理,软件管理;client 不需要安装任何的 agent 插件。关键命令和路径tower-manage inventory_import
2021-05-31 22:10:34
482
原创 【MySql】常用命令
mysql常用命令总结连接:mysql -h [127.0.0.1] -P [3306] -u root -p (端口要用大写P,与密码p加以区分)查看mysql的数据库列表:show databases;使用某个库:use [数据库名];查看表列表:show tables;查看数据库的创建 show create database [数据库名称];查看表的创建:show create table [表名];查看数据的字符集相关信息: show variabl
2021-04-28 18:47:03
137
原创 【Sqlite3】命令行使用
简介sqlite3一款主要用于嵌入式的轻量级数据库,本文旨在为熟悉sqlite3基本命令提供技术文档。备注:本文所有操作均在root用户下进行。1、安装sqlite3brew install sqlite3mac 下安装sqlite3sqlite3 -version查看版本信息:2 、sqlite3常用命令sqlite3 test.db创建并打开数据库;注:如果不加数据库的名字,则为使用内存模式,在内存中创建表等。.database查看数据库文件信息命令(注意命令前带字符’.’).sch
2021-04-28 00:04:09
4409
原创 【iOS】 app 的优化
启动优化启动优化之前必须知道,app 启动的全过程;而想知道全过程,只要按照以下操作:Edit scheme -> Run -> Auguments 将环境变量 DYLD_PRINT_STATISTICS 设为 1则在启动过程,就会在 lldb 中打印出来;打印结果如下:Total pre-main time: 5.62 milliseconds (100.0%) dylib loading time: 25.33 milliseconds (450.5%)
2021-04-20 14:06:33
305
原创 【Tool/Git】git-flow
小解master: 主分支devlop: 开发分支;所有功能的集合分支;feature:功能分支;开发部分功能;开发完成后,被 develop 分支 merge;release: 待发布分支,来自develop分支;可以进行最后的 bug 修复和功能验证;hotfix:master bug 修复分支;修复后被 master,develop分支merge;master 分支每个提交必须有 tag所有的 feature 分支必须是从 develop分支创建release 分支每次只能有一个
2021-02-20 17:11:38
129
原创 【Curl】用法
curl 请求命令可以代替 postman 图形化命令curl https://baidu.comGET 请求参考链接-A-A参数指定客户端的用户代理标头,即User-Agent。curl 的默认用户代理字符串是curl/[version]。$ curl -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.3.
2021-02-19 16:51:38
220
转载 【iOS】基础内存管理(招聘一个靠谱的 iOS)
转载参考:引用计数带来的一次讨论Objective-C 引用计数原理各个线程 Autorelease 对象的内存管理Practical Memory ManagementiOS内存管理Xcode 10 下如何创建可调试的objc4-723、objc4-750.1工程Block技巧与底层解析Objective-C Autorelease Pool 的实现原理《招聘一个靠谱的 iOS》iOS 中 weak 的实现原理iOS 底层解析weak的实现原理weak的生命周期:具体实现方法i
2021-02-19 15:57:09
163
原创 【HTTPS】握手加密
HTTPS(全称: Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。 HTTP+加密+认证+完整性保护 = HTTPS HTTP: 直接通过明文在浏览器和服务器之间传递信息。HTTPS: 采用 对称加密 和 非对称加密 结合的方式来保护浏览器和服务端之间的通信安全。对称加密算法加密数据+非对称加密算法交换密钥+数字证书验证身份=安全过程HTTPS加密请求(一次握手)过程首先,客户端发起
2021-02-18 14:14:40
268
原创 【iOS】lipo otool 动、静态库
查看库是否是动态库如果是动态库则会有 Mach-O dynamically linked shared library标记file xxxx.afile xxxx.framework/xxxxxxxx: Mach-O universal binary with 3 architectures: [arm_v7:Mach-O dynamically linked shared library arm_v7] [arm_v7s] [arm64]xxxx (for architecture ar
2021-02-08 17:40:54
957
2
原创 【iOS/动画】显式动画
创建动画类(CABasicAnimation, CAKeyframeAnimation,CASpringAnimation)如下:基础动画CATransaction.begin()self.layerView.backgroundColor = UIColor.green.cgColorlet baseanimation = CABasicAnimation()baseanimation.keyPath = "backgroundColor" // 这个值为 keypath 的值basean.
2021-01-31 22:12:54
411
原创 【iOS/动画】隐式动画
隐式动画系统默认在在 Layer 层上实现的动画,只要改变属性,系统就会自动作出默认实现的过度动画;例如:修改背景颜色红色为绿色,系统会默认有0.25秒的过渡动画。类似这样的动画为隐式动画隐式动画是在 iOS 平台创建动态用户界面的一种直接的方式,也是UIKit动画机制的基础事务解释什么是隐式动画。什么是事务。系统如何确定动画的类型和动画的执行时长。CoreAnimation 基于一个假设,屏幕上显示的任何东西都是可以做动画的。动画并不需要开发者打开,相反需要开发者主动关闭,即:动画默
2021-01-24 23:54:11
513
原创 【Swift】UnsafePointer等指针
指正分类UnsafePointer类似于 const Pointee *UnsafeMutablePointer 类似于 Pointee *UnsafeRawPointer 类似于 const void *UnsafeMutableRawPointer 类似于 void *UnsafeBufferPointerUnsafeMutableBufferPointerunsafeBitCastUnsafePointer/UnsafeMutablePointer打印属性指针var nic
2021-01-17 23:47:03
711
原创 【系统架构师x2_1_0_0】计算机基础-操作系统
计算机组成计算机由软件和硬件组成计算机软件分为系统软件和应用软件系统软件:支持软件的运行,为应用软件提供平台,用户可以使用它但是不能随意修改它语言处理软件、连接程序、诊断程序、数据库管理系统。应用软件:利用软硬件资源为某一专门应用目的而开发的软件科学计算、CAD、实时处理、表格处理等关系图如下:操作系统计算机硬件资源CPU、存储器、输入输出设备等物理设备。计算机软件资源以文件形式保存在存储器上的程序和数据信息操作系统有效的组织和管理系统中的软硬件
2021-01-10 16:59:29
122
原创 【iOS/runtime/003】字典转模型、模型转字典和自定义 KVO
字典转模型字典转模型遍历字典获取 key valueobjc_msgSend() 调用 set 赋值函数指针写法:返回类型 (*名称)(params1, params2…)#import <objc/message.h>@implementation User- (instancetype)initWithDic:(NSDictionary *)dic { if (self = [super init]) { for (NSString* key i
2021-01-10 15:41:21
260
原创 【iOS/runtime/002】Swizzling 方法交换
Swizzling 方法交换TableView 默认空页面制作// UITableView+ex.h#import <UIKit/UIKit.h>#import <objc/runtime.h>@interface UITableView (ex)@property(strong, nonatomic)UIView *lgValue;@end// UITableView+ex.m#import "UITableView+ex.h"#define LGDe
2021-01-10 00:23:10
167
原创 【iOS/runtime/001】
介绍消息转发的机制消息转发的条件如何创建demo: OC 头文件中有方法名称,没有方法实现的时候会触发消息转发机制;从子类 isa 的 methodlist 中开始找方法实现,一直找到 rootClass, 如果没有找到则触发消息转发机制;消息转发类型动态转发// 动态转发(添加一个方法实现)+ (BOOL)resolveInstanceMethod:(SEL)sel快速转发// 快速转发(创建一个备用接受者)- (id)forwardingTargetForSelecto
2021-01-03 22:07:11
113
原创 【系统架构师x1_1_2_2】知识结构
九大能力战略规划能力业务流程建模能力信息数据架构能力技术架构选择和实现能力应用系统架构的解决和实现能力技术IT知识及基础设置、资源调配能力信息安全技术支持与管理保障能力面向软件系统可靠性与系统生命周期的质量保障服务能力基本素养系统架构师必须成为所在开发团队的技术战线引导着很强的系统思维能力需要从大量的系统方法和工具中区分出哪些是无效的,哪些是有效的成熟、丰富(业务领域方面的工作知识,知识来源于经验和教育)、有经验、有良好教育的、学习快捷、善于沟通和决策能力的人广泛了.
2020-12-28 00:38:53
150
3
原创 【系统架构师x1_1_2_1】定位(项目管理师、项目分析师、项目架构师)
职责分布:项目管理师、系统分析师、系统架构师项目管理师项目管理师的主要职责是负责整个项目的实施和控制,协调各种资源(包括组织内部资源和客户资源)掌握信息系统项目管理的知识体系,具备管理大型、复杂信息系统项目和多项目的经验和能力;能根据需求组织制定可行的项目管理计划;能够组织项目实施,对项目的人员、资金、设备、进度和质量等进行管理,并能根据实际情况即时作出调整,系统地监督项目的实施过程的绩效,保证项目在一定的约束条件下达到既定的项目目标;能分析和评估项目管理计划和成果;能在项目管理进展.
2020-12-27 16:10:49
187
原创 【系统架构师x1_1_2_0】定义和职业素养
架构师分类: 业务架构师、主题领域架构师、技术架构师、项目架构师和系统架构师定义系统架构师是系统或产品线设计责任人,是负责理解和管理并最终确认和评估非功能性系统需求[注1],给定开发规范,搭建系统实现的核心架构,对整个软件架构、关键构建、接口进行总体设计,并澄清关键技术的高级技术人员。【注1】非功能性系统:软件的可维护性、性能、复用性、可靠性、有效性和可测试性系统架构师是特定开发平台、语言、工具的大师。着眼于“技术实现”,同时还要考虑系统的“组织协调”技术素质负责公司系统的架构设计和.
2020-12-27 10:24:13
118
原创 【iOS/Swift】自定义操作符 prefix postfix infix
说明操作符预定义 prefix infix postfixprefix: 运算符在运算值的前方; postfix:运算符在运算值的后方;infix:运算符在运算值之间precedencegroup:定义运算符的其它属性prefix operator ^postfix operator ^-infix operator ^^代码示例// 前置:返回2的n次方prefix operator ^prefix func ^ (vector: Double) -> Double {
2020-12-07 17:31:16
1554
原创 【iOS/fastlane】自动发布ios_ipa
背景mac 笔记本安装 fastlane安装fastlane brew install fastlane切记及时更新 brew upgrade fastlane,否则可能会出现无法使用的情况终端切换到ios工程目录中 fastlane init,项目中会生成fastlane文件夹配置文件夹中的各个文件 Appfile Fastfile Pluginfile report.xmlAppfile#app_identifier("com.alex.luan") # The bun
2020-10-16 22:58:23
848
原创 【Server/kafka/Mac】kafka for mac
主要链接1主要链接2环境java8zookeeper (kafka启动前必须启动 zookeeper)kafka启动路径brew install kafka启动zookeeper zookeeper-server-start /usr/local/etc/kafka/zookeeper.properties启动kafka kafka-server-start /usr/local/etc/kafka/server.properties创建一个主题(topic)bin/kafka-t
2020-10-16 19:42:15
81
原创 【iOS-Swift】为什么是面向协议的编程 struct+protocol
swift 基本类都是继承于协议swift 可以通过协议的默认实现,进行无痕扩展Demo 给UIView 无痕扩展一个方法// 给 UIView 扩展一个方法 test()// 扩展方式优美有和谐struct TestFunction<TE> { let base: TE init(_ te: TE) { base = te }}protocol TestFunctionProtocol { associatedtype Com.
2020-10-15 15:20:11
572
2
原创 【iOS】系统判断网络
iOS 网络状态判断#import <SystemConfiguration/SCNetworkReachability.h>-(void)test { NSLog(@"asdf"); SCNetworkReachabilityFlags flags; SCNetworkReachabilityRef netReachability = SCNetworkReachabilityCreateWithName(kCFAllocatorDefault, "ob");
2020-09-05 11:27:57
307
原创 【iOS】状态栏颜色和pop手势
说明UINavigationController 管理状态栏颜色,需要转发给单个控制器class NavController: UINavigationController { override func viewDidLoad() { super.viewDidLoad() } override var preferredStatusBarStyle: UIStatusBarStyle { let top = visibleViewCont
2020-08-24 17:49:23
170
原创 【iOS】UIScrollview联动
直接上代码class CustomScrollview: UIScrollView { override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? { switch event?.type { case .touches: print("touch") default: return super.hitTest(
2020-08-24 17:07:47
327
原创 【Python】邮件发送
qq 邮箱准备和设置设置地址如下图开启 POP3/SMTP 服务,并生成授权码。注:授权码就是登陆邮箱的密码,即为代码中的秘钥直接上代码#!/usr/bin/env python3# coding=utf-8# sendEmail title contentimport sysimport smtplibfrom email.mime.text import MIMETextfrom email.header import Headersender = 'xxx@qq.com
2020-08-18 11:06:57
171
原创 【Golang】快速排序
/// 快速排序func Sort(a []int, lo, hi int) { if hi <= lo { return } j := Partion(a, lo, hi) Sort(a, lo, j-1 ) Sort(a, j+1, hi)}func Partion(a []int, lo, hi int) int { v := a[lo] i := lo j := hi //array := []int{7,1,100, 88,3,2,8,9,4,5,6} for
2020-07-31 14:14:07
90
原创 【iOS】音频系统方法格式转换,获取音频信息获取
直接上代码.h#import <MobileCoreServices/MobileCoreServices.h>#import <AudioToolbox/AudioToolbox.h>#import <AudioUnit/AudioUnit.h>#import <AVFoundation/AVFoundation.h>/// ogg,amr,acc 格式无法使用@interface YSAudioTool : NSObject+ (Au
2020-07-28 18:56:29
1271
2
原创 【Android/Flutter】混编 Flutter Module
开始前必须了解 flutter 的各个工程的含义Flutter Application: Flutter应用Flutter Module :Flutter与原生混合开发Flutter Plugin:Flutter插件Flutter Package:纯Dart组件创建 Android 工程创建 android 工程 Flutter_Preoject_Module在 Flutter_Preoject_Module目录下创建 fluttermodule如下命令二选一关键命令1 flut
2020-07-24 19:31:57
490
原创 【Server/Mac】K8S and Dashboard 搭建
大概步骤docker 安装k8s dashboard 安装Docker Install安装 docker edge 会自动安装 k8s个人垃圾笔记K8S dashboard 安装kubectl apply kubernetes-dashboard.yaml以下是 kubernetes-dashboard.yaml文件的内容遇见的问题:镜像无法下载(docker search kubernetes-dashboard && docker pull ***)#.
2020-07-17 14:32:39
684
原创 【Server】消息系统和消息队列对比总结
常见解决问题异步处理流量控制服务解耦常使用的服务RabbitMQ老牌的消息队列,使用 Erlang 开发;优点:轻量级,迅捷;缺点:对消息堆积的支持不好,大量数据堆积会导致性能急剧下降;吞吐量几万到十几万;RocketMQ阿里巴巴开发后来捐给 Apache,使用 java 开发;优点:性能,稳定,可靠,经历过“双十一” 考验,值得信赖;毫秒级的相应;吞吐量几十万消息;缺点:生态集成和兼容程度略逊一筹;适用场景:订单系统,低延迟,金融级别稳定性;kafkaLinkin
2020-07-02 15:03:58
3064
原创 【iOS/Swift】内存引用计数学习
内存地址获取代码func printAddress(values:AnyObject...){ for value in values { print(Unmanaged.passUnretained(value).toOpaque()) } print("-----------------------------------------")}打印指正地址方法一let tt = {}withUnsafePointer(to: &tt) {pr
2020-05-30 21:27:26
220
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人