问题列表 - 第42961页

是否存在"过于抽象"的东西?

我想知道我是否想以RAD的名义抽象过多.

这里的一个例子 - 假设我有一个数据库表,它有3个模型(主模型,映射器模型和数据库模型).每个都扩展了抽象模型,映射器和db表模型.

这个设置非常好用.大部分操作实际上都在抽象模型中.但是,现在我想抽象更多.我会去远吗?

我已经抽象了基本的CRUD操作,现在我正在考虑抽象更高级的操作.

一个例子就是获取一些相关的模型.目前我会这样做:

$ modelOne-> modelTwo(); 其中modelTwo是明确定义的.

我的想法是使用像injectModel('modelTwo')这样的抽象方法或魔术方法.

我总是可以建立相关的规则来确保我的模型保持完整性......但是这太过分了吗?

感谢任何建议.

我不在乎我的一些代码是不连贯的; 我可以在这些部分写清楚的文档和注释.

php abstraction zend-framework

5
推荐指数
1
解决办法
739
查看次数

错误C2227,C2065,类中的类

我正在尝试构建我的代码,就像这个主要的< - 游戏< - 播放器.

如果我写在主要:

player* P;
P = new player;

P->move();
Run Code Online (Sandbox Code Playgroud)

一切正常,但在尝试将此代码移入游戏组件时,我遇到了问题.

以下是我需要帮助的game.cpp的部分内容.

#include "game.h"

#include <string>
using namespace std;

game::game(){
    player* P;
    P = new player;
};


void game::playerStuff(){
P->move(); //c2227+C2065
};
Run Code Online (Sandbox Code Playgroud)

这是game.h的一部分

#include "player.h"

class game {

public:

    game();
    void playerStuff();
Run Code Online (Sandbox Code Playgroud)

c++

0
推荐指数
1
解决办法
489
查看次数

将Winsock移植到Linux套接字

我有一个使用Winsock进行网络连接的程序,我们现在的一个要求就是将程序移植到Linux上.阻止我们这样做的唯一因素是Winsock.

我的问题是:我可以轻松地将其移植到Linux实现中吗?

是否有任何陷阱我应该注意,如果我只是包含适当的头文件,我必须要处理什么样的事情?

谢谢你的帮助!

我发布了代码,但由于法律原因,我不能不幸.但是,我们的代码确实使用了以下内容:

WSAStartup(..)
WSACleanup(..)
Socket(..)
sendto(..)
recvfrom(..)
ioctlsocket(..)
setsocketopt(..)
Run Code Online (Sandbox Code Playgroud)

sockets linux windows porting winsock

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

通过bash脚本从'time'命令获取值

我想用time命令运行一些可执行文件

time myexec -args
Run Code Online (Sandbox Code Playgroud)

如何在bash中仅将时间输出存储到变量中?这是我关心这个脚本的唯一部分,而不是可执行文件的输出.有没有办法获得该值,还是我必须解析整个命令的文本?

bash shell scripting time

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

随机阻止

我从ID的块block1block10.

像这样:

<div id="block1"></div>
<div id="block2"></div>
<div id="block3"></div>
<div id="block4"></div>
<div id="block5"></div>
<div id="block6"></div>
<div id="block7"></div>
<div id="block8"></div>
<div id="block9"></div>
<div id="block10"></div>
Run Code Online (Sandbox Code Playgroud)

如何得到随机块,id范围从1到10?

javascript random jquery

2
推荐指数
1
解决办法
1244
查看次数

在Twisted中通过ssh运行远程命令的最佳方法?

我有一个扭曲的应用程序,现在需要监视在几个盒子上运行的进程.我手动做的方式是'ssh和ps',现在我想要扭曲的应用程序.我有2个选择.

使用paramiko或利用的力量twisted.conch

我真的想用,twisted.conch但我的研究让我相信它主要用于创建SSHServers和SSHClients.但是我的要求很简单remoteExecute(some_cmd)

我能够弄清楚如何使用paramiko但我不想坚持paramiko我的扭曲的应用程序,然后再看看如何使用twisted.conch

twisted关于如何remote_cmds使用ssh 运行的代码片段将受到高度赞赏.谢谢.

python ssh twisted

12
推荐指数
1
解决办法
7016
查看次数

从专用模板类函数调用非专用模板类函数

是否可以从专用模板类中调用非专用模板类中定义的函数?这是我正在尝试的一个例子:

template <typename T>
struct Convert
{
 static inline void toString(unsigned num, unsigned places, std::string& str) { ... }
};

template <>
struct Convert<int8_t>
{
 static inline void toString(unsigned num, std::string& str)
 {
   Convert<int8_t>::toString(num, digitis(num), str);
 }
};
Run Code Online (Sandbox Code Playgroud)

海湾合作委员会抱怨它看不到非专业化的阶级职能; 也就是说,我猜它只在专门的班级内看.

有什么想法吗?

编辑

以下是我的代码中的一个更具体的示例(可能的解决方案):

struct NonSpecial { };

template <typename T>
class Convert
{

        template <typename R>
        static inline R fromString(const register char *str, const unsigned str_len)
        {   
            R result = 0;
            //convert str to R
            return result;
        }

        friend class …
Run Code Online (Sandbox Code Playgroud)

c++ template-specialization

16
推荐指数
1
解决办法
2364
查看次数

MySql性能建议

我不是MySQL专家,我遇到了问题.我有一个表,目前拥有16GB的数据,它将进一步增长.表格的结构如下,

CREATE TABLE `t_xyz_tracking` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`word` VARCHAR(200) NOT NULL,
`xyzId` BIGINT(100) NOT NULL,
`xyzText` VARCHAR(800) NULL DEFAULT NULL,
`language` VARCHAR(2000) NULL DEFAULT NULL,
`links` VARCHAR(2000) NULL DEFAULT NULL,
`xyzType` VARCHAR(20) NULL DEFAULT NULL,
`source` VARCHAR(1500) NULL DEFAULT NULL,
`sourceStripped` TEXT NULL,
`isTruncated` VARCHAR(40) NULL DEFAULT NULL,
`inReplyToStatusId` BIGINT(30) NULL DEFAULT NULL,
`inReplyToUserId` INT(11) NULL DEFAULT NULL,
`rtUsrProfilePicUrl` TEXT NULL,
`isFavorited` VARCHAR(40) NULL DEFAULT NULL,
`inReplyToScreenName` VARCHAR(40) NULL DEFAULT NULL,
`latitude` BIGINT(100) NOT NULL,
`longitude` BIGINT(100) …
Run Code Online (Sandbox Code Playgroud)

mysql performance mysql-management

0
推荐指数
1
解决办法
446
查看次数

C# - 如何检测Windows关闭/注销并取消该操作(在询问用户之后)

一些解释:对于我正在研究的项目,我必须编写一个在后台运行的程序,检测文件的更改,并将修改后的文件上传到Web服务,以便其他人可以使用.如果不是用户修改大文件并决定在编辑后立即关闭其计算机,则非常简单的同步.

我可以取消上传并等待下次重启以进行上传,但我可以想象用户第二天早上将文件从网络下载到另一台计算机,并且不明白为什么他昨晚的更改不存在.

所以我的想法是检测用户何时注销或重新启动Windows,如果我正在上传,只要询问用户"我们仍在同步Foo.txt您刚刚更改的文件.您确定要重新启动吗? ?在重新启动计算机之前,您的更改将无法用于其他人!" 如果用户拒绝,我需要取消重启/注销

这可能吗?

.net c# windows system-shutdown

9
推荐指数
1
解决办法
2万
查看次数

使用node.js发出HTTP请求会抛出EAFNOSUPPORT

我正在尝试使用node.js发出一个简单的HTTP GET请求,但是我使用node.js v0.3.4-pre(即从今天早上从HEAD编译)遇到了麻烦.这是我的代码:

    var cli = require('cli');
    var http = require('http');
    var url = require('url');

    cli.parse();

    cli.main(function(args, opts) {
            this.debug(args[0]);

            var siteUrl = url.parse(args[0]);
            var site = http.createClient(siteUrl.port, siteUrl.host);
            console.log(siteUrl);

            var request = site.request("GET", siteUrl.pathname, {'host' : siteUrl.host})
            request.end();

            request.on('response', function(response) {
                    response.setEncoding('utf8');
                    console.log('STATUS: ' + response.statusCode);
                    response.on('data', function(chunk) {
                            console.log("DATA: " + chunk);
                    });
            });
    });
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

node.js:68
      throw e; // process.nextTick error, or 'error' event on first tick
      ^
Error: EAFNOSUPPORT, Address family not supported by protocol family …
Run Code Online (Sandbox Code Playgroud)

node.js

9
推荐指数
1
解决办法
1万
查看次数