书都不会读还想成功

处境

人到中年,职场受排挤降级,情场被抛弃不如意,怨天尤人,自怨自艾,却不思进取,死扛着压力勉强养家糊口残喘于世。

心态转折

  1. 红皇后的故事:寓意为什么在现实生活中不进则退的境地,见贤思齐,善于发现同事优点,定位榜样学习实线。

读书习惯

  1. 100天33本书: 从量到质达到,培养读书习惯的目的。

Framework实现使用swift开发

{% github it-boyer JHHomeAPP 813e4b width = 30% %}

在静态库组件中使用swift开发

基于静态库的开发,实现封装静态库/Framework并使用swiftOC混编开发

创建三个角色

  1. 主项目:JHHomeAPP
  2. 静态库组件:FirstPlug
    • SwiftInStaticLib(包含Swift源码实现的静态库)
  3. 动态库secondFramework

静态库:问题1

当静态库组件中存在swift源码时,依赖该组件的主工程会报错:

使用CocoaPods开发静态库

Cocoapods作为OS X和iOS开发平台的类库管理工具,已经非常完善和强大。通常我们用pod来管理第三方开源类库,但我们也极有可能会开发一个用pod管理依赖关系的静态类库给其他人使用,而又不愿意公开源代码,比如一些SDK,那么就需要打包成.a文件。本文将以一个依赖于ASIHTTPRequest的静态类库,来演示如何创建使用了CocoaPods的静态类库以及打包的过程。

使用tag管理多个相关组件的版本发布

tag标签自增新建脚本

1
2
3
4
5
6
#!/bin/sh
tag=$(git describe --tags `git rev-list --tags --max-count=1`)
version=${tag##*.}
let "version+=1"
newTag=${tag%.*}.${version}
echo 'Create New Tag '$newTag

修改tag版本号的方法

方法一:覆盖

  1. 已有v1.0.2.8要覆盖该版本
1
git tag -f v1.0.2.8
  1. 服务器已有v1.0.2.8,强制推到服务器
1
git push origin -f v1.0.2.8
  1. 同步服务器:获取服务器刚刚的v1.0.2.8
1
git fetch -–tag

方法:删除分支

  1. 删除本地版本
1
git tag -d v1.0.2.8
  1. 删除服务器上的分支(用空版本覆盖)
1
git push origin :v1.0.2.8
  1. 服务器获取刚刚的v1.0.2.8
1
git fetch -tag

弧形表盘进度仪表

{% github it-boyer ArcProgressUI 4b9bc85 width = 30% %}

ArcProgressUI

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

Installation

ArcProgressUI is available through CocoaPods. To install it, simply add the following line to your Podfile:

1
pod 'ArcProgressUI'

API使用

独立进度表盘加载

1
2
3
4
5
#import "ArcProgressView.h"
NSArray *viewArr = [[NSBundle mainBundle] loadNibNamed:@"ArcProgressView" owner:nil options:nil];
UIView *arcView = viewArr.lastObject;
arcView.backgroundColor = [UIColor redColor];
[self.view addSubview:arcView];

完整控制器页面

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#import "PatrolScoreViewController.h"
+(PatrolScoreViewController *)withStoryboard:(PatrolScoreStyle)style{
NSBundle *podbundle = [NSBundle bundleForClass:[PatrolScoreViewController class]];
NSURL *bundleURL = [podbundle URLForResource:@"ArcProgressUI" withExtension:@"bundle"];
NSBundle *bundle = [NSBundle bundleWithURL:bundleURL];
UIStoryboard *story = [UIStoryboard storyboardWithName:@"PatrolScore" bundle:bundle];
PatrolScoreViewController *VC = [story instantiateViewControllerWithIdentifier:@"PatrolScoreViewController"];
VC.scoreViewStyle = style;
return VC;
}

静态库开发:

设想:通过cocoapod管理静态库的依赖关系。在项目调用静态库

storyboard的几种方式

通过IB(xib/storyboard)创建View的周期方法

  1. loadView:加载View方法,UI是通过代码绘制时,初始化控制器的视图时,会调用该方法。优先级高于IB视图,当重载时,会直接覆盖IB中的视图,因为无论nib也好,xib也好,最终在执行UIViewController生命周期函数loadView之前,都会转化成可执行的nib文件。
  2. initWithNibName:是类的构造器方法,通过IB创建的类:简称IB类IB类需要通过这个构造器来实例化对象。
  3. initWithCoder:当IB类实例化时会调用该方法,即通过initWithNibName构造器实例化对象时,会调用该方法来分配IB对象的内存空间。
  4. awakeFromNib:当实例化IB视图类时执行,即当IB文件被加载的时候,会发送一个awakeFromNib的消息到IB文件中的每个的对象,每个对象都可以定义自己的awakeFromNib函数来响应这个消息,执行一些必要的操作。

帮助记忆:一开始经过initWithCoder创建出来的控件是死的,然后通过awakeFromNib来唤醒,所以这会有一个先后的调用顺序

使用curl命令管理远程github库

使用curl命令管理远程github库

新建远程仓库

  1. 在本地准备工作 进入一个目录,这个目录是本地仓库的目录; 在本地建立仓库
1
git init && git add . && git commit -m 'some information'
  1. 新建一个API token 打开此链接,generate new token,写入description,选择scopes(设置此token持有者的权限)。记住personal access token(也就是那一串字符和数字)!这一串东西只出现一次,下次查看不到。

基础命令

这是最直接的一种形式,直接把参数写到命令行搞定:

MacOS系统下运行exe小程序

场景

例如,当急需在Mac系统上,安装abletonLive,涉及到破解机exe小程序,使用文中提到的两种方法,就解了燃眉之急。

方法一

crossover

Wrappe[k]小应用

这款软件适用于一些小型exe程序,其他,推荐方法一 下载 密码: khqa 参看

在GarageBand中使用LaunchPad

Garageband不支持控件表面,因此无法使用Launchpad/LaunchKey的全部功能。

在Garageband中,仅可以使用Launchpad来演奏虚拟乐器。 原因:FadersKnobs将为输出MIDI CC消息(详细介绍)到支持手动操作的MIDI设备的插件。此外,打击垫还将发送固定的Note数据。 然而,Garageband本身没有传输、卷或Pan控件,不支持Launchpad的Volume or Pan Control。因此,只能在支持HUI ProtocolDAW的DAW,或者选择Ableton Live,Launchpad才能发挥最大的作用。 原文

AbletonLive10安装使用

launchPad

设备官网

官方教程资源 官方工程试听资源支持下载

ableton live 软件

官网下载 中国社区 ABLETON LIVE 10.0.1 SUITE 破解版下载 WINDOWS & MAC ABLETON LIVE10.0.1破解机下载

下载

安装

{% post_path MacOS系统下运行exe小程序 %}

灯光

第二期:Chain的选择与设置/页数的映射

  1. 音频轨道 拖拽音频文件或视频文件到Simple采样轨道中,视频格式会生成asd格式的新文件文件,加载到轨道中。