我正在使用salt实现密码哈希,所以我生成了salt作为二进制文件,哈希密码,base64编码密码和salt然后将它们存储到数据库中.
现在,当我检查密码时,我应该将盐解码为二进制数据,使用它来散列提供的密码,base64编码结果并检查结果是否与数据库中的结果匹配.
问题是,我找不到将盐解码为二进制数据的方法.我使用Buffer.toString方法对它们进行编码,但似乎没有反向函数.
所以这更像是一个设计问题.
我有一个主键(比如用户的ID),我有大量与该用户相关的信息.
我应该根据信息将多个表分解为类别,还是应该只有一个包含多列的表?
我以前的方式是拥有多个表,例如,一个表用于应用程序使用数据,一个表用于配置文件信息,一个表用于后端令牌等,以使事情看起来井井有条.
最近有人告诉我,最好不要这样做,并且有一个包含大量列的表是好的.问题是,所有这些列都具有相同的主键.
我对数据库设计很陌生,所以哪种方法更好,哪些是优点和缺点?
这样做的传统方式是什么?
所以我正在研究几个表,它们之间存在一些数据不一致...一个或两个表在特定表上有一个外键约束(称之为表X),但该表有多行与外键列.
我想要做的是删除表X中的重复行,但外键约束阻止我这样做.有没有办法强制删除行而忽略外键约束,因为我知道我在做什么?
我想在条形图上水平分发一些列表项,我想使代码模块化,以便在插入更多内容时自动调整项目之间的空间.
我想要最左边的第一个项目,最右边的右边项目,其余的分布在两者之间.它们彼此之间的空间相等.考虑将线段分成几个部分,这些项目将标记分离点以及原始线段的头部/尾部.
我尝试了几种解决方案并在网上发现了一些,但它们没有做我想要的.根据我之前的类比,他们只是将每件物品放在每个线条的中间.
有人可以提供一个很好的CSS解决方案吗?
我需要在父容器发生变化时为其设置动画高度.问题是它的高度设置为自动,因此高度取决于内容.我想要实现的最终目标是,每当高度因内容发生变化而发生变化时,可以通过jQuery或CSS3对变化进行动画处理.
我搜索了类似的主题,但我发现的是如何将高度从固定值设置为"自动":(
我在JavaScript开发了相当长的一段时间,但仍然净牛仔开发商,如的很多事情总是困扰着我的synching JavaScript的回调之一.
我将描述一个普通的场景时,这一问题将得到提升:我有一大堆的操作由一个for循环执行多次,并且每个操作都有一个回调.在for循环之后,我需要执行另一个操作,但是如果完成了for循环的所有回调,则此操作只能成功执行.
代码示例:
Run Code Online (Sandbox Code Playgroud)for ... in ... { myFunc1(callback); // callbacks are executed asynchly } myFunc2(); // can only execute properly if all the myFunc1 callbacks are done
建议的解决方案:
在循环开始时启动一个计数器,保持循环的长度,并且每个回调递减该计数器.当计数器达到0时,执行myFunc2.这实际上是让回调知道它是否是序列中的最后一个回调,如果是,则在完成时调用myFunc2.
问题:
终极问题:
有更好的解决方案吗?
我们知道Apple正在弃用开发人员对UDID的访问权限.但据我所知,有可能获得iDevice的MAC地址.那么有什么不同呢?MAC地址和UDID都是硬件的唯一标识符,不是特定于应用程序的.
我正在使用d3.behavior将缩放事件附加到我的SVG,然后使用鼠标滚轮我可以获得带有translate和scale的缩放事件,然后我用它来设置元素的transform属性.
似乎zoom.scale值在某处持久存在,因此每次使用鼠标滚轮时,它总是包含正确的缩放值,同时考虑到所有先前的缩放事件.这很酷,但我需要一种清除该值的方法,比如重置缩放按钮.当用户点击按钮时,下次他滚动缩放时,元素将再次从其原始大小缩放.
那么D3在哪里存储这个值以及如何重置它?
更新:
这个问题还有另一个方面:如果我以编程方式设置"transform"属性来进行缩放转换,则zoom事件不会考虑这些.因此,如果我以后使用鼠标滚轮进行缩放,我会因为我可能会破坏原始转换.因此,我需要一种方法来编程设置,而不仅仅是重置zoom事件的"translate"和"scale"值,无论它存储在哪里.
我知道我们通常通过一个独立的范围将函数传递给指令:
.directive('myComponent', function () {
return {
scope:{
foo: '&'
}
};
})
Run Code Online (Sandbox Code Playgroud)
然后在模板中我们可以像这样调用这个函数:
<button class="btn" ng-click="foo({ myVal: value })">Submit</button>
Run Code Online (Sandbox Code Playgroud)
父作用域中的myVal
函数的参数名称在哪里foo
.
现在,如果我打算从link
函数而不是模板中使用它,我将不得不用:来调用它scope.foo()(value)
,因为它scope.foo
充当原始函数的包装器.这对我来说似乎有点乏味.
如果我myComponent
使用=
以下函数将函数传递给指令:
.directive('myComponent', function () {
return {
scope:{
foo: '='
}
};
})
Run Code Online (Sandbox Code Playgroud)
然后我将能够使用scope.foo(value)
我的链接功能.那么这是一个有效的用例,对函数使用双向绑定,还是我做了一些我不应该做的黑客攻击?
起初这个问题看起来很简单,从我看过的所有现实生活中的例子,都用于显示图标.例如twitter bootstrap图标.
但是,当我在谷歌搜索标签时,w3c学校说的是斜体文字.
我很困惑,如果用于斜体文字,为什么每个人都用它来制作图标?这个标签的正确用法是什么?