-
CocoaPods私有库常见问题拾遗
CocoaPods 私有库常见问题执行 pod install 命令[!] Unable to find a specification for MCLib 原因:本地没有 MCLib 的索引 spec。 操作:更新 MCLib 对应的本地 repos。 # 更新本地 repo pod repo udpate 备注:本地 repos 仓库缓存目录:~/.cocoapods/repos/。[!] Unable to find a specification for...…
-
iOS 多线程:GCD详尽总结
iOS 多线程:『GCD』详尽总结本文用来介绍 iOS 多线程中 GCD 的相关知识以及使用方法。这大概是史上最详细、清晰的关于 GCD 的详细讲解 + 总结 的文章了。通过本文,您将了解到:1. GCD 简介2. GCD 任务和队列3. GCD 的使用步骤4. GCD 的基本使用(六种组合不同区别,队列嵌套情况区别,相互关系形象理解)5. GCD 线程间的通信6. GCD 的其他方法(栅栏方法:dispatch_barrier_async、延时执行方法:dispatch_after、一次...…
-
MAC 端口被占用 address already in use
Error: listen EADDRINUSE: address already in use :::8700sudo lsof -i:8700显示如下ruby 91953 syswin 9u IPv4 0x601da28cc087d05f 0t0 TCP localhost:terabase (LISTEN)// 杀死进程sudo kill -9 8700 …
-
Shell 批量实现iOS的懒加载
#!/bin/bashiosBatchLazyCode(){ if test $1 = "UIButton" ; then str="[$1 buttonWithType:UIButtonTypeCustom];" else str="[[$1 alloc]init];" fi echo -e "- ($1 *)$2{ if (_$2 == nil) { _$2 = $str } re...…
-
ruby字符串格式化、进制转换、小数位数控制
ruby 字符串格式化和进制转换"%05d" % 123 结果是 "00123""%02X" % 10 结果是 "0A""%03x" % 10 结果是 "00a""%010x" % 10 结果是 "000000000a" (前缀9个0)"%10x" %10 结果是 " a" (前缀9个空格)'ff'.to_i(16)ruby实现ip转数字#数字转ip=》先将数字转换为16进制,然后拆分转十进制def conver_ip(data) @str="%x" % data ...…
-
运行jekyll报错
运行 jekyll serve报错You have already activated public_suffix 4.0.6, but your Gemfile requires public_suffix 3.0.3. Prepending 'bundle exec'to your command may solve this. (Gem::LoadError)执行命令bundle exec jekyll serve…
-
Ruby笔记
学习Ruby过程中的一些笔记1、Invalid byte sequence in UTF-8 (ArgumentError)if ! file_content.valid_encoding? s = file_content.encode("UTF-16be", :invalid=>:replace, :replace=>"?").encode('UTF-8') s.gsub(/dr/i,'med')end2、Ruby 里的 %Q, %q, %W, %w, %x, %r, ...…
-
Shell批量重命名
第一种方法CURRENT_DIR=`pwd`for dir in *do if [ -d $dir ];then for file in $dir/* do NEW_FILE=${file/XXXXXXX/} if [ "$NEW_FILE" != "$file" ] ;then mv "${CURRENT_DIR}/$file" "${CURRENT_DIR}/${NEW_FILE...…
-
Shell笔记
1、Mac下shell别名,可以在/etc/bashrc 或者~/.bash_profile添加alias grep='grep --color=auto'2、变量赋值等号两边每空格A="Hello world"3、expr 运算符两边有空格expr 2 + 34、条件判断[ 条件判断 ] [[ 条件判断 ]]两边有空格5、条件判断中运算符两边有空格[ ! $(id -u) -eq 0 ] && echo "ABC"5、表达式#表达式空格可有可无,两个表达式相等$((1+3...…
-
iOS 优化篇 - 启动优化之Clang插桩实现二进制重排
前言 自从抖音团队分享了这篇 抖音研发实践:基于二进制文件重排的解决方案 APP启动速度提升超15% 启动优化文章后 , 二进制重排优化 pre-main 阶段的启动时间自此被大家广为流传 . 本篇文章首先讲述下二进制重排的原理 , ( 因为抖音团队在上述文章中原理部分大多是点到即止 , 多数朋友看完并没有什么实际收获 ) . 然后将结合 clang 插桩的方式 来实际讲述和演练一下如何解决抖音团队遗留下来的这一问题 : hook Objc_msgSe...…
-
博客模板功能介绍
这篇文章主要讲的是如何使用和修改我的博客主题,文章内容含以下几点:博客特性 适配电脑、手机、平板等各屏幕 响应式设计 个性化头像 每篇文章自动添加打赏功能 支持Disqus、livere评论系统 支持站点总数访问统计,每篇文章访问统计 支持文章自动生成目录 支持标签分类 支持代码高亮 支持文章H1、H2、H3、H4标题样式多样化 支持多种三方社交icon展示,能从博客直接跳转到自己的三方社交主页 支持三方社交分享(facebook、twitter)博客主要模块介绍_...…
-
iOS底层原理探索之isKindOfClass&isMemberOfClass
isMemberOfClass今天通过两个经典面试题,继续加深对isa & 继承关系 & 类结构 的理解。在之前的isa探索中,我们了解了:isa的指向:对象的 isa 指向 类; 类的 isa 指向 元类;元类的 isa 指向 根元类;根元类的 isa 指向 自己。类的superclass的指向:类的 superclass 指向 父类, 父类的 superclass 指向 根类 ,根类的superclass 指向 nil;元类的superclass的指向:元类的 supe...…
-
shell编程:find命令
在linux的日常管理中,find的使用频率很高,熟练掌握对提高工作效率很有帮助。find的语法比较简单,常用参数的就那么几个,比如-name、-type、-ctime等。初学的同学直接看第二部分的例子,如需进一步了解参数说明,可以参考find的帮助文档。find语法如下:find(选项)(参数)常用例子根据文件名查找列出当前目录以及子目录下的所有文件find .找到当前目录下名字为11.png的文件find . -name "11.png"找到当前目录下所有的jpg文件find . -n...…
-
iOS 性能监控(2)——卡顿
iOS 性能监控(2)——卡顿原文链接前文探讨了 iOS 中进行线上监控 CPU、Memory、FPS 等指标的原理以及具体实现方法。本文则继续探讨如何在 iOS 中进行线上监控卡顿的原理及实现。卡顿相关系统原理那么为什么会出现卡顿呢?为了解释这个问题首先需要了解一下屏幕图像的显示原理。首先从 CRT 显示器原理说起,如下图所示。CRT 的电子枪从上到下逐行扫描,扫描完成后显示器就呈现一帧画面。然后电子枪回到初始位置进行下一次扫描。为了同步显示器的显示过程和系统的视频控制器,显示器会用硬件...…
-
09_SHELL编程之xarg使用
xargs 是给命令传递参数的一个过滤器,可以将管道或标准输入的数据转换成参数,默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行,不过通过 xargs 的处理,换行将被空格取代。1. 如何使用xargs命令语法:xargs [OPTIONS] [COMMAND [initial-arguments]]举一个例子:我们用管道符传输到xargs,并为每个参数运行touch命令,-t表示在执行之前先打印,创建三个文件:[root@localhost ~]# echo...…
-
08_SHELL编程之文本处理工具awk
课程目标 熟悉awk的命令行模式基本语法结构 熟悉awk的相关内部变量 熟悉awk常用的打印函数print 能够在awk中匹配正则表达式打印相关的行一、awk介绍1. awk概述 awk是一种编程语言,主要用于在linux/unix下对文本和数据进行处理,是linux/unix下的一个工具。数据可以来自标准输入、一个或多个文件,或其它命令的输出。 awk的处理文本和数据的方式:逐行扫描文件,默认从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。 awk...…
-
07_SHELL编程之文本处理工具
课程目标 掌握sed的基本语法结构 熟悉sed常用的命令,如打印p,删除d,插入i等一、文件编辑器知多少 Windows系统 Linux系统 vim vi gedit nano emacs二、强悍的sed介绍1. sed用来做啥?sed是Stream Editor(流编辑器)的缩写,简称流编辑器;用来处理文件的。2. sed如何处理文件? sed是一行一行读取文件内容并按照要求进行处理,把处理后的结果输出到屏幕。 首先sed读取文件中的一行内容,...…
-
06_SHELL编程之CASE语句+函数+正则
课程目标 掌握case语句的基本语法结构 掌握函数的定义及调用 掌握常用的正则表达式元字符含义一、case语句关键词:确认过眼神,你是对的人:couple_with_heart: case语句为多重匹配语句 如果匹配成功,执行相匹配的命令1. 语法结构说明:pattern表示需要匹配的模式case var in 定义变量;var代表是变量名pattern 1) 模式1;用 | 分割多个模式,相当于or command1 ...…
-
05_SHELL编程之嵌套循环+随机数及综合案例
课程目标 掌握for循环语句的基本语法结构 掌握while和until循环语句的基本语法结构 能会使用RANDOM产生随机数 理解嵌套循环一、随机数关键词:一切都是未知数,永远不知道明天会抽什么风:wind_chime::sweat_smile:1. 如何生成随机数?系统变量:RANDOM,默认会产生0~32767的随机整数前言:要想调用变量,不管你是什么变量都要给钱,而且是美元:heavy_dollar_sign:打印一个随机数echo $RANDOM查看系统上一次生成的随机数#...…
-
04_SHELL编程之循环语句
本机课程目标 掌握for循环语句的基本语法结构 掌握while和until循环语句的基本语法结构一、for循环语句关键词:爱的魔力转圈圈:innocent:1. for循环语法结构㈠ 列表循环 列表for循环:用于将一组命令执行已知的次数 基本语法格式for variable in {list} do command command … done或者for variable in a b c do ...…