小编Der*_*mer的帖子

在Bash脚本中获取当前目录名称(没有完整路径)

如何在bash脚本中获取当前工作目录名称,甚至更好,只需一个终端命令.

pwd给出了当前工作目录的完整路径,例如/opt/local/bin但我只想要bin

bash shell

765
推荐指数
15
解决办法
64万
查看次数

Google访问令牌到期时间

当我access_token从Google API 获得一个时,它会附带一个expires_in值.根据文档,此值指示"访问令牌的剩余生命周期".

这个值的单位是多少?

oauth-2.0

144
推荐指数
4
解决办法
9万
查看次数

API端点语义

API端点是'方法',如https://api.foursquare.com/v2/venues/或包含非查询字符串参数的完整URL,如 https://api.foursquare.com/v2/venues/ 5104

换句话说,这两个独立的端点是否被认为是相同的端点? http://myapi.com/somemodel/1
http://myapi.com/somemodel/2

api-design

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

Mongo $ in运营商表现

在MongoDB中使用带有大量可能性的$ in运算符是缓慢/差的形式吗?

posts.find({
    author : {
        $in : ['friend1','friend2','friend3'....'friend40'] 
    }
})
Run Code Online (Sandbox Code Playgroud)

例如,App Engine不允许您使用超过30个,因为它们直接转换为IN数组中每个项目的一个查询,因此强制您使用他们的方法来处理扇出.虽然这可能是Mongo中最有效的方法,但它的代码要复杂得多,所以我更喜欢使用这种通用方法.

Mongo会有效地为合理大小的数据集执行这些$ in查询吗?

mongodb

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

使用CoffeeScript列表推导进行过滤

CoffeeScript文档声明列表推导应该能够执行选择/过滤操作:

它们应该能够处理大多数你将使用循环,每个/ forEach,map或select/filter的地方.

你可以想象你可以在一条线上做点什么,result = item for item in list if item % 2 == 0 但是我能来的最近

list = [1,2,3,4]
result = []
for item in list
  if item % 2 == 0 then result.push item
Run Code Online (Sandbox Code Playgroud)

什么是最简洁的方法来过滤CoffeeScript中的列表?

list-comprehension coffeescript

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

ListProperty的密钥与App Engine中的多对多

作为一个假设的例子,我有一个模型TodoItem和一个模型TodoList.TodoList具有TodoItems的有序列表,并且任何一个TodoItem可以属于任意数量的TodoLists(多对多).除了TodoList中TodoItem的顺序之外,不需要存储关于其关系的其他信息.在数据存储中表示这一点的最佳方法是什么?

有两种实现方法 - 给TodoList类一个db.Key的ListProperty,它将引用TodoItem:

class TodoList(db.Model):
  items = db.ListProperty(db.Key)
Run Code Online (Sandbox Code Playgroud)

或者创建一个也包含订购信息的ListItem模型:

class TodoListItem(db.Model):
  item = db.ReferenceProperty(TodoItem)
  list = db.ReferenceProperty(TodoList)
  order = db.IntegerProperty()
Run Code Online (Sandbox Code Playgroud)

我肯定会通过对模型进行非规范化来优化它,但是预优化,任何一种表示都优于另一种吗?

google-app-engine models

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

从cakefile任务中观察CoffeeScript文件时的输出

我想做一个Cakefile任务来观看一些CoffeeScript文件,就像我运行一样coffee -c -w js/*.coffee.

它成功地观察并重新编译它们,但是当出现编译错误时它没有将通常的输出记录到终端,就像我刚刚从终端运行脚本一样.知道如何实现这一目标吗?

exec = require('child_process').exec

task 'watch','watch all files and compile them as needed', (options) ->
    exec 'coffee -c -w js/*.coffee', (err,stdout, stderr) ->
        console.log stdout
Run Code Online (Sandbox Code Playgroud)

另外,如果有更好的方法从cakefile调用coffeescript命令而不是运行'exec',请发布它.

coffeescript

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

Rails将schema.rb时间戳更改为日期时间

与其他开发人员合作时,这个问题似乎一直在发生.我们有一个像这样的迁移创建的表(由postgres支持):

create_table :subscription_events do |t|
  t.integer :subscriber_id
  t.text :source_url
  t.text :params
  t.text :session

  t.timestamps
end
Run Code Online (Sandbox Code Playgroud)

然后在运行rake db:migrate之后的未来看似随机的时间点,Rails想要更新schema.rb文件datetime而不是使用timestamp,导致整个create_table调用的另外令人困惑的重新注册:

   create_table "subscription_events", :force => true do |t|
-    t.integer   "subscriber_id"
-    t.text      "source_url"
-    t.text      "params"
-    t.text      "session"
-    t.timestamp "created_at",    :limit => 6, :null => false
-    t.timestamp "updated_at",    :limit => 6, :null => false
+    t.integer  "subscriber_id"
+    t.text     "source_url"
+    t.text     "params"
+    t.text     "session"
+    t.datetime "created_at",    :null => false
+    t.datetime "updated_at",    :null …
Run Code Online (Sandbox Code Playgroud)

postgresql activerecord ruby-on-rails rails-migrations

4
推荐指数
1
解决办法
2925
查看次数

Google App Engine上的交叉点

当用户Facebook连接到我的网站时,我想将用户的Facebook好友列表范围缩小到那些已经注册我网站的用户.

所以我有两个清单

  • 用户的Facebook好友代码列表(约1000)
  • 已注册我网站的所有FB用户的GAE表(约1000)

最有效的方法是对所有已注册的FB用户的UID执行单个查询并在代码中执行交集吗?

如果有更多像10,000名FB用户注册的话,那么最有效的方法是在30秒内无法通过查询检索到这些用户?

google-app-engine facebook google-cloud-datastore

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