小编Cro*_*ire的帖子

REST API模式的替代方案

我正在撰写一篇论文,其中涉及RESTful Web API与其相应替代方案之间的比较.问题是,我非常偏向于REST,并且未能找到任何可以比较的值得注意的架构模式.

我的比较是从消费者的角度分析模式(或样式)(主要是消费者的API的通用性).

您能否为我推荐REST的替代方案(作为上述方面的比较软件架构模式?到目前为止,我坚持使用SOAP.

PS如果问题仍然过于宽泛,我可以将其缩小一点.

api rest soap web

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

C++成员函数指针定义

考虑以下代码:

#include <iostream>
#include <functional>

struct B {
    template <class C, class M, class T>
    void call1(C (M::*member)(), T *instance) {
        std::function<void()> fp = std::bind(member, instance);
        fp();
    }

    template <class C, class M, class T>
    void call2(C (M::*member), T *instance) {
        std::function<void()> fp = std::bind(member, instance);
        fp();
    }

    void foo() {
        call1(&B::func, this); // works
        call2(&B::func, this); // works

        call1(&B::func2, this); // Error: no matching member function for call to 'call2'
        call2(&B::func2, this); // works
    }

    void func() {
        std::cout …
Run Code Online (Sandbox Code Playgroud)

c++ pointers function c++11

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

更改后视图不会刷新

我遇到了这个令人沮丧的问题.我在剃刀视图(cshtml)中更改文本Start without Debugging,刷新(Ctrl + F5)浏览器但没有任何反应.奇怪的是,如果我修改控制器的返回值(比方说return Ok("test");)或包含的静态文件(如CSS),刷新,则更改是可见的.剃刀视图仅在我每次停止启动和停止调试时才会更新.

以下是我已经尝试过的事情:

  • 确保Detect when file is changed outside the environment已选中.
  • On run, when projects are out of dateAlways build.
  • 尝试在Edge,Chrome和Firefox上使用和不使用硬刷新功能.
  • 重新启动Visual Studio数字时间.
  • 清洁/重建解决方案.
  • 在新模板项目上执行此操作.

PS我看到有很多类似的问题,然而,没有一个答案可以解决我的问题.

更新

这似乎是一个更大规模的问题.如果我:

  1. 像这样在父视图中创建一个必需的剃刀部分@RenderSection("css", required: true).
  2. 不在子视图中实现渲染.
  3. 我(显然)得到了InvalidOperationException: The following sections have been defined but have not been rendered by the page at 'bla\bla\bla':css.
  4. 然后我实现它.
  5. 在Firefox中保存,按Ctrl + F5.错误仍然存​​在.

在这一点上,VS 2015实际上是无法使用的,因为你不知道,如果你真的错过了某些东西,或者它的VS表现出来了

c# asp.net-mvc razor visual-studio-2015

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

是否有__attribute __((packed))的C++ 11/14替代方案

C++ 11引入了标准化属性语法的概念.我找不到所有支持的属性的列表.是否有C++ 11属性替代__attribute__((packed))

例如

struct __attribute__((packed)) Pack {
   uint8_t field1;
   uint8_t field2;
};
Run Code Online (Sandbox Code Playgroud)

c++ gcc clang c++11 c++14

10
推荐指数
1
解决办法
2342
查看次数

如何为Android编译C++ 14代码?

是否可以使用ndk10d为Android编译C++ 14源代码?我已经尝试了g ++和clang编译器,但似乎-std=c++14 -std=c++1y标志不起作用.

如果我使用c++_static我的APP_STL,我会收到以下错误:

User/someone/Software/Android/android-ndk-r10d/platforms/android-17/arch-arm/usr/include/locale.h:55:1: error: empty struct has size 0 in C, size 1 in C++

编辑:我正在使用Mac OSX 10.10.4和Xcode 6.3.2(能够为iOS编译C++ 14).

android clang android-ndk c++14

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

在C++中创建vector的shared_ptr

在现代C++中,我们可以初始化这样的向量:

std::vector<int> v = { 1, 2, 3, 4, 5 };
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试创建一个指向矢量的智能指针,这将无法编译:

auto v = std::make_shared<std::vector<int>>({ 1, 2, 3, 4, 5 });
Run Code Online (Sandbox Code Playgroud)

除了push_back在创作之后诉诸于s 之外还有其他更好的选择吗?

c++ vector std c++11

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

PyCharm Django项目无法运行调试

很长一段时间我在Windows 10机器上遇到这个奇怪的问题.当尝试在PyCharm上启动(有时甚至没有)调试的Django服务器时,我收到此错误:

...
pydev debugger: process 10532 is connecting
Connected to pydev debugger (build 163.8233.8)
Process finished with exit code -1073741819 (0xC0000005)
Run Code Online (Sandbox Code Playgroud)

这就是它没有调试的样子:

"C:\Program Files (x86)\PyCharm\bin\runnerw.exe" D:\project\env\Scripts\python.exe D:/project/manage.py runserver 80

Process finished with exit code -1073741819 (0xC0000005)
Run Code Online (Sandbox Code Playgroud)

最奇怪的是,如果我重新运行,有些时候(大约4-6重新运行1次成功)它将成功启动.没有PyCharm我也无法重现这个问题.

规格:Windows 10 Pro,Pycharm(这发生在版本5.x到2016.3)x86和x64版本,Python 3.5x,Django 1.8-1.10.x.

任何想法为什么会发生这种情况或如何获得有关崩溃的更详细信息?

编辑这是事件查看器报告的错误:

Faulting application name: python.exe, version: 3.5.1150.1013, time stamp: 0x566391f0
Faulting module name: ucrtbase.dll, version: 10.0.14393.0, time stamp: 0x57898db2
Exception code: 0xc0000005
Fault offset: 0x000b6d95
Faulting process ID: 0x1b30
Faulting application start time: 0x01d251286ca8ada3
Faulting …
Run Code Online (Sandbox Code Playgroud)

python django jetbrains-ide pycharm

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

尝试注销而未登录后返回的HTTP状态

假设我有一个RESTful身份验证端点:

http://example.com/api/v1/auth

  • 一个POST电子邮件和密码请求允许登录.请求被用正确的登录或403不正确的HTTP 200的响应反驳.
  • DELETE请求允许注销.

很明显,在成功注销后,我应该返回HTTP 200.如果用户尝试在不登录的情况下注销,我应该返回什么HTTP响应代码?

rest http status

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

Android Studio 14原生开发+ CrystaX NDK

我正在尝试将一个巨大的跨平台C++ 11(iOS + Android)应用程序项目迁移到Android Studio 14.我使用CrystaX NDK进行boost和C++ 14.有在其网站上的博客的官方Android工作室+ CrystaX教程在这里,但它是过时的.

我已经下载了官方的hello-jni示例,该示例旨在与Android Studio 1.4一起使用,并尝试使其适应与CrystaX NDK一起使用.这些是我的Gradle 2.5设置:

project build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
       jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle-experimental:0.2.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}
Run Code Online (Sandbox Code Playgroud)

module build.gradle

apply plugin: 'com.android.model.application'

model {
    android {
        compileSdkVersion = 23
        buildToolsVersion = "23.0.1"

        defaultConfig.with {
            applicationId = "com.tableair.app"
            minSdkVersion.apiLevel = 4
            targetSdkVersion.apiLevel = 23
        }
    }

    compileOptions.with …
Run Code Online (Sandbox Code Playgroud)

android android-ndk c++11 android-studio

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