小天管理 发表的所有内容
-
面向海外的 2C 信息/内容平台初创公司(对就是想做大机会的)想分别招个产品经理/全栈工程师(需要有 flutter 技能)/设计师,base 在上海或者 remote 都好说,兼职/实习/全职也都行。我们思考比较深、行动比较快、要求也比较高,经验/学历均不限(甚至完全不要求对口),待遇优质,但希望你在不被催促/要求的情况下仍对自己领域有自发探索的好奇心和执行力(最好有实际的独立作品来证明)。创始人即刻是 Yuaaan.,邮箱是 zhiyuan_d@foxmail.com 。感兴趣可以发自我介绍/CV 到邮箱联系。
-
功能 这是大佬 javayhu 在 github 上公布了源代码,整个配色也非常好看,不需要登录,尤其是收集了这么多的诗词,从热门的诗人到唐诗、宋词、元曲、诗集甚至朝代,可以说是诗词大全了。真是厉害,膜拜一下大佬 我拿源代码也部署了一套,欢迎访问网站 https://shi300.com/ ,还支持搜索 网站名称 想到那句熟读唐诗三百首,不会作诗也会吟,变给网站取名诗 300 了, 这是一个网站链接 https://shi300.com/ 附上 github 源码链接 https://github.com/javayhu/haitang 有兴趣的可以自己部署一套,用的 vercel+cloudflare 有手就会小白也能轻松搭建一个这样的网站 网站截图
-
美国西海岸洛杉矶 MultaCom 机房,千兆带宽,1 个 IPv4 地址,3 个 IPv6 地址,基于 KVM 虚拟,SSD Cached RAID 10 存储。 整理了一下,如果可以,欢迎走我的链接购买: https://yinji.org/cloudcone.html
-
有 V 友用过吗。效果咋样,有必要买国行吗,现在价格还居高不下,听说华强北的台版水货除了不能保修,刷机后跟国行一样,也有指纹和三星 Pay 。请问要冒险去试试所谓的台版水货吗?另外,国内保修好像也就 1 年?过了的话 屏幕的保修成本也是很贵?
-
操作步骤: https://www.bilibili.com/video/BV11V4ceTEgD 报错内容 A problem has been detected and windows has been shut down to prevent damageto your computer. If this is the first time you've seen this stop error screen,estart your computer. If this screen appears again, followthese steps: heck for viruses on your computer. Remove any newly installedhard drives or hard drive controllers. check your hard driveto make sure it is properly confiqured and terminated.Run CHKDSK 'F to check for hard drive corruption, and thenestart your computer. rechnical information: *** STOP:0X0000007B(0XF88BA524,0XC0000034,0x00000000,0x00000000) 参考教程: https://www.bilibili.com/read/cv29872651/
-
请求 K 线数据 import time import requests import json # Extra headers test_headers = { 'Content-Type':'application/json' } ''' github: https://github.com/alltick/realtime-forex-crypto-stock-tick-finance-websocket-api 申请免费 token: https://alltick.co/register 官网: https://alltick.co 将如下 JSON 进行 url 的 encode ,复制到 http 的查询字符串的 query 字段里 {"trace":"python_http_test1","data":{"code":"AAPL.US","kline_type":1,"kline_timestamp_end":0,"query_kline_num":2,"adjust_type":0}} ''' test_url1 = 'https://quote.tradeswitcher.com/quote-stock-b-api/kline?token=e945d7d9-9e6e-4721-922a-7251a9d311d0-1678159756806&query=%7B%22trace%22%3A%22python_http_test1%22%2C%22data%22%3A%7B%22code%22%3A%22AAPL.US%22%2C%22kline_type%22%3A1%2C%22kline_timestamp_end%22%3A0%2C%22query_kline_num%22%3A2%2C%22adjust_type%22%3A0%7D%7D' resp1 = requests.get(url=test_url1, headers=test_headers) # Decoded text returned by the request text1 = resp1.text print(text1) 上面代码中是以查询苹果股票(AAPL)分钟 K 线为例子的,如果想查询其它类型的 K 线数据则 kline_type 传入以下值:1-分钟 K ,2-为 5 分钟 K ,3-为 15 分钟 K ,4-为 30 分钟 K ,5-为小时 K ,6-为 2 小时 K ,7-为 4 小时 K ,8-为日 K ,9-为周 K ,10-为月 K 。 请求最新报价成交数据 import time import requests import json # Extra headers test_headers = { 'Content-Type':'application/json' } ''' github: https://github.com/alltick/realtime-forex-crypto-stock-tick-finance-websocket-api 申请免费 token: https://alltick.co/register 官网: https://alltick.co 将如下 JSON 进行 url 的 encode ,复制到 http 的查询字符串的 query 字段里 {"trace":"python_http_test2","data":{"symbol_list":[{"code": "700.HK"},{"code": "UNH.US"},{"code": "600416.SH"}]}} ''' test_url1 = 'https://quote.tradeswitcher.com/quote-stock-b-api/trade-tick?token=e945d7d9-9e6e-4721-922a-7251a9d311d0-1678159756806&query=%7B%22trace%22%3A%22python_http_test2%22%2C%22data%22%3A%7B%22symbol_list%22%3A%5B%7B%22code%22%3A%20%22700.HK%22%7D%2C%7B%22code%22%3A%20%22UNH.US%22%7D%2C%7B%22code%22%3A%20%22600416.SH%22%7D%5D%7D%7D' resp1 = requests.get(url=test_url1, headers=test_headers) # Decoded text returned by the request text1 = resp1.text print(text1) 上面代码中 symbol_list 是可以同时传入多个的,分别传入不同的市场的产品也是可以的。 获取最新盘口报价数据 import time import requests import json # Extra headers test_headers = { 'Content-Type':'application/json' } ''' github: https://github.com/alltick/realtime-forex-crypto-stock-tick-finance-websocket-api 申请免费 token: https://alltick.co/register 官网: https://alltick.co 将如下 JSON 进行 url 的 encode ,复制到 http 的查询字符串的 query 字段里 {"trace":"python_http_test2","data":{"symbol_list":[{"code": "700.HK"},{"code": "UNH.US"},{"code": "600416.SH"}]}} ''' test_url1 = 'https://quote.tradeswitcher.com/quote-stock-b-api/depth-tick?token=e945d7d9-9e6e-4721-922a-7251a9d311d0-1678159756806&query=%7B%22trace%22%3A%22python_http_test2%22%2C%22data%22%3A%7B%22symbol_list%22%3A%5B%7B%22code%22%3A%20%22700.HK%22%7D%2C%7B%22code%22%3A%20%22UNH.US%22%7D%2C%7B%22code%22%3A%20%22600416.SH%22%7D%5D%7D%7D' resp1 = requests.get(url=test_url1, headers=test_headers) # Decoded text returned by the request text1 = resp1.text print(text1) 同上,symbol_list 支持传入多个值。 通过 Websocket 订阅实时行情数据 import json import websocket # pip install websocket-client ''' github: https://github.com/alltick/realtime-forex-crypto-stock-tick-finance-websocket-api 申请免费 token: https://alltick.co/register 官网: https://alltick.co ''' class Feed(object): def __init__(self): self.url = 'wss://quote.tradeswitcher.com/quote-stock-b-ws-api?token=e945d7d9-9e6e-4721-922a-7251a9d311d0-1678159756806' # 这里输入 websocket 的 url self.ws = None def on_open(self, ws): """ Callback object which is called at opening websocket. 1 argument: @ ws: the WebSocketApp object """ print('A new WebSocketApp is opened!') # 开始订阅(举个例子) sub_param = { "cmd_id": 22002, "seq_id": 123, "trace":"3baaa938-f92c-4a74-a228-fd49d5e2f8bc-1678419657806", "data":{ "symbol_list":[ { "code": "700.HK", "depth_level": 5, }, { "code": "UNH.US", "depth_level": 5, }, { "code": "600416.SH", "depth_level": 5, } ] } } #如果希望长时间运行,除了需要发送订阅之外,还需要修改代码,定时发送心跳,避免连接断开,具体查看接口文档 sub_str = json.dumps(sub_param) ws.send(sub_str) print("depth quote are subscribed!") def on_data(self, ws, string, type, continue_flag): """ 4 argument. The 1st argument is this class object. The 2nd argument is utf-8 string which we get from the server. The 3rd argument is data type. ABNF.OPCODE_TEXT or ABNF.OPCODE_BINARY will be came. The 4th argument is continue flag. If 0, the data continue """ def on_message(self, ws, message): """ Callback object which is called when received data. 2 arguments: @ ws: the WebSocketApp object @ message: utf-8 data received from the server """ # 对收到的 message 进行解析 result = eval(message) print(result) def on_error(self, ws, error): """ Callback object which is called when got an error. 2 arguments: @ ws: the WebSocketApp object @ error: exception object """ print(error) def on_close(self, ws, close_status_code, close_msg): """ Callback object which is called when the connection is closed. 2 arguments: @ ws: the WebSocketApp object @ close_status_code @ close_msg """ print('The connection is closed!') def start(self): self.ws = websocket.WebSocketApp( self.url, on_open=self.on_open, on_message=self.on_message, on_data=self.on_data, on_error=self.on_error, on_close=self.on_close, ) self.ws.run_forever() if __name__ == "__main__": feed = Feed() feed.start() 上面的代码中 symbol_list 代表你要订阅的产品列表,可以同时传入多个市场的多个产品,cmd_id=22002 是订阅盘口数据,当 cmd_id=22004 时订阅的是成交报价,一旦订阅成功,实时股票行情数据就会源源不断的推送过来,并且是及时的。
-
供高防加速节点,海外业务加速的首选。具备超过 10TB 的 DDOS 有效防御能力,确保网络安全与稳定性。支持免北岸和测试,为用户提供高效便捷的加速服务,适用于各类国际业务,提升访问速度和用户体验。帮助用户有效解决 sni 阻断,移动网络屏蔽问题,提升内容传输的稳定性和可靠性,适用于需要稳定访问中国市场的用户和业务。 商务联系: @rock0188 频道: https://t.me/sunteccloud
-
网络支持 v4 和 v6 (没有权限修改路由和 AP ),路由设备的 dhcpv6 不完全符合标准,导致 app 不兼容。 其他系统都能分别设置 v4 和 v6 或者禁用其中一项,唯独小米没找到哪里设置。 求解 EDIT:HyperOS 版本 1.0.14
-
任务目标 需要为一个英国公司注册的 Apple Developer 续费,价格为 £78.99 且这项交易是不能使用账户余额。 概要 使用了共计 4 个英区 App Store 账户,包括 Apple Developer 账户、日常使用的 4 年老号、新注册的 1 号账户、新注册的 2 号账户。前 3 个账户全部被封 Media & Purchases ,仅有最后一个账户得以成功。 环境:以上使用的都是同一 IP 、同一设备,因此这些因素的影响应该不大。 总结 账单地址非常重要。 大额风控需要至少 2 天时间才能够解除。 不要联系客服,客服几乎解决不了问题还附带封号。 过程 第一个账户( Apple Developer 账户) 使用英国发行的储蓄卡,银行预留的账单地址,直接前往 Developer App 续费。 遇到 Your Purchase Could Not Be Completed 问题。随即联系 Chat 客服,客服首先进行了一些操作表明已经解决,但再次尝试问题还是没有解决。于是客服表示他已经升级了 Case 表示在 24 小时后重试。实际在还没过 12 小时的时候就已经被封禁,体现为下载任何 App 都弹窗 Your Media & Purchases Account Has Been Disabled 。 第二个账户(日常使用的 4 年老号) 这时候我就想,这有可能是前一个账户转过区的原因引起风控,于是就想着我平时使用的老号可能可以避免风控。于是切换到这个老号,老号上绑的卡是和上面一个账户同一张,账单地址也相同。 尝试支付依然遇到 Your Purchase Could Not Be Completed 问题,随即再次联系 Chat 客服。这次 Chat 客服没有当场进行操作,而是直接升级了 Case 并告知 24 小时后重试。结果是和上一个账户相同,在几小时后被封禁。 第三个账户(全新注册) 这时候我就纳闷了,同时考虑到了一个新的可能:直接进行大额支付可能显得太过可疑,可能应该先进行一些小额支付表明一下善意,另外,两个账户同一张卡可能也是引起风控的原因,应该用不同的卡。于是我全新注册了一个账户,换了卡。 这次我先在其他进行了一笔 £1.95 的充值进行风控测试,且成功付款。这一次我变得极为谨慎,我想可能是 Apple 怀疑使用者非持卡人的问题,于是我等待银行的扣款项状态状态从 Pending 到 Completed 才在 Developer App 进行大额付款尝试。 结果和上一个账户完全一样,遇到 Your Purchase Could Not Be Completed 问题,且这时再回到其他 App ,也会遇到 Your Purchase Could Not Be Completed 问题。找 Chat 客服,客服直接甩出 24 小时回答,然后几小时后被封禁。 这是最令我气愤的一次,因为 Apple 封号以后竟然把我的充值内容强制进行了退款。这要是遇到哪个玻璃心 App 厂商可能 App 账号都能给我整没。 第四个账户(全新注册) 经历了上一次失败,我思考:我三次使用了同样的账单地址,难道是账单地址出了问题?我想到一个办法,Stripe Issuing 可以发行公司卡,可以自定义地址,我是否可以拿它尝试一下呢?于是我直接到 Google Maps 在 IP 地址定位的附近找了一个地址,往 Issuing 一填,拿到一张新的英国卡。 这次我依然先进行了一笔 £1.95 的支付进行风控测试,且成功付款。在几小时后我又尝试了 Developer App 的大额支付,但依然遇到 Your Purchase Could Not Be Completed 问题,继续找 Chat 客服(我怎能如此信任客服?)。 这一次 Chat 客服与前两次不同,而和第一次相同,首先进行了一些即时操作,然后让我重试。我重试后依旧是同样问题。我心想,或许这次事情迎来了转机,如果我像第一个号一样如实回答,可能会转入 24 小时审核,然后被封禁。于是我赶紧结束了对话,假装问题已经解决。 与上一个账户不同的是,这一次我再返回其他 App ,依然可以成功支付,这从某种角度表明,这一次不再是全局的账户限制。由于没法再找客服,这一回我只能靠自己测试了。我在 1 天内循环进行了若干次测试,均是 Developer 失败而其他 App 正常。数次过后,我想应该加大剂量,要不然风控范围可能永远在小额之内,于是进行了一笔 £9.60 的内购,最终在这次成功几小时后重试时,成功支付 £78.99 的 Developer 费用。 分析 由于 Stripe Issuing 的公司卡是强制 3D 卡,并且有详细付款信息,我们可以看到 Apple 一些很有意思的支付逻辑。 Apple 对于小额付款默认不会进行 3D 认证,由于 Stripe 公司卡的安全要求较高,因此每次付款都会被首先拒绝一次(对于一般银行可能会直接接受,因为小额强制 3D 会影响银行的用户体验)。 可以看到,Apple 会发送邮编、地址第一行和过期时间作为校验,但首次不会进行 3D 认证。发卡者此时告知要求 3D 认证。 Apple 会补充 exemption 理由,此时发卡者不再要求 3D 认证,交易就会成功并进入 Pending 状态。 那么大额交易呢?大额交易是直接成功的,发卡者不会要求 3D 认证,Apple 也不会提供任何理由。 从以上种种历史,可以看出 Apple 实际上是不倾向于进行银行端 3D 验证的,而是自己在内部就有一套风控系统,在支付请求被发往银行之前,Apple 已经经过了复杂的风控系统验证,这可能就是这些风控规则如此变态的原因。 App Store 的客服在这里扮演什么角色?首先,接线的会先通过客服系统尝试为你解除限制,如果发现系统拒绝,则会升级到高级的审核流程,并在几小时后要么解除限制,要么直接封禁。因此,升级到高级审核或许不是一个明智的决定,尤其是对于中国用户来说。 作为跨区的苟活者又能如何呢?只能如此卑微地活着(体验太差,说的就是你 Apple )。
-
大家都知道 Kotlin 有空安全 var s: String 代表不为空 var s: String? 代表可为空 奇葩操作来了,在我接手之前,除了绝大部分的基本变量,其余所有变量都是 String?、Objxx? 使用的时候: if (S != null) print(s) else throw Exption("s shouldn't be null") 或者: if (obj?.s == null) return obj!!.s 一开始很好奇这个脑残写法是怎么来的 然后遇到了一个 crash 我找到根源了。我写的代码里没有用 String? ,但是却报了 NPE ,赋值的地方都查过了,不存在 null 。最终不断地调试发现每次页面 onDestory()的时候会有个反射递归地将所有变量和变量里的变量都设置成 null (说是在手动 GC…)。又因为魔改了生命周期+协程,读取变量的时候已经是 null 了,然后报错== !
-
自从用 eSIM 美区实体电话号码解决了 PayPal 风控问题以后(详情见: https://www.v2ex.com/t/1075960#reply0 ),就想着把微信的 CallKit 也弄一弄,这一折腾还真遇到不少麻烦事(详情见: https://www.v2ex.com/t/1077086?p=1#reply78 ),特别衷心感谢各位留言帮助,不管有用没用,都给了我解决的问题的思路,尤其要感谢 @AliceLiddell 这位大神,帮助我解决了无法换绑的根本性问题。 麻烦 1:你的微信号在这台手机登录的时间较短,为了你的账号安全,暂时不能进行绑定手机操作。你可以在 3 天后重试。(如图所示) 看到图片很多人以为等三天就可以了,而实际上恐怕等多少天都没用,反正我是这样的情况。最终解决的办法是:用别人的手机、用别人的微信(这个人一定要很长时间都没更换过手机或者换绑过手机号,例如我是用我父亲的手机操作的),在他的微信手机号那里输入你自己的手机号,然后在他的手机上输入你手机收到的验证码以后,你的手机微信安全中心应该会发一条安全提醒,这时正常情况下你的微信号应该变成没有手机号绑定的情况了,此时就可以绑定其它手机号了。 麻烦 2:暂不支持该手机号码,你可以更换其他手机号码尝试。(如图所示) 如果你和我一样想要绑定美国地区的号码,看到图片以后是否认为是手机号码的问题?其实不然,出现这个问题是你当前所处的网络环境造成的,解决办法也很简单:使用全局代理,然后再尝试绑定,例如我要绑定的是美国电话号码,所以我就挂美国地区的全局代理,然后就顺利绑上了。 绑定国外号码以后,你的微信不会立刻变成海外 WeChat ,此时微信只多了一个 WeChat Out 功能,其它不变;大约要等候不到一天多时间(我是这样情况),直到你打开微信时发现微信账号自动退出了,并且提示:数据迁移已完成,请重新登录并开始使用你的账号。(如图所示) 再次登陆微信时才表示你当前已经迁移到 WeChat 了,你会发现有以下不同点: 1 、首页左下角和顶端名称改为 WeChat ,不再是微信; 2 、发现页面多了一个 WeChat Out 3 、消息通知里面默认开始语音通话用系统电话接听,也就是 CallKit (目前最新版本的 CallKit 存在严重 bug ) 4 、朋友圈广告没有了,订阅号广告仍存在 5 、其他人无法再通过输入你的手机号找到你了,只能输入你当前绑定的手机号,而且必须完整输入“+国家代码”你的手机号才能搜索到你。 6 、我认为最大的影响是视频号,没有推荐视频了,只能看你关注作者的视频号以及你好友点过赞的视频,当然视频号搜索也没有了(我觉得视频号应该跟你绑定的手机号地区有关,可能美国地区没有视频号,其它地区有,欢迎留言讨论),总之视频号几乎处于残废状态。 其它功能使用一切正常(例如我的王者荣耀绑着微信不受影响),实际而言并没有所谓的微信必须用海外地区号码注册才能有 CallKit 而转区不能开启之类的说法,更没有什么转区后封号的说法,转与不转全看个人需求。
-
q 情况是这样,我之前在 iPhone 上下载过抖音,在不登录的情况下搜索过几个词,然后就卸载删除了,今天我又重新把这个 App 下载回来,发现我之前搜索过的东西又出现在了搜索框推荐下面!抖音是通过什么方式存储了这些信息?
-
刚入坑,请问下大佬们看下我这个 next 配置有什么问题吗,挑了半天还是不能直接渲染 next 版本 7.8 hexo 最新 修改的配置 hexo-filter-mermaid-diagrams --save mermaid enable: true theme: default Mermaid mermaid: //cdn.jsdelivr.net/npm/mermaid@8/dist/mermaid.min.js ##mermaid: //cdnjs.cloudflare.com/ajax/libs/mermaid/8.4.8/mermaid.min.js ##mermaid: //lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/mermaid/8.13.10/mermaid.min.js # LLY add mermaid 渲染效果 左边 hexo 右边 typora 猜想原因 CDN 没有配置?或者 hexo 本身需要配置?
-
理论上这个情况,iPhone 和 Mac 完全在一个网段呀,但是为什么不能镜像?
-
刚刚买了 best.deal 这个域名,发现它是一个 EMD ( Exact Match Domain ),和“best deal”关键词高度匹配,搜索量也非常可观(谷歌每月超过 2 万次搜索),也有很多商业长尾关键词。不过我对接下来该如何利用它有些犹豫,想请教下大家的建议。 目前我的思路有两条: 开发一个平台:比如做一个优惠券、折扣汇总的网站,或者一个比价平台,利用流量和联盟营销来变现。感觉这个域名挺适合做这种电商或折扣类服务的。 尽快出售:毕竟每年续费 1200 美元,长时间持有成本较高。如果能够找到合适的买家,也不排除直接出售的可能。 想请问大家有没有什么好的建议?是更倾向于开发运营一个长期项目,还是觉得这种高续费域名更适合快速出售?另外,如果选择开发的话,大家觉得什么方向最有潜力呢?
-
系统语言是中文,以前歌曲信息、歌手和简介都能正常显示日文原文,更新 iOS 18 之后全都变成英文/罗马音显示了。macOS 上似乎没有这个问题。不知道是 bug 还是真的彻底改了 主页和新发现页面都是日文的,但是点进专辑和歌曲页面就变成英文了... 以前少数派有一篇文章研究了曲库语言逻辑,现在已经不适用了:
-
记土耳其 iCloud 大涨翻车后,土耳其 YouTube Premium 也翻车了,而且是翻得很彻底。 今天收到邮件: 我们已取消您的 YouTube Premium 会员资格,这是因为我们认为您订阅时填写的国家/地区 土耳其 不准确。 若您希望继续使用会员服务,请在未来几周内重新订阅 YouTube Premium ,否则您的 YouTube Premium 会员福利将于 2024 年 11 月 2 日 终止,并且您的方案也不会自动续订。 网页续订后提示: 交易遭拒。这项购买交易需要使用您的账单邮寄地址所在国家/地区的付款方式。 [OR_RECR_05] 更换为其他区例如乌克兰区提示同样的错误信息,疑似锁当地支付方式了,家人们怎么办!!!
-
事情的起因是这样的,我在看 sicp 这本书,书中用函数(过程)实现了一种叫做 cons(序对)的结构,甚至用函数去实现了数字(一种叫做 church 计数的方式)。 于是我就在想能不能用函数去实现数组、对象。接下来我用 js 实现了数组和对象,顺便彻底理解了不可变数据结构是怎么一回事,大概相当于每次用都劫持掉“一部分函数”返回一个新的函数。 我制作了一个视频讲述了这个过程。
-
腾讯视频 vip 价格每月 25 元,svip 价格每月 35 元,我之前购买了一整年 vip 未到期,但我升级到 svip 还是需要以每月 35 元价格购买,有人遇到过这种问题吗