小编ric*_*h97的帖子

星号在"走"中做了什么

我是一名网络开发人员,希望扩大我的视野,以便在编程方面做得更好.我做了一些Java和一些简单的Android应用程序.我现在正在研究像C和Go这样的低级语言(到目前为止,我必须说它有一些漂亮的语法和很棒的想法,尽管我可能太缺乏经验而无法发表评论).

所以是的,我一直在努力去理解Go网站上的例子,我在这样的例子中一直遇到一个特殊的星号字符:

s := "hello"
if s[1] != 'e' {
    os.Exit(1)
}
s = "good bye"
var p *string = &s
*p = "ciao"
Run Code Online (Sandbox Code Playgroud)

另外,我刚注意到,"&s"是什么,它是通过引用分配的(我可能在这里使用PHP会话)?

go

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

生成登录令牌的最佳方法是什么?这种身份验证方法是否容易受到攻击?

我必须在我的Lithium(基于PHP框架)的应用程序中实现登录令牌.两个原因:

我想要一个"记住我"的功能.

我还需要一种跟踪服务器上登录的方法,以便我可以在node.js套接字服务器上验证经过身份验证的用户,如下所示:

  1. 用户请求页面
  2. 服务器在HTML中的某处返回一个带有会话令牌的视图
  3. 客户端JS读取令牌并将其发送到node.js服务器,以尝试通过Web套接字建立连接.
  4. 服务器接收连接请求并验证使用PHP服务器发送给它的令牌.
  5. 根据结果​​允许或拒绝连接.

所以这是一个两部分的问题,它只是为了验证我不是白痴,因为这个网站的安全性比平时更高.

这是创建登录令牌的合理方法吗?

<?php
// String::hash() generates a sha512 (by default) hash. 
String::hash(time() . $user['username']);
?>
Run Code Online (Sandbox Code Playgroud)

我提出的Web套接字认证系统是否理智?你能看到出现的问题或更有效的方法吗?

php token websocket node.js lithium

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

Javascript相当于通过引用分配?

有没有什么方法可以通过将局部变量指向对象属性来减少Javascript中的冗长?

例如在PHP中,我可以这样做:

$obj->subobject->property = 'Foo';
$property =& $obj->subobject->property;
$property =  'Bar';
echo $obj->subobject->property;
// output 'Bar'
Run Code Online (Sandbox Code Playgroud)

这不是一个很好的例子,但你明白了.

我想在Javascript中复制此行为.我经常不得不深入到对象中,这样做非常烦人:

if (please.stop.making.me[somevar].type.so.much.length) {
    please.stop.making.me[somevar].type.so.much[newSubObjectKey] = anObject;
}

// perform more operations on the object down here
Run Code Online (Sandbox Code Playgroud)

它会更容易阅读,更容易输入:

var subObj = is.much.easier.to.type.once;
if (subObj.length) {
     subObj[newSubObjectKey] = anObject;
}

// now that's much better
Run Code Online (Sandbox Code Playgroud)

我知道我应该知道这一点,但我只是在Javascript中推进"高级新手".

javascript php pointers

12
推荐指数
2
解决办法
8157
查看次数

通过laravel 4迁移执行原始SQL

我正在一个环境中工作,而不是直接将更改部署到客户端服务器,我必须使用SVN修订版中的更改列表生成构建tarball并将其发送给他们的Web团队.

问题是我不允许任何花哨的东西,只改变网站资产和原始查询,这意味着我不能要求客户端在我需要他们对他们的暂存和实时数据库进行更改时运行laravel迁移(而且我不相信迁移足够直播.)我也无法直接访问实时数据库.

所以我想要做的是在运行迁移时捕获原始SQL,从那里我可以看到确切的变化,我可以告诉客户"这是一个需要更改的SQL文件,查看它运行它当您应用更新时."

laravel laravel-4

8
推荐指数
2
解决办法
2045
查看次数

用户提交的无效数据的适当HTTP响应是什么?

我正在尝试使用JSON和http响应代码.我通过AJAX请求提交表单,显然我需要验证服务器端的数据.

如果帖子成功,我的想法是回复"200 OK"回复(确认消息为正文).如果用户发送的数据无效,我不知道该怎么回应.

javascript php json http

7
推荐指数
3
解决办法
2547
查看次数

我在哪里可以获得MapView的"默认"android箭头图形?

我在我的MapView上使用自定义叠加层,并且我在使用GPS时试图模仿官方Google"地图"应用程序的外观,因此我正在寻找应用程序用来显示轴承的箭头.

我发现的最接近的是它,但是它太大了,它不是官方的动画GIF,我不确定我是否被允许使用它.

编辑:刚发现这完全没用,因为我忘了(显然)GIF没有alpha透明层.

以前有人不得不用这个吗?我会被迫自己制作吗?

maps android android-mapview

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

使用JavaScript的模板字符串

我正在编写一个带有客户端JS的应用程序,我用它来合理地更新DOM.

事情就是这样做:

$('#id').html('<div class="' + class + '">' + content + '</div>');
Run Code Online (Sandbox Code Playgroud)

多次将HTML随意放在JavaScript周围并不是非常漂亮且难以维护.

是否有一个类似于(或替代解决方案)的Lithium处理它的视图助手的方式.

看到:

举些例子.

基本上在PHP版本中,您将创建一个公共字符串的关联数组和一个简单的替换方法,以使用相同名称的变量替换这些字符串的某些标记部分.

另一个愚蠢的例子(伪代码:)

var strings = {
    'div': '<div {:attr}>{:content}</div>'
};
console.log(render('div', {id: 'newElem'}, 'Hello, World!'));
// Output: <div id="newElem">Hello, World!</div>
Run Code Online (Sandbox Code Playgroud)

如果你有更好的建议来处理如何处理在JavaScript中存储HTML并使其无法遍及整个地方,那么我非常希望听到它.

html javascript templates

5
推荐指数
2
解决办法
4587
查看次数

使用CSS3动画识别帧丢失的原因

我试图找出动画中极度放缓的原因.如您所见(下图),油漆时间偶尔会出现峰值并导致帧速率降至<15 fps.

我无法显示该网站,但我可以告诉你,它在前端不是轻量级的,它是一个设计展示网站,因此有很多大图像从视图端口外部动画.我需要确定这是否只是他们将要处理的事情,或者是否可以采取任何措施来缩短喷漆时间.

所有动画都是使用这些translate()功能实现的.这组特殊动画的CSS如下:

.page {
    height: 100%;
    position: absolute !important;

    -webkit-transform: translateY(100%);
    transform: translateY(100%);

    /**
     * Override ng-animate-block-transition on this element. Has an important declaration.
     */
    -webkit-transition: transform ease-in-out 0.5s !important;
    transition: transform ease-in-out 0.5s !important;
}

.page.ng-show {
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.animate-in-enter-complete .page-peak .page.ng-show {
    -webkit-transform: translateY(-3%);
    transform: translateY(-3%);
}

.animate-in-enter-complete .page-peak .page.page-next {
    -webkit-transform: translateY(95%);
    transform: translateY(95%);
}
Run Code Online (Sandbox Code Playgroud)

这是一个配置文件,我为这个特定的动画做了.层根是#document,我是这些工具的新手,但这是否意味着它重新绘制整个DOM树?

我怎样才能找出导致这种情况的原因?

分析工具的屏幕截图

css animation css3 angularjs

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

如何在运行之前检查vsprintf是否具有正确数量的参数

我正在尝试使用vsprintf()输出格式化的字符串,但我需要在运行之前验证我有正确数量的参数以防止"参数太少"错误.

从本质上来说,我认为我需要的是一个正则表达式来计算类型说明符的数量,但是当涉及到正则表达式时我很无用,而且我无法在任何地方为它提供资金,所以我想我会给它一个去.:)

除非你能想出更好的方法,否则这种方法符合我的要求.

function __insertVars($string, $vars = array()) {

    $regex = '';
    $total_req = count(preg_match($regex, $string));

    if($total_req === count($vars)) {
        return vsprintf($string, $vars);
    }

}
Run Code Online (Sandbox Code Playgroud)

如果你能想到更简单的方法,请告诉我.

php regex printf

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

在必须返回true或false的函数上键入提示返回值是不好的做法

快速提问:对于那些不了解CakePHP Model-> count()的人; 总是返回一个整数.

如果我有一个函数来验证表是否为空(返回true或false),那么执行此操作是个坏主意:

public function isEmpty() {
    return (boolean) $this->find('count');
}
Run Code Online (Sandbox Code Playgroud)

与更冗长的相反:

public function isEmpty() {
    if (empty($this->find('count'))) {
        return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

基本上,以这种方式使用类型提示是否合适?

php cakephp type-hinting

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

如何在Laravel的流利中做子查询?

说我有这个SQL:

select * 
from `fluents`
inner join `tests` on `fluents`.`id` = `tests`.`fluent_test_id`
inner join (
    select `fluents`.`id` from `fluents` order by `fluents`.`id` desc limit 10
) as j on `fluents`.`id` = `j`.`id`
order by `fluents`.`created_at`;
Run Code Online (Sandbox Code Playgroud)

我知道我可以运行原始SQL,但作为一项学习练习,我试图将其转换为流利且失败,这甚至可能吗?

php laravel laravel-4

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