欢迎加入本站开发与讨论群

Colliot6/18/2018, 2:41:01 AM

点我

keyboard_arrow_down
如何在不引入相关模块的情况下获取类型?

Colliot6/15/2018, 10:56:38 PM

比如说,我想在前端代码中引入模型,但是模型的代码其实是 extends Sequelize.Model 的,那么我应该怎么获取到模型的类型,却又避免引入 sequelize 呢?(实际上前端也是无法引入 sequelize 的,因为它依赖很多 C++ 的包)

keyboard_arrow_down
如何让 `box-shadow` 可以覆盖下面的元素?

Colliot6/9/2018, 12:56:51 PM

我这个 box-shadow 似乎如果底下有元素就看不出来了,太坏了。

keyboard_arrow_down
你们懂 LLABF 算法吗?

Colliot5/30/2018, 10:32:04 AM

keyboard_arrow_down
修复了回复一个回复时,新回复不能立即展现的问题。

Colliot5/12/2018, 7:40:32 AM

是我设置错了一个 action 的 type。奇怪的是 TypeScript 居然没有报错,这不科学。

keyboard_arrow_down
在 TypeScript 中提取两个类型的公共属性

Colliot4/27/2018, 1:53:06 AM

比如
nterface A1 { a: number; b: string;

nterface B1 { a: number; c: boolean; 想得到一个 interface C1 { a: number; 初看会觉得是 A1 & B1,但其是不是的,这玩意儿同时具有 a, b, c, 三个属性。正确的确实应该用 &,但是是对 keyof 出来的东西,如下: type BothKeyOf<A, B> = keyof A & keyof B;

ype BothFieldsOf<A, B> = { [Key in BothKeyOf<A, B>]: A[Key] & B[Key] ;

ype C = BothFieldsOf<A1, B1>;

onst a: C = {a: 1}; onst a2: C = {a: 1, b: '2'}; // 非法,多了 b onst a3: C = {}; // 非法,缺乏 a

keyboard_arrow_down
算法竞赛的正确道路是什么?

Colliot4/26/2018, 2:33:21 AM

我们也许需要 at 功能

keyboard_arrow_down
每个人访问都是我的事故原因找到了

Colliot4/25/2018, 11:02:49 PM

出问题的是这段代码 const serverDefaultUserState = defaultUserState; if (this.req) { const serverUserData = this.req.serverUserData; console.log('===INIT_EPIC===: ', serverUserData); const serverToken = this.req.serverToken; if (serverUserData) { serverDefaultUserState.loggedIn = true; serverDefaultUserState.loginPending = false; serverDefaultUserState.userData = serverUserData; serverDefaultUserState.token = serverToken; } } serverDefaultUserState 被赋予了 defaultUserState 的引用,其后又被修改了,导致 defaultUserState 被修改了。但是 node 模块是单例的,导致所有其他 redux 实例被初始化的时候都读取了被修改的数据……所以用户数据也被共享了。 为了避免同样的问题再出现,应该把 defaultUserState 的所有属性标记为 readonly,这样 TypeScript 就可以检查出是否存在对其的更改了。

keyboard_arrow_down
关于每个人访问都是我的事故原因,我有个猜测

Colliot4/25/2018, 2:53:42 AM

难道是因为 express 中间件里变量作用域的问题,导致这段代码中的 cookieStore 实际上是共享的?代码如下: app.get('*', (req, res) => { const tryCookie = req.headers.cookie; if (typeof tryCookie === 'string') { console.log('Middleware: we got cookies', tryCookie); const cookieStore: { [key: string]: string } = {}; const cookiesArr = tryCookie.split(';'); for (const cookie of cookiesArr) { const cookieArr = cookie.split('='); cookieStore[cookieArr[0].trim()] = cookieArr[1].trim(); } const token = cookieStore['eliseos:token'] || null; // ... } // ... 怎么有一种我这么久 express 白写了的感觉……

keyboard_arrow_down

Latest Replies

ice1000 replied to 一个重大的消息——本站的 Angular 版本不再继续开发,将会用 React 「重新」开发

我们需要看合订本,是吗? https://colliot.org/zh/2018/01/%e7%94%a8-angular-%e5%bc%84%e4%ba%86%e4%b8%80%e4%b8%aa%e8%83%8c%e5%8d%95%e8%af%8d%e7%9a%84%e7%bd%91%e7%ab%99-eliseos-org/ 虎哥名人名言: 整个弄下来的感想就是,Angular 是真的好用,Angular 生态是真的不错,universal 完全按官方走一遍就活了,现在线上运行的版本就是 universal 的,右键查看源码可以看到是渲染好的页面发过来的。angular cli 一路可以 generate 到底,基于 NgModule 的路由懒加载也是开箱即用,不需要任何配置,非常美妙。

fjcfff replied to 阿里巴巴数学竞赛选错赛道了

给定标准布朗运动 Bt 假设 s 是个停时,那么 B′t={Bt2Bs−Btif t≤sif t>s 是标准布朗运动。

Colliot replied to 阿里巴巴数学竞赛选错赛道了

弱反射原理 mathbb{P}{M_t ge a} = 2mathbb{P}{B_t ge a},其中 M_t = sup_{sin[0,t]}B_s 是布朗运动 B_t 在 [0,t] 内达到的最大值。 它可以写作mathbb{P}{B_t ge a}=dfrac{1}{2}mathbb{P}{M_t ge a},这个在直观上很容易理解,因为 B_t ge a 必然有 M_t ge a,而 M_t 第一次到达 a 之后,后续任何点大于或小于 a 的概率都是 1/2。 强反射原理 给定标准布朗运动 B_t,假设 s 是个停时,那么

begin{equation} B'_t= begin{cases} B_t & text{if } t le s 2B_s-B_t & text{if } t > s end{cases} end{equation}

仍是标准布朗运动。 这实际上就是「第一次到达 a 之后,后续任何点大于或小于 a 的概率都是 1/2」的严格表述。所以后者可以推出前者。

hugify replied to 阿里巴巴数学竞赛选错赛道了

感觉跟 Brownian motion 或者说 Wiener process 的 reflection principle 有关?

hugify replied to 用类型系统描述实数的精髓是什么?

找到了相关文章 Formalising Real Numbers in Homotopy Type Theory,让我来看一看。

hugify replied to 用类型系统描述实数的精髓是什么?

怎么用类型系统表述戴德金分割呢?

ice1000 replied to 用类型系统描述实数的精髓是什么?

我现在懂了,就是戴德金分割

ice1000 replied to 为什么不能对 C++ 的语法进行简化?

不成立。现在的语法也有这样的歧义