V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  banxi1988  ›  全部回复第 4 页 / 共 28 页
回复总数  556
1  2  3  4  5  6  7  8  9  10 ... 28  
2019-02-09 09:36:31 +08:00
回复了 banxi1988 创建的主题 程序员 程序员写对联
@siyemiaokube #18 这个是真文艺。
2019-02-08 19:59:16 +08:00
回复了 banxi1988 创建的主题 程序员 程序员写对联
@DOLLOR #11 赞, 这是真对联。
2019-02-08 17:18:36 +08:00
回复了 banxi1988 创建的主题 程序员 程序员写对联
@lzhd24 #5
第二句跑题了,
看你写的,我来两句:
第一句可以设计模式作为立意。
第二句以经典习惯作为立意。

上联:组合优于继承
下联:约定胜过配置
横批:面向对象
2019-02-08 16:12:52 +08:00
回复了 banxi1988 创建的主题 程序员 程序员写对联
@R18 #1 这个没有表达出吉祥的意思啊。
@AngryPanda 这个太内涵。
2019-01-07 10:34:23 +08:00
回复了 freedom1988 创建的主题 推广 [2019 年首赠] 送 6 本《程序员面试笔试真题与解析》
自古多情多寂寞。不写代码伤身体。
2018-12-09 20:59:59 +08:00
回复了 banxi1988 创建的主题 程序员 [代码会说话] 原创技术视频一周小结
@likuku #1 非常感谢。
1. 声音的问题,一开始是直接在电脑上录的,OBS 开起来 CPU 声音比较大。最近用了下耳机稍微好一些。
2. 关于画面的问题。因为我一开始的定位是适合在手机上竖屏观看 。所以分辩率是 1080 x1920. 其实在电脑上的观看体验并不是很好。当时做这个定位,主要是我想把视频发抖音上。 不过现在看来我是发不了抖音的了,我还是把成横屏的吧。
3. 做视频的初心是想着加深自己对某一些知识的印象,我相信经过我录制一遍视频之后,我对于相关知识或技术的印象肯定会比较深了。
4. 同时我也的确需要一些正向的反馈,这样才有动力一些,毕竟发出来没有人看,没有反馈意见也是有点无趣的。再次感谢你的建议,that really means a lot to me.
关于第二题的 TypeScript 复杂类型
我录了一个视频,以便给不太熟悉 TypeScript 的同学做点介绍,视频比较长,建议 1.5 倍速观看。
http://www.bilibili.com/video/av37736897
发下我前两题的解答:
1) webpack 4 下,我测试只需要配置 cacheGroups 即可。

```js
optimization: {
runtimeChunk: true,
splitChunks: {
cacheGroups: {
vendors: {
test: /[\\/]node_modules[\\/]/,
filename: "[name].[chunkhash:8].js",
chunks: "all",
enforce: true
},
common: {
test: /[\\/]common/,
filename: "[name].[chunkhash:8].js",
chunks: "all",
enforce: true
},
module1: {
test: /[\\/]module-1/,
filename: "[name].[chunkhash:8].js",
chunks: "all",
enforce: true
},
module2: {
test: /[\\/]module-2/,
filename: "[name].[chunkhash:8].js",
chunks: "all",
enforce: true
}
}
}
```

2. 第二题,参考 TS 手册页关于高级类型的介绍 。
https://www.typescriptlang.org/docs/handbook/advanced-types.html

我想出了如下写法,核心还是利用了 TS 的条件类型。

```ts
type FunPropNames<T> = {
[K in keyof T]: T[K] extends Function ? K : never
}[keyof T];

type UnpackCommand<P> = P extends (
input: Promise<infer T>
) => Promise<Action<infer U>>
? (input: T) => Action<U>
: P extends (action: Action<infer T>) => Action<infer U>
? (action: T) => Action<U>
: never;

type UnpackModule<M> = { [P in FunPropNames<M>]: UnpackCommand<M[P]> };

// 修改 Connect 的类型,让 connected 的类型变成预期的类型
type Connected = UnpackModule<EffectModule>;
type Connect = (m: EffectModule) => Connected;
```
2018-10-06 08:21:56 +08:00
回复了 banxi1988 创建的主题 Vim [Vim 精粹] :文本对象: 从 1 到 N
@qinfensky 事实上我也是用 VS Code 的。VS Code 上用 Vim 插件即可。
所以我这里的 Vim 主要是指其背后代表的一种高效的编辑方式,逻辑思想,或者说思想。
Vim 编辑思想,嗯。
2018-10-02 18:43:44 +08:00
回复了 banxi1988 创建的主题 程序员 8 年老司机,求介绍远程兼职,也可以提供技术支持
@1747479654 在一个偏远的城市:广西南宁。 虽然维护的事情是费力不太讨好的事,但是信得过我的,可以加微信详聊。
2018-10-02 16:40:59 +08:00
回复了 banxi1988 创建的主题 程序员 8 年老司机,求介绍远程兼职,也可以提供技术支持
@hlwjia 谢谢回复,全职的话不方便。所以主要还是考虑远程兼职或一些小外包。
2018-10-01 16:12:35 +08:00
回复了 kernel 创建的主题 JavaScript 请教一个 typescript 的泛形问题
我尝试了一下。
首先使用一个有意思的 Interface 稍微调整了一下代码。

```ts
interface Person {
name: string;
age: number;
}
type PersonProp = keyof Person;
type PersonPropIdentity = <K extends PersonProp>(prop: K) => K;
let personPropIdentity: PersonPropIdentity = k => k;
type FunType1 = <K extends PersonProp>() => K;
let f2: FunType1 = () => {
return "age";
};
```
此时 FunType1 展开之后其实是 :
type FunType1 = <K extends "name" | "age">() => K
此时 f2 返回 "age" 应该是符合 K 类型的限定的。 因此我倾向为认为这是 TypeScript 类型系统一个 Bug.
可以给 TypeScript 反馈一下。

另外在这种情况下主要是 K extends 影响了类型的推断,不用 K extends 即可。
如下代码是没有编译错误的。


```ts
type FunType2 = () => PersonProp;
let f3: FunType2 = () => {
return "age";
};
```
而且在 f3 的函数声明来看使用 K extends PersonProp 是没有意义的。
2018-09-06 20:30:26 +08:00
回复了 qinfensky 创建的主题 职场话题 当年比较菜的开发,三年后的反思
看到此帖,感觉还是挺欣慰的,被人理解的感觉挺好的。
也很高兴的听到你已经成长起来了。
巧的事,前不久也回想了一下此事,为当初给你造成的不良影响深表歉意。
祝:广阔天地,大有作为。
看好你。
2018-08-29 10:31:49 +08:00
回复了 3rdFaust 创建的主题 Android 想找个经验丰富的工程师咨询一下怎么做应用才像那么回事!
https://www.v2ex.com/t/479553
500 可以指导一晚上。( 20 ~ 23 )
2018-08-26 23:23:22 +08:00
回复了 banxi1988 创建的主题 前端开发 距离生产美
@zn #2 30px 不考虑 margin collapsing?
虽然我认为 margin collapsing 是一个很操蛋的特性,但是已经这样了,没有办法。
当出现 margin collapsing 时,margin 的意义就变成了文档流的一个对象距离的请求了。CSS 布局引擎综合双方请求,再根据 margin collapsing 规则来计算出一个值。
2018-08-26 21:04:57 +08:00
回复了 banxi1988 创建的主题 前端开发 前端新人的 CSS 与居中小结
@dr2009 感谢. 不过应该是适合需要显式指定一个合适的高度的场景。
还是喜欢无脑 flex, 我目前的项目都是无脑 flex.
2018-08-26 19:53:51 +08:00
回复了 banxi1988 创建的主题 前端开发 前端新人的 CSS 与居中小结
@dr2009 真不行,上面介绍的文章我也初略看了一下。
嗯,我创建了个 jsfiddle,如果可以的话,你可以修改看看,看是否能使用绝对布局实现垂直居中。或者是还需要其他结构的配合,不过如此看来 flex 居中实现还是比较通用些。
http://jsfiddle.net/01527xba/7/
2018-08-26 19:43:34 +08:00
回复了 banxi1988 创建的主题 前端开发 前端新人的 CSS 与居中小结
@qiutianaimeili #5 grid 看了感觉比较复杂,学不动了。目前主要依靠 flex 搞定一切。
感谢 flex 拯救我这种前端新手。忙起来时,根本没空去研究那些个奇技。
2018-08-26 19:33:00 +08:00
回复了 banxi1988 创建的主题 前端开发 前端新人的 CSS 与居中小结
@molvqingtai #6 我刚测试了一下,此 css 无法实现垂直居中。( Chrome: 68 )
2018-08-26 17:40:47 +08:00
回复了 banxi1988 创建的主题 前端开发 前端新人的 CSS 与居中小结
@yangg #2
sorry, 文中有一个错别字, “能” > "通"
> 值得注意的是,除了使用 flex, CSS 中没有其他的通用的垂直居中的技术。
五笔前端新手让您见笑了。
1  2  3  4  5  6  7  8  9  10 ... 28  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5592 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 42ms · UTC 01:39 · PVG 09:39 · LAX 18:39 · JFK 21:39
Developed with CodeLauncher
♥ Do have faith in what you're doing.