标签: concept

Node.js + Nginx - 现在怎么办?

我在我的服务器上设置了Node.js和Nginx.现在我想使用它,但是,在我开始之前有2个问题:

  1. 他们应该如何一起工作?我该如何处理这些要求?
  2. Node.js服务器有2个概念,其中一个更好:

    一个.为需要它的每个网站创建单独的HTTP服务器.然后在程序开始时加载所有JavaScript代码,因此代码被解释一次.

    湾 创建一个处理所有Node.js请求的Node.js服务器.这将读取所请求的文件并篡改其内容.因此,每个请求都会解释文件,但服务器逻辑要简单得多.

我不清楚如何正确使用Node.js.

nginx concept node.js

964
推荐指数
10
解决办法
34万
查看次数

Java中的抽象与封装

可能重复:
抽象VS信息隐藏VS封装

我知道这个问题可能已经在这个论坛上被问了几千次,甚至net也充满了关于这些概念的许多定义,但所有声音都相同,并且都使用相同的技术词汇.例如以下定义

封装是将数据和对数据进行操作的代码绑定或包装到单个实体中的过程.这样可以保护数据免受外部接口和误操作的影响.考虑封装的一种方法是作为保护包装器,防止代码和数据被包装器外部定义的其他代码任意访问.

我从上面的定义中理解的是创建变量,将它们标记为私有并为这些变量生成getter-setter,并使用object来访问那些getter和setter.这样,数据就隐藏在对象内部,只能通过对象访问.希望我是对的.


抽象是Java中的过程,用于隐藏某些细节并仅显示对象的基本特征.换句话说,它处理对象(界面)的外部视图.

现在这是让我困惑的部分.每当我想到抽象时,我想到的东西就是抽象类(可能因为它们都有Abstract关键字).上面的定义说抽象意味着隐藏数据并且只显示所需的细节,但这是我们在封装中已经做的事情吗?然后有什么区别.此外,我没有得到对象的侧视图,它处理对象的外部视图.

有人可以用一些现实生活中的例子,或者如果可能的话,用一些程序化的例子来说明这一点.

java oop concept

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

如何在C++中实现接口?

可能重复:
在C++中模拟接口的首选方法

我很想知道C++中是否有接口,因为在Java中,设计模式的实现主要是通过接口将类解耦.有没有类似的方法在C++中创建接口呢?

c++ interface concept

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

什么是分布式缓存?

我对分布式缓存的概念感到困惑.我有点知道谷歌搜索是什么.分布式缓存可以跨越多个服务器,以便它可以在大小和事务容量上增长.但是,我真的不明白它是如何工作的或如何分配数据.

例如,让我们说,我们有数据1,2,3,4,5,6,7,8,9,10二级缓存服务器A和B.如果我们使用分布式缓存,那么可能的解决方案之一是数据1,3,5,7,9存储在缓存服务器A中,并且2,4,6,8,10存储在缓存服务器B中.

这是正确的还是我误解了它?

第二个问题是我经常听到服务器节点这个词.它是什么?在上面的例子中,服务器A是服务器节点,对吗?

第三个问题,如果服务器(假设服务器A)出现故障,我们可以做些什么呢?我的意思是如果上面的例子是正确的,当服务器A关闭时,我们无法从缓存中获取数据1,3,5,7,9,那么在这种情况下缓存服务器可以做什么?

caching concept

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


使用Python与其他程序交互

我想用Python写一个程序,它会找到我提供的一首歌的歌词.我认为整个过程应归结为以下几点.这些是我希望程序在运行时执行的操作:

  • 提示我输入一首歌的名字
  • 复制该名称
  • 打开网络浏览器(例如谷歌浏览器)
  • 将该名称粘贴到地址栏中,然后查找有关该歌曲的信息
  • 打开包含歌词的页面
  • 复制那个歌词
  • 运行文本编辑器(例如Microsoft Word)
  • 粘贴歌词
  • 使用歌曲名称保存新文本文件

当然,我不是要求代码.我只想知道有关如何使用python与其他程序交互的概念或想法

更具体地说,我想我想知道,例如,我们如何指出谷歌Chrome中的地址栏在哪里,并告诉python将名称粘贴在那里.或者我们如何告诉python如何复制歌词以及将其粘贴到Microsof Word的工作表中然后保存它.

我一直在阅读(我还在阅读)几本关于Python的书:python的字节,艰难的学习python,Python的傻瓜,Python和Pygame的开始游戏开发.但是,我发现我似乎只(或几乎只)学会创建自己运行的程序(我不能告诉我的程序用我已经安装在计算机上的其他程序做我想做的事情)

我知道我的问题在某种程度上听起来很愚蠢,但我真的想知道它是如何工作的,我们告诉Python如何重新调整Google Chrome浏览器的这一部分是地址栏,它应该粘贴歌曲名称的方式它.使python与另一个程序交互的整个想法对我来说真的很模糊,我只是非常想要掌握它.

谢谢大家,无论是谁花时间阅读我这么久的问题.

ttriet204

python automation concept

21
推荐指数
4
解决办法
5万
查看次数

如何做简单的 C++ 概念 has_eq - 与 std::pair 一起使用(对于 C++20,std::pair 运算符 == 已损坏)

编译器资源管理器链接

\n
template <typename T>\nconcept HasEq = requires(T t) {\n    { t == t } -> std::convertible_to<bool>;\n};\n\nstruct X {};\nstatic_assert(not HasEq<X>);\n//bool a = pair<X, X>{} == pair<X, X>{};\nstatic_assert(! HasEq<pair<X, X>>);  // fails! SIGH\n
Run Code Online (Sandbox Code Playgroud)\n

我想它\xe2\x80\x99 足够简单,可以定义一个概念“T 支持==”。它\xe2\x80\x99很简单,可以定义一个不支持运算符==的类型\'X\'。这个概念似乎对此很有效。

\n

但令人困惑的是,pair<X,X> 并不真正支持运算符==(因为它委托给不存在的X 运算符==)。

\n

然而 HasEq<pair<X, X>> 返回错误的答案(它表示已经定义了operator==)。

\n

似乎是 std C++ 运算符 ==(pair,pair) 定义的错误,无条件定义运算符 ==,而不是在运算符 == 定义上使用 \'enable_if\' 或 \'requires\'。但我不太确定我能做些什么来使 HasEq 正常工作(所以首先要了解这是否确实是 st​​d::pair 运算符== 定义中的缺陷)。

\n

c++ concept

19
推荐指数
2
解决办法
1425
查看次数

为什么same_as概念两次检查类型相等性?

https://en.cppreference.com/w/cpp/concepts/same_as上查看same_as概念的可能实现,因为我注意到正在发生奇怪的事情。

namespace detail {
    template< class T, class U >
    concept SameHelper = std::is_same_v<T, U>;
}

template< class T, class U >
concept same_as = detail::SameHelper<T, U> && detail::SameHelper<U, T>;
Run Code Online (Sandbox Code Playgroud)

第一个问题是为什么要插入一个SameHelper概念?第二个就是same_as检查是否T相同UU一样T?这不是多余的吗?

c++ concept c++20

17
推荐指数
2
解决办法
287
查看次数

是否有必要在每个if条件中写出其他部分?

我问的问题可能会被关闭,但我只想知道是否有必要写下每个if条件的一部分.我的一位高级程序员告诉我"你应该把其他部分写入每一个条件".假设我们没有条件写入else部分那么我们该怎么办?我假设这里将进行健康的讨论....

programming-languages concept

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

递归与循环

我正在尝试使用这里给出的树上的例子:http://cslibrary.stanford.edu/110/BinaryTrees.html 这些例子都通过递归来解决问题,我想知道我们是否可以为每一个提供迭代解决方案它们,意思是,我们总能确保通过递归解决的问题通常也会有迭代解决方案.如果没有,我们可以用什么样的例子来说明只能通过递归/迭代解决的问题?

-

iteration recursion concept

13
推荐指数
1
解决办法
1197
查看次数