V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  YuJianrong  ›  全部回复第 3 页 / 共 25 页
回复总数  500
1  2  3  4  5  6  7  8  9  10 ... 25  
2023-05-13 07:41:01 +08:00
回复了 shihty5 创建的主题 移民 新加坡火种计划,要不要加入?
Run 出去最大的两个客观障碍:
1. 体面的工作
2. 家人的支持

你这两个客观障碍都没了,那真的就只是决定于你自己的预期了。
预期上海生活越来越好、工作越来越轻松、小孩子生活成长环境越来越优渥,那就留
预期去坡县(大概率不是最后落脚点)更好,那就 Run

像我们这种已经在外面的人说的话其实挺没说服力的,出来了怀念国内亲人朋友美食,过几年又回去的也大有人在。
2023-02-05 15:55:38 +08:00
回复了 allisone 创建的主题 JavaScript 问下关于前端怎么根据值来生成对应的颜色
做颜色过渡不应该用 HSL 的,Hue 在过渡的时候颜色变来变去,看起来很糟糕。用 rgb 都好点。Google 发明了一个新的颜色空间 HCT ,用来做颜色过渡更加自然: https://material.io/blog/science-of-color-design
2022-10-18 00:46:07 +08:00
回复了 xiaoming1992 创建的主题 JavaScript 未 root 手机如何访问电脑本地 pwa 网页?
mkcert 是个很不错的解决方案,iphone 也能用: https://github.com/FiloSottile/mkcert
2022-10-17 15:21:45 +08:00
回复了 hongkong888 创建的主题 随想 为什么这么贵????太黑了
说 iphone 只值几百块那位……最新的 iphone 14 Pro 光芯片 A16 一个零件的成本就是 110 美元……
2022-10-12 02:18:12 +08:00
回复了 Musong 创建的主题 JavaScript 青椒一个 js 作用域和压缩的问题
看了一眼 css-js.com 上的工具都老掉牙了,还是找找最新的工具链吧。
npm trends 是一个好地方:
https://npmtrends.com/babel-minify-vs-terser-vs-uglify-js
#6 题主引用的这个“javy”就是基于 quickjs 的。
用于保护源代码也不是不行,不过从性能上看这样跑的 JS 慢了成百上千倍,还有一些本来其他虚拟机没有的问题(比如 quickjs 是用引用计数的,会循环引用造成泄漏)。quickjs 这个方案主要是用于在一个 JS 环境中安全地运行第三方的 JS 代码,不是用于加密客户端代码的。
现代 JS 工具链(比如 webpack+terser )会把几乎所有的可读函数名、变量名全部改掉并精简代码,可读性几乎为 0 了,用另一个虚拟机只是能更大程度增加破解困难度而已。
如果你是从 es5 过来的就会知道这些细节了。
现在知道不知道都无所谓,反正很少用了
2022-08-19 07:02:56 +08:00
回复了 zed1018 创建的主题 TypeScript TS 里两个自定义数据结构类型转换移除多余字段
TLDR 版:不行。

加长版:
你已经说了 interface 只是编译期存在的类型,运行时是没有类型信息的,所以不管什么工具都不可能把多余参数擦除。要擦出多余参数,这个 interface 的类型信息必须在运行时必须能拿到,这就需要别的方式辅助,一个方案是用装饰器,但这增加了不少代码量;另一个方案是用第三方工具比如 typescript-json-schema 或者 ts-json-schema-generator 在编译期把 TS 的 interface 编译成 JSON Schema ,这样在运行时你就可以读取 Schema 来过滤这个 Object 了。
2022-08-12 07:54:56 +08:00
回复了 eraserking 创建的主题 TypeScript 想请教下 TypeScript 里面几个泛型方法的写法
范型函数里面的报错一般都不重要,就不要管了,any 吧……
2022-08-12 07:53:55 +08:00
回复了 eraserking 创建的主题 TypeScript 想请教下 TypeScript 里面几个泛型方法的写法
第一个你需要类似这样的 helper 类型:
type Property2<P> = P extends keyof MyInterface ? {propertyName: P; propertyValue: MyInterface[P]}: never;

详见 https://www.typescriptlang.org/play?ssl=33&ssc=107&pln=33&pc=1#code/JYOwLgpgTgZghgYwgAgLIE8CS5rycgbwChlkAHKAezOjHQEEAuZAZzClAHNkAfZEAK4AbIQG4S5KjSh0AQs0EBbAEbRe-YWIkVqtdAGFmAZUqKIAeTAALaNkixEKPoJHjSO6XQAizeiErW0JY2UHa4juouWgC+RESg9ngoJmbBtjgO+MTuUnoAGsxsHCDczppukroy6ACaCgIqamWuRLHxGUnIfgEhaaEdEdmVnuiohexckeXaudUAcvWNUFMtbQD0a8gIlCBsyAJkACZwkAAKs3TIALzIADxEG6TIACoA0hDoyBAAHpAghyxkABrD6UGBoLADJAAGgem1IzwAanAhAIUD8-gCIWFMhAANpvD4AXThyAAfAAKUmkSgcTigFHmZQAKwgCDAzAwOKSsMeOSqdDmcDMzEJ6F58OGemRqIgoplaNJAEpOZDEhErmTCNTkI8AHQG1imFAJaAgFHIISUekIHVQCBgARQECEZAGvW04D081CJms9nQ5B4jx6IVmInMEPVBUoaLiR5xuKPba7MDIABuKIAjKruRrCNFkHBAXAQOh45sU3sQBAAO5Z677I4nCDnAXoCmZoRZwMAIijdHovb7LGNrAmJV7SvERDoNGQbZGACZbqctTdTl9fhB-oCQegwdioSgAPyEAfoMNyheiKXRlFo3PHvGnInRBQQdPQGcwAQgdnADsTbHGcFzABALBLhSnreoyLJshyR7qjCd5gOBLDMIuegrvuh5cseZJ4kSSoEG0VZpl2S5PshKA3KRRYlmW4jkfwdZLo2Bwga2YEQVBlGBniEhDPyIxXsw-YXAww4SCJ0oPtevajmY47FJw0mkNEsKkMJqGXsKCkXrI6lPBeMbMFmAAMWnIJpQkybpYnIBJ7b6MZsn3rKzAEBeBS9lmw66XUyBZrZGmwsRM5EEAA


第二个更复杂点,我的做法是这样的 helper 类型:
type NonNull<T> = T extends null ? never : T;
type IsSubjectObjectKey<K extends keyof MyInterface> = NonNull<MyInterface[K]> extends object ? K : never;
type GetSubjectObjectKey<K extends keyof MyInterface> = K extends IsSubjectObjectKey<K> ? K : never

const updateSubProperty = <
TTop extends GetSubjectObjectKey<keyof MyInterface>, // Should be restricted to some "object" only properties, but how?
TSub extends keyof (NonNull<MyInterface[TTop]>),
TValue extends NonNull<MyInterface[TTop]>[TSub]
>(

注意你的类型中含|null 需要去掉。

详见 https://www.typescriptlang.org/play?ssl=26&ssc=3&pln=18&pc=1#code/JYOwLgpgTgZghgYwgAgLIE8CS5rycgbwChlkAHKAezOjHQEEAuZAZzClAHNkAfZEAK4AbIQG4S5KjSh0AQs0EBbAEbRe-YWIkVqtdAGFmAZUqKIAeTAALaNkixEKPoJHjSO6XQAizeiErW0JY2UHa4juouWgC+RESg9ngoJmbBtjgO+MTuUnoAGsxsHCDczppukroy6ACaCgIqamWuRLHxGUnIfgEhaaEdEdmVnuiohexckeXaudUAcvWNUFMtbXQ0yHOUIHOaADwAKgB8yAC8yAfIEAAekCAAJiwaIsgA-PwQAG5qzAfi6yhMCwjAJlAArCAIMDmcGQsAAaQg6D28KutwgDyeAGskZQYGgsAMkCdzlsdvsMGFMhAANrwgC6Jxud0eyEosKhb2QqIUX2g-3QGwA4hAwCCOdCJYjkajmRjWTj0HiCVSkiTuWiWU8geKIVCYXqEUiUSd3jyPt8oHEENs2MgBGR7nBIOKAAqzOhnZB7CQHA7UTXyp4isWgw0GuHSvaK5WUokQI4AGmQAHoU8gjFZKMJ7shVMgoBAisAoRBc2BKKxTCgAETsw01tkgIToYa0YBF5PKARgZBZgDur194sDmOQMfxAAoybsRHs44lHDS-dRGQBKRO+gBqcCEAhQcrHM4phMXSGX-rIjOX4vpRCOk4klA4nFAu4jUOYC-CSE3pArZDulUdC-Jef6sKCQEjL84rgZ8u77r8O57hARBrmcJzENE4hEDaIB2vBQhfqeP4oOcBDRMgcBPHAIDoOIDpOi6kEeugk6EcmNYeHo+g1px3HVHkfHIDWLDVqwEwlDWa4MY6zoQG6rHsbu-GsbxqnAbUwkAEwAAwyUQjHyYpmnKUIGkjF4wlcaxqDCQA5Hp9kyUAA
2022-08-12 07:51:10 +08:00
回复了 eraserking 创建的主题 TypeScript 想请教下 TypeScript 里面几个泛型方法的写法
第一个你需要类似
2019-08-28 23:51:26 +08:00
回复了 RainNiuBi 创建的主题 问与答 最近在思考一个终极问题
中国还是太资本主义了。
先不说社会主义欧洲,即使是后资本主义的美帝,打广告说只招 35 岁以下恐怕也会不会被告到破产……
2019-07-27 09:31:38 +08:00
回复了 a132811 创建的主题 程序员 目前支持 ts 最好的 前端框架是 angular 吗?
vue2.x 写 TS 只有用 tsx (也就是说不用 SFC )和一个第三方的 helper 库才能比较舒服(体验和写 react 差不多了)。SFC 的话只有比较有限的支持,现在 vetur 也支持在模版中 parse TS 类型所以还行,但貌似 CLI 仍不支持(可能会跟进)。
react 的话其实用了 Hook 后和 TS 结合相当完美,redux 的话就别扭一点不过也还好,最新版 redux 也有官方 hooks 了,其他的第三方库就不一定了。UI 库用 antd 的话也会很爽,毕竟现在 antd 是用 ts 写的。
2019-06-16 13:27:44 +08:00
回复了 dunhanson 创建的主题 程序员 RESTFUL API URL 特殊字符的问题
不过你一定要放 url 里,把 base64 两个特殊的符号转一下即可: https://stackoverflow.com/a/5835352
当然我不觉得这种信息放 url 是个好主意(甚至包括放 query )
2019-06-15 00:07:36 +08:00
回复了 aoscici2000 创建的主题 Sublime Text Sublime 写 Vue 有没有提示补全的插件
只建议早点换成 vue。
只说一点:vetur 是官方支持的。
有啊,https://www.npmjs.com/package/fast-array-diff
用于浏览器需要 browserify 转一下
1  2  3  4  5  6  7  8  9  10 ... 25  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   846 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 21:01 · PVG 05:01 · LAX 13:01 · JFK 16:01
Developed with CodeLauncher
♥ Do have faith in what you're doing.