我正在写一个非常简单的bash脚本来快速检查我的容器是否仍然正确构建和启动,内部的应用程序响应请求.
有时docker run
失败,例如因为我正在尝试绑定容器的端口已经分配.但是当发生这种情况时docker run
,退出代码仍为0,因此我无法使用退出代码.如何以编程方式检查容器是否正确启动?
我正在考虑的解决方案是:
docker ps
查看容器是否正在运行但这些看起来都有点过分和丑陋.我错过了检查是否docker run
成功的更好方法吗?
我正在尝试从nginx生成JSON日志.
我知道像这样的解决方案,但我想记录的一些字段包括用户生成的输入(如HTTP标头),需要正确转义.
我知道2011年10月和2008年5月的nginx changelog条目说:
*) Change: now the 0x7F-0x1F characters are escaped as \xXX in an
access_log.
*) Change: now the 0x00-0x1F, '"' and '\' characters are escaped as \xXX
in an access_log.
Run Code Online (Sandbox Code Playgroud)
但是这仍然没有帮助,因为\xXX
是在一个JSON字符串无效.
我还查看了具有set_quote_json_str
指令的HttpSetMiscModule模块,但这似乎只是添加\x22
了无效的字符串.
是否有其他解决方案可以从nginx登录JSON格式?
到目前为止,我只使用我在学校学到的swing和JComponents构建了"小"图形应用程序.但我再也忍受不了丑陋的JButton了.我尝试过使用不同的JButton方法,比如改变颜色,放置图标等,但我仍然不满意.你如何在java中创建更好的GUI?
我正在寻找不太重的替代品(比如,没有大框架或太复杂的库).
感谢您回答我之前关于java中GUI的问题.我现在想知道专业人士选择什么解决方案来获得一个很好的GUI,用于"真正的"应用程序.你是否使用swing和JComponents并改变"外观和感觉"?你更喜欢awt还是其他图书馆?
对不起,如果这个问题听起来很奇怪,我是学生,我真的不知道java在现实世界中是如何使用的......
我知道java中不存在抽象字段.我也读过这个问题,但提出的解决方案并不能解决我的问题.也许没有解决方案,但值得问:)
我有一个抽象类,它根据其中一个字段的值在构造函数中执行操作.问题是该字段的值将根据子类而改变.我该怎么做才能对子类重新定义的字段的值进行操作?
如果我只是"覆盖"子类中的字段,则对抽象类中字段的值进行操作.
我对任何确保在子类实例化期间完成操作的解决方案持开放态度(即将操作放在构造函数中每个子类调用的方法中都不是有效的解决方案,因为有人可能会扩展抽象类并忘记调用方法).
另外,我不想将字段的值赋予构造函数的参数.
有没有解决办法,或者我应该改变我的设计?
我的子类实际上是我的主程序使用的一些工具,因此构造函数必须是公共的并且完全采用它们将被调用的参数:
tools[0]=new Hand(this);
tools[1]=new Pencil(this);
tools[2]=new AddObject(this);
Run Code Online (Sandbox Code Playgroud)
(子类是Hand,Pencil和AddObject,它们都扩展了抽象类Tool)
这就是我不想改变构造函数的原因.
我即将使用的解决方案是将上面的代码略微更改为:
tools[0]=new Hand(this);
tools[0].init();
tools[1]=new Pencil(this);
tools[1].init();
tools[2]=new AddObject(this);
tools[2].init();
Run Code Online (Sandbox Code Playgroud)
并使用抽象的getter访问该字段.
在我的应用程序中,我使用一些图标 我应该在哪里存储包含这些图标的目录的路径?
这些图标在不同的类中使用,因此将它们特别存储在其中一个类中并不合理.
我读到全局变量是邪恶的,但是使用Commons
只包含public static final
字段来存储这个数据之王的类(例如)是否可以接受?在专业应用中使用什么解决方案?
我正在编写一个 P2P 应用程序,希望避免用户手动设置端口转发。
我有点困惑,因为似乎有两种不同的协议来配置 NAT,UPnP/IGD 和 NAT-PMP。我应该使用哪一个?所有 NAT 都支持它们吗?或者我应该同时支持两者以确保 NAT 至少支持其中之一?
我正在建立一个angularjs/firebase应用程序unsing angularfire绑定(v0.5.0).
我有一个项目列表,显示在一个表格ng-repeat
中<tr>
,如下所示:
<table>
<tbody>
<tr ng-repeat="(index, item) in items">
<td>
<input type="checkbox" ng-model="item.done">
</td>
<td>
<input type="text" ng-model="item.text" ng-focus="onItemFocus(index)" ng-blur="onItemBlur(index)">
</td>
<td>
<button type="button" ng-click="remove(index)">×</button>
</td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
并且在这个项目列表上有一个angularfire 3路数据绑定,如:
$scope.ref = new Firebase('...');
$scope.remote = $firebase($scope.ref);
$scope.remote.$child("items").$bind($scope, "items");
Run Code Online (Sandbox Code Playgroud)
这一切都很好,但现在我正在尝试添加拖放重新排序项目的可能性.
我设法使用jquery-ui(基本上是调用$("tbody").sortable()
)来设置拖放UI ,但我的问题是将它绑定到角度模型.有一个数量 的 问题就在于(与大jsfiddles),但在我的情况下angularfire 3双向绑定似乎搞乱它.
我想我需要在angularfire中使用firebase 优先级,orderByPriority
并且可能在其中一个sortable
回调中处理它,但是我很难弄清楚我应该怎么做...并且找不到任何关于它的文档.
有没有人做过类似的事情,你能否分享一些如何设置它的指针?
我扩展了JDialog来创建一个自定义对话框,用户必须填写一些字段: 对话框http://www.freeimagehosting.net/uploads/3d4c15ed9a.jpg
我该如何检索输入的数据?
我提出了一个有效的解决方案.它模仿JOptionPane,但由于涉及静态字段,我这样做对我来说看起来很难看......这大致是我的代码:
public class FObjectDialog extends JDialog implements ActionListener {
private static String name;
private static String text;
private JTextField fName;
private JTextArea fText;
private JButton bAdd;
private JButton bCancel;
private FObjectDialog(Frame parentFrame) {
super(parentFrame,"Add an object",true);
// build the whole dialog
buildNewObjectDialog();
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent ae) {
if(ae.getSource()==bAdd){
name=fName.getText();
text=fText.getText();
}
else {
name=null;
text=null;
}
setVisible(false);
dispose();
}
public static String[] showCreateDialog(Frame parentFrame){
new FObjectDialog(parentFrame);
String[] res={name,text};
if((name==null)||(text==null))
res=null;
return res;
}
} …
Run Code Online (Sandbox Code Playgroud) 我有这个 groovy 程序,它使用 ConfigObject 创建一个 groovy 配置文件。设置 ConfigObject 后,将使用以下命令将其写入文件:
myFile.withWriter {writer -> myConfigObject.writeTo(writer)}
Run Code Online (Sandbox Code Playgroud)
这导致 ConfigObject 的每个属性都写在一行上。例如,地图将打印为:
graphs=[["type":"std", "host":"localhost", "name":"cpurawlinux"], ["type":"std", "host":"localhost", "name":"memory"], ["type":"std", "host":"localhost", "name":"udp"] ... ]
Run Code Online (Sandbox Code Playgroud)
如果有人必须看的话,这是非常难以阅读的。有没有办法获得更友好的输出?像这样的东西会很棒:
graphs=[
["type":"std", "host":"localhost", "name":"cpurawlinux"],
["type":"std", "host":"localhost", "name":"memory"],
["type":"std", "host":"localhost", "name":"udp"]
...
]
Run Code Online (Sandbox Code Playgroud)
我知道我可以创建自己的writeTo
,但是 Groovy 中不是已经有这样的东西了吗?
java ×6
angularfire ×1
angularjs ×1
bash ×1
constructor ×1
docker ×1
firebase ×1
formatting ×1
groovy ×1
jdialog ×1
jquery-ui ×1
json ×1
logging ×1
modal-dialog ×1
nat ×1
nginx ×1
p2p ×1
swing ×1
upnp ×1