小编Trầ*_* Dự的帖子

Nextjs:ComponentWillMount vs getInitialProps

我正在使用next.js作为我的React应用程序,因为它具有服务器端呈现.正如我检查的日志,这两种方法ComponentWillMountgetInitialProps都在服务器端运行.所以我的问题是:这些方法之间有什么区别吗?当我应该运行在ComponentWillMount和我时,应在运行getInitialProps.我没有看到Next.JS提到这件事.

reactjs next.js

38
推荐指数
2
解决办法
2万
查看次数

docker-compose:网络和链接之间的差异

我正在学习码头工人.我看到这两个词让我感到困惑.例如,这里是一个定义了两个服务redis和的docker-compose web-app.

services:
  redis:
    container_name: redis
    image: redis:latest
    ports:
      - "6379:6379"
    networks:
      - lognet

  app:
    container_name: web-app
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "3000:3000"
    volumes:
      - ".:/webapp"
    links:
      - redis
    networks:
      - lognet

networks:
  lognet:
    driver: bridge
Run Code Online (Sandbox Code Playgroud)

docker-compose文件定义名为lognet的网桥,所有服务都将连接到此网络.据我了解,此操作使这些服务可以看到其他人.那么为什么app服务仍然需要在上面的情况下链接到redis服务.

谢谢

docker docker-compose docker-networking

32
推荐指数
1
解决办法
2万
查看次数

docker-compose:为bind mount和托管mount定义mount

我正在使用docker-compose来定义我的服务.在docker中,docker volume有两个概念.首先是关于bind mount:挂载主机存储.

docker run -d --name web-app -v $HOST/location:/container/location -p 80:80 httpd:latest
Run Code Online (Sandbox Code Playgroud)

其次是关于managed mount:抽象存储,不依赖于主机.

docker run -d --name web-app -v /container/location -p 80:80 httpd:latest
Run Code Online (Sandbox Code Playgroud)

我想将这些概念映射到docker-compose.这意味着我如何定义bind mount以及managed mount何时使用docker-compose.

docker docker-compose docker-volume

20
推荐指数
3
解决办法
3万
查看次数

遗传编程:轮盘赌排名与锦标赛选择的区别

我正在阅读关于遗传编程的幻灯片.在这张幻灯片中,它表示在选择阶段有一些方法,例如Roulette,RankTournament没有任何解释.我试过谷歌,但没有说清楚这些条款.

请告诉我他们之间有什么区别.

genetic-programming roulette-wheel-selection selection genetic-algorithm

10
推荐指数
1
解决办法
6703
查看次数

严格序列化和外部一致性的区别

我关注这个很棒的博客。在这篇博客中,作者对所有类型的隔离和一致性以及它们之间的关系进行了完整的描绘。 在此处输入图片说明

但是基于谷歌的博客,还有另一种类型的一致性External Consistency,它是由谷歌的 Spanner 数据库提供的。据我了解:

External consistency = Strongly Consistency + Strict Serializable
Run Code Online (Sandbox Code Playgroud)

经过一番研究,外部一致性的定义可能是:

对于任意两个事务 1 和 2(即使在地球的两侧):如果 2 在 1 完成提交后开始提交,则 2 的时间戳大于 1 的时间戳。

我还没有看到之间的差异External consistencyStrict Serializability。请给我一个它满足Strict Serializability但不满足的例子External Consistency

谢谢

database distributed-system google-cloud-spanner

9
推荐指数
2
解决办法
1149
查看次数

在行的未定义引用`SHA1'

我尝试在linux上编译一个库.这个库使用<openssl/sha.h>库.我已将此库包含在源文件中.之后,我使用flag -lssl和flag -lcrypto来编译这个项目.所以这是我的命令:

gcc -g -Wall -lssl -lcrypto -o bt_client file_a.c file_b.c

但我遇到了错误:

undefined reference to `SHA1' at line 130
Run Code Online (Sandbox Code Playgroud)

第130行的代码是:

SHA1((unsigned char *) null_padded_name, 20, (unsigned char *)name_sha1);
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?请指正.谢谢 :)

c linux gcc

7
推荐指数
3
解决办法
1万
查看次数

为什么使用define关键字来定义函数

我正在阅读一些源代码.不仅这个源代码,还有许多其他源代码,使用这种编程:

#define DO_BINOP(FN_NAME,TFLAG,OPER) \
   void FN_NAME (bigint_stack &stack) { \
      bigint right = stack.front(); \
      stack.pop_front(); \
      TRACE (TFLAG, "right = " << right); \
      bigint left = stack.front(); \
      stack.pop_front(); \
      TRACE (TFLAG, "left = " << left); \
      bigint result = left OPER (right); \
      TRACE (TFLAG, "result = " << result); \
      stack.push_front (result); \
   }

DO_BINOP(do_add, '+', +   )
Run Code Online (Sandbox Code Playgroud)

它们用于define定义充当函数的长字符串.我不知道这样做的好处是什么,因为这种方式使程序更难阅读,更难调试.我是C的新手,所以我认为这种方式必须有一些好处,对吧?

谢谢.

c c-preprocessor

7
推荐指数
1
解决办法
243
查看次数

二维数组的内存表示如何

在Java中,正如我们所知,二维数组是多维一维数组.这意味着那些一维数组在内存上不连续.

相反,在C中,二维数组实际上是一维数组,其大小为total_row*total_column.因为Go语言使用了C语言中的许多概念.所以我的问题是:Go中的二维数组的内存表示看起来像是C还是Java?

arrays go slice

7
推荐指数
1
解决办法
3627
查看次数

敏捷过程:积压和待办事项的差异

我正在使用ZenHub进行任务管理.在ZenHub中,我看到如下所示的5列:

在此输入图像描述

所以,我决定将所有问题都转移到Backlog.在那之后,我有一个问题:To Do和之间有什么区别In Progress?因为Backlog必须完成所有任务.当我想完成一项任务时,为什么我不能直接通过In Progress

task-management agile-project-management

6
推荐指数
1
解决办法
2830
查看次数

了解Java源代码:为什么这种空处理逻辑如此复杂?

我正在阅读JDK源代码。我public Collection<V> values()在课堂上看到一个方法HashMap

   public Collection<V> values() {
        Collection<V> vs = values;
        if (vs == null) {
            vs = new Values();
            values = vs;
        }
        return vs;
    }
Run Code Online (Sandbox Code Playgroud)

但是我认为这种逻辑会更简短些:

public Collection<V> values() {
    if (values == null) {
        values = new Values();
    }
    return values;
}
Run Code Online (Sandbox Code Playgroud)

我认为这背后一定有原因。请告诉我为什么。

java null

6
推荐指数
0
解决办法
106
查看次数