我正在实施Android图库小部件.我问如何懒惰(即在一个单独的线程中)从Web加载图像并持久缓存它们?所以在下一次运行中我有本地可用的缓存图像......
我正在用yo + grunt + angular.js开始我的第一个项目.
我有一个需要从我的服务器读取一些数据的服务; 我使用angular $ http服务构建它.我还构建了一个RESTful Web服务(用PHP实现,但它可能是Java,C,Perl,......,无关紧要),它公开了一个API来获取数据.
grunt为我的ng-app提供服务的服务器目前(可能永远都是)运行PHP Web服务的地方(通过apache).
我想知道这是否是一个可接受的架构...我最终在同一台服务器上有两个不同的服务器(grunt和apache)...更多,我总是要添加一个"Access-Control-Allow-Origin:127.0.0.1 "到我的PHP服务的输出...... :-(
例如,可以从grunt提供PHP吗?
更新:我讲的是开发阶段...当然在制作时我不会使用grunt ...
为了更好地解释自己,我想在$ http()中使用相对的URL ...在两者中使用相同的代码开发和生产阶段...
如果在生产中我可以期望它能够工作,因为我只有一台服务器用于部署的Angular应用程序和 PHP服务,他们应该在开发时解释PHP,当Angular应用程序服务时咕噜?咕噜咕噜?如果有,怎么样?
UDPATE 2,以及一个可能的解决方案:在对这个问题进行了相当多的思考之后(也阅读了本文),并且没有在这里得到满意的答案,我决定使用这种方法:
如果有人想对此解决方案发表评论,提出异议或提出更好的解决方案,我将非常高兴......
我正在构建一个node.js应用程序 - 每天一次 - 从一些外部Web服务器(使用" 请求 "包)获取数据.
我想避免两次获取相同的数据,所以我在第一次下载(200状态代码)时跟踪每个资源ETag .
然后,当再次(第二天)获取该资源时,我If-None-Match在请求中添加了带有已保存的etag 的标头.
因为我怀疑有时候从远程Web服务器接收200状态代码(而不是预期304),即使资源内容没有被修改,我问我是否应该期望ETag在304响应中返回资源(以及如何在request响应...),尝试调试此问题.
我在博客(此处)中看到有关使用 JWT 在 React 中进行身份验证的内容,此设置:访问令牌到期时间为 15 分钟,刷新令牌到期时间为 1 个月;每 10 分钟客户端调用/refreshToken端点一次,检查刷新令牌是否仍然有效(否则用户将看到登录屏幕)。
在服务器上,/refreshToken端点正确检查刷新令牌是否未过期,刷新令牌有效负载中具有 ID 的用户仍然存在且有效(即:传递的刷新令牌存在于其刷新令牌数组中)。如果一切正常,则会生成一个新的访问令牌,并与响应一起发回。
到目前为止,一切都很好。但是,在返回响应之前,也会生成一个新的刷新令牌,并将旧的刷新令牌替换到用户的刷新令牌数组中...我认为这种策略是有缺陷的,因为这样用户就永远不会看到他的登录过期,即使在之后刷新令牌(本例中为一个月)将过期...
我确实做了一些测试(将 1 个月值降低到 30 分钟),并且实际上用户授权永远不会过期...强制注销用户删除其刷新令牌数组显然效果很好,但我希望刷新时会注销令牌按年龄过期。
我询问我的理解是否正确(服务器上的refreshToken端点不应刷新刷新令牌,而应仅刷新访问令牌),或者我是否错过了某些内容。
@Ghero 评论后更新:我明白你的观点...但是如果不更新令牌的过期时间,为什么要刷新令牌呢?
然而,博客的代码用于更新刷新令牌:
const jwt = require("jsonwebtoken");
exports.getRefreshToken = (user) => {
const refreshToken = jwt.sign(user, process.env.REFRESH_TOKEN_SECRET, {
expiresIn: eval(process.env.REFRESH_TOKEN_EXPIRY),
});
return refreshToken;
};
// REFRESH_TOKEN_EXPIRY is set to 30 days
Run Code Online (Sandbox Code Playgroud)
看起来总是把到期日期推迟到未来30天。这样就永远不会过期了...
我正在开发一个Android应用程序(API级别8).
如何在旋转器布局样式中添加一些正确的填充?
使用默认(Theme.black)样式时,右箭头框太靠近(闭合)微调器中的文本末尾.
我有一个小型 PostgreSQL 数据库(~~3,000 行)。
我正在尝试在其中一个文本字段(“正文”)上设置全文搜索。
问题是任何查询都非常慢(35 秒以上!!!)。
我想问题出在数据库选择顺序扫描模式的事实......
这是我的查询:
SELECT
ts_rank_cd(to_tsvector('italian', body), query),
ts_headline('italian', body, to_tsquery('torino')),
title,
location,
id_author
FROM
fulltextsearch.documents, to_tsquery('torino') as query
WHERE
(body_tsvector @@ query)
OFFSET
0
Run Code Online (Sandbox Code Playgroud)
这是解释分析:
QUERY PLAN
----------------------------------------------------------------------------------------------------------------------------
Limit (cost=0.00..1129.81 rows=19 width=468) (actual time=74.059..13630.114 rows=863 loops=1)
-> Nested Loop (cost=0.00..1129.81 rows=19 width=468) (actual time=74.056..13629.342 rows=863 loops=1)
Join Filter: (documents.body_tsvector @@ query.query)
-> Function Scan on to_tsquery query (cost=0.00..0.01 rows=1 width=32) (actual time=4.606..4.608 rows=1 loops=1)
-> Seq Scan on documents (cost=0.00..1082.09 rows=3809 width=591) (actual time=0.045..48.072 …Run Code Online (Sandbox Code Playgroud) 我的Twitter Bootstrap移动页面有一个固定的顶部导航栏
<div class="navbar navbar-fixed-top">
Run Code Online (Sandbox Code Playgroud)
我希望方向更改事件会在移动设备上触发导航栏的"调整大小"(桌面上的调整大小事件会正确触发导航栏的调整大小).在导航栏的右侧,我有一个可折叠的导航栏切换,可打开/关闭主菜单:当从横向更改方向到纵向时,菜单按钮不再可见,这是一场灾难......
该问题也可以通过官方navbar-fixed-top示例(http://getbootstrap.com/examples/navbar-fixed-top/)进行验证.
我正在使用三星Galaxy S3上的股票(默认)浏览器和Android 4.1.2.
iPhone(3)浏览器上不会出现此问题.
更新: Android 4.3仍然存在问题.
我正在写我的第一个新的Angularjs项目.
我需要将自定义方法(比方说addHours())添加到javascript类中,比方说Date().
为了完整性,这是我的(工作)方法:
Date.prototype.addHours = function(h) {
this.setHours(this.getHours() + parseInt(h));
return this;
}
Run Code Online (Sandbox Code Playgroud)
这是推荐的方法吗?在哪里放置原型功能,所以我们可以通过我的所有项目获得它们?我应该更好地创建一个新的Date类吗?我应该更好地定义角度服务吗?
我对 git 很陌生,所以我在犯任何不可恢复的错误之前先询问...:-)
在过去的几天里,我对我的项目做了一些更改,以升级到我使用的一些库的新版本,但我失败了(也为缺少库文档...:-()。
我刚刚决定放弃升级,所以现在我需要恢复到上次稳定提交。
我也确实推送到了远程,但这应该不是问题,因为我目前是该项目的唯一开发人员。
这是我当前的 git 日志:
$ git log --oneline
22c0713 Upgrading to Firebase 1.1
6d5f9f4 Porting customers to angularfire 0.8
fd9db42 Porting to Angularfire 0.8
d728b82 Working out authenticating on authenticated session problems
d511245 Testing authWithOAuthRedirect
abd9849 Porting to firebase 1.1.2
8884b88 Testing loadRemote() with relative path on public repositories
7830eea Testing loadRemote() with relative path on public repositories
f36c2f5 Finished working on I18N
...
Run Code Online (Sandbox Code Playgroud)
f36c2f5 提交(我上面显示的最后一个提交)是最后一个稳定的提交,也是我想要恢复的提交。
我还想避免丢失较新的(坏的)提交,以供将来参考。
对于这项任务最明智的策略是什么?
更新:感谢您的回答,我快到了(稍后将接受......)。还有一个小问题:我还有一个“gh-pages”分支,用于将我的 dist 子文件夹推送到 github gh-pages 临时站点。 …
我将接受AngularJS,但我对打印报告的制作有一点疑问.
我的主要需求是打印类似发票的报告,即为我的每一类报告使用一个(HTML + CSS)模板,并能够从模型中插入数据.
我看到jsreport存在,看起来很有希望.
问题是:
jsreport是在AngularJS中生成打印报告的唯一解决方案吗?你有建议和支持的替代方案吗?
android ×3
angularjs ×3
access-token ×1
caching ×1
coding-style ×1
gallery ×1
git ×1
gruntjs ×1
html ×1
http ×1
image ×1
javascript ×1
jquery ×1
jwt ×1
lazy-loading ×1
mobile ×1
padding ×1
php ×1
postgresql ×1
printing ×1
prototype ×1
reactjs ×1
reporting ×1