小编Bri*_*acy的帖子

REST API 404:错误的URI或缺少资源?

我正在构建REST API,但我遇到了一个问题.

似乎在设计REST API时接受的做法是,如果请求的资源不存在,则返回404.

但是,对我来说,这增加了不必要的模糊性.传统上,HTTP 404与错误的URI相关联.所以实际上我们说"要么你到了正确的地方,但那个特定的记录不存在,或者互联网上没有这样的位置!我真的不确定哪一个......"

考虑以下URI:

http://mywebsite/api/user/13
Run Code Online (Sandbox Code Playgroud)

如果我得到404,那是因为用户13不存在吗?或者是因为我的网址应该是:

http://mywebsite/restapi/user/13
Run Code Online (Sandbox Code Playgroud)

过去,HTTP 200 OK如果记录不存在,我只返回带有响应代码的NULL结果.它很简单,在我看来非常干净,即使它不一定是公认的做法.但是有更好的方法吗?

rest web-services http

190
推荐指数
8
解决办法
18万
查看次数

MySQL:在事务中截断表?

我有一个InnoDB表需要每隔十分钟在60k到200k记录的任何地方重新填充.到目前为止,我们的方法如下:

  1. 关闭Autocommit
  2. 截断表格
  3. 执行选择查询和其他计算(使用PHP)
  4. 插入新记录
  5. 承诺

执行截断操作后,数据会立即删除,并且不再可用于用户界面.对于我们的用户来说,这非常令人不安,即使在大约30秒左右的时间内脚本遇到了Commit操作并且表格被重新填充.

我想,也许我可以包住整个操作过程,包括Truncate在一个事务,这可能削减的时间长度,在此期间表出现空给用户.所以我改变了SET AUTOCOMMIT=0START TRANSCATION.

哎呀!这与预期的效果相反!现在TRUNCATE操作仍然发生在脚本的开头,但实际执行事务中的操作需要更长INSERT的时间,因此当COMMIT操作发生并且表中的数据再次可用时,它已经接近十分钟!

有什么可能导致这种情况?说实话,我根本没想到会有任何改变,因为我认为启动交易基本上只是关闭Autocommit了?

mysql transactions truncate

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

JDK,JRE,Java:版本混乱!

虽然我还不是真正的Java开发人员,但我觉得我现在应该知道这一点,但我仍然很困惑.我的问题有两个部分:

  1. 所谓的(正如我所看到的)"Sun JDK",OpenJDK和GCJ有什么区别?

  2. 在不同的时间,我已经看到以下每一个被抛出,使得理解哪些版本号实际适用于什么令人困惑.有人可以帮我解决这个问题吗?

    • Java 6
    • Java 1.6
    • JDK 6
    • JDK 1.6
    • JRE 1.6
    • JVM 11.0

注意:我确实理解JDK(Java Development Kit)和Java Runtime Environment之间的区别.虽然我知道JVM是什么/做什么,但我并不完全清楚JRE和JVM之间的区别.

java openjdk gcj

20
推荐指数
2
解决办法
9023
查看次数

SVN:状态"相对于其父级"的意思是什么?

我正在尝试从SVN存储库更新我们的实时站点.据我所知,回购中没有任何东西.本身应该与工作副本目录中的任何内容冲突.但是当我尝试在公共根目录上"svn up"时,我收到以下错误:

svn: REPORT request failed on '/svn/oursite/!svn/vcc/default'
svn: Working copy path 'app' does not exist in repository
Run Code Online (Sandbox Code Playgroud)

当我在docroot上运行"svn status"时,我看到以下内容:

docroot$ svn st -N
   +S  app
   +S  downloads
   +S  index.php
   (etc.)
Run Code Online (Sandbox Code Playgroud)

根据文件,S标志表示whether the item is switched relative to its parent.这甚至意味着什么,我该怎么做才能解决这个问题?

编辑:我应该提一下,我是唯一一个使用SVN存储库的人.我一直在努力工作,试图在我移动事物的同时打败一个又一个的腐败问题.

(SVN很棒,但肯定很脆弱......如果你只是看错了就好像破了!)

svn

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

WordPress + Multisite:如何在网络管理中添加自定义博客选项以添加新网站表单?

在我自定义的WordPress多站点安装中,我需要在条目表单中添加一个简单的文本字段,用于创建新的博客站点,该站点位于

Network Admin > Sites > Add New

当然,我需要将此字段与表格中的其他元数据一起保存{new_blog_prefix}_options.

我对最简单,最直接和/或"正确的方式"(即WordPress方式)特别感兴趣,但我会满足于The Way That Works™!

到目前为止,我在研究中遇到了无数的死胡同:

  • 设置API - [ WP Codex ]

    据我所知,Settings API (a) 可能不适用于网络管理员部分(虽然这可能在最新版本的WP中有所改变); 此外,(b)似乎只允许您Settings在仪表板的部分添加/修改屏幕.

  • wpmu_options hook - [ Hooks DB ]

    似乎是专门用于向"网络设置"屏幕添加选项的挂钩.

  • add_site_option/add_blog_option - [ WP Codex ]

    我能找到最近的; 似乎允许向{blogsite_prefix}_options表中添加特定于站点的选项,但仍然无法向Admin表单添加选项.

所以......没有骰子.任何帮助表示赞赏!

wordpress wordpress-plugin

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

SVN:如何使用subversion使文件只读?

我正在开发一个在SVN存储库中管理的大型Web项目.

每次团队成员签出项目,或者我们在新的生产服务器上签出项目时,我们都必须修改该服务器的自定义配置文件.我在修订控制下有一个"config.ini.base"文件,我们不断更新最新设置,这个想法是团队成员复制它以创建他们的"config.ini"(在"忽略"下列出目录).

为了避免混淆和错误,我想以某种方式阻止对"config.ini.base"的任何更改被提交到存储库,除非它被明确提交或者以某种方式明确地覆盖了只读设置.我该怎么做?

svn

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

Mercurial:Subrepo错误 - "中止:提交新的subrepo [路径]排除"

我正在尝试在我的Mercurial项目仓库中为项目的依赖项设置子库.但是当我尝试提交.hgsub文件时,我不断收到此错误:

abort: commit with new subrepo lib/dependency-dir excluded
Run Code Online (Sandbox Code Playgroud)

细节:

在我的项目的Mercurial存储库目录(在顶层)中,我有一个子目录,lib/它将包含我的依赖项.

碰巧我的所有依赖都存在于github上,我在这里分叉了每个库来创建,例如,https://github.com/mygithubaccount/forked-dependency

我创建了一个.hgsub文件并将其添加到存储库(也在顶层).它包含如下条目(我已经尝试将每个单独隔离如下;它似乎没有任何区别):

lib/dependency-dir = [git]https://github.com/mygithubaccount/forked-dependency.git
Run Code Online (Sandbox Code Playgroud)

然后我从项目存储库的工作目录开始执行以下操作:

$ cd lib
$ git clone https://github.com/mygithubaccount/forked-dependency.git dependency-dir
$ cd ..
$ hg commit .hgsub
abort: commit with new subrepo lib/dependency-dir excluded
Run Code Online (Sandbox Code Playgroud)

我有什么想法我做错了吗?

mercurial subrepos

11
推荐指数
2
解决办法
3226
查看次数

Eclipse:自动完成期间的高CPU使用率

几个星期以来,我一直在使用Eclipse而没有问题(我的意思是,除了通常情况).为了我的目的,它已经足够快了.但是从今天中午开始,无论何时我开始输入HTML标签或其他自动完成功能元素,我的整个系统都会陷入困境,完全无法使用.在任务管理器中观察,我表明每次输入"<"或">"符号时Eclipse都会从0跳到10-15%!

我有一台带有6 GB RAM的Core i7 PC,所以这绝对不是系统规格的限制.我还卸载了我今天安装的几个程序,希望其中一个程序可能存在冲突,但没有骰子.即使重启后,每次尝试自动完成时,我都无法使用Eclipse而不会暂停几秒钟!

谁知道这里发生了什么?我做了一些搜索,但我发现的都是非常老的错误报告,说开发人员"知道这个问题并且正在研究解决方案".

eclipse performance autocomplete

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

数据处理的设计模式?(MVC替代)

作为一名PHP/Web开发人员,我是MVC(模型 - 视图 - 控制器)的忠实粉丝.我喜欢在坚实的基础上构建应用程序,这绝对将业务逻辑,表示逻辑和控制流分开.

但是,我在服务器端应用程序上做了很多工作,这些应用程序仅处理数据并记录进程和任何相关结果(例如导入脚本,数据迁移脚本,Web服务,TCP套接字服务器等).在这些情况下,不需要大型的MVC框架.

我意识到MVC仍然可以在这里应用,但它似乎有点矫枉过正.除了原始的程序方法或类对象的随机混搭外,是否有任何特定的架构设计模式特别适合数据处理,运行一次和服务器守护程序类型的应用程序?

php architecture model-view-controller design-patterns

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

SVN工作正常然后"svn:OPTIONS 200 OK"错误和"不存在"

SVN工作得很好,直到几分钟前 - 我仍然可以在http://svn.example.com/myrepo浏览我的存储库但是当我尝试执行任何操作时,包括svn up,我得到:

svn: OPTIONS of 'http://svn.example.com/myrepo': 200 OK (http://svn.example.com)
Run Code Online (Sandbox Code Playgroud)

当我试图svn cleanup http://svn.example.com/myrepo看看会发生什么时,我得到了:

svn: 'http://svn.example.com/myrepo' does not exist
Run Code Online (Sandbox Code Playgroud)

再次 - 在浏览器中键入它,我仍然可以正常浏览存储库.这是怎么回事??

svn

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