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

本期概要

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

本期话题

整理编辑:zhangferry

ChatGPT 的风又起来了

最近 ChatGPT 又火了一波,不仅搜索引擎纷纷引入类 ChatGPT 能力,就连各种跟 ChatGPT 沾边公司的公司股价都涨了一波。随着新用户的不断涌入,官网已经多次停止用户登录了。

搜索引擎盯上 ChatGPT 是自然而然的事情,早在 ChatGPT 开发之初就有它能否代替 Google 的讨论,因为它大多数使用场景跟搜索重叠很高。能否替换 Google 还有待验证,但 StackOverflow 受到的影响已经非常明显,根据报道 StackOverflow 一个月内访问量骤降 3200w。这已经促使大部分产品不得不考虑 ChatGPT 的影响,以及如何让自己的产品利用类似能力。

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

2、微软的 「new Bing」 整合 ChatGPT 的能力已经可以尝试了,不过并没有全量放开。访问:https://www.bing.com/new,登录账号,可以加入候选等待名单,通过之后可以正常使用 new Bing。

OpenAI 对外开放的 ChatGPT 是基于 GPT 3.5 的,这个能力已经非常惊艳,Bing 则是使用训练量更大的 GPT-4 模型。根据训练模型评估,GPT 3.5 就已经超过了 Google 的 LaMDA,所以就回答准确性 new Bing 应该稳稳强于Bard 的。微软能否抢占一些搜索引擎的份额就看这次发挥了。

3、百度也宣称推出类 ChatGPT 服务,即将上线聊天机器人「文心一言」,3 月完成内测。未说明使用的技术,因为百度在人工智能方面布局还比较多,应该是使用自己的训练模型,具体效果如何要等上线之后来看了。

本周学习

整理编辑:zhangferry

Python 中的匿名函数与闭包

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

```python

函数名是 add

def add(x, y): return x + y ```

匿名函数是没有函数名的函数,但可以做一些函数做的事情,对应就指 Lambda 表达式。

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

关于闭包可以先看一个计算平均数的例子:

```python 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__表示编译后的定义体:

```python

局部变量

avg.code.covarnames ('newvalue', 'total')

自由变量

avg.code.co_freevars ('series',) ```

再看闭包的内容avg.__closure__

我们传入的值都存放到了闭包里。再说回闭包,闭包也是一种函数,它会保留定义函数时存在的自由变量的绑定,这样调用函数时,虽然定义作用域不可用了,但是仍能使用那些绑定。自由变量的生命周期是跟着闭包走的。

再稍微改下代码:

python 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 字段,告诉编译器它不是局部变量,而是自由变量,就可以正常赋值了。

python 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,下载体验需要准备好足够的磁盘空间。

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

第一步:问题分析。如果是从零开始的项目,分析的是痛点,如果是已有项目分析的是现状。这里要结合数据指标,客户反馈,历史事件,并对未来有一定畅想。

第二步:目标制定。目标选择要结合上一步的问题分析,用于解决实际痛点。目标制定要具体明确可量化,对每个目标进行拆解,确定实现路径。

第三步:以终为始。以最终结果溯源开始,明确时间节点,设置可验收的 Milestone。项目结果从业务、平台、效能视角等视角审视结果。

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

关于我们

iOS 摸鱼周报,主要分享开发过程中遇到的经验教训、优质的博客、高质量的学习资料、实用的开发工具等。周报仓库在这里:https://github.com/zhangferry/iOSWeeklyLearning ,如果你有好的的内容推荐可以通过 issue 的方式进行提交。另外也可以申请成为我们的常驻编辑,一起维护这份周报。另可关注公众号:iOS成长之路,后台点击进群交流,联系我们,获取更多内容。

往期推荐

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/64404.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

编程和数学是什么关系?编程学习为什么会这么火呢?

近两年,编程学习成为了一个热门话题,其热度不亚于之前的奥数,为什么突然会有这么多人想要学编程,其中不限于互联网从业者,而更多是中小学学生,那么,今天悉之君就带大家一探究竟。 什么是编程&a…

计算机编程数学英语不好怎么办,英语和数学不好的人是不是学不会编程?

原标题:英语和数学不好的人是不是学不会编程? 收到很多咨询的留言,学生总是会问: “我成绩不好,能学好编程吗?” “我数学不好是不是代表逻辑思维不行?” “我英语都不及格,那么多单…

用编程学数学:让数学不枯燥,让编程不神秘!

许多人总爱问:编程那么难,能学好吗,或者学编程到底能干啥?等等诸如此类的问题。 但是,其实编程并没有大家想象中的那么难,编程要培养的也只是一项基础的思维逻辑。 编程所需要的很多能力和数学是相通的。…

为什么人人都学Python,讲清楚了,只要初中数学基础你就可以编程

Python越来越热,随着大数据和人工智能的兴起,Python将会继续热。 2022年7月,Python依旧占据Tiobe榜首位置,属实是“霸榜”编程语言。 不仅如此,Python在其他排行榜中,也是常年占据榜首或者前列位置&#…

编程用不到微积分,可我们为什么还要学数学?

数学对于一位程序员到底意味着什么呢? 先跟你分享一个关于 Google 面试题的故事: 2004 年的某天,硅谷的交通动脉 101 公路上突然出现了一块巨大的广告牌,上面是一道数学题:{e 的连续数字中最先出现的 10 位质数}.com。…

数学不好能学好编程吗?你来告诉你

诚然,编程离不开数学,或者可以说数学是任何科学的基础,但这不意味着在开始学习编程之前必须对数学很在行或者数学分数很高,那我们今天就来讨论下数学与编程的关系。 首先,如果想要能够进行基本的编程,哪些数…

分享:作为程序员,为什么你应该学好数学?

你好,我是黄申,目前在 LinkedIn 从事数据科学的工作,主要负责全球领英的搜索引擎优化,算法和数据架构的搭建。 2006 年,我博士毕业于上海交通大学计算机科学与工程专业,在接下来十余年时间里,我…

没有数学基础可以学编程吗?

一、为什么学编程 这里我并不是问大家,是因为兴趣啊还是就业学编程。 而是,我想要学Python为了量化交易,或者我要处理表格。我想要学Java我就想自己建站。是否有这种非常明确的目标,有目标才能明确学习路线。 如果在这里&#…

只有1%的人才知道的ChatGPT写作技巧

随意的提示只能产出糟糕的输出,要想让ChatGPT输出高质量内容,需要一些技巧。原文: Stop doing this on ChatGPT and get ahead of the 99% of its users[1] 如果你尝试过用ChatGPT写作,也许会对AI生成的内容感到沮丧,也许认为Chat…

边锋网络入选2019中国互联网企业100强榜单

【TechWeb】8月14日消息,中国互联网协会、工业和信息化部网络安全产业发展中心(工业和信息化部信息中心)今日发布了2019年中国互联网企业100强榜单,杭州边锋网络技术有限公司(下文简称边锋网络)入选。 边锋…

【关于2022年卡塔尔世界杯】

2022卡塔尔世界杯最全面的看点和分析,相信一定有你感兴趣的一点,相信一定会有你感兴趣的,推荐点赞收藏~~ 2022年世界杯比以往任何时候都晚,因为卡塔尔太热了…… 然而,四年一度的世界杯终于……来了 今年的世界杯,你最期待什么? 你认为谁会成为今年的冠军? 和小文一…

数据趣事:豪掷2200亿美元举办的世界杯有多精彩!世界杯趣事你知道哪些

2022卡塔尔世界杯正如火如荼的进行着,此次的卡塔尔世界杯也是中东和阿拉伯地区首次举办,为此卡塔尔更是豪掷2200亿美元,远超历届主办国。 本届世界杯共有32支来自不同国家的队伍,他们都有一个共同的奋斗目标——捧起大力神杯&…

中国20强(上市)游戏公司2022年财报分析:营收结构优化,市场竞争进入白热化

易观:受全球经济增速下行的消极影响,2022年国内外游戏市场规模普遍下滑。但中国游戏公司凭借处于全球领先水平的研发、发行和运营的能力与经验,继续加大海外市场布局,推动高质量发展迈上新台阶。 风险提示:本文内容仅代…

盛大边锋总裁许朝军离职创业正组建团队

2月15日消息,盛大边锋总裁许朝军今日向腾讯科技证实自己已离职创业,创业选择的方向是移动互联网,目前正在组建团队开发产品。许朝军还在腾讯微博中感叹:“成功是偶然,失败是必然。但是自己要开始惊险一跳!” 据了解&am…

摊牌了,.NET开发者,准备赋能未来

hi,这里是桑小榆。一名.net开发,从19年毕业至今一直从事相关技术已近4年。 发展至今,很有必要分享分享我的经历以及对于.net开发的看法和见解。 篇幅有些长,无论你是学生,职业人,.NET开发者还是其他语言开发…

边锋游戏:用精细化运营使游戏流失率降低 26% ,只是数据驱动价值的冰山一角...

如今,我国游戏行业市场受限于监管政策,增速放缓。同时,随着市场流量的僵化,同质化严重,竞争激烈程度只增不减,粗放的推广方式也已成历史,数据驱动精细化运营逐渐成为企业焦点。 已知的众多成功案…

边锋浩方35亿易主浙报传媒:陈天桥获益近29亿

盛大网络董事长兼CEO陈天桥(TechWeb配图) ▲陈天桥投资边锋与浩方,8年总共获得收益28.63亿。 边锋浩方35亿易主:盛大瘦身 浙报增肥 借壳上市仅半年的浙报传媒,昨日抛出大举动公告,拟斥资34.9亿元收购刚从…

边锋围棋-基于英特尔®实感技术的应用案例

 面临挑战 为用户提供更加优秀的娱乐视频互动体验 用户通过游戏视频过程中,需要环境隐私的保护 解决方案 基于英特尔实感TM技术对用户进行面部捕捉与识别 基于英特尔实感TM技术摄像头用户可以自定义视频过程中的背景 影响 满足用户对…

成都边锋 云端虚拟化工具 系统驱动层 原理初窥

云端软件,轻虚拟化工具,提供了注册表级别、文件级别的虚拟化功能。 原来:成都云端网络有限公司现在:杭州边锋网络技术有限公司 域名:http://www.yunduan.cn/我收藏有以下版本:http://pan.baidu.com/s/1sjQ3…

边锋网络项目经理张海川受邀为2022首届中国敏捷大会演讲嘉宾

杭州边锋网络技术有限公司研发部项目经理张海川受邀为PMO评论主办的2022首届中国敏捷大会(线上会议)演讲嘉宾,演讲议题“夹缝中生存--测开团队的敏捷求生之路”。大会将于12月17-18日通过云端面向全国召开,会议主题为:…