我在同一个模块中有多个入口点.
例如,我有主页的Home入口点和admin页面的Admin入口点.
<entry-point class='com.company.project.client.HomeModule'/>
<entry-point class='com.company.project.client.AdminModule'/>
Run Code Online (Sandbox Code Playgroud)
我现在安装的方式 - 我需要在我的OnModuleLoad中检查这样的somt:
if((RootPanel.get("someHomeWidget")!=null)&&
(RootPanel.get("someOtherHomeWidget")!=null))
{
// do the stuff
}
Run Code Online (Sandbox Code Playgroud)
以便在主页打开时不执行管理员入口点,反之亦然.
不进行上述检查也涉及如果我在Home和Admin页面中都有一个同名的div,无论我注入的是什么,它都会在每个上面显示两次.
这在1000英里之外发臭,显然是错误的:在人们体验中这样做的正确方法是什么?
任何帮助赞赏!
我无法想象下面我的代码有什么问题.
当我尝试编译时,我收到消息:
不包含适用于入口点的静态"主"方法.
这是我的代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace RandomNumberGenerator
{
public partial class Form1 : Form
{
private const int rangeNumberMin = 1;
private const int rangeNumberMax = 3;
private int randomNumber;
public Form1()
{
randomNumber = GenerateNumber(rangeNumberMin, rangeNumberMax);
}
private int GenerateNumber(int min,int max)
{
Random random = new Random();
return random.Next(min, max);
}
private void Display(object sender, EventArgs e)
{
switch (randomNumber)
{
case 1: …Run Code Online (Sandbox Code Playgroud) 我在一个应用程序中有2个主要入口点.
第一个main启动服务器,映射控制器并启动一些工作线程.这些工作人员从云队列接收消息.
如果负载增加,我希望能够增加额外的工作来完成我的工作.所以我在我的应用程序中有第二个主要入口点,我希望能够在不启动 spring-boot(作为客户端应用程序)的默认服务器的情况下启动,以避免端口冲突(显然会导致失败).
我该如何实现这一目标?
文件
FROM python:3.7.4-alpine
ENV PYTHONUNBUFFERED 1
ENV PYTHONDONTWRITEBYTECODE 1
ENV LANG C.UTF-8
MAINTAINER "mail@gmail.com"
RUN apk update && apk add postgresql-dev gcc musl-dev
RUN apk --update add build-base jpeg-dev zlib-dev
RUN pip install --upgrade setuptools pip
RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/
#CMD ["gunicorn", "--log-level=DEBUG", "--timeout 90", "--bind", "0.0.0.0:8000", "express_proj.wsgi:application"]
ENTRYPOINT ["./docker-entrypoint.sh"]
Run Code Online (Sandbox Code Playgroud)
docker-entrypoint.sh
#!/bin/bash
# Prepare log files and start outputting logs to stdout
touch /code/gunicorn.log
touch /code/access.log
tail -n …Run Code Online (Sandbox Code Playgroud) 我开始了一个SwiftUI项目作为iOS 15部署目标,我被要求降低版本,所以我将其更改为 iOS 13,在解决了一些代码兼容性问题后,我在应用程序的入口点留下了一个错误,MyProjectApp.swift指出main()和Scene是WindowGroup仅适用于 iOS 14+
如何使入口点兼容低于 iOS 14.x 的版本?
这是我的入口点的代码
@main //'main()' is only available in iOS 14.0 or newer
struct MyProjectApp: App {
let persistenceController = PersistenceController.shared
var body: some Scene { //'Scene' is only available in iOS 14.0 or newer
WindowGroup { //'WindowGroup' is only available in iOS 14.0 or newer
ContentView()
.environment(\.managedObjectContext, persistenceController.container.viewContext)
}
}
}
Run Code Online (Sandbox Code Playgroud) 我已经开始设计一个API,并决定让它符合REST/HATEOAS.API的切入点应该是什么?
这似乎是一个常见的,GET /但从我所读到的,它可能在逻辑上更有意义使用OPTIONS /,因为实际上没有/用于检索的资源.
我在这里给出了两个例子,使用JSON的HAL语法作为超媒体格式.
请求:
GET / HTTP/1.1
Host: example.com
Run Code Online (Sandbox Code Playgroud)
响应:
HTTP/1.1 200 OK
Date: …
Content-Type: application/json;charset=utf-8
Content-Length: 143
{
"_links": {
"self": {
"href": "/"
},
"penguins": {
"href": "/penguins"
}
}
}
Run Code Online (Sandbox Code Playgroud)
请求:
OPTIONS / HTTP/1.1
Host: example.com
Run Code Online (Sandbox Code Playgroud)
响应:
HTTP/1.1 200 OK
Date: …
Allow: OPTIONS
Content-Type: application/json;charset=utf-8
Content-Length: 143
{
"_links": {
"self": {
"href": "/"
},
"penguins": {
"href": "/penguins"
}
}
}
Run Code Online (Sandbox Code Playgroud) 我已经构建了一个 Docker 镜像,然后使用 Docker Compose 运行了一个容器。以下命令将为我完成这项工作:
docker-compose up -d
Run Code Online (Sandbox Code Playgroud)
我已经重新启动了 PC,现在我想启动我之前创建的前一个容器。所以我尝试了以下命令:
$ docker-compose start
Starting php-apache ... done
Run Code Online (Sandbox Code Playgroud)
显然它有效,但它不符合以下命令的输出:
$ docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------
php55devwork_php-apache_1 /bin/sh -c bash -C '/usr/l ... Exit 0
Run Code Online (Sandbox Code Playgroud)
肯定有什么问题,我想找出什么。
如果您想尝试一下,这里是存储库。
更新
如果我删除容器:docker rm <container-id>并通过运行docker-compose up -d --build它重新创建它再次工作。
更新 #1
我看不到这么奇怪的字符:
main我是 C# 世界的新手,但看到其他编程语言可以从函数/方法sys.argv等地方访问命令行参数。
在Visual Studio 的样板 ASP.NET Core Web App MVC(版本 6.0)文件中看到以下语句是不寻常的:Program.cs
var builder = WebApplication.CreateBuilder(args);
Run Code Online (Sandbox Code Playgroud)
将鼠标悬停在 IDE 内的该参数上似乎表明确实如此string[] args,但是入口点在哪里?
我不了解大多数锅炉板的结构.我总是看到2个名为"index"的文件(一个js文件和另一个html文件).我想了解主入口点的工作原理.我经常看到这个工作的web包,但我主要担心的是,为什么我可以使用index.html文件(我猜)我在js文件中完成所有工作?
我写了一个非常简单的程序:
ebrahim@ebrahim:~/test$ cat main.c
int main() {
int i = 0;
return i;
}
Run Code Online (Sandbox Code Playgroud)
而我编译它-s为剥离模式:
ebrahim@ebrahim:~/test$ gcc -s main.c -o f3
ebrahim@ebrahim:~/test$ file f3
f3: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=4dc6b893fbae8b418ca41ddeef948df1fcb26d3d, stripped
Run Code Online (Sandbox Code Playgroud)
现在,我正在尝试使用GDB找出主函数起始地址:
ebrahim@ebrahim:~/test$ gdb -nh f3
GNU gdb (Ubuntu 7.11.90.20161005-0ubuntu2) 7.11.90.20161005-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free …Run Code Online (Sandbox Code Playgroud) entry-point ×10
c# ×2
docker ×2
architecture ×1
args ×1
asp.net-mvc ×1
boilerplate ×1
c ×1
debugging ×1
django ×1
dockerfile ×1
exit ×1
gdb ×1
gwt ×1
hal-json ×1
hateoas ×1
ios ×1
java ×1
module ×1
python ×1
reactjs ×1
rest ×1
spring-boot ×1
swift ×1
swiftui ×1