V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  FreeEx  ›  全部回复第 2 页 / 共 29 页
回复总数  561
1  2  3  4  5  6  7  8  9  10 ... 29  
厉害的,感谢分享。
2023-07-14 13:43:49 +08:00
回复了 wtotal 创建的主题 Apple [没想到轮到我了] 京东购买苹果电脑,发错颜色拒不承认
连图都不贴,怎么证明你不是色盲呢
2023-07-13 11:39:34 +08:00
回复了 miaeLKK 创建的主题 Java hibernate 在一个事务内查询不到新增数据?
别用 hibernate ,生命周期挺烦人的。
有时候你写了 save 不更新,但是修改对象属性的时候自动更新了,总之就是反常识,反人类,不要用。
看了一下源码,播放的并不是视频,而是一个类似 GIF 的东西。因为后缀是 mp4 的时候调用的是 remove ,反之将 canvas 传入了一个对象中。

让 AI 反混淆后的源码如下:
```
function getPlayer(element, container, options, autoplay = false, placeholder, startTime) {

return new Promise(resolve => {

let compatibilityLevel;

const canvas = container.querySelector('canvas');
const img = container.querySelector('img');
const video = container.querySelector('video');

if (!this.isSupported || placeholder || (compatibilityLevel = this.app.plgs.fps?.compatLevel) > 0) {
// 如果不支持或需要占位图,则删除 video 和 canvas 元素
canvas.remove();
video?.remove();

resolve(new Player(null));
return;
}

Promise.all([
new Promise(resolve => {
// 检查兼容性
const level = this.app.plgs.fps?.compatLevel;
if (level === undefined) {
resolve(0);
} else if (level > -1) {
resolve(level);
}

// 监听兼容性变化
window.addEventListener(COMPAT_EVENT, ({detail: {level}}) => {
resolve(level);
});
}),
new Promise(resolve => this.onReady(() => resolve()))
]).then(() => {

let src = this.app.isPc() ? element.dataSrcPc : element.dataSrcMo || element.dataSrc;

if (this.app.isPad() && element.dataSrcPad) {
src = element.dataSrcPad;
}

if (!src) {
throw new Error('Video source not specified');
}

if (src.endsWith('mp4')) {
// MP4 视频

if (条件 1 && 条件 2) {
// 不支持,删除元素
canvas.remove();
video?.remove();
resolve(new Player(null));
return;
}

// 删除图片占位符
img.remove();

// 初始化视频
resolve(new Player(video));
video && this.initVideoWithOptions(video, container, src, options);
return;

} else {
// GIF animation

video?.remove();

const player = new GifPlayer(src, this.manager, canvas, options);

if (!autoplay && !startTime) {
// 显示占位图像
img.remove();
} else if (autoplay) {
// 自动播放时删除占位图
player.onFirstFrame(() => {
img.remove();
});
} else if (startTime) {
// 指定 startTime 时删除占位图并 seek 到指定时间
img.remove();
player.seek(startTime);
}

this.players.push(player);
resolve(player);
}
});

});

}
```
2023-07-12 18:11:07 +08:00
回复了 shayebushi 创建的主题 分享发现 转转回收,简直是天坑
@titanium98118 苹果设备退出账号就没办法用了。
2023-07-10 18:00:05 +08:00
回复了 dyingfire 创建的主题 Go 编程语言 对于 go 来说,如何设计一个优雅的链式操作?
你可以这样写

```
package main

import "log"

type OP string

const (
Add OP = "add"
Mul OP = "mul"
)

type step struct {
op OP
value int64
}

func NewMoney(amount int64) *Money {
return &Money{
amount: amount,
}
}

type Money struct {
amount int64
steps []step
}

func (r *Money) Add(v int64) *Money {
r.steps = append(r.steps, step{
op: Add,
value: v,
})
return r
}

func (r *Money) Mul(v int64) *Money {
r.steps = append(r.steps, step{
op: Mul,
value: v,
})
return r
}

func (r *Money) Run() (int64, error) {
for _, step := range r.steps {
switch step.op {
case Add:
r.amount += step.value
case Mul:
r.amount -= step.value
}
}
return r.amount, nil
}

func main() {
val, err := NewMoney(123).Add(456).Mul(123).Run()
if err != nil {
log.Fatal(err)
}

log.Println(val)
}

```
2023-07-06 21:23:30 +08:00
回复了 callmesmc 创建的主题 问与答 微信朋友圈替代?
QQ 空间。
2023-07-03 17:06:27 +08:00
回复了 rui6ye 创建的主题 奇思妙想 想做第 3 家本地外卖平台,可以一起来分析下有哪些难点。
抖音外卖上线很久了,但是身边人从来都没有用过,这是为什么?
2023-06-28 09:31:52 +08:00
回复了 drainlin 创建的主题 Apple 非科班应届硕士面试 iOS 初级开发被打击到了
不必太在意,很多公司技术都是草台班子,技术不到位,面试的时候只能去网上找一些八股文去问,工作的时候完全用不到。
2023-06-26 16:10:19 +08:00
回复了 vihv 创建的主题 程序员 成都的工资太低了吧
没有这么低,但是也不高。
2023-06-20 16:35:40 +08:00
回复了 estk 创建的主题 Docker Docker 里的程序需要访问宿主机的 socks5,如何配置?
--add-host=host.docker.internal:host-gateway
搞错了,是这个命令
2023-06-20 16:34:26 +08:00
回复了 estk 创建的主题 Docker Docker 里的程序需要访问宿主机的 socks5,如何配置?
docker run --add-host=host.docker.internal:宿主机 IP
你在容器里面访问 host.docker.internal 即可。
2023-06-20 14:19:37 +08:00
回复了 0tachikoma0 创建的主题 职场话题 要不要回二线城市,比如成都
不建议。
2023-06-19 15:08:56 +08:00
回复了 hackun 创建的主题 奇思妙想 为什么苹果不开发儿童或者青少年的产品
看过黑镜第四季《 ArkAngel 》这集吗?
2023-06-19 11:12:41 +08:00
回复了 donggua997 创建的主题 问与答 作为一个程序员(后端),能给女朋友做些什么有意义的东西
多赚点钱买一个大房子
2023-06-19 10:43:46 +08:00
回复了 ChrisFreeMan 创建的主题 生活 住在小学旁边,没个降噪耳机真的活不下去。
住在几楼呢?
2023-06-16 14:31:57 +08:00
回复了 kylebing 创建的主题 分享创造 发呆页面 canvas 随机连线 数字混沌艺术
很有创意
比完美更重要的是完成。
2023-05-29 15:18:32 +08:00
回复了 n1cogrv 创建的主题 分享发现 [转载] 我在北邮被偷喜茶后的 161 个小时
支持
2023-05-17 21:20:15 +08:00
回复了 Lighthughjiajin 创建的主题 程序员 关于 Golang 和 Python 设计数据结构思维的区别
golang 不支持方法重载。

https://go.dev/doc/faq#overloading

> 为什么 Go 不支持方法和运算符的重载?
> 如果方法分派也不需要进行类型匹配,则它会得到简化。使用其他语言的经验告诉我们,具有相同名称但不同签名的各种方法偶尔有用,但在实践中也可能令人困惑和脆弱。仅按名称匹配并要求类型一致是 Go 类型系统中的一个主要简化决策。

> 关于运算符重载,它似乎比绝对要求更方便。同样,没有它,事情会更简单。
1  2  3  4  5  6  7  8  9  10 ... 29  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2616 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 44ms · UTC 02:20 · PVG 10:20 · LAX 19:20 · JFK 22:20
Developed with CodeLauncher
♥ Do have faith in what you're doing.