iOS 摸鱼周报 #84 | 开箱即用的云服务 AirCode

本期概要

  • 本期话题:开发加速器:在 App 或游戏内创造无障碍体验
  • 本周学习:Any 和 AnyObject 以及 AnyClass
  • 内容推荐:依赖注入、自定义 Button 外观与行为、正则表达式、创建 XCFramework 以及创建可配置的小组件文章推荐
  • 摸一下鱼:一个白噪音网站;ChatGPT 飞书机器人配置;在线 NodeJS 平台 AirCode;ChatGPT for stackoverflow 浏览器插件
  • 内推招聘:[上海] 小红书 - 社区客户端团队 - 基础体验方向

本期话题

设计开发加速器线上讲座:在 App 或游戏内创造无障碍体验

@远恒之义:Apple 提供了业界领先的旁白功能,是专门为失明及低视力群体服务的屏幕阅读工具,帮助他们便捷地探索 Apple 设备图像中的人物、文字、表格等数据。本次课程将通过 Apple 操作系统内置的辅助功能、辅助功能 API 和开发者工具,开发者们可以为每个用户创建绝佳的无障碍体验。

活动时间:2023 年 2 月 21 日上午 10:00 (GMT+8) – 中午 12:15 (GMT+8) (UTC+08:00)

报名截止:2023 年 2 月 20 日

通过“标记”为图像添加的描述,在使用“图像探索视图”时,“旁白”可朗读自定义描述

本周学习

整理编辑:JY

Any 和 AnyObject 以及 AnyClass

AnyObject :可以表示任何类类型的对象实例,所有类都隐式地遵循 AnyObject

Any :可以表示任何类型,包括基础数据类型、枚举类型、结构体、函数类型等;

AnyClass :表示类的元类型,是 AnyObject.Type 的别名:定义 typealias AnyClass = AnyObject.Type;

AnyObjectAny 的子集

AnyObject.Type,或者说 AnyClass 所表达的其实就是任意类型本身

Swift // 所有的 class 都隐式地实现了这个接口,这也是 AnyObject 只适用于 class 类型的原因,但是并不能代表 struct 类型 protocol AnyObject {}

```Swift // 如果是AnyObject则会编译错误,但是换成Any后则不会 let swiftInt: Int = 123 let swiftString: String = "haha"

var array: [Any] = [] array.append(swiftInt) array.append(swiftString) ```

```swift class A { class func test(){ print("test") } }

//.self 可以用在类型后面取得类型本身,也可以用在某个实例后面取得这个实例本身 let typeA: A.Type = A.self typeA.test() // print test

let classA: AnyClass = A.self (classA as! A.Type).test() // print test ```

内容推荐

本期将推荐近期的一些优秀博文,涵盖依赖注入、自定义 Button 外观与行为、正则表达式、创建 XCFramework 以及创建可配置的小组件等方面的内容

整理编辑:东坡肘子

1、依赖注入和依赖注入容器 -- 来自:SwiftFun

@东坡肘子: 依赖注入是一种常见的设计模式,在合适的时候使用它,可以提高开发者的代码质量。本文作者将从什么是控制反转、什么是依赖注入、依赖注入的种类、依赖注入容器等多个方面对该种设计模式进行探讨。

2、自定义 Button 的外观和交互行为 -- 来自:东坡肘子

@东坡肘子: 通过 Style 改变组件的外观或行为是 SwiftUI 提供的一项非常强大的功能。本文将介绍如何通过创建符合 ButtonStyle 或 PrimitiveButtonStyle 协议的实现,自定义 Button 的外观以及交互行为。

3、Swift 正则表达式教程 -- 来自:Ehab Yosry Amer

@东坡肘子: 从 5.7 版本开始,Swift 终于推出了与时代相匹配的正则表达式处理能力。在本文中,作者将引领开发者掌握 Swift Regex 的模式匹配,学习编写易于理解的正则表达式,使用捕获并试用 RegexBuilder。

4、创建 XCFramework -- 来自:Joe Heck

@东坡肘子: 在 Joe Heck 看来,将 Rust 库暴露给 Swift 的最佳途径是通过基于 C 的 FFI 接口。由于关于如果制作 XCFramework 的细节资料相当稀少,作者为此花费了相当多的精力才得以实现。本文旨在分享从静态库空间进入 Swift 的一些具体实现细节。

5、如何使用静态选项创建可配置的小部件 -- 来自:Lee Kah Seng

@东坡肘子: 小组件的主要理念是让用户快速、方便地获取与他们最相关的信息。为了使这一想法更上一层楼,我们可以让小组件成为可配置的,这允许用户自行选择在小组件上显示什么数据以及如何显示。本文将重点关注具有静态选项的可配置小部件,展示如何设置配置 intent、实现 intent timeline 提供程序并创建一个可配置的小组件。

摸一下鱼

整理编辑:zhangferry

1、白噪音网站:提供多种白噪音,并支持不同声音的混合,网站设计很简洁。

2、ventusky:一个查看天气详情的网站,提供的功能非常全,界面做的也很漂亮。

3、ChatGPT-Feishu:一个飞书版本的 ChatGPT 机器人配置教程,这个教程比较简单,通过 AirCode(一个在线的云服务平台) 平台屏蔽了服务器搭建这一步,要做的只是权限和环境变量的配置。注意事项:需绑定一个企业账户,由企业管理员申请才能通过。

4、AirCode:AirCode 是一个在线开发和部署 Node.js 应用的平台,为全栈工程师量身定制,目标是让开发变得简单。通过提供极致简单的 WebIDE 和开箱即用的云服务,让开发者无需再操心后端选型、环境搭建和线上运维等一系列繁琐之事,只需打开浏览器即可完成产品开发,并部署到全球节点。

目前提供云函数、数据库、文件存储等功能。它在一定流量下是免费的,对于个人开发来说,这个免费流量非常充足。

5、stackoverflow.gg:一个浏览器插件,让 ChatGPT 来回答 StackOverflow 上的所有问题,包括那些没人回答的问题。虽然 Stackoverflow 禁止 ChatGPT 来写答案,但不代表它不可以去回答这些问题。

这个团队同时还在做基于 AI 的代码调试和错误日志分析工具:Adrenaline,使用的是 OpenAI 提供的 API,所以你使用的话还需要配置对应的 API key。

内推招聘

[上海] 小红书 - 社区客户端团队 - 基础体验方向 - iOS/Android

岗位及团队介绍

基础体验技术团队负责小红书社区主站核心业务的研发工作,包括主链路首页、搜索、视频消费、新人onboarding等核心场景的业务开发、性能体验、用户体验与架构优化等工作,你可以充分参与到业务的讨论和落地,也可以发挥主观能动性为小红书的发展助力,我们希望你积极主动,热爱移动端产品的研发,愿意深入钻研,提倡提效,反对内卷,做正确、艰难而有价值的事。

主要职责

负责小红书社区主App研发,包括但不限于主App搜索及推荐整体框架的演进及频道相关探索、社区首页、社区搜索、视频消费及新人链路等核心模块的开发并编写高质量代码,参与业务架构设计和优化,代码Review,性能优化和质量把控,和产品经理,设计师,数据分析师配合,深度参与手机产品需求讨论,功能定义,参与新技术方向调研,新员工培养,指导并带领其他工程师共同完成研发任务,持续不断的优化代码结构,承担重点、难点的技术攻坚。

岗位要求

Android开发工程师

1、大学本科或以上学历,计算机相关专业,3年以上Android相关经验

2、对移动研发充满热情,有较强的学习能力,好奇心和积极向上的心态

3、熟悉Java/Kotlin语言,熟悉Android系统 API,RxJava,Dagger2,以及app 打包,测试,开发流程

4、代码基本功扎实,对数据结构及算法有一定程度的理解,良好的面向对象化编程思想,熟练运用常见设计模式

5、抗压能力强,具备良好的沟通表达能力和团队合作精神

6、有大型业务架构设计经验者优先,有跨端、动态化经验者优先

iOS开发工程师

1、大学本科或以上学历,计算机相关专业,3年以上iOS相关经验

2、对移动研发充满热情,有较强的学习能力,好奇心和积极向上的心态

3、熟悉Objective-C/Swift,熟悉Cocoa设计模式,深入理解MVC MVVM

4、代码基本功扎实,对于常见的第三方库的使用和原理有一定的理解。对数据结构及算法有一定程度的理解,良好的面向对象化编程思想,熟练运用常见设计模式

5、抗压能力强,具备良好的沟通表达能力和团队合作精神

6、有大型业务架构设计经验者优先,有跨端、动态化经验者优先

联系方式

邮箱:dkong@xiaohongshu.com

联系人:扶摇

微信:bridge_k(加微信备注下岗位+名字+工作经验)秒级通过

优势:Leader直招,秒级反馈,全程跟进,经验分享

关于我们

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

往期推荐

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

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

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

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

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

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

相关文章

企业流程中心BPM产品搭建

一、为什么要搭建企业流程中心 企业发展初期,会制定一堆制度,用来规范企业管理,但制度更多是奖励和惩罚的作用,并不能提升管理和业务效率。 比如,我们开车走高速的时候,超速会扣分、会罚款,这是…

Python彩色图片转手绘风格

Python彩色图片转手绘风格 from PIL import Image # 图像的手绘 """黑白风格边界的位置比较重相同或相近色彩趋近于白色咯有光源效果 """ # 读取彩色图片并转化为np数组 a np.array(Image.open(r114362.jpg).convert(L)).astype(float)depth 1…

值得拥有的手绘风格画图工具

一直在找一款手绘风格的画图工具,好的图表总能传递更多的信息。最初用微软 Visio 工具画图,但依赖于安装软件,无法轻量级使用,效果也有些僵硬,后来改用 ProcessOn 在线画图,免费版有数量限制。后面使用 Dra…

为什么有计算机绘图了还要学手绘,设计师有必要学习手绘吗?

文/刘伦利 当前,电脑及相关软件的应用已经越来越普遍,特别是艺术设计专业,各种设计软件已作为设计专业中的辅助工具,占有重要的地位和作用。很多初学者认为只要学了计算机就可以做所想的设计图,并没有认识到没有原始的…

教你如何几行python代码实现图片转手绘

这里是运行效果 先展示一下完整代码,后面在进行分析 # -*- coding: utf-8 -*- from PIL import Image import numpy as npim Image.open(really.jpg).convert(L)#really.jpg是这里将用于转换的原图 a np.asarray(im).astype(float) # 将图像以灰度图的方式打开并…

如何用计算机制作pop海报,ai怎么制作pop海报字体?ai简单快速制作pop字体教程

版权申明:本文原创作者“xifenu”,感谢“xifenu”的原创经验分享! 怎么用ai制作海报上的pop字体?接下来小编就给大家分享一篇非常实用的ai简单快速制作pop字体教程,希望对你们学习ai制作pop海报字体有帮助,…

diy机器人图片 手绘纸箱_环保手工制作大全:手绘纸箱机器人

这是我的第一个机器人。性别男。 跟真人比一下大小。原本的纸箱全是快递用的,我把那些质地不错无明显褶皱损伤的纸箱都留着,有空就画个。 上帝造物,有男就得有女。于是。。。给他找了个不错的老婆。 然后生了个儿子。 机器人的繁殖能力不错&a…

python实例练习(9)图像的手绘效果

文章目录 简介图像的数组表示图像的手绘处理 简介 在之前的学习笔记的实例中,我们曾经使用PIL库获取了图像的轮廓,虽然我们成功提取出来了,但是这个轮廓缺少了立体感,视觉效果上缺少了丰满度,光线照射的明暗变化是空间…

python 实现图像的手绘效果

图像的数组表示 1、图像一般使用RGB色彩模式,即每个像素点的颜色由红(R)、绿(G)、蓝(B)组成。 RGB三个颜色通道的变化和叠加得到各种颜色,其中 • R 红色,取值范围,0‐255 • G 绿色,取值范围,0‐255 •…

《应试教育洗礼的“好”学生的学习行为特征分析》 2019-11-02

1 引言 小明是在应试教育中凭借自己的努力一步步考上了重点大学的研究生,每年都要学习好几门课程而且考试成绩都非常好排名数一数二获得很多荣誉,是经常被各种称赞的好学生,但小明真的是"好"学生吗,是具备科研素质能够…

ChatGPT 和 Whisper 模型的区别

ChatGPT和Whisper模型是两个不同的模型,但都是由OpenAI开发的基于自然语言处理(NLP)的人工智能技术。 ChatGPT是一种基于GPT(Generative Pre-trained Transformer)架构的语言模型,它可以生成自然流畅的文本…

微信公众号抓包

2.打开burp,打开公众号 直接逮住

微信公众号三方平台开发【全网发布及全网发布接入检测】

经过之前系列内容过后,接下来的代微信公众号实现业务部分跟微信公众号开发业务逻辑一样,所以公众号其他业务功能部分后面我会单独整理一套相关内容,今天,咱们就来说说微信第三方平台开发的最后一步—— 全网发布,因为只…

wechat-0010,微信公众号,接入微信公众平台

demo:https://github.com/wenrongyao/wechat-demo 接入准备: 1、有一个能在公网上访问的项目 可以用内网穿透(推荐使用natapp),微信接入必须使用80端口或443端口,某壳现在需要花钱才能使用80端口,果断放弃…

微信公众平台测试帐号申请及Token验证地址提供

1、浏览器打开微信公众平台测试帐号申请地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?tsandbox/login, 通过微信扫一扫授权就能进入到测试号管理页面。 上面图中 有个接口配置信息 需要你自己有服务器提供接口来接收微信的token验证 配置了验…

微信开放平台,公众号第三方平台接入

微信开放平台和公众平台的区别 开放平台是网站或app使用的接口平台,利用开放平台可在自己的网站或app上开发微信帐户登录、微信分享等功能! 公众平台是微信号的一种,也具有开发功能,是在公众号中开发出更多功能,例如微…

抑郁症前期如何治疗,有哪些方法?

随着社会的告诉发展,越来越多的人因为不喜欢职场上的花花绕绕,喜欢独自待在家里,不管是做什么,发呆也好,追剧也罢,总之拒绝和人交流沟通就可以。久而久之,就容易形成一个性格孤僻、不喜欢与人交…

脑电植入:治疗抑郁症的新方法?重磅!UCSF研究人员成功治疗一例重度抑郁症患者

患者 Sarah 在诊所与精神病学家 Katherine Scangos 在一起 © Maurice Ramirez,UCSF Sarah多年来饱受着严重且无法治愈的抑郁症的折磨。她说:“我每天都强迫自己克制自杀冲动,而这种冲动每小时就会出现好几次。” 近日,加州大学旧金山分校…

好心情医生:精神病性症状≠精神分裂症

01 幻觉和妄想是最常见的精神病性症状 精神病性症状有哪些?哪些疾病会出现精神病性症状?我们通常说的精神病性症状,就是经常提到的认知方面的异常,如感知觉异常,如出现幻听、幻视、幻嗅等幻觉;思维内容异…

抑郁症要身心同治

来源:中国数字科技馆 “没有人对抑郁症有绝对的免疫力。”著名心理学家马丁塞利曼将抑郁症称为精神病学中的“感冒”。世界卫生组织预计,到2020年抑郁症将跃至全球第二大疾病,自杀是其最可怕的症状。抑郁症可导致躯体各种功能的障碍&#xf…