[Chrome] chrome v131 以后要支持 Direct Sockets API 了。js 收发 tcp/udp
感觉会出现很多翻天覆地的玩法
https://chromestatus.com/feature/6398297361088512
via V2EX (author: est)
感觉会出现很多翻天覆地的玩法
https://chromestatus.com/feature/6398297361088512
via V2EX (author: est)
[杭州] 西湖区房屋转租, 1400/月
地点:杭州西湖区山水人家
价格:1400 每月(最低价,和我爱我家续约,押二付一)
缺点:附近只有一个餐厅,需要点外卖或自己做。
合同 2025 年 5.31 号到期,公用厨房、洗衣机、无线、餐厅、密码锁,独享客厅阳台(其它卧室有大阳台)室友安静、干净、有素质,附近有地铁,小区环境优美。
房屋图片: https://blog.arayofsunshine.dev/fangwuzhuanzu
有诚意的可以加我的微信:Qdyj9JzshvCJp8OklYeZ
via V2EX (author: AlangHa)
地点:杭州西湖区山水人家
价格:1400 每月(最低价,和我爱我家续约,押二付一)
缺点:附近只有一个餐厅,需要点外卖或自己做。
合同 2025 年 5.31 号到期,公用厨房、洗衣机、无线、餐厅、密码锁,独享客厅阳台(其它卧室有大阳台)室友安静、干净、有素质,附近有地铁,小区环境优美。
房屋图片: https://blog.arayofsunshine.dev/fangwuzhuanzu
有诚意的可以加我的微信:Qdyj9JzshvCJp8OklYeZ
via V2EX (author: AlangHa)
[程序员] 想问下语音大模型的前后端技术选型,以及采用什么通讯协议比较好?
最近需要做一个语音大模型( voice in voice out 的)的后端,需求是要低延迟传输(要实现下面链接的 GPT-4o voice 这种语音通话的功能,所以对延迟非常敏感),想问下前端/后端/app 端的技术选型以及采用什么通讯协议会比较好?
iframe (www.youtube.com)
via V2EX (author: SeleiXi)
最近需要做一个语音大模型( voice in voice out 的)的后端,需求是要低延迟传输(要实现下面链接的 GPT-4o voice 这种语音通话的功能,所以对延迟非常敏感),想问下前端/后端/app 端的技术选型以及采用什么通讯协议会比较好?
iframe (www.youtube.com)
via V2EX (author: SeleiXi)
[问与答] 问一个关于 C 语言的问题
现在再看 Cprimerplus ,第 11 章的练习 3 题目是: 设计并测试一个函数,从一行输入中把一个单词读入一个数组中,并丢弃输入行中的其余字符。该函数应该跳过第 1 个非空白字符前面的所有空白。将一个单词定义为没有空白、制表符或换行符的字符序列。 我写了一版:
然后我从 ChatGPT 问了一下,它是这么做的:
这段代码中
我没看明白这咕噜:
为啥 str 不在 while 循环中,但是可以持续自增而不是自增 1 次就结束了 为了 GPT 半天,它也答不出来个所以然,大概就是因为所以自有道理的回答
via V2EX (author: Canglin)
现在再看 Cprimerplus ,第 11 章的练习 3 题目是: 设计并测试一个函数,从一行输入中把一个单词读入一个数组中,并丢弃输入行中的其余字符。该函数应该跳过第 1 个非空白字符前面的所有空白。将一个单词定义为没有空白、制表符或换行符的字符序列。 我写了一版:
#define LIM 81
#include <ctype.h>
#include <stdio.h>
void getnchar(char *str);
void test11_13_03()
{
char str[LIM];
puts("Please Enter your String:");
getnchar(str);
printf("This String is :-----%s\n", str);
}
void getnchar(char *str)
{
int c, index = 0;
while ((c = getchar()) != EOF && isspace(c))
{
}
while (!isspace(c))
{
str[index++] = c;
c = getchar();
}
str[index] = '\0';
}
然后我从 ChatGPT 问了一下,它是这么做的:
#include <stdio.h>
#include <ctype.h>
#define LEN 10
char *getword(char *str);
int main() {
char word[LEN];
printf("Please enter a word (EOF to quit):\n");
while (getword(word) != NULL) {
printf("Result: %s\n", word);
printf("You can enter a word again (EOF to quit):\n");
}
printf("Done.\n");
return 0;
}
char *getword(char *str) {
int ch, n = 0;
char *pt = str;
while ((ch = getchar()) != EOF && isspace(ch)) {
}
if (ch == EOF) {
return NULL;
}
*str++ = ch;
n++;
while ((ch = getchar()) != EOF && !isspace(ch) && n < LEN - 1) {
*str++ = ch;
n++;
}
*str = '\0';
if (ch != EOF) {
while (getchar() != '\n') {
}
}
return ch == EOF ? NULL : pt;
}
这段代码中
if (ch == EOF) {
return NULL;
}
*str++ = ch;
n++;
while ((ch = getchar()) != EOF && !isspace(ch) && n < LEN - 1) {
我没看明白这咕噜:
*str++ = ch;
n++;
为啥 str 不在 while 循环中,但是可以持续自增而不是自增 1 次就结束了 为了 GPT 半天,它也答不出来个所以然,大概就是因为所以自有道理的回答
via V2EX (author: Canglin)
[Android] Stay 浏览器-轻量无核的增强型浏览器(双 11 半价特惠)
Stay 浏览器的目标做到开箱即用, 你所需要的浏览器增强功能都已内置无需更多的配置。 同时 Stay 浏览器也可以通过 Stay 插件版本于各个浏览器互通,只要登陆 Stay 账号,你只需要一份的浏览器配置即可在各个浏览器中保持相同的体验。
功能简介
首页应用
你可以简单的添加网页链接来生成一个首页应用。类似于小程序。你可以像使用原生应用一样来使用他。
标签组
原生支持了标签组,可以将你日常浏览器的网页进行归类。支持书签导入与同步,日历式历史记录。你还可以向桌面浏览器一样固定你常用的网页。
广告拦截
Stay 浏览器集成了 Stay 插件的广告拦截功能, 由于摆脱了 iOS 的内容拦截限制,对于广告的拦截规则支持的更为彻底。同时你也可以手动标记去除广告。
用户脚本
Stay 浏览器集成了 Stay 插件的脚本管理功能。支持所有类型的用户脚本。并且提供强大的编辑和定制功能。
媒体增强
Stay 浏览器加入了视频增强条,对于长视频可以轻松的进行倍速和画中画播放,并且也集成了 Stay 插件的嗅探功能。
目前 Stay 浏览器开启永久会员半价特惠 时间 11.10 - 11.12 。
下载地址
Google Play
应用宝
其他应用市场
小米,Oppo ,Vivo ,酷安。
via V2EX (author: ris)
Invalid media: image
Stay 浏览器的目标做到开箱即用, 你所需要的浏览器增强功能都已内置无需更多的配置。 同时 Stay 浏览器也可以通过 Stay 插件版本于各个浏览器互通,只要登陆 Stay 账号,你只需要一份的浏览器配置即可在各个浏览器中保持相同的体验。
功能简介
首页应用
你可以简单的添加网页链接来生成一个首页应用。类似于小程序。你可以像使用原生应用一样来使用他。
标签组
原生支持了标签组,可以将你日常浏览器的网页进行归类。支持书签导入与同步,日历式历史记录。你还可以向桌面浏览器一样固定你常用的网页。
广告拦截
Stay 浏览器集成了 Stay 插件的广告拦截功能, 由于摆脱了 iOS 的内容拦截限制,对于广告的拦截规则支持的更为彻底。同时你也可以手动标记去除广告。
用户脚本
Stay 浏览器集成了 Stay 插件的脚本管理功能。支持所有类型的用户脚本。并且提供强大的编辑和定制功能。
媒体增强
Stay 浏览器加入了视频增强条,对于长视频可以轻松的进行倍速和画中画播放,并且也集成了 Stay 插件的嗅探功能。
目前 Stay 浏览器开启永久会员半价特惠 时间 11.10 - 11.12 。
下载地址
Google Play
应用宝
其他应用市场
小米,Oppo ,Vivo ,酷安。
via V2EX (author: ris)
Invalid media: image
[前端开发] 请教各位大佬,开发抖音 JS 半屏授权遇到点问题,求解。
问题 1:
配置 scopes 权限,我配置( user_info:0 ,mobile_alert: 0 ,'ta.external.user': 0 )用户就要点击 3 次,第一次 user_info ,第二次 mobile_alert.......以此类推;很影响用户体验不晓得咋回事。
OS:别人都是一次性授权.........
问题 2:
首次授权出现半屏授权弹窗,我消费完 showOpenAuth 成功回调的 success 的 ticket 参数,用户第二次授权就不出现半屏授权弹窗了。
悬赏:30 米求助,感兴趣的大佬可以看看抖音官方文档
https://developer.open-douyin.com/docs/resource/zh-CN/dop/develop/sdk/web-app/js/js-bridge/call-user-permission-page
via V2EX (author: raycake)
问题 1:
配置 scopes 权限,我配置( user_info:0 ,mobile_alert: 0 ,'ta.external.user': 0 )用户就要点击 3 次,第一次 user_info ,第二次 mobile_alert.......以此类推;很影响用户体验不晓得咋回事。
OS:别人都是一次性授权.........
问题 2:
首次授权出现半屏授权弹窗,我消费完 showOpenAuth 成功回调的 success 的 ticket 参数,用户第二次授权就不出现半屏授权弹窗了。
悬赏:30 米求助,感兴趣的大佬可以看看抖音官方文档
https://developer.open-douyin.com/docs/resource/zh-CN/dop/develop/sdk/web-app/js/js-bridge/call-user-permission-page
via V2EX (author: raycake)
[JavaScript] 字幕滚动有没有更好的方式实现
重复造轮子,网上找了一些字幕工具,没有趁手的感觉,比较喜欢官方原来在右侧的展示形式,根据记忆,重新粗糙的复刻了下,https://i.imgur.com/i9dApFu.png
但是目前的实现方式是 根据 video 播放的进度,找到对应的词条的 dom 高度,向上调整若干 offsetTop ,挺原始的方式
油管字幕内容是一个类似 xml 格式的文件,从内容上看,应该是把 script 直接丢到页面(或者某个容器)里头,没想明白这种方式是如何实现的。 文件大概长这样
https://i.imgur.com/ICMeUIY.png
via V2EX (author: humbass)
重复造轮子,网上找了一些字幕工具,没有趁手的感觉,比较喜欢官方原来在右侧的展示形式,根据记忆,重新粗糙的复刻了下,https://i.imgur.com/i9dApFu.png
但是目前的实现方式是 根据 video 播放的进度,找到对应的词条的 dom 高度,向上调整若干 offsetTop ,挺原始的方式
油管字幕内容是一个类似 xml 格式的文件,从内容上看,应该是把 script 直接丢到页面(或者某个容器)里头,没想明白这种方式是如何实现的。 文件大概长这样
https://i.imgur.com/ICMeUIY.png
via V2EX (author: humbass)