问题列表 - 第186662页

CodeIgniter-活动记录插入如果是新的或更新重复

是否可以在CodeIgniter中执行活动记录查询,如果现有记录已经存在,则更新现有记录,如果不存在则为给定密钥插入?

我知道这可以通过首先查询找到现有记录来完成,但我正在寻求最有效的方法.

mysql codeigniter

25
推荐指数
4
解决办法
3万
查看次数

为什么在直接指向变量作为指针时,为什么在C中创建指针?

我正在学习C并且遇到了一个例子,它似乎创造了一个不必要的步骤,但我又是新手.

他创建了一个变量,然后是一个指向该变量的专用指针.我的理解是你可以简单地在变量前加一个*,它将作为指向它的指针......那么为什么要使用另一行代码来创建指针?具体来说,我在谈论为什么他创建指针"*p"只是为了引用"x"而不是说*x指向它.以下是示例代码:

#include <stdio.h>

int main()
{
    int x;            /* A normal integer*/
    int *p;           /* A pointer to an integer ("*p" is an integer, so p
                   must be a pointer to an integer) */
    p = &x;           /* Read it, "assign the address of x to p" */
    scanf( "%d", &x );          /* Put a value in x, we could also use p here */
    printf( "%d\n", *p ); /* Note the use of the * to get the …
Run Code Online (Sandbox Code Playgroud)

c pointers idiomatic

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

Thymeleaf:错误解决模板

我正在尝试使用Thymeleaf的布局/模板,但我得到以下异常.

异常处理模板"user/index":解析模板"/layouts/default.html"时出错,模板可能不存在或任何已配置的模板解析器可能无法访问

这是我的ThymeleafConfig.java

@Configuration
public class ThymeleafConfig {

    @Bean
    public ServletContextTemplateResolver templateResolver() {
        ServletContextTemplateResolver resolver = new ServletContextTemplateResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".html");
        resolver.setTemplateMode("HTML5");
        resolver.setOrder(1);
        return resolver;
    }

    @Bean
    public SpringTemplateEngine templateEngine() {
        SpringTemplateEngine engine = new SpringTemplateEngine();
        engine.setTemplateResolver(templateResolver());
        engine.addDialect(new LayoutDialect());
        engine.addDialect(new SpringSecurityDialect());
        engine.addDialect(new SpringStandardDialect());
        return engine;
    }

    @Bean
    public ThymeleafViewResolver thymeleafViewResolver() {
        ThymeleafViewResolver resolver = new ThymeleafViewResolver();
        resolver.setTemplateEngine(templateEngine());
        return resolver;
    }
}
Run Code Online (Sandbox Code Playgroud)

我有以下文件夹结构

webapp/
..WEB-INF/
....views/
......layouts/
........default.html
......user
........index.html
Run Code Online (Sandbox Code Playgroud)

这是我的default.html,这是我的主要布局.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
<head>
    <meta charset="UTF-8" />
    <meta …
Run Code Online (Sandbox Code Playgroud)

java thymeleaf

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

GCC模板:预期»(«之前»>«令牌

我不明白为什么下面的代码不能编译:

template< typename TypeArg >
class Data
{
public:
    struct Selector1
    {
    };

    template< typename Selector >
    void foo()
    {
    }
};

template< typename TypeArg >
class Test
{
public:
    void test();
};


template< typename TypeArg >
void Test< TypeArg >::test()
{
    Data< TypeArg > data;
    data.foo< typename Data< TypeArg >::Selector1 >();
}
Run Code Online (Sandbox Code Playgroud)

我用GCC 4.6和GCC 4.9进行了测试.两者都给我同样的错误:

test.cpp:在成员函数中»void Test :: test()«:test.cpp:28:51:错误:预期»(«before»>«token test.cpp:28:53:错误:期望的primary-expression之前»)«令牌

有人可以告诉我需要为编译代码做些什么吗?

c++ gcc templates

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

从APK中删除未使用的本地化版本

对于没有本地化的Android应用程序(仅限默认语言),如何从Gradle依赖项中排除本地化?

背景:该应用程序是一个业务线应用程序,唯一需要支持的语言是美国英语.该应用程序包括com.google.android.gms:play-services-gcm:7.0.0推送通知支持.GCM库包含73种语言的本地化版本.我宁愿他们不被包括在内.这使得APK更小.此外,如果用户使用非英语语言运行,我不希望该体验是英语和本地化文本的混合.

android localization proguard gradle android-studio

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

在Python单元测试中修补多个方法的首选方法

在测试对我的单元测试中的第四个方法()的调用之前_send_reply,我需要使用mock方法修补三个方法(,_reset_watchdog_handle_set_watchdog)_handle_command.

从查看模拟包的文档,有几种方法可以解决它:

随着patch.multiple作为装饰

@patch.multiple(MBG120Simulator,
                _send_reply=DEFAULT,
                _reset_watchdog=DEFAULT,
                _handle_set_watchdog=DEFAULT,
                autospec=True)
def test_handle_command_too_short_v1(self,
                                     _send_reply,
                                     _reset_watchdog,
                                     _handle_set_watchdog):
    simulator = MBG120Simulator()
    simulator._handle_command('XA99')
    _send_reply.assert_called_once_with(simulator, 'X?')
    self.assertFalse(_reset_watchdog.called)
    self.assertFalse(_handle_set_watchdog.called)
    simulator.stop()
Run Code Online (Sandbox Code Playgroud)

随着patch.multiple如上下文管理器

def test_handle_command_too_short_v2(self):
    simulator = MBG120Simulator()

    with patch.multiple(simulator,
                        _send_reply=DEFAULT,
                        _reset_watchdog=DEFAULT,
                        _handle_set_watchdog=DEFAULT,
                        autospec=True) as mocks:
        simulator._handle_command('XA99')
        mocks['_send_reply'].assert_called_once_with('X?')
        self.assertFalse(mocks['_reset_watchdog'].called)
        self.assertFalse(mocks['_handle_set_watchdog'].called)
        simulator.stop()
Run Code Online (Sandbox Code Playgroud)

有多个patch.objectdecoratorations

@patch.object(MBG120Simulator, '_send_reply', autospec=True)
@patch.object(MBG120Simulator, '_reset_watchdog', autospec=True)
@patch.object(MBG120Simulator, '_handle_set_watchdog', autospec=True)
def test_handle_command_too_short_v3(self,
                                     _handle_set_watchdog_mock,
                                     _reset_watchdog_mock,
                                     _send_reply_mock):
    simulator = MBG120Simulator()
    simulator._handle_command('XA99')
    _send_reply_mock.assert_called_once_with(simulator, 'X?')
    self.assertFalse(_reset_watchdog_mock.called)
    self.assertFalse(_handle_set_watchdog_mock.called) …
Run Code Online (Sandbox Code Playgroud)

python unit-testing mocking

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

Java中'System.out.println()'和'toString()'之间的连接

Java System.out.println()toString()Java 之间的联系是什么?例如:

public class A {
    String x = "abc";

    public String toString() {
        return x;
    }
}

public class ADemo {
    public static void main(String[] args) {
        A obj = new A();
        System.out.println(obj);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果主类运行,则输出为"abc".当我删除覆盖的代码时toString(),它给出一个输出"A@659e0bfd".那么,任何人都可以解释System.out.println()当我使用参数作为对象时的工作原理是什么?它与obj方法完全连接吗?

java overriding class tostring

13
推荐指数
1
解决办法
9197
查看次数

通过模板检查c ++ 11中是否存在函数(非方法)

因此,使用SFINAE和c ++ 11,可以根据是否可以替换其中一个模板参数来实现两个不同的模板函数.

例如

struct Boo{
   void saySomething(){ cout << "Boo!" << endl; }
};

template<class X>
void makeitdosomething(decltype(&X::saySomething), X x){
   x.saySomething();
}

template<class X>
void makeitsaysomething(int whatever, X x){
    cout << "It can't say anything!" << endl;
}


int main(){
   makeitsaysomething(3);
   makeitsaysomething(Boo());
}
Run Code Online (Sandbox Code Playgroud)

或者那条线上的东西.

我的问题是..如何做同样的事情,但对于非成员函数?

特别是我试图检查是否有这样的事情:

operator<<(std::ostream& os, X& whateverclass);
Run Code Online (Sandbox Code Playgroud)

那是存在的.有可能测试吗?

编辑:问题不同于:是否可以编写模板来检查函数的存在?因为我试图看一个函数是否存在,而不是一个方法

c++ templates sfinae template-meta-programming c++11

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

如何动态实例化一个服务?

我有一项Utils非常繁重的服务。我想在特定用户操作上使用其中定义的一些功能。由于这项服务很重,我想懒惰地实例化它(根据用户操作)。

我如何实现这一目标?

服务

module.service('Utils', function (dep1, dep2) {
   this.method1 = function () {
      // do something
   }
   // other methods
});
Run Code Online (Sandbox Code Playgroud)

控制器

module.controller('AppCtrl', function ($scope) {
    // I don't want to inject Utils as a dependency.

    $scope.processUserAction = function () {
       // If the service is not instantiated 
       // instantiate it and trigger the methods defined in it. 
    }
});
Run Code Online (Sandbox Code Playgroud)

标记

<div data-ng-controller="AppCtrl">
    <button data-ng-click="processUserAction()"> Click Me </button>
</div>
Run Code Online (Sandbox Code Playgroud)

dependency-injection objectinstantiation angularjs angular-services

4
推荐指数
1
解决办法
8277
查看次数

dplyr使用数据帧的功能进行汇总

我在使用dplyr包执行例程时遇到了一些麻烦.简而言之,我有一个函数,它将数据帧作为输入,并返回一个(数字)值; 我希望能够将此函数应用于数据帧的多个子集.感觉我应该能够使用group_by()指定数据帧的子集,然后传递给summarize()函数,但我不确定如何将(子集化的)数据帧传递给函数I'我想申请.

作为一个简化的例子,假设我正在使用iris数据集,并且我有一个相当简单的函数,我想将其应用于数据的几个子集:

data(iris)
lm.func = function(.data){
  lm.fit = lm(Petal.Width ~ Petal.Length, data = .data)
  out = summary(lm.fit)$coefficients[2,1]
  return(out)
}
Run Code Online (Sandbox Code Playgroud)

现在,我希望能够根据其他变量(如Species)将此函数应用于虹膜子集.我能够手动过滤数据,然后管道到我的功能,例如:

iris %>% filter(Species == "setosa") %>% lm.func(.)
Run Code Online (Sandbox Code Playgroud)

但我希望能够 基于Species 将lm.func应用于数据的每个子集.我的第一个想法是尝试类似以下内容:

iris %>% group_by(Species) %>% summarize(coef.val = lm.func(.))
Run Code Online (Sandbox Code Playgroud)

即使我知道这不起作用,我的想法是尝试将每个虹膜子集传递给lm.func函数.

为了澄清,我想最终得到一个包含两列的数据帧 - 第一列是每个级别的分组变量,第二列是lm.func的输出,当数据被限制为分组指定的子集时变量.

是否可以以这种方式使用summarize()?

group-by r dplyr

8
推荐指数
1
解决办法
1619
查看次数