- Published on
用文字整理想法,保持输出
- Authors
- Name
最近想去创造产品的想法变弱了,有了一份收入不错的远程工作后,其实整个人的压力变小了。 最近做产品的动力不足,好像又回到了产出低下的时候。有意识到是完美主义在产生作用。 每个月开支是基本在一个比较高的水平上了。还是要尝试去做一些记录。 今天比较好的一点是对一个很久不联系,一联系就开口找我借钱的人说了不,勇敢的开口拒绝真的能降低自己的心智负担。 如果这事放在以前,我的处理方式可能会大不同。一方面会出于同情,一方面会联想到小时候的情谊。会心软去答应这次借钱的要求。 我知道有些人,你一旦给他开了这个口子,他就会源源不断地向你索取更多,当某次他的要求你没有满足的时候,反而他会觉得是你的问题。从此两个人的关系反而会变得更僵。还不如一开始勇敢说不,把这个火焰给掐灭。
我们每天要不停地输出,打磨自己的产品,做产品的过程,也是学技术的过程,但是一旦开始使用 AI 工具,学习的机会变少了。我不认为这是一个好的旅程。对于编程上的思考变少了。我们应该有一个平衡和取舍,有些工作可以让 AI 来帮助我们完成,有些核心的工作还是需要我们自己来研究。
最近准备开始学一首英文歌,《7 years》让我发现了一个发音的规律,他们的爆破音很多都不发音的,这样才能保持连贯。
近期的减肥成果还是不错,7成靠节食,晚餐不吃,3成靠运动。但是在坚持节食上容易反复,在一个特定的环境下,比如晚上有朋友一起聚餐,晚上老婆买了冒菜回来,今天加班很累的情况想吃楼下的烧烤,等等这些因素的影响下,我还是打破自己之前的计划。很难做到长时间的坚持。当我们没有精神的时候,吃太饱反而会让我们更加范困。
今天看了一篇香港区块链的文章《香港加密监管者圆桌:过于追求完美反而会错,封闭环境限制流动性》 也去 youtube上看了一下他们的圆桌讨论现场。有一些感悟吧 英文交流真的很重要,一定要想办法来提高自己的英文能力。
无论做什么,都要有计划、有建设、有成长。你不能跳过这些步骤。比如,你不能只想着明天就弹奏《月光奏鸣曲》,就算是莫扎特也做不到。你必须先有计划、学习,才能达到那个水平。
我想做一个设计审美在线的法律知识库,我认为一个比较重要的能力是 Search 因此我会重点打造在应用内的 Search 这部分的体验,响应速度,搜索准确度。
准备使用 SwiftData 提供的 #Predicate macro
提供一个类似这样的方法
// Fetch Descriptor
private func makeFetchDescriptor(
query: String,
scope: SearchScope,
category: LawCategory?,
level: String
) -> FetchDescriptor<Law> {
let scopeValue = scope
let categoryIdValue = category?.id ?? ""
let hasCategory = category != nil
let levelValue = level
let queryValue = query
let predicate: Predicate<Law>? = {
let hasLevel = !levelValue.isEmpty
let hasQuery = !queryValue.isEmpty
if !hasCategory && !hasLevel && !hasQuery {
return nil
}
return #Predicate<Law> { law in
(
(!hasCategory || law.category_id == categoryIdValue) &&
(levelValue.isEmpty || law.level.localizedStandardContains(levelValue))
) &&
(
queryValue.isEmpty ||
(
(scopeValue == SearchScope.all && (law.name.localizedStandardContains(queryValue) || law.content.localizedStandardContains(queryValue))) ||
(scopeValue == SearchScope.name && law.name.localizedStandardContains(queryValue)) ||
((scopeValue == SearchScope.chapter || scopeValue == SearchScope.article) && law.content.localizedStandardContains(queryValue))
)
)
}
}()
var descriptor = FetchDescriptor<Law>(predicate: predicate)
descriptor.sortBy = [SortDescriptor(\Law.order)]
descriptor.fetchLimit = 200
return descriptor
}
什么是 FetchDescriptor
A type that describes the criteria, sort order,and any additional configuration to use when performing a fetch.
let descriptor = FetchDescriptor<Recipe>(
predicate: #Predicate { $0.isFavorite == true },
sortBy: [
.init(\.createAt)
]
)
descriptor.fetchLimit = 10
let favoriteRecipes = try modelContext.fetch(descriptor)