关于 Keychain
如果有一个手机正常使用,登入 A 帐号的 iCloud ,并且有把头像里的“iCloud 密码与钥匙圈”开启,经过清除所有内容与设定,也就是抹掉设备,登入 A 帐号的 iCloud ,但不开启“iCloud 密码与钥匙圈”,App 会不会有之前相关的 Keychain ,用来纪录用户资料?
如果有一个手机正常使用,登入 A 帐号的 iCloud ,并且有把头像里的“iCloud 密码与钥匙圈”开启,经过清除所有内容与设定,也就是抹掉设备,登入 A 帐号的 iCloud ,但不开启“iCloud 密码与钥匙圈”,App 会不会有之前相关的 Keychain ,用来纪录用户资料?
群晖、威联通、极空间、绿联,都可以用。京东淘宝各家官方店铺点进去就可以看到了,实测深圳补贴,江苏可以领用下单,立减 15%,加上双十一各家都在降价,起飞了。
① dnscrypt.info 提供了一个在线 WEB 计算器,但是不适合在 VPS 上使用它,于是想使用脚本来自动免交互计算 DNS stamp
②这个网站也提供一系列现成地 dnscrypt/DOH 服务器的 DNS stamp,但是使用 base64url 来解码直接报错,可是官方 DOC 明明说了就是 base64url 编码啊
③使用同样地参数(端口/IP/域名/证书 HASH 等等)按照 DOC 来拼接+编码,也和官方提供地 DNS stamp 匹配不上
问过 GPT 了,答案不提也罢
不知道 ollama 支持的并能跑在 mac mini 16g 上的模型不知道与充值的 gpt claude API 有没有可比性?试过的来说说
比如跟 Siri 讲『附近的肯德基』,再点开其中一家。iOS 17 直接在悬浮窗口内查看商户详情,但 iOS 18 则必须打开地图 App ?
1 、 [强化] 已有工具能力完善,包括:StringTool 、GsonTool 等;
2 、 [新增] 新增多个工具类模块,包括:FreemarkerTool 、CookieTool 、PageModel 、CacheTool 、StreamTool 等;
3 、 [完善] 工具类单测完善;
4 、 [升级] 升级依赖版本,如 slf4j 、poi 、spring 、gson…等。
XXL-TOOL 前身为 XXL-EXCEL 、XXL-EMOJI 两个独立项目,以及 XXL-JOB 内部经过验证的成熟工具类等,经过整合演进最终诞生。
XXL-TOOL 是一个 Java 工具类库,致力于让 Java 开发更高效。包含 “集合、字符串、缓存、并发、Excel 、Emoji 、Response 、Pipeline……” 等数十个模块。
模块 | 说明 |
---|---|
Core 模块 | 包含集合、缓存、日期……等基础组件工具 |
Gson 模块 | json 序列化、反序列化工具封装,基于 Gson |
Json 模块 | json 序列化、反序列化自研工具 |
Response 模块 | 统一响应数据结构体,标准化数据结构、状态码等,降低协作成本 |
Pipeline 模块 | 高扩展性流程编排引擎 |
Excel 模块 | 一个灵活的 Java 对象和 Excel 文档相互转换的工具。一行代码完成 Java 对象和 Excel 之间的转换 |
Emoji 模块 | 一个灵活可扩展的 Emoji 表情编解码库,可快速实现 Emoji 表情的编解码 |
Fiber 模块 | Java 协程库,基于 quasar 封装实现 |
Freemarker 模块 | 模板引擎工具,支持根据模板文件生成文本、生成文件…等。 |
IO 模块 | 一系列处理 IO (输入/输出)操作的工具类及方法。 |
... | ... |
不论是 macos 还是 linux ,似乎 sudo 的时候都得输入密码,我理解指纹验证应该也是比较方便的方式,为啥没人做这个功能呢。在需要当前用户密码输入的时候使用指纹替代。
云服务器太太太贵了, 买不起了。
今天买了一台 5 年的 2c2g5M 的云服务器, 花了 2000 多元。 准备把所有服务都部署到家里了, 云服务器只用来转发数据。
利用 wireguard 把家里的虚拟机和云服务器组网, 为了减低延迟特地选了离我家最近的可用区。经测试延迟 10ms 以内,
再利用 rinetd 把 80,443 转发到家里的虚拟机上
迁移了几个服务回来, 测试效果非常满意, 唯一的缺点就是家里可能停电断网, 为了省钱只能忍忍了。
最近很焦虑这件事情,真心求老哥们意见🙏大号在 v 站混了十多年了,怕被熟人认出来所以小号发帖。
个人背景:
4.学校毕业要求不高,按部就班毕业大概率没什么问题。
我的问题:
研究生以来没有实习过,现在的就业环境让我感觉没有实习找工作劣势很大。虽然说不是非得进大厂,但毕业后应该就会结婚,还是希望能有一份收入过得去的工作。
以后想做后端开发,目前学了 Golang ,在刷 Leetcode ,准备过段时间再把八股捡起来,并且搓个小项目,看看明年五六月份能不能找一个实习。
我打算到时候拿到实习 offer 了再和老板说,不管他同意不同意都去实习,不知道会不会被打击报复…
我的逻辑:
既然组里并不能提供我需要的资源(科研或者好的项目经历),那我本着对自己未来规划负责的考虑,即使打破目前和老板博士表面和谐的关系,也应该去实习来为就业做准备。这样做的收益大于风险。
这两天思考这个事情很是焦虑,不知道各位老哥有什么建议,可以畅所欲言🙏🙏
也希望这个帖子可以给类似处境的同学一些参考吧。
如题,有哪个还不错的 LLM ,目前可以部署在手机(最新 CPU 手机)或者本地 PC 上么?现在希望 embed 到一些 app 里
最近,我开发了一个名为 Framer Pricing Plan Calculator 的免费工具,帮助设计师和开发者找到最适合自己的 Framer 定价方案。这看似是一个简单的工具,却是我重新思考产品策略的起点。
让我和大家分享一下背后的故事。
我的主产品是 ShipSuperFast ,一个让 Framer 网站部署变得异常简单的托管服务。用户只需两步:添加自己的域名和一个 framer.website 的子域名,然后将 CNAME 指向我们提供的 DNS 服务。整个过程不超过 2 分钟,用户就能通过自己的域名访问托管的 Framer 网站。更棒的是,这个服务几乎具备了 Framer Pro (月费 $40 )的所有核心功能,而价格仅需 $5/月。
然而,现实总是不如想象中美好。
产品上线后,我怀着忐忑又期待的心情等待用户反馈。但随着时间推移,一个残酷的事实浮现:虽然有访问量,但几乎没有人愿意尝试。每次刷新后台数据,看到试用人数依然停留在零,一种深深的挫败感油然而生。我不断反问自己:是不是哪里出了问题?难道添加域名这个看似简单的步骤,对用户来说竟是一道难以跨越的鸿沟?
为了打破这个困境,我开始重新规划推广策略:
创建引流工具:今天刚上线的 Framer Pricing Plan Calculator 就是这个计划的第一步。有趣的是,开发这个网站只用了 30 分钟( 90% 的代码都是借助 AI 完成的),但准备内容却花了整整一个下午。这是我第一次体会到,内容创作比编程更具挑战性 —— 它让我的大脑以一种全新的方式运转,虽然还没找到其中的乐趣,但我在努力适应这个转变。
社交媒体营销:我给自己设定了一个目标,每天在 Twitter 上向 20 个 Framer 相关的设计师或模板开发者发送私信。说实话,作为一个工程师,向陌生人推销产品让我感到些许不适,总担心会打扰到别人。(如果你有克服这种心理障碍的建议,请一定要告诉我)
联盟营销:计划与一些 Framer 模板网站建立合作,我愿意支付合理的推广费用。当然,现在还不确定这个提议对他们是否够有吸引力。
定位目标用户:通过社区交流,我逐渐意识到精准定位用户群体的重要性。目前我的假设是:使用 Framer 的设计师,以及一些 SaaS 工具的中小型企业和个人开发者。但这个假设仍需验证,更重要的是,如何快速且大规模地触达这些潜在用户?
这是我第一次尝试独立开发和推广产品,每一步都充满未知与挑战。希望有经验的朋友能分享一些建议,也很想听听你们的创业故事。
显示器 eizo ev2785 ,有个 usb-c 接口,接 macbook air m1 的 usb-c 口子,可以很好显示,走的是 DisplayPort Alternate Mode 。
刚刚接 mac mini m4 的所有口子(前二个后三个),显示器都没有信号点亮。
请问,你们有 usb-c 口子显示器吗,试试看能不能点亮? 我不想用 hdmi 啊
有一张工行的牡丹国际卡,里面有一万美刀放了好几年了,最近想转到境外去。请问有什么好办法吗?人在内地中部,没有港卡,试着开 OCBC 卡但审核似乎没过。
起因是试用了下腾讯出的 ugit,然后在设置界面里看到了本机 ssh 密钥列表,这是不是意味着非应用市场安装的应用可以在没有全盘读取权限时也能读取到这些私密文件,莫非 config 文件也能读,感觉不太好了..
习惯了业务层开发,常用的目录名也就是 controller 、model 、service 、util 、common 、command 这些,看到一些开源项目,人家起的名字挺优雅,关键是目录和文件名字分类清晰,比如子目录 driver 、cache 、manage 等,而且文件名也挺见名知意,什么 xxbuidler ,xxxManager ,xxxDriver 之类,看过一些代码设计上的书籍,比如重构、代码整洁之道,这些都是针对具体代码进行讲解的,而不是目录、文件名的讲解,不知道有什么技巧没有,或者好的书籍,欢迎大家推荐和指导,谢谢
当我发现好像身边很多人都吧唧嘴,我开始反思自己了,之前跟同龄人交往多的时候感觉大家都不会吧唧嘴,工作之后开始上班发现大部分人吃饭吧唧嘴。
https://www.v2ex.com/t/1060124#reply15
继上篇帖子介绍之后,插件做了多次更新,在使用体验上做了不少的优化。
目前插件最新版本特性:
作为一个刚开始个人使用的小工具,插件目前有 1.7K+的下载量。
这确实出乎我的意料。
为了不辜负在使用插件的用户,插件后续还会继续补充新功能以及体验上的优化。
这是一个完全免费的插件,完全由我在个人时间开发,版本更新速度上不会很快。
但基本可以保证:及时 bugfix !
RT ,已知同 id 的两个(或多个)设备(比如两 iPhone 或者 1iPhone+1macOS 电脑),在局域网的情况下,可以完美做到无缝对接,比如收到短信,两边都提醒。来电(不限于 FaceTime )也可以完美的就近随便拿一个起来接听。家里都是苹果设备并且同 id 的时候,简直不要太方便。 现在问题是,假设一个手机放家中,一个手机在外,我测试了通过 openVN 或者 zerotier 连入家中,意图制造在外的手机也加入家中局域网。但结果都无法接到家中手机的电话。 所以,问题是,官方是怎么判断多设备在同网络,并且该如何构建一个电话也能转接的回家场景? ps:短信因为云端同步的方式可以实现非同局域网即时获知的。
秤了一下 1.3kg ,和官网对得上,但还是有点意外
之前用的 Surface go 3 ,只有 0.5kg ,自己配一个键盘也才 0.7kg
前后重量对比,拿在手上反差有点大
之前一直在用 M2 芯片的 Mac mini 加上固态硬盘作为外置系统盘,前几天首发买了新版 Mac mini ,今天收到后,想着反正系统在外部硬盘里面,直接激活账号重启从外置硬盘启动系统无缝衔接一下,但不管是从设置里面,还是开机界面,都无法成功读取外置盘,提示无法从这个盘读取系统或者报错,求问各位是否遇到过相同的情况?
前段时间出差,也尝试过把这个外置硬盘插到 MacBook 一起用,结果到地方才发现读取不了,当时以为硬盘或者盒子坏了,结果出差回来继续插到 Mac mini 上就完全没问题。现在换设备插上又出现同样的问题,所以猜测应该不是 MacBook 或者新的 Mac mini 的问题。
怀疑是不是硬盘盒的问题,现在用的是奥睿科 10 合 1 的硬盘盒,昨天已下单站里好多人在用的阿卡西斯那款,到了试试,还是不行的话就真不知道啥情况了。
我应该不是最后一个知道的。今天在 CloudFlare 上重新买了域名,之前是在 Namesilo 家。顺手查了自己站点的 whois ,发现其他字段都是 DATA REDACTED ,但是 state 和 country 字段是显示的。
因为之前在 Namesilo 是可以配置隐私服务全隐藏,在 CloudFalre 这边找了一圈发现他们是默认这个配置且无法更改。我找到了他们社区论坛用户的吐槽CloudFlare 社区用户的提问与相关反馈。
笑翻了,“Why cant CF”。我也有点好奇面对用户灵魂拷问,为什么 CF 仍然没有推出相关隐私服务。CF 给出的答复是他们使用的是符合 ICANN 最新规范纲领的 whois 服务。从他们 18 年开始宣传 CloudFlare Register 就这么说
Cloudflare Registrar will also be offering personal data redaction on WHOIS, that meets current ICANN guidelines, for free.
顺着了解了下一代 whois 协议RDAP。
所以到底为啥显示注册人省份和国家呢,我又去查了一下 ICANN 的规范,网址在这大家有兴趣可以去看全文Temporary Specification for gTLD Registration Data。我这里就贴一下主题相关那部分:
你会发现对于注册人来说,协议不要求机构隐藏所在州(省)和国家,所以 CF 就给你显示出来了。
对于两个转置运算,两种的性能明显不一样,是为什么呢?
我电脑的输出是:
0.0473308
0.0265206
#include <iostream>
#include <chrono>
int main(void)
{
int I = 100;
int J = 200;
int K = 300;
int idealI = 105;
// i j k
int* arr = new int[I * J * K];
for (int i = 0; i < I; i++) {
for (int j = 0; j < J; j++) {
for (int k = 0; k < K; k++) {
arr[i * (K * J) + j * K + k] = k;
}
}
}
// k j i
float* transArr = new float[idealI * J * K];
auto startTime = std::chrono::steady_clock::now();
for (int i = 0; i < I; i++) {
for (int j = 0; j < J; j++) {
for (int k = 0; k < K; k++) {
transArr[k * (J * I) + j * I + i] = arr[i * (K * J) + j * K + k] * 0.1f;
}
}
}
auto endTime = std::chrono::steady_clock::now();
std::chrono::duration<double> diffTime = endTime - startTime;
std::cout << diffTime.count() << std::endl;
startTime = std::chrono::steady_clock::now();
for (int i = 0; i < I; i++) {
for (int j = 0; j < J; j++) {
for (int k = 0; k < K; k++) {
transArr[k * (J * idealI) + j * idealI + i] = arr[i * (K * J) + j * K + k] * 0.1f;
}
}
}
endTime = std::chrono::steady_clock::now();
diffTime = endTime - startTime;
std::cout << diffTime.count() << std::endl;
delete[] arr;
delete[] transArr;
return 0;
}