我的一位同事有一个我想要克隆的远程git仓库,他提供了一个git@his.server.com的网址:443/repo.git.在这种情况下,ssh列在端口443上.
我尝试克隆, git clone git@his.server.com:443/repo.git但操作超时.我曾经认为git默认为ssh作为其协议,我不知道为什么这不起作用.
如果我在url中明确指定ssh就像git clone ssh://git@his.server.com:443/repo.git它正常工作一样.
这是预期的git行为吗?为什么第一个网址不起作用,但第二个网址不起作用?
使用大型代码库,我对在所有模型上运行注释犹豫不决.是否可以使用Rails annotate插件一次只注释一个模型?
假设我有一个日期2010-07-29.现在我想查看前一天的结果.怎么做
例如,
SELECT *
from table
where date = date("2010-07-29")
Run Code Online (Sandbox Code Playgroud)
前一天如何做而不更改字符串"2010-07-29"?
我搜索并从网上得到一些建议,我试过了
SELECT *
from table
where date = (date("2010-07-29") - 1 Day)
Run Code Online (Sandbox Code Playgroud)
但失败了.
我正在开发一个使用Core Data的应用程序,我希望能够以一种可以使用本地SQLite存储或基于Web的存储(具有XML或JSON响应模式)的方式对其进行编码.
是否可以为Core Data使用完全相同的代码,并根据用户的偏好选择适当的持久性存储?
我有一个模板化的C++类,它暴露了许多方法,例如
template<int X, int Y>
class MyBuffer {
public:
MyBuffer<X,Y> method1();
};
Run Code Online (Sandbox Code Playgroud)
现在,如果X == Y,我想向这个类公开其他方法.我通过继承MyBuffer来完成这个,
template<int X>
class MyRegularBuffer : public MyBuffer<X,X> {
public:
MyRegularBuffer method2();
};
Run Code Online (Sandbox Code Playgroud)
现在,问题是我希望能够做到,例如
MyRegularBuffer<2> buf = ...
MyRegularBuffer<2> otherBuf = buf.method1().method2();
Run Code Online (Sandbox Code Playgroud)
但我不知道如何做到这一点.我试着想到复制构造函数,转换运算符等,但不幸的是我的C++技能有点生疏.
编辑:我应该补充说,这些对象的创建相对便宜(而且,它不会发生很多),这意味着可以做这样的事情:
MyRegularBuffer<2> buf = ...
MyRegularBuffer<2> temp = buf.method1(); // Implicit conversion
MyRegularBuffer<2> otherBuf = temp.method2();
Run Code Online (Sandbox Code Playgroud)
那么问题是,如何定义这样的转换.我认为转换运算符需要在MyBuffer中,但我希望它只有在X == Y时才可用.
我认为这应该很容易,但是...... geesh!供应商给了我一个相当简单的演示程序,旨在展示一些琐碎的图标动画.目标平台是嵌入式系统(MX51),具有加速的OpenGL ES 2.0/OpenVG和EGL支持.
不幸的是,该演示还对一些Qt实用程序类(例如,QImage)具有恼人的依赖性.如果不是这种依赖,我会编译/运行目标上的东西.但我不喜欢交叉编译Qt只是为了运行这个小小的演示 - 即使嵌入式电路板上有足够的空间.
我希望我能够在标准(ish)Ubuntu 10.04 VM上运行应用程序,并开始遵循这些指示来实现它.我实际上管理了 - 比如,10小时后 - 编译所有内容并获得演示程序的可运行二进制文件.但是,当我运行它时,我看到以下错误:
eglCreateWindowSurface: egl error "EGL_BAD_CONFIG" (0x3005)
Run Code Online (Sandbox Code Playgroud)
叹.在我付出努力之后,这不是我想要看到的.这似乎比应该更困难.
嵌入式GL环境真的是如此贫民窟,我必须使用一些供应商提供的BSP在目标上运行甚至是微不足道的程序吗?从对这个家伙的问题缺乏回应来判断,我认为答案可能是肯定的.但我甚至不关心加速度.我只是想在桌面PC上运行最愚蠢的OpenGL ES 2/OpenVG程序,并了解它的外观.(对我而言,PC是运行Linux还是Windows并不重要.)人们如何做这类事情?
我正在创建一个基本的Struts2,Maven webApp,并在部署到Tomcat 6或Jetty时收到此错误.有没有人见过这个?
2010-07-29 15:33:38.801::WARN: failed struts2
Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - jar:file:/C:/workspaces/test/test/target/work/webapp/WEB-INF/lib/struts2-core-2.1.8.1.jar!/struts-default.xml:29:72
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:208)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:131)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:589)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:510)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:110)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:222)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)
at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:357)
at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:293)
at org.mortbay.jetty.plugin.Jetty6RunWar.execute(Jetty6RunWar.java:67)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
at …Run Code Online (Sandbox Code Playgroud) 为什么每次我的应用程序启动时SQLiteOpenHelper都会调用onCreate().这是我的onCreate()代码
@Override
public void onCreate(SQLiteDatabase db) {
Log.i("onCreate()", "Enter");
//create cards table
db.execSQL(
"create table circles" +
"("+
"id integer primary key,"+
"x integer not null," +
"y integer not null"+
")"
);
Log.i("onCreate()", "Exit");
}
Run Code Online (Sandbox Code Playgroud)
我的扩展SQLiteOpenHelper类有一个外部类,当我查询时,我这样做:
Cursor cursor = openHelper.getWritableDatabase().rawQuery("select * from circles", null);
Run Code Online (Sandbox Code Playgroud)
并且因为这个if语句而跳过这个块
if (cursor.moveToFirst()) {...}
Run Code Online (Sandbox Code Playgroud)
这是我的整个数据库包装类:
package db.main;import java.util.ArrayList; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; import testing.main.Circle;
public class DBWrapper {
private static final String DATABASE_NAME = "circles.db"; private static final …
是否可以在一个程序中拥有多个套接字,可以通过 TCP 或 UDP 使用?
例如: SocketOne:4567端口的TCP套接字;socketTwo:8765 端口的 TCP 套接字;socketThree:7643 处的 UDP 套接字。
这些系列将是 AF_INET,每个系列的地址都是 INADDR_ANY。
我绑定并监听 TCP,只绑定 UDP。
让我怀疑要这样做的是,我如何一起等待每个套接字上的客户端。
我知道下面的代码不起作用,但我不知道还有什么,或如何解释我想说的话。
while (1)
{
connected = accept(socketOne, (struct sockaddr *)&client_addr,&sin_size);
connected = accept(socketTwo, (struct sockaddr *)&client_addr,&sin_size);
bytes_read = recvfrom(socketThree,recv_data,1024,0,(struct sockaddr *)&client_addr, &addr_len);
}
Run Code Online (Sandbox Code Playgroud) 我正在编写代码以在两个Linux机箱之间发送原始以太网帧.为了测试这个,我只想获得一个简单的客户端发送和服务器接收.
我让客户端正确地创建数据包(我可以使用数据包嗅探器看到它们).
在服务器端,我像这样初始化套接字:
fd = socket(PF_PACKET, SOCK_RAW, htons(MY_ETH_PROTOCOL));
Run Code Online (Sandbox Code Playgroud)
MY_ETH_PROTOCOL我用作ethertype的2字节常量在哪里,所以我没有听到无关的网络流量.
当我将这个套接字绑定到我的接口时,我必须在socket_addr结构中再次传递一个协议:
socket_address.sll_protocol = htons(MY_ETH_PROTOCOL);
如果我编译并运行这样的代码,那么它就会失败.我的服务器没有看到数据包.但是,如果我像这样更改代码:
socket_address.sll_protocol = htons(ETH_P_ALL);
服务器然后可以看到从客户端发送的数据包(以及许多其他数据包),所以我必须检查数据包,看它是否匹配MY_ETH_PROTOCOL.
但我不希望我的服务器听到未在指定协议上发送的流量,因此这不是解决方案.我该怎么做呢?