小编Jak*_*cas的帖子

Angular 2中的动态模板URL

我一直在玩弄角2在过去的几天,不知道是否有可能提供一个动态templateUrl@View装饰.

我试过传递一个函数并返回一个字符串形式,但整个函数只是变成了一个字符串.

我之前没有真正使用过Angular 1.x所以我不知道我是否只是以错误的方式解决这个问题,但是这有可能,还是有更好的方法来创建动态视图?

例如,如果用户未登录,我可能希望显示表单,但如果他们已登录则显示文本消息.

这样的东西不起作用:

@Component({
  selector: 'my-component'
})
@View({
  // This doesn't work
  templateUrl: function() {
    return this.isLoggedIn ? 'logged-in.html' : 'logged-out.html';
  }
})
class MyComponent {
  constructor() {
    this.loggedIn = false;
  }
}
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

javascript angular

71
推荐指数
4
解决办法
6万
查看次数

C#.NET 4.0 MVC使用主键插入记录

我们有一个名为'Sites'的表的数据库这个表有列,SiteID,Name,Tags,Description,URI,SiteID是主键(它没有设置为Identity,因为我们想添加自己的ID)

我们一直在使用.NET 4.0 MVC和C#,并在我们需要的代码中设置了所有内容.我们可以从数据库中选择并显示它们,以便我们知道它正在运行.但是当我们尝试插入时,我们会收到Cannot insert the value NULL into column 'SiteID'错误.

如果我将列设置为Identity以便它自动生成,或者如果我取下主键那么它就没问题,但正如我所说它应该是主键,我们想插入自己的ID.

我的代码在下面(我们得到了错误,SaveChanges()但已经检查了调试器,并且SiteID肯定被分配了一个int)

网站

public class Sites
{
    [Key]
    public int SiteID { get; set; }
    public string Name { get; set; }
    public string Tags { get; set; }
    public string Description { get; set; }
    public string URI { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

CMSModels

public class CMSModels : DbContext
{
//public DbSet<ContentTypeModel> ContentType { get; set; }
    //public DbSet<LayoutModel> Layout { get; set; } …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-4

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

.htaccess RewriteCond,其中URI不包含域

我已经浏览了Google和StackOverflow以获得这个问题的答案,但事实上我对.htaccess了解不多,这无法帮助我确定我的情况的正确答案,所以我在这里问.

我的情况是我有几个站点使用与服务器上的根目录相同的物理目录.

这一切都运行正常但我想确保每个站点都不能从浏览器访问彼此的图像等,除非它们在正确的域上.

目前我有一个像这样的文件结构:

/resources/{resource}/{full_domain_name}
Run Code Online (Sandbox Code Playgroud)

所以例如www.domain.co.uk会有这样的结构:

http://www.domain.co.uk/resources/images/www.domain.co.uk/some_image.jpg
Run Code Online (Sandbox Code Playgroud)

但是如果www.domain_2.co.uk存在使用相同的站点根目录的物理目录,那么他们可以从他们自己的域中查看其他域的资源,如下所示:

http://www.domain_2.co.uk/resources/images/www.domain.co.uk/some_image.jpg
Run Code Online (Sandbox Code Playgroud)

这不是一个真正的主要问题,因为这些目录中绝对没有存储敏感信息,但这更令人烦恼,我宁愿用户无法做到这一点(并不是说到目前为止任何人都没有).

我尝试将.htaccess文件放入/ resources目录,但是我坚持使用正则表达式等.

我基本上想确保URI包含当前域名,否则重定向到403错误页面.

这就是我想出的:

RewriteCond %{REQUEST_URI} !^(/resources/[^/]*/%{HTTP_HOST})(.*)$
RewriteRule ^(.*)$ /error/403.php
Run Code Online (Sandbox Code Playgroud)

我放入这个[^/]位的原因是因为有几个文件夹,例如:

/resources/images/{full_domain_name}
/resources/scripts/{full_domain_name}
/resources/stylesheets/{full_domain_name}
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这些问题吗?

任何帮助,将不胜感激.

php regex apache .htaccess mod-rewrite

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

处理游戏中的实体

作为一个小练习,我试图编写一个非常小的,简单的游戏引擎,只处理实体(移动,基本AI等)

因此,我试图考虑游戏如何处理所有实体的更新,我有点困惑(可能是因为我以错误的方式处理它)

所以我决定在这里发布这个问题,向你展示我目前的思考方式,看看是否有人可以向我建议一个更好的方法.

目前,我有一个CEngine类,它指向它需要的其他类(例如CWindow类,CEntityManager类等)

我有一个游戏循环,伪代码会像这样(在CEngine类内)

while(isRunning) {
    Window->clear_screen();

    EntityManager->draw();

    Window->flip_screen();

    // Cap FPS
}
Run Code Online (Sandbox Code Playgroud)

我的CEntityManager类看起来像这样:

enum {
    PLAYER,
    ENEMY,
    ALLY
};

class CEntityManager {
    public:
        void create_entity(int entityType); // PLAYER, ENEMY, ALLY etc.
        void delete_entity(int entityID);

    private:
        std::vector<CEntity*> entityVector;
        std::vector<CEntity*> entityVectorIter;
};
Run Code Online (Sandbox Code Playgroud)

我的CEntity课程看起来像这样:

class CEntity() {
    public:
        virtual void draw() = 0;
        void set_id(int nextEntityID);
        int get_id();
        int get_type();

    private:
        static nextEntityID;
        int entityID;
        int entityType;
};
Run Code Online (Sandbox Code Playgroud)

在那之后,我会为敌人创建类,并给它一个精灵表,它自己的功能等.

例如:

class CEnemy : public CEntity {
    public:
        void draw(); // Implement …
Run Code Online (Sandbox Code Playgroud)

c++ game-engine entity-system

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

为ASP.NET网站编写可重用的c#代码

过去几天我一直在学习C#,用于ASP.NET创建网站.

我对C#很新,但我一直在考虑如何编写代码以使其尽可能可重用.

作为一个简单的例子,假设我想创建一段代码来检查用户登录详细信息,我可以随时将其放入另一个站点,并使其与所获得的数据一起使用.

记住我不知道我应该如何布置我的代码来实现这一点,这是我提出的想法(我会用某种伪代码保持简短):

首先我创建一个类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Module {
    public class Login {
        public static bool check_login(string usernameCheck = "", string passwordCheck = "") {
            if(usernameCheck == "user" && passwordCheck == "password") {
                return true;
            }

            return false;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我会有一个登录表单的aspx页面,例如:

<asp:Content ContentPlaceHolderID="column1" runat="server">
    <asp:TextBox ID="usernameInput" runat="server"></asp:TextBox>
    <asp:TextBox ID="passwordInput" runat="server"></asp:TextBox>
    <asp:Button OnClick="check_login" Text="Login" runat="server" />
</asp:Content>
Run Code Online (Sandbox Code Playgroud)

并且文件背后的代码如下所示:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Module { …
Run Code Online (Sandbox Code Playgroud)

.net c# reusability

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

用于信用卡号码的Luhn或Verhoeff算法

首先,我不确定这是否应该在stackoverflow上,但我想我还会试着问.

在过去,我总是使用luhn算法进行信用卡号码的错误检查,但今天我想我会在php中实现verhoeff算法,主要是为了消磨时间.

我用我自己的卡号测试了它并且工作正常,这开始让我考虑是否应该使用verhoe而不是luhn来进行我的信用卡号码错误检查.

现在我的问题:

使用verhoe比luhn有什么显着的优势吗?

我知道verhoeff在它的实现中稍微复杂一点,它可以检测到比luhn更多的转录错误,这自然会让我相信它有点慢,但除了检测更多转录错误和缺点的优势(如果你可以称之为稍微慢一些,我想不出任何其他真正的差异.

verhoeff算法适用于所有主要卡吗?

我知道luhn将适用于所有主要卡片但是verhoeff也适用于所有这些卡片吗?我假设它适用于所有人,但我认为我应该检查.

有没有理由我只看到有人使用luhn检查信用卡号码?

在我作为开发人员的所有时间里,我只是真的看到人们使用luhn算法检查信用卡号码.这有充分的理由,还是仅仅因为luhn更为人所知?

任何帮助将不胜感激,谢谢你的时间.

algorithm credit-card luhn

7
推荐指数
1
解决办法
4479
查看次数

是否可以"安全地"将Golang字符串的内存归零?

最近我一直libsodium在使用cgo 设置我的一个项目,以便使用crypto_pwhash_strcrypto_pwhash_str_verify功能.

这一切都非常顺利,我现在有一小部分函数,​​它们[]byte以纯文本密码的形式接收并散列它,或者将它与另一个[]byte进行比较以验证它.

我使用的一个原因[]byte,而不是string因为,从我迄今约去学,我可以过明文密码至少循环和零所有字节,甚至将指针传递到libsodiumsodium_memzero功能,为了不让它在内存中停留超过它需要的时间.

这对于我能够直接以字节读取输入的应用程序来说很好,但我现在正尝试在一个小型Web应用程序中使用它,我需要使用该POST方法从表单中读取密码.

从我在Go源代码和文档中看到的内容,r.ParseForm在请求处理程序中使用将所有表单值解析mapstrings.

问题是因为stringGo中的s是不可变的,我不认为我可以做任何关于POST将表单中编写的密码的内存归零的事情; 至少,只使用Go.

因此,似乎我唯一的(简单)选项是将unsafe.Pointer一个函数传递给C中的函数以及字节数,让C为我归零内存(例如,将其传递给上述sodium_memzero函数).

我已经尝试了这一点,并且毫不奇怪它当然有效,但是我string在Go中留下了一个不安全的东西,如果在一个函数中使用它fmt.Println会使程序崩溃.

我的问题如下:

  • 我是否应该接受密码将被POST编辑并解析为字符串,我不应该把它搞乱,只是等待GC启动?(不理想)
  • 是否将string使用cgo ok 的内存清零,前提是代码中明显记录了字符串变量不应该再次使用?
  • string使用cgo 的内存清零会不会像崩溃一样?
  • 是否值得为它编写一种装饰器来http.Request添加一个直接解析表单值的函数,[]byte因此我可以在它们到达时完全控制值?

编辑:为了澄清,网络应用程序和表单POST只是一个简单的例子,我可能只是使用Go的标准库以一种形式传递敏感数据string.我更感兴趣的是我的所有问题是否可能/值得在某些情况下尽可能快地清理内存中的数据更多是一个安全问题.

memory security string go cgo

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

在3D中查找X,Y和Z轴的角度 - OpenGL/C++

我目前正在尝试使用OpenGL(使用SDL)将立方体绘制到我在屏幕上单击的位置,然后让它指向我右键单击屏幕中的位置.

我可以使用gluUnproject在我想要的位置成功绘制一个立方体 - 意思是我已经知道我的立方体所在的坐标.

但是我不知道如何计算使我的立方体点在新位置所需的所有角度.

当然我仍然使用gluUnproject来找到我的右键单击的坐标,但我只知道如何使用2D图形围绕Z轴旋转.

例如之前,如果我想围绕Z轴旋转一个四边形(当然,这将是一个自上而下的视图,其中Z轴仍在"穿过"屏幕)在2D中,我会做类似的事情:

angle = atan2(mouseCoordsY - quadPosY, mouseCoordsX - quadPosX);
glRotatef(angle*180/PI, 0, 0, 1);
Run Code Online (Sandbox Code Playgroud)

我的问题是,我将如何在3D中进行此操作?

  • 我是否需要像上面那样计算每个轴的角度?
  • 如果是这样,我如何计算绕X轴和Y轴旋转的角度?
  • 如果没有,我应该用什么方法来达到我想要的效果?

任何帮助是极大的赞赏.

c++ opengl 3d angle rotation

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

.NET 4.0 C#初始化字符串不符合登录错误

我一直在C#.NET4.0中编写一个小型Web应用程序来尝试学习它,并习惯用它编写应用程序.

我的申请很简单; 它有一个主页,一个登录按钮,可以将您带到登录表单,当您登录时,您可以转到管理页面.

整个登录过程通过.NET登录控件完成,我的数据库是Aspnet_regsql.exe通过visual studio命令提示符(2010)使用该命令创建的.

到目前为止,我只在本地机器上构建和测试,现在想尝试在IIS7服务器上进行测试.

我已经在IIS7中正确设置了网站,我可以毫无问题地构建和上传网站 - 也就是说 - 直到我尝试登录.我在本地计算机上使用的SQL版本是2008 R2,而服务器上的SQL版本是2008.因此,我不能只备份我的本地数据库并将其恢复到服务器上的SQL,所以我改为生成脚本并使用这些脚本在服务器上创建数据库.

现在,当我尝试登录服务器上的站点时,出现以下错误:

Format of the initialization string does not conform to specification starting at index 0.
Run Code Online (Sandbox Code Playgroud)

在尝试浏览互联网寻找解决方案之后,我发现它可能只是我的连接字符串的问题,所以我尝试将它们更改为各种不同的东西但没有成功.

我在visual studio中的应用是一个包含3个项目的解决方案; DAL,BLL和应用程序本身.

我查找了整个解决方案中可以找到的所有连接字符串,这些是我现在拥有的字符串:

DAL(app.config) (现在已经改变了 - 请参阅问题底部的'编辑2')

<add name="DAL.Properties.Settings.APPNAMEConnectionString"
   connectionString="Data Source=localhost;Initial Catalog=(DATABASE NAME);uid=(USER ID);pwd=(PASSWORD)"
   providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)

应用程序(web.config) (现已更改 - 请参阅问题底部的"编辑2")

<add name="LocalSqlServer" connectionString="server=localhost;database=(DATABASE NAME);uid=(USER ID);pwd=(PASSWORD)"/>
Run Code Online (Sandbox Code Playgroud)

这是我第一次尝试将C#.NET 4.0应用程序放到服务器上,所以我真的不知道我做错了什么.

任何帮助将不胜感激!

编辑1:

在Dan F的请求下,我可以在我的web.config文件中找到会员代码:

    <membership>
        <providers>
            <clear/>
            <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
            connectionStringName="LocalSqlServer"
            applicationName="/APPNAME"
            enablePasswordRetrieval="false"
            enablePasswordReset="true"
            requiresQuestionAndAnswer="false"
            requiresUniqueEmail="true"
            passwordFormat="Hashed"
            maxInvalidPasswordAttempts="5" …
Run Code Online (Sandbox Code Playgroud)

.net c# sql login initialization

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

JavaScript 检测正在进行的 CSS 动画

我在我的 JavaScript 中遇到了一些问题,决定是否等待animationend事件,并想知道是否存在解决此问题的优雅解决方案。

假设我有一个在页面加载时动画并淡入的 div,然后我有另一个脚本将<img>标签附加到 div。

我希望在动画完成<img>附加以避免在动画过程中出现任何卡顿并使其看起来更好。

目前我知道我可以写这样的东西(假设我使用 animate.css):

HTML:

<div class="append-image-here animated fadeIn"></div>
Run Code Online (Sandbox Code Playgroud)

JavaScript:

$(function() {
  $('.append-image-here').one([
    'webkitAnimationEnd',
    'mozAnimationEnd',
    'MSAnimationEnd',
    'oanimationend',
    'animationend'
  ].join(' '), function() {
    $('<img>', { src: '/image.jpg' }).appendTo(this);
  });
});
Run Code Online (Sandbox Code Playgroud)

如果脚本在动画完成之前运行并且animationend事件触发,这很好,但是如果脚本恰好在动画结束后运行,<img>则永远不会创建标记并且永远不会将其附加到 div(例如,如果处理程序设置在超时或类似的东西超过动画持续时间)。

有什么方法可以检测 CSS 动画当前是否正在运行,以便脚本可以决定是否等待,animationend而不必依赖用户添加的类或数据属性?

(我要求不要依赖类和属性,因为如果我正在处理其他人的动画,我可能不会提前知道这些类)

任何帮助,将不胜感激。

html javascript css jquery animation

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

Spring MVC不区分大小写的URL

我已经在Google和stackoverflow上寻找了答案,但不幸的是,所提供的解决方案要么假设有很多关于Spring MVC和Java的先前知识,要么是关于注释的不区分大小写.

因此,我不确定如何使这些解决方案适应我自己的问题,因此这个新问题的原因.

我想做的事听起来很简单.我有一个dispatcher-servlet.xml文件,其中包含以下XML块:

<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="*.htm">pageController</prop>
                <prop key="*.html">pageController</prop>
                <prop key="/cms/*">pageController</prop>
                <prop key="/admin/*">adminController</prop>
            </props>
        </property>
    </bean>
Run Code Online (Sandbox Code Playgroud)

我希望/cms/*/admin/*键不区分大小写,但对Java和Spring MVC都是新手,我不明白我应该怎么做.

例如,即使有人打字/CMS//Cms/我希望它使用pageController,但此刻它只会显示404页面.

是否有人能够向我解释为了达到我想要的结果我必须做些什么?

任何帮助将不胜感激!

编辑:

根据Rupok的回答,我添加了一个类来扩展AntPathMatcher.

不幸的是对此我不熟悉我不知道如何"将其设置回SimpleUrlHandlerMapping".

有人能够指出我正确的方向吗?

java url spring case-insensitive

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

使用 SDL 和 g++ 编译找不到 -lSDLmain 等

我一直在尝试使用 g++ 来编译带有 SDL 的程序。

该程序只是一个 main.cpp 文件,其中包含两条 SDL 测试行,如下所示:

#include "SDL/SDL.h"

using namespace std;

int main(void) {
    SDL_Init(SDL_INIT_EVERYTHING);

    SDL_Quit();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但我的问题是我遇到了与 SDL 库有关的错误。

首先我安装了 MinGW32 以便我可以学习 C++11,所以当我问 GCC 是什么版本时,它说它是version 4.7.0.

然后我SDL-devel-1.2.15-mingw32.tar.gz从 SDL 网站下载了该文件并将文件夹解压缩到桌面。

之后,我将所有头文件复制/SDL-1.2.15/include/SDLC:/MinGW/include/SDL

然后我将文件/SDL-1.2.15/lib夹中的3 个文件复制到C:/MinGW/lib folder

他们是:

libSDL.dll.a
libSDL.la
libSDLmain.a
Run Code Online (Sandbox Code Playgroud)

最后,我将SDL.dll文件从 bin 目录复制到编译 .exe 文件的同一目录中。

我想我已经正确设置了所有内容,但是根据我尝试编译它的方式,我收到了两条不同的消息。

首先,我尝试使用 Sublime Text 2 编辑器中的构建系统功能编译它。

这是我告诉 Sublime Text 2 运行的命令:

"cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}", "-lmingw32 -lSDLmain -lSDL …
Run Code Online (Sandbox Code Playgroud)

sdl mingw compiler-errors g++ sublimetext2

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