小编gri*_*ton的帖子

通过示例了解REST

我唯一真正了解REST的想法是通过Ruby on Rails的RESTful路由.这适合我使用Rails构建的基于CRUD的应用程序,但因此我对RESTfulness的理解有限.


假设我们有一个有限的项集合,每个项目都有一个唯一的ID,以及许多属性,例如颜色,形状和大小(某些项目可能未定义).

客户可以在一段时间内使用项目,但每个项目只能由一个客户端一次使用.对项目的访问由服务器管理.客户端可以请求从服务器临时使用某些项目.

通常,客户端只对访问具有特定属性的多个项目感兴趣,而不是访问特定项目.

当客户端请求使用多个项目时,服务器会使用与请求相对应的ID列表进行响应,或者使用响应来响应所请求的项目当前不可用或不存在.

客户可以提出以下类型的请求:

  • 告诉我有多少绿色三角形项目(总数/可用).
  • 给我使用200个大红色物品.
  • 我已经完成了第21,23,23项.
  • 添加100个新的红色正方形项目.
  • 删除50个小绿色项目.
  • 修改所有大黄色五边形项目为蓝色.

上面的玩具示例就像我最近必须处理的资源分配问题.我应该如何RESTful地思考它?

rest

6
推荐指数
2
解决办法
1254
查看次数

Python中的子类和内置方法

为方便起见,我想socket创建一个ICMP套接字子类:

class ICMPSocket(socket.socket):
    def __init__(self):
        socket.socket.__init__(
            self, 
            socket.AF_INET,
            socket.SOCK_RAW,
            socket.getprotobyname("icmp"))

    def sendto(self, data, host):
        socket.socket.sendto(self, data, (host, 1))
Run Code Online (Sandbox Code Playgroud)

但是,我无法覆盖socket.sendto:

>>> s = icmp.ICMPSocket()
>>> s.sendto
<built-in method sendto of _socket.socket object at 0x100587f00>
Run Code Online (Sandbox Code Playgroud)

这是因为它sendto是一种"内置方法".根据数据模型引用,这"实际上是内置函数的不同伪装,这次包含作为隐式额外参数传递给C函数的对象."

我的问题:无论如何都要在子类化时覆盖内置方法?

[编辑]第二个问题:如果没有,为什么不呢?

python subclassing

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

更改项目名称不会反映在GitHub上

我有一个java项目,我使用Eclipse ide.我已经重命名了我的项目.这更新了我的.project文件,我将它推送到GitHub.但是GitHub仍然显示旧的项目名称.

有没有办法在GitHub上更改项目名称?我在Windows上使用GitBash与Git进行交互

java eclipse git github

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

八度中矩阵的对角元素求和

给定方矩阵M,如何找到对角线上元素的总和?必须有一个比这更简单的方法:

sum(sum(diag(diag(M), 0)))

octave

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

Pythonic获取对象布尔值的方法

我希望能够以最惯用的方式编写一个函数,True如果一个对象是真实的,False则返回该函数.例如:

is_truthy(True) # True
is_truthy(False) # False
is_truthy(123) # True
is_truthy(0) # False
is_truthy("some string") # True
is_truthy("") # False
Run Code Online (Sandbox Code Playgroud)

我想出的最好的是:

def is_truthy(obj):
    return not not obj
Run Code Online (Sandbox Code Playgroud)

谁能做得更好?

python

0
推荐指数
2
解决办法
2117
查看次数

标签 统计

python ×2

eclipse ×1

git ×1

github ×1

java ×1

octave ×1

rest ×1

subclassing ×1