iOS 摸鱼周报 #83 | ChatGPT 的风又起来了

本期概要

  • 本期话题:各大查找引擎开端接入类 ChatGPT 功用
  • 本周学习:Python 中的匿名函数与闭包
  • 内容引荐:iOS 越狱检测、获取虚拟内存状况、运用 KeyChain 进行持久化等内容
  • 摸一下鱼:Stable Diffusion 功用尝鲜;关于技能规划的思考;大厂复盘文档

本期话题

收拾修正:zhangferry

ChatGPT 的风又起来了

最近 ChatGPT 又火了一波,不只查找引擎纷纷引进类 ChatGPT 才能,就连各种跟 ChatGPT 沾边公司的公司股价都涨了一波。随着新用户的不断涌入,官网现已屡次中止用户登录了。

iOS 摸鱼周报 #83 | ChatGPT 的风又起来了

查找引擎盯上 ChatGPT 是自然而然的工作,早在 ChatGPT 开发之初就有它能否代替 Google 的评论,由于它大多数运用场景跟查找重叠很高。能否替换 Google 还有待验证,但 StackOverflow 遭到的影响现已十分显着,依据报导 StackOverflow 一个月内访问量骤降 3200w。这现已促进大部分产品不得不考虑 ChatGPT 的影响,以及怎么让自己的产品利用相似才能。

1、Google 宣布了 ChatGPT 的竞争对手 Bard,一个根据 LaMDA 模型练习的智能对话服务。该服务正在做最后的测验,未来几周会更大范围的对外开放。

iOS 摸鱼周报 #83 | ChatGPT 的风又起来了

2、微软的 「new Bing」 整合 ChatGPT 的才能现已能够尝试了,不过并没有全量铺开。访问:www.bing.com/new,登录账号,能够… new Bing。

iOS 摸鱼周报 #83 | ChatGPT 的风又起来了

OpenAI 对外开放的 ChatGPT 是根据 GPT 3.5 的,这个才能现已十分惊艳,Bing 则是运用练习量更大的 GPT-4 模型。依据练习模型评价,GPT 3.5 就现已超过了 Google 的 LaMDA,所以就答复准确性 new Bing 应该稳稳强于Bard 的。微软能否抢占一些查找引擎的比例就看这次发挥了。

3、百度也声称推出类 ChatGPT 服务,即将上线谈天机器人「文心一言」,3 月完结内测。未说明运用的技能,由于百度在人工智能方面布局还比较多,应该是运用自己的练习模型,详细效果怎么要等上线之后来看了。

本周学习

收拾修正:zhangferry

Python 中的匿名函数与闭包

Python 中正常的函数是这样的:

# 函数名是 add
def add(x, y):
    return x + y

匿名函数是没有函数名的函数,但能够做一些函数做的工作,对应就指 Lambda 表达式。

func = lambda x, y: x + y
    print(func(1, 2)) # 3

关于闭包能够先看一个核算平均数的比如:

def make_averager():
    # 以下整体属于闭包 
    series = []  # 自在变量
    def averager(new_value):
        series.append(new_value)
        total = sum(series)
        return total / len(series)
    return averager
avg = make_averager() # 可调用对象
print(avg(10))  # 10.0
print(avg(11))  # 10.5
print(avg(12))  # 11.0

make_averager()创立了一个 avg,它表明内部函数averager。正常来说一个函数调用完之后就返回了,本地效果域数据也就释放了,为什么它还能够存储数据呢?数据是存在哪里了呢?

要害点就在于那个自在变量 series。Python 里的函数有几个内部特点,avg.__code__表明编译后的界说体:

# 局部变量
avg.__code__.co_varnames
('new_value', 'total')
# 自在变量
avg.__code__.co_freevars
('series',)

再看闭包的内容avg.__closure__

iOS 摸鱼周报 #83 | ChatGPT 的风又起来了

咱们传入的值都寄存到了闭包里。再说回闭包,闭包也是一种函数,它会保留界说函数时存在的自在变量的绑定,这样调用函数时,虽然界说效果域不行用了,可是仍能运用那些绑定。自在变量的生命周期是跟着闭包走的。

再稍微改下代码:

def make_averager():
    count = 0
    total = 0
    def averager(new_value):
        count+= 1
        total+= new_value
        return total / count
    return averager

这个代码在 PyCharm 里会直接报编译错误,用命令行履行报 UnboundLocalError: local variable 'count' referenced before assignment,提示变量未界说,但实践问题是这里变量类型有抵触。默认闭包内部函数外的变量为自在变量,但内部函数里包括赋值语句,这样count 和 total 就应该是局部变量了,两者抵触引发问题。

修正方法是引进 nolocal 字段,告知编译器它不是局部变量,而是自在变量,就能够正常赋值了。

def make_averager():
    count = 0
    total = 0
    def averager(new_value):
    		nonlocal count, total
        count+= 1
        total+= new_value
        return total / count
    return averager

内容引荐

本期将引荐近期的一些优秀博文,包括 iOS 越狱检测、获取虚拟内存状况、运用 KeyChain 进行持久化 以及 SwiftGG 但新项目等方面的内容

收拾修正:东坡肘子

1、iOS 数据持久化 —— KeyChain — 来自:庄周晓梦

@东坡肘子: 为了安全的在本地存储敏感数据,不少开发者都会采用体系提供的 KeyChain 框架。在本文中,作者将为你展示怎么创立一个通用的一同适用于 iOS、 MacOS 的 keyChain 辅助类,以提高数据增删改查操作的便利性。

2、2023 年 iOS 越狱检测 — 来自:Marco Eidinger

@东坡肘子: 在这篇博文中,作者将展示现有的检测越狱的方法并共享代码示例。但更重要的是,通过评论越狱检测的动机、共享相关完成并提供信息,方便开发者评价越狱检测在 2023 年(或总体上)是否仍是一个好主意。

3、SwiftUI Layout — 来自:东吴贾诩

@东坡肘子: 本文作者对 SwiftUI 4 中提供的 Layout 协议做了比较翔实的说明。即便你现在仍运用老版本的 SwiftUI ,通过本文能够了解更多有关 SwiftUI 布局的内部逻辑。

4、好久不见,SwiftGG — 来自:SwiftGG

@东坡肘子: SwiftGG 是国内知名的苹果生态开发社区,尽管它的大众号处于歇业状况现已很久了,但 SwiftGG 翻译组在这几年并没有处于阻滞状况。在本文中,SwiftGG 对近两年的工作进行了总结,并介绍了接下来一些新的方案和计划。一同,也答复了一些网友提出的问题。

5、iOS APP虚拟内存用量初探 — 来自:呦呦君

@东坡肘子: 在作者当时的项目中有用于 APP 物理内存、体系物理内存等内存状况的获取 API,可是一向短少获取虚拟内存的 API。由于之前业务上出现过由于虚拟内存耗尽所导致的 Crash,因此本文将根据以上的布景对虚拟内存进行一些调研与讨论。

摸一下鱼

收拾修正:zhangferry

1、diffusionbee-stable:Stable Diffusion 是一个开源的人工智能模型,它能够依据文字描述生成一张图像。现在现已有不少图像类项目根据这个模型进行产品设计。假如你想本地跑这个模型的话,还需求租用 GPU,装备也比较麻烦。由于 PyTorch 对苹果的 ARM 芯片进行了完善的支持,现已完全能够用手头的 M1/M2 设备去运转 Stable Diffusion 了。Github 有一个开源项目 diffusionbee,把整个装备流程封装到了一个 Mac Applicaiton 上,咱们能够更快速的体会这项功用。项目依靠模型将近 8 个 G,下载体会需求准备好足够的磁盘空间。

iOS 摸鱼周报 #83 | ChatGPT 的风又起来了

2、技能三板斧:关于技能规划、办理、架构的思考:最近关于技能规划写了不少,参阅了团队内部其他人的技能规划文档,也查了一些技能规划相关的文章,对怎么做技能规划有这些总结。

第一步:问题剖析。假如是从零开端的项目,剖析的是痛点,假如是已有项目剖析的是现状。这里要结合数据方针,客户反馈,历史事件,并对未来有一定想象。

第二步:方针制定。方针选择要结合上一步的问题剖析,用于处理实践痛点。方针制定要详细清晰可量化,对每个方针进行拆解,确认完成路径。

第三步:以终为始。以终究成果溯源开端,清晰时间节点,设置可检验的 Milestone。项目成果从业务、渠道、效能视角等视角审视成果。

3、大厂项目复盘:UED 方向的各大厂项目复盘文档汇总。

iOS 摸鱼周报 #83 | ChatGPT 的风又起来了

关于咱们

iOS 摸鱼周报,首要共享开发过程中遇到的经验教训、优质的博客、高质量的学习材料、有用的开发工具等。周报仓库在这里:github.com/zhangferry/… ,假如你有好的的内容引荐能够通过 issue 的方法进行提交。别的也能够申请成为咱们的常驻修正,一同保护这份周报。另可重视大众号:iOS成长之路,后台点击进群交流,联络咱们,获取更多内容。

往期引荐

iOS 摸鱼周报 #82 | 去中心化交际软件 Damus

iOS 摸鱼周报 #81 | Apple 推出 Apple Business Connect

iOS 摸鱼周报 #80 | 开发加速器 SwiftUI 中办理数据模型

iOS 摸鱼周报 #79 | Freeform上线 & D2 本周开端