小编Pah*_*iya的帖子

如何强制更新单页应用程序(SPA)页面?

在基于服务器端的完全呈现(非Web 2.0)中,部署服务器端代码将在页面重新加载时直接更新客户端页面.相比之下,在基于React的单页应用程序中,即使在更新了React组件之后,仍然会有一些客户端使用旧版本的组件(它们仅在浏览器重新加载时获得新版本,这应该很少发生) - >如果页面完全是SPA,有些客户可能会在几个小时后刷新页面.

应采用哪些技术来确保任何客户不再使用旧组件版本?

更新:API未更改,只有更新版本更新了React组件.

javascript single-page-application reactjs

41
推荐指数
4
解决办法
2万
查看次数

Google App Engine Flexible和Google Container Engine之间的区别?

具体到基于Docker的部署,这两者之间有什么区别?由于Google App Engine Flexible现在也支持基于Dockerfile的部署,而且它也是完全托管的服务,似乎它更受首选,而不是在Container Engine上配置Kubernetes部署,不是吗?

有什么用例比使用App Engine灵活使用Google容器引擎更优先?

google-app-engine google-cloud-platform kubernetes google-kubernetes-engine

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

如何检查Rails应用程序的Puma线程安全性

我希望使用Puma webserver将我的Rails应用程序部署到Heroku.但是,我不确定所有Gems是否都是线程安全的.阅读所有宝石的源代码对我们来说不是一个可行的选择.

有没有办法自动检查所有Gems的线程安全性?或者,如果执行/检测到线程不安全的代码,Puma是否会抱怨/显示特定的错误日志?

ruby multithreading ruby-on-rails heroku puma

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

如何在Redux中定义reducers执行的顺序?

假设我有动作A被派遣到减速机R1R2.我也有智能组件C,connectR1和返回的状态编辑R2

是否可能CR1执行时但在R2执行之前重新呈现组件?

如何如果我想重新呈现C都只有当R1R2执行?或者是否有可能告诉Redux 先将dispatcher行动派遣R2

*R1实际上是resultsredux返回的状态normalizr,R2entities状态.在entities需要进行非规范化的results

reactjs redux

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

如何在Rails中修复pg_attribute表上的慢速隐式查询

在我们的生产环境中,我们注意到Rails应用程序中经常出现峰值(〜每1小时一次).深入挖掘,这是由于以下查询在单个HTTP请求中累计运行> 1.5 s(称为100x).

SELECT a.attname, format_type(a.atttypid, a.atttypmod), pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod FROM pg_attribute a
LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = ?::regclass AND a.attnum > ? AND NOT a.attisdropped 
ORDER BY a.attnum
Run Code Online (Sandbox Code Playgroud)

我们没有显式调用该表的代码,但似乎Rails调用它来计算每个模型的属性." 对Rails/Heroku上的Postgres数据库的意外SQL查询 "是相关的.

但不应该被Rails称为非重复性的吗?

我们如何加快速度?

ruby postgresql ruby-on-rails heroku

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

典型的PhoneGap应用程序可以多快启动?加快提示?

我想知道你加载简单的PhoneGap应用程序有多快.我的简单应用程序在Galaxy S3上需要6-8秒(所有资源都存储在本地驱动器中).不确定PhoneGap是否正常.

任何人都可以打2-3秒加载时间?有什么提示让它加载更快?

cordova

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

如何在没有性能损失的情况下包装React组件?

我的团队使用React MaterialUI库.为了提供一致的UI模式并使我们能够轻松定制MaterialUI的组件,我们将每个MaterialUI的组件包装在我们自己的组件中.例如:

const style = {} // our project custom style for ListItemText
const OurListItemText = ({primary, secondary, classes}: Props) => (
  <MuiListItemText
    primary={primary}
    secondary={secondary}
    className={classes.text}
  />
) // we only expose primary and secondary props of the original MuiListItemText.
// Team members are blocked from customising other MUIListItemText's props

export default withStyles(styles)(OurListItemText)
Run Code Online (Sandbox Code Playgroud)

MuiListItemText是原始的MaterialUI的组件,OurListItemText而是我们的包装器组件.在我们的项目中, OurListItemText允许使用.

作为上面的片段,OurListItemText除了将道具转发之外什么都不做MuiListItemText.但是,这会对性能产生很大影响:

反应火焰图

ListItemText顶部的酒吧来自OurListItemText下方的酒吧MuiListItemText.如果我们MuiListItemText直接使用,它可以快〜50%(我们已经尝试过),当我们有100时,这是显而易见的ListItemText.删除withStylesHOC略有改善,但并不显着. …

performance reactjs material-ui

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

如何"动态"将Object类型的实例强制转换为其特定的数据类型?

public Object foo(int opt){
  if (opt == 0) return new String();
  else if (opt == 1) return new Integer(1);
  else if (opt == 2) return new Double(1);
  else if ...
  .. and many more
}

public void doSomething(String s){..}
public void doSomething(Integer i){..}
public void doSomething(Double d){..}
... and many more doSomething method

public static void main(String[] args){
  ...
  Object o = foo(x); //x is a value obtained during runtime, e.g. from user input

  //now I want to call doSomething …
Run Code Online (Sandbox Code Playgroud)

java reflection types casting dynamic

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

如何在Docker中将主机文件夹与容器文件夹合并?

我有维基媒体在Docker上运行.维基媒体的扩展名驻留在extensions/最初包含内置扩展名的文件夹中(一个扩展名=一个子文件夹)

现在我想添加新的扩展.但是我不喜欢修改Dockerfile或在现有容器上创建新提交的选项.

是否可以在主机(例如/home/admin/wikimedia/extensions/)中创建一个文件夹,该extension文件夹将与容器中的文件夹合并(而不是覆盖)?因此,每当我想安装新扩展时,我只需将扩展文件夹复制到主机/home/admin/wikimedia/extensions/

docker

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

在Github上托管文件(mp3和图像),是允许的吗?

我正在寻找免费的文件托管服务,这使我可以轻松获得每个文件的静态链接.因此,应将文件1.png,2.png,3.png分配给URL:www.something.com/somepath/1.png,www.something.com/somepath/2.png,www.something.com/ somepath/3.png分别

稍后,文件将由移动应用程序下载,该应用程序可能由许多用户安装.

在搜索互联网之后,在主要存储提供商中,只有Dropbox和GitHub使我能够获得公共直接非随机化URL(一些其他服务,例如SkyDrive,Box,Copy,4Shared,MediaFire随机化文件名).当然,没有什么能阻止我使用Dropbox,但我听说如果流量过高,Dropbox可能会阻止访问.

有谁知道GitHub是否允许我们这样做?我知道Git不是用于跟踪二进制文件,但由于文件是静态的(只有1次提交就足够了),因此不需要跟踪delta.

最大单个文件大小为3-4 MB.将有1,000个这样的文件.所有文件均不受版权保护.

除了GitHub和Dropbox之外,其他任何存储供应商都满足这些要求吗?

*移动应用程序将是开源的,不用于商业目的.

storage github online-storage

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