程序设计

专业和发烧友程序员的问答

30
如何强制浏览器重新加载缓存的CSS / JS文件?
我注意到一些浏览器(特别是Firefox和Opera)非常热衷于使用.css和.js文件的缓存副本,即使在浏览器会话之间也是如此。当您更新这些文件之一但用户的浏览器继续使用缓存的副本时,这会导致出现问题。 问题是:迫使用户的浏览器在文件更改后重新加载文件的最优雅的方法是什么? 理想情况下,该解决方案不会强制浏览器在每次访问页面时重新加载文件。我将发布自己的解决方案作为答案,但我很好奇是否有人有更好的解决方案,我将让您决定。 更新: 经过一段时间的讨论后,我发现John Millikin和da5id的建议很有用。事实证明有一个术语:自动版本化。 我在下面发布了一个新答案,该答案是我原来的解决方案和约翰的建议的结合。 SCdF建议的另一个想法是将伪查询字符串附加到文件中。(一些由pi提交的自动使用时间戳作为伪查询字符串的Python代码。)但是,关于浏览器是否将使用查询字符串缓存文件存在一些讨论。(请记住,我们希望浏览器缓存文件并在以后的访问中使用它。我们只希望它在更改后再次获取文件。) 由于尚不清楚假查询字符串会发生什么,因此我不接受该答案。

6
Git:根据主服务器上未上演的/未提交的更改创建分支
上下文:我正在为master添加一个简单的功能。几分钟后,我意识到这并不是那么简单,进入一个新分支应该更好。 这总是发生在我身上,我不知道如何切换到另一个分支,并在我离开主分支的情况下进行所有这些未提交的更改。我本来git stash && git stash branch new_branch可以做到的,但这就是我所得到的: ~/test $ git status # On branch master nothing to commit (working directory clean) ~/test $ echo "hello!" > testing ~/test $ git status # On branch master # Changed but not updated: # (use "git add <file>..." to update what will …
991 git  git-stash 

14
如何在Docker中处理持久性存储(例如数据库)
人们如何处理Docker容器的持久存储? 我当前正在使用这种方法:构建映像(例如针对PostgreSQL),然后使用以下命令启动容器 docker run --volumes-from c0dbc34fd631 -d app_name/postgres 恕我直言,这有一个缺点,我绝对不能(偶然地)删除容器“ c0dbc34fd631”。 另一个想法是将主机卷“-v”安装到容器中,但是,用户ID的容器内不一定匹配用户ID从主机,然后权限可能会混乱。 注意:例如,--volumes-from 'cryptic_id'您可以使用--volumes-from my-data-containerwhere my-data-container是分配给仅数据容器的名称,而不是docker run --name my-data-container ...(请参见接受的答案)





30
如何在Mac OS X上启动PostgreSQL服务器?
最后更新: 我忘记了运行initdb命令。 </最终更新> 通过运行此命令 ps auxwww | grep postgres 我看到postgres没有运行 > ps auxwww | grep postgres remcat 1789 0.0 0.0 2434892 480 s000 R+ 11:28PM 0:00.00 grep postgres 这提出了一个问题:如何启动postgresql服务器? 更新: >pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start server starting sh: /usr/local/var/postgres/server.log: No such file or directory 更新2: 触摸不成功,所以我改为这样做: > mkdir /usr/local/var/postgres …

3
使用grep进行负匹配(不包含foo的匹配行)
我一直在尝试找出此命令的语法: grep ! error_log | find /home/foo/public_html/ -mmin -60 要么: grep '[^error_log]' | find /home/baumerf/public_html/ -mmin -60 除了名为的文件,我需要查看所有已修改的文件error_log。 我在这里读过它,但是只发现了一个not-regex模式。
988 regex  grep 

17
公共,私有和受保护的有什么区别?
什么时候以及为什么要在类中使用public,private和protected函数以及变量?它们之间有什么区别? 例子: // Public public $variable; public function doSomething() { // ... } // Private private $variable; private function doSomething() { // ... } // Protected protected $variable; protected function doSomething() { // ... }
988 php  oop  private  public  protected 

10
如何将输出重定向到文件和标准输出
Наэтотвопросестьответына 堆栈溢出нарусском:Каксохранитьвыводлюбойкомандывфайли сразужеувидетьеговтерминале ? 在bash中,调用foo将在stdout上显示该命令的任何输出。 调用foo > output会将该命令的任何输出重定向到指定的文件(在本例中为“输出”)。 有没有一种方法可以将输出重定向到文件并在stdout上显示?
988 linux  bash  file-io  io  stdout 

25
如何在Mac上安装Java 8
我想使用需要Java 8的最新JavaFX进行一些编程。我正在使用IntelliJ 13 CE和Mac OS X 9 Mavericks。我运行了Oracle的Java 8安装程序,文件看起来像最终在 /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk 但以前的版本在 /System/Library/Java/JavaFrameworks/jdk1.6.... 不知道为什么要用最新的安装程序/Library代替它/System/Library(也不知道有什么区别)。但是/usr/libexec/java_home找不到1.8,所以我找到的有关如何设置当前Java版本的所有帖子都不起作用。我尝试添加一个符号链接以使其看起来像1.8一样在/System/Library...路径中,但这无济于事。/usr/libexec/java_home -V仍然只列出了旧的Java 1.6。 具有讽刺意味的是,“系统偏好设置”下的“ Java”控制面板仅显示Java 1.8! 为什么Oracle的安装程序没有将它放到真正的位置?我该如何解决这个问题?

8
从另一个分支在Git中创建一个分支
我有两个分支:master和dev 我想从dev分支创建一个“功能分支” 。 目前在分支机构dev上,我执行以下操作: $ git checkout -b myfeature dev ... (一些工作) $ git commit -am "blablabla" $ git push origin myfeature 但是,在可视化我的分支之后,我得到了: --**master** ------0-----0-----0-----0-----0 ------------------------**dev**----**myfeature** 我的意思是分支似乎在ff合并,我不明白为什么... 我做错了什么? 您能否解释一下我如何从另一个分支分支并推回功能分支的远程存储库? 像这里描述的那样的分支模型中的所有内容。


30
如何在JavaScript中比较数组?
我想比较两个数组...理想地,有效地比较。没有什么幻想,只要true它们是相同的,false如果不相同。毫不奇怪,比较运算符似乎不起作用。 var a1 = [1,2,3]; var a2 = [1,2,3]; console.log(a1==a2); // Returns false console.log(JSON.stringify(a1)==JSON.stringify(a2)); // Returns true 每个数组都可以进行JSON编码,但是有没有一种更快或更“更好”的方法来简单地比较数组而不必遍历每个值?
988 javascript  arrays  json 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.