Think
未读
本文转自 建造者说 。结合近期处境,阅读后受益良多,遂转载自此处。
朋友L算是朋友圈中集合聪明与勤奋于一身的佼佼者,本科毕业顺利保了专业排名第一学校的研究生,毕业后又直接去了某个技术出身创始人的大厂,一路职级顺风顺水到了技术专家,又兼任一支核心团队的Leader,我常戏称L简直是活在职场童话中的白马王子。北京初雪之前,匆匆在机场与L见了一面,第一感觉竟然是「老气横秋」,短短半个小时的交谈,充斥着负能量的抱怨。我一边忙不迭安慰,一边惊讶于白马王子和白雪公主的「婚姻」也会出问题:
换了个新总监,产品导向明显,技术Leader话语权变弱,技术导向的项目由产品经理来负责,显然不合理
新总监对技术和业务都不熟悉,纯粹是外行指导内行,自己规划的技术路线频频受到干扰
公司部门调整,原来的核心项目被划走,手头只剩下边缘业务,哪怕出了业绩老板也不会关注
升任Leader之后沟通相关的琐事变多,而组内新人技术能力与悟性不如L,带起来很头疼
……
虽然每一项吐槽都可以单独拎出来若干针对性的给出建议,但是飞机上想得更多的是,什么样的认知有助于L找到一个更好的工作状态?
于是我又回忆起刚工作那几年,虽然 ...
最近在开发一个iOS应用时遇到了一个棘手的问题。尽管在Xcode预览和模拟器运行中,应用调试都表现正常,但在真机调试时却出现了应用闪退的情况。控制台的报错信息如下:
123dyld[2440]: Library not loaded: @rpath/xxx.framework/xxx Referenced from: <xxxxxxx-439E-3179-8F5F-BDC501EBFBC6> /xxx/ Reason: tried: '/xxx/Debug-iphoneos/PackageFrameworks/xxx.framework/xxx' (no such file), '/xxx/Build/Products/Debug-iphoneos/PackageFrameworks/xxx.framework/xxx' (no such file), '/xxx/Frameworks/SwiftyGif.framework/SwiftyGif' (no such file), '/xxx/Build ...
Develop
未读灵动岛是 iPhone14 出现之后的独特设备特性,目前存在的设备类型有 iPhone 14 Pro、iPhone 14 Pro Max、iPhone15 全系列。在 SwiftUI 一些需要忽略安全布局 ignoreSafeArea 的情况下或者需要围绕灵动岛做一些特性时,需要识别 iPhone 设备是否是灵动岛设备。
使用 safeAreaInsets 来检测灵动岛
根据Apple 的官方 Live activity 文档,我们只能检测设备是否支持Live activity,但不知道设备是否有动态岛
我使用窗口safeAreaInsets值来检测灵动岛。当设备方向为纵向时,safeAreaInsets.top等于59(显示缩放默认值), 或51(显示缩放大文本)。
这应该可以支持 iPhone系列之后的型号。
用法:print(UIDevice.current.hasDynamicIsland)
12345678910111213141516171819extension UIDevice { // 在sceneDidBecomeActive之后获取这个值 ...
Develop
未读最近在制作一个像素风格的 ios 应用,需要制作一些像素风格素材,目前 Aseprite 是用于制作像素画和以及像素游戏的动画素材的比较得力的工具,当然还有一些其他的例如 PixilART 也提供了网页版像素画工具可供选择。 Aseprite 其官网提供的免费测试版只能编辑却无法保存文件,而正式版售价 $19.99 USD。不过 Aseprite 是 GitHub 上的开源项目 且提供了详细的安装教程。本文主要参考官方给出的安装步骤,在 M1 MacBook Pro 上编译安装 Aseprite。
下载相关资源
从 GitHub 下载 Aseprite 最新版本的 zip 压缩包(目前为 Aseprite-v1.3-rc1-Source.zip)
从 GitHub 下载 Skia-m102 的 zip 压缩包(Skia-macOS-Release-arm64.zip),Skia 是一个由 Google 提供的完整2D图形库,可用于绘制文本、几何形状和图像。
从 Aseprite 官网下载其提供的免费测试版(目前为 Aseprite-v1.2.40-trial-macOS.dmg),用编 ...
Develop
未读前置步骤在接入openSDK之前,我们需要做几个前置步骤:
首先需要去Apple开发者账号中配置Universal Link,这是为了手机中如果安装了支持该链接的App就会直接进入到App中;如果没有安装APP则会跳转到Safari浏览器中,展示H5页面。 这样可以通过HTTPS链接来无缝启动APP。
在微信开放平台创建一个移动应用,创建的时候需要用到上面的Universal Link。
创建完成后,开通微信登录及分享功能。
应用详情中查看你的Universal Link、Bundle id、AppID、AppSecret,后续需要使用。
apple-app-site-association记录下来(可以通过 https://your_UniversalLink/apple-app-site-association 来查看你的配置)
微信openSDK引用我们可以使用CocoaPods来引用微信的sdk并加以配置,具体步骤如下:
在项目下pod init生成Podfile文件,添加pod ‘WechatOpenSDK’,然后pod install
打开项目,选中“TARGETS”一栏, ...
Develop
未读什么是 ScenePhase在 iOS 应用程序中,ScenePhase 可以帮助我们确定应用程序当前处于哪个状态,并帮助我们在状态转换时做出响应。它主要用于多任务处理,特别是在多窗口应用程序中。
使用 ScenePhase 值可以帮助我们判断应用程序是否处于前台、后台或暂停状态,这有助于我们管理应用程序的资源和数据,并及时响应应用程序的状态变化。
ScenePhase 有四个可能的值:
active:表示场景目前处于前台并正在与用户进行交互。
background:表示场景目前在后台运行,并且用户无法看到其内容。
inactive:表示场景当前处于过渡状态。例如,当用户从另一个应用程序切换回我们的应用程序时,它将被设置为此状态。
unknown:表示我们尚不知道场景的当前状态。通常,这只会在场景刚刚启动时发生。
下面是一个简单的示例,演示了如何在 SwiftUI 中使用 ScenePhase:
123456789101112131415161718192021struct ContentView: View { @Environment(\.scenePhase) ...
Develop
未读注意:黑苹果不建议大家轻易尝试,如果你喜欢折腾且的电脑配置刚好跟我一致,可以直接拿配置文件去使用
先放资源链接:Github
说明系统版本:MacOS Monterey 12.5.1
配置总共有两套配置:
没有免驱独显仅驱动核显,屏蔽不支持的 NVIDIA 显卡方案
免驱独显 AMD 6800xt 同时驱动核显用来加速方案
以下两个方案都比较完美(除配置一的硬件限制外)
型号
规格
主板
MSI Z490 Gaming Plus
CPU
Intel i7-10700K
内存
USCORSAIR复仇者RGB PRO DDR4 3600
16G*2 8G*2
SSD存储
三星980 Pro三星970 Evo Plus
1T500G
机械存储
西部数据Bluedisk
6T
网卡
Realtek RTL8125B 2.5 Gigabit Ethernet
配置 1:核显,屏蔽英伟达方案查看详细说明:README.md
型号
备注
显卡
影驰 RTX3070 OC
WIFI&蓝牙网卡
Intel AX ...
Develop
未读安装步骤首先在共享文件夹 docker 下创建一个文件夹用于存放 homeassisstant 的文件,并赋予 Everyone 完全控制的权限
在文件夹下创建docker-compose.yaml文件,文件内容如下
12345678910111213141516171819version: '3'services: hassio: image: homeassistant/amd64-hassio-supervisor container_name: hassio_supervisor privileged: true restart: always security_opt: - seccomp:unconfined - apparmor:unconfined environment: - HOMEASSISTANT_REPOSITORY=homeassistant/qemux86-64-homeassis ...
Think
未读前不久有人问到我,既然大家都知道产品如果想要获得成功,产品力都是不可或缺的一环,那PLG(产品驱动增长)中的产品力到底有什么不同?
这个问题着实引发了我的思考,的确,无论是C端还是B端,无论是采取SLG(营销驱动增长)还是MLG(市场驱动增长),其实都需要自身强大的产品力才能保证成功。那为什么还有PLG(产品驱动增长)这个概念流行出来呢?
想要探究这个问题,首先还是从PLG开始说起。
PLG策略是什么PLG最初由风投公司OpenView于2016年提出,相对SLG而言,PLG是一个聚焦终端用户的增长模型,依赖于产品自身作为获取、转化、扩展客户的核心动力,其最重要的特点是在PLG模式下,SaaS公司可以更低成本获得客户、增长速度也更快。
而对于部分SaaS或者工具性软件来讲,重产品轻销售的模式,PLG会比SLG更行得通。因为PLG策略会驱使企业or产品想办法通过提升产品竞争力的方式去获得增长和发展,而不是去想办法扩大销售的范围,这就决定了在整个市场层面上来讲,PLG策略的企业or产品,是可以不断推陈出新,持续保持住竞争力的。
PLG除其区别于SLG的销售特点外,另外一个原因就是其打法与 ...
1. 批判性思维是什么?批判性思维,英文叫critical thinking。是美国学者理查德•保罗提出的定义。
他说,批判性思维就是对思维的再思考,[thinking of the thinking]。和它联系很紧密的两个词是:理性、独立思考。是教我们先要认识自己的思维,分析、评估它,知道自己的思维能力处在什么水平,然后不断改善,提高思维的质量。
无论是鉴别信息、做决策、解决问题,大多数人在大多数时候依靠的是什么呢?是自己的感觉,既有的观点和别人的意见
1. 可参考《乌合之众》 ↩
。然后就不断试错,遇到新的问题再想办法去解决,解决不了就自欺欺人、敷衍了事。相信“船到桥头自然直”,但事实上却是不得不承受一些不堪的后果。
而批判性思维,则给我们提供一套思维上的工具方法, 让我们知道从何处入手,怎么样形成一个更明智的判断。
批判性思维的关键批判性思维是对思维的再思考,它有3个关键词:不懈质疑、多元意见和理性判断。
1. 不懈质疑:不论对别人的观点、还是自己的观点,都要有质疑的意识。要认识和承认自己的局限性,对复杂的问题有好奇心和耐心。但不是为了质疑而质疑,也不是陷入怀疑主 ...