不知是哪个号

It's never too old to learn.


  • Home

  • About

  • Tags

  • Categories

Swift 引用类型和值类型

Posted on 2020-03-07 | In iOS | Visitors:
Words count in article: 704 words | Reading time ≈ 2 minutes

swift中类型主要分两类,分别是值类型和引用类型。这两种类型的功能类似于OC中的深拷贝和浅拷贝。

类型定义 定义类型
值类型 每个实例保留其数据的唯一副本 struct、enum和tuple
引用类型 实例共享数据的单个副本 class
Read more »

Python + React (2)

Posted on 2019-10-31 | In Python | Visitors:
Words count in article: 2.7k words | Reading time ≈ 12 minutes

背景

上篇文章我们已经把 python + react 基本环境搭建出来了,基本环境已有,下面我将仿照某个博客网站来开发一个同样的网站。

基本环境

系统环境: macOS系统

使用python等版本如下

1
2
3
node -v: v11.1.0
npm -v: 6.5.0
python3 --version: 3.6.5
Read more »

Python + React

Posted on 2019-10-10 | In Python | Visitors:
Words count in article: 4.1k words | Reading time ≈ 20 minutes

背景

研究了开源项目 superset 已经有一段时间了,突然想自己搭建一个类似的 Python + React 类型的项目,搭建的过程中产生了各种问题,这篇文章记录了搭建的整个过程以及遇到的问题和相关解决方法。

基本环境

系统环境: macOS系统

使用python等版本如下

1
2
3
node -v: v11.1.0
npm -v: 6.5.0
python3 --version: 3.6.5
Read more »

Carthage

Posted on 2019-08-25 | In iOS | Visitors:
Words count in article: 1k words | Reading time ≈ 4 minutes

背景

随着公司的业务发展,移动端项目的功能也越来越多,很多相同功能模块存在于多个应用当中。因此我们对原有项目的架构做了一次优化,将这些公用模块独立出去开发,以此来减轻单个项目的体积,减少项目编译时间,提高小伙伴们开发效率。公司是多个项目并行开发,以 Objcetive-C 语言为主,部分项目采用 Swift 语言开发。

Read more »

synchronized

Posted on 2019-07-20 | In iOS | Visitors:
Words count in article: 1k words | Reading time ≈ 4 minutes

@synchronized

@synchronized 是iOS多线程同步机制中最慢的一个,同时也是最方便的一个。
那么 @synchronized 内部到底是如何实现的?如果传入一个空值会发生什么?

@synchronized 原理

首先我们可以 main.m 文件中写下如下测试代码

1
2
3
4
5
6
void testSync() {
NSObject* obj = [NSObject new];
@synchronized (obj) {

}
}
Read more »

AutoreleasePool

Posted on 2019-06-28 | In iOS | Visitors:
Words count in article: 1.6k words | Reading time ≈ 7 minutes

AutoreleasePool实现原理

首先我们在 main.m 的文件中定义如下代码段:

我们可以通过如下两种方式转换这段代码

Read more »

Python Flask 实现通过 safari 获取 iOS设备的 UDID

Posted on 2019-05-15 | In Python | Visitors:
Words count in article: 1.5k words | Reading time ≈ 6 minutes

相关名词及简介

名称 iOS描述 Android描述
UDID (Unique Device Identifier) 设备的唯一标识符,在iOS5之前,获取设备唯一标识都是采用UDID,iOS6苹果废弃了该方法,提供了IDFA 用来标示设备的唯一标识符。该UDID是获取UUID后,写入.so文件生成。即使APP重装,值也不变,除非root手机(普通用户做不到)
IDFA (Identifier For Advertising) 广告标识符,1.iOS6面世,广告标示符是由系统存储,同一个设备上的所有App都会取到相同的值,是苹果专门给各广告提供商用来追踪用户的。 2.用户可以限制广告跟踪 3.系统重置或者设置中还原广告标识符会重置
IDFV (Identifier For Vendor) 应用开发商标识符,通过CFBundleIdentifier(DNS反转格式)的前两部分生成。例如:com.text.one和com.text.two得到的IDFV是一样的。如果用户将属于此开发商的所有应用卸载,则IDFV的值会被重置。
UUID (Universally Unique Identifier) 通用唯一识别码,目前最广泛应用的 UUID,是微软公司的全局唯一标识符GUIDs。 UUID每次生成的值都是唯一且不一样的。iOS可以通过结合钥匙串来区别应用唯一性 同iOS
IMEI (International Mobile Equipment Identity) 国际移动设备身份码的缩写。是由15位数字组成的“电子串号”,它与每台手机一一对应,每个IMEI在世界上都是唯一的,写在主板上,重装APP不会改变。iOS5之后被禁止。 GSM设备返回的,并且是写在主板上的,重装APP不会改变IMEI。Android 6.0以上系统需要用户授予read_phone_state权限,如果用户拒绝就无法获得。
Mac地址(Media/Medium Access Control) 硬件标识符,包括WiFi mac地址和蓝牙mac地址。iOS7之后被禁用(同时禁用的还有OpenUDID) 硬件标识符,包括WiFi mac地址和蓝牙mac地址。Android 6.0之后被禁止,若获取则会被判定为有害应用
OpenUDID 在UDID被禁用后的一个开源方案,原理是利用剪贴板在同一设备上的不同应用间共享一个OpenUDID,iOS7对剪贴板进行了限制,功能被废掉了。
Read more »

SD5.0

Posted on 2019-04-10 | In iOS | Visitors:
Words count in article: 2.1k words | Reading time ≈ 7 minutes

SD 5.0

SD 的整体分类如下所示:

Read more »

centos7服务部署flask项目

Posted on 2019-03-20 | In Python | Visitors:
Words count in article: 700 words | Reading time ≈ 3 minutes

centos7语言配置问题

登录服务器,注意观察是否出现以下警告提示

warning: setlocale: LC_CTYPE: cannot change locale (en_US.utf8): No such file or directory

如果有提示说明系统语言配置有问题,我们可以编辑/etc/environment文件进行语言设置,具体设置如下:

1
2
3
4
vi /etc/environment

LANG=en_US.utf8
LC_CTYPE=en_US.utf8

最后执行 source /etc/environment 使设置生效

参考链接

如果不进行该设置后面在运行项目的时候会出现语言设置错误

Read more »

Sqlalchemy 表的关联关系

Posted on 2018-10-10 | In Python | Visitors:
Words count in article: 2.5k words | Reading time ≈ 10 minutes

基础知识

SQLAlchemy列类型

类型名 Python类型 说明
Integer int 普通常数,通常是32位
SmallInteger int 取值范围小的整数,通常是16位
BigInteger int或long 不限制精度的整数
Float float 浮点数
Numeric decimal.Decimal 定点数
String str 变长字符串
Text str 变长字符串,对较长或不限长的字符串做了优化
Unicode unicode 变长unicode字符串
UnicodeText unicode 变长unicode字符串,对较长或不限长的字符串做了优化
Boolean bool 布尔类型
Date datetime.date 日期
Time datetime.time 时间
DateTime datetime.datetime 日期和时间
Interval datetime.timedelta 时间间隔
Enum str 一组字符串
PickleType 任何python对象 自动使用pickle序列化
LargeBinary str 二进制blob
Read more »
12…4

40 posts
6 categories
9 tags
© 2020
Powered by Hexo
|
Theme — NexT.Pisces v5.1.4