由于我的编译器为这两段代码提供了不同的统计信息,我想知道是什么让它们与众不同,如果有的话?
第一:
typedef const struct process_data
{
uint8_t *name;
void (*p_func)(void);
} process_data_t;
process_data_t processes = {15,16};
Run Code Online (Sandbox Code Playgroud)
第二个是:
typedef struct process_data
{
uint8_t *name;
void (*p_func)(void);
} process_data_t;
const process_data_t processes = {15,16};
Run Code Online (Sandbox Code Playgroud)
请注意,const限定符已从typedefing移动到结构的定义.对我来说,两个摘录之间没有区别,但编译器/链接器统计信息表明,当使用第二段代码时,会消耗更少的闪存(平台是具有受限资源的微控制器).
我一直在寻找一种如何设置 Next.js 应用程序的服务器端口的方法。我找到了2种方法:
硬编码到package.json文件中:
{ “scripts”:{ “dev”:“下一个 dev -p 8012”, “build”:“下一个构建”, “start”:“下一个启动 -p 8012”, } }
从命令行:npm run dev -- -p 8012或PORT=8012 npm run dev
这些对我来说都不好看。第一种方法的问题是package.json由 git 进行版本控制。这意味着我必须在本地环境上使用与生产中使用的相同的端口。我可能有其他程序在本地侦听该端口。这对我来说很不方便。
第二种方法意味着我的记忆力非常好。我必须记住我想在本地以及生产、登台或任何其他环境中使用的端口。这也不行。
理想情况下,我希望在.env文件中指定端口。我尝试过 - 不起作用。
有人遇到过这样的问题吗?
我试图将数据保存到 NextJS 页面上的猫鼬模型中。我在这一行收到打字稿错误:
await User.create(data)
Run Code Online (Sandbox Code Playgroud)
该表达式不可调用。联合类型的每个成员 '{ <Z = Document | _AllowStringsForIds<Pick<Pick<_LeanDocument<文档>, "_id" | “__v”| “id”>,“_id”| “__v”| “id">>>(文档:Z):承诺<...>;<Z = 文档<...> | _AllowStringsForIds<...>>(文档: Z[], 选项?: SaveOptions): Promise<...>; <Z = 文档<...> | _AllowStringsForIds<...>>(...docs: Z[]): Promis...' 有签名,但这些签名都不相互兼容。
该代码有效 - 我可以看到添加到数据库中的数据,但是
这是我从用户模型中导出的内容:
export default (mongoose.models.User || mongoose.model('User', UserSchema));
Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的 Nextjs 应用程序中使用ws(网络套接字)。
我不想创建新服务器,而是想将当前服务器对象传递给 ws 初始化:
const { Server } = require('ws');
wss = new Server({ myNextJs server instance here ... });
Run Code Online (Sandbox Code Playgroud)
那么:如何在运行时获取对 Nextjs 服务器的引用?
我看到一个奇怪的小间隙,在容器的边框和其中一个孩子的背景之间可以看到白色背景:
你会看到大概有 1px 的间隙。如何消除这个恼人的差距?
.login-modal {
background: white;
box-sizing: border-box;
--main-bg-color: rgb(70, 119, 139);
display: grid;
/* grid-auto-rows: minmax(20px, auto); */
grid-auto-columns: minmax(120px, 180px);
top: 10px;
position: absolute;
left: 50%;
transform: translate(-50%);
overflow: hidden;
border-radius: 7px;
color: var(--main-bg-color);
font-family: "Open Sans", sans-serif;
border: 1px solid var(--main-bg-color);
z-index: 1999;
}
#login-window-small.login-modal ul {
padding: 0;
margin: 0;
}
#login-window-small.login-modal li {
list-style-type: none;
margin: .5em;
}
#login-window-small.login-modal a {
text-decoration: none;
color: var(--main-bg-color);
}
.modal-head {
display: flex;
align-items: center;
color: …Run Code Online (Sandbox Code Playgroud)我正在使用 Rails 5.1.5。
我有一个旧的/遗留的项目。根据请求,Rails 服务器总是回复响应标头
Cache-Control: no-store, must-revalidate, private, max-age=0
我用谷歌搜索了一下,发现这句话config.action_controller.perform_caching = true应该是真的。所以我为我的所有环境设置了它。但我仍然收到此标头的响应,该标头可防止在代理上进行缓存。我想这是我最“喜欢”的 Rails 自动功能之一。
我怎样才能禁用这个功能?
在项目根目录中,我有.gitignore一个文件忽略除 gitignore 文件之外的所有内容。这是文件的内容:
**/*
!.gitignore
Run Code Online (Sandbox Code Playgroud)
然后implementation/xml/我有另一个包含以下内容的 gitignore 文件:
!**/*
Run Code Online (Sandbox Code Playgroud)
然后在implementation/xml/ant/中我创建了名为texd-odt-build.xml完整路径的新文件(/implementation/xml/ant/texd-odt-build.xml)的新文件。
现在是第二个 gitignore 文件,它位于项目根目录中的文件(gitignore 文件)下面的两个文件夹中。那么第二个 gitignore 应该覆盖根目录中的那个,对吧?但使用 bash 我发现它 texd-odt-build.xml仍然在忽略列表中。
为了检查它,我使用了这个命令:git status --ignored。“孩子”gitignore 不工作的原因可能是什么?
我发现这是日食思想家/知识分子的命题,不管它叫什么.就是这样:
char *_EXFUN(index,(const char *, int));
Run Code Online (Sandbox Code Playgroud)
首先它看起来像一个函数返回一个char的指针,但参数(如果它是一个函数)看起来很混乱.如何进入参数列表我们有一个括号.
struct
{
uint32_t i;
uint32_t i2;
}s;
printf("%p %p", &s.i, &s.i2);
Run Code Online (Sandbox Code Playgroud)
如果以上示例打印:
0 4
这意味着进入结构的最顶层成员位于较小的存储器地址,并且随后的元素以递增的顺序存储在连续的地址处.
如果平台字节顺序被反转怎么办?这种模式会改变吗?这是在某些C标准的规范中提到的吗?
$ node -v v10.15.0
"axios": "^0.19.2",
Run Code Online (Sandbox Code Playgroud)
我试图将 cookie 保留在响应标头字段“set-cookie”中 - 就像浏览器一样。我曾经使用过这个模块(https://www.npmjs.com/package/request)并且有一个request.defaults({jar: true})效果很好的选项。
对于 axios,我要求它{withCredentials: true}可以完成这项工作 - 但它不能。
这是一个示例代码:
$ node -v v10.15.0
"axios": "^0.19.2",
Run Code Online (Sandbox Code Playgroud)
控制台结果如下:
axios({ url: 'https://google.com/', method: 'get', withCredentials: true })
.then((res) => {
console.log('res.headers = ', res.headers);
})
.catch((err) => {
console.log('ERROR >>>> ', err);
});
axios({ url: 'https://google.com/', method: 'get', withCredentials: true })
.then((res) => {
// console.log("res.headers = ", res.headers);
console.log('REQUEST HEADERS: ', res.request._header);
})
.catch((err) => {
console.log('ERROR …Run Code Online (Sandbox Code Playgroud)