小编Far*_*ion的帖子

django我们可以在预取相关模型上选择相关的字段吗?

为简单起见,假设这些为django模型:

class A():

    a = manytomany('B')

class B():

    b = charfield()
    z = foreignkey('C')

class C():

    c = charfield()
Run Code Online (Sandbox Code Playgroud)

我们可以做这样的事情来获取z:

foo = A.objects.get(pk = 1).prefetch_related('a').select_related('a__z')
Run Code Online (Sandbox Code Playgroud)

django

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

Dart有一种方法可以测量小代码的执行时间

我做了一些涉及解析html的片段,想知道代码是否运行缓慢,这是可行的吗?

dart

15
推荐指数
3
解决办法
2949
查看次数

如何将DateTime对象转换为json

如何将DateTime对象转换为json?它抛出Converting object to an encodable object failed.,这是一个bug还是它还dart没有支持它?如果你们知道一些解决方法,请告诉我.

json dart

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

双向握手和三次握手

我正在读一本关于Tanenbaum写的关于计算机网络的书,专门讨论握手问题.在那里,他解释了双向握手是不够的,考虑到这种情况:

A想要将钱转移到B,所以A向B发送SYN,然后B向A发送ACK.建立连接然后A可以发送他的钱,然后在完成后丢弃连接.如果从A到B的SYN重复延迟,B将再次发送其ACK,A将再次转移其资金.

如果我理解正确的话,这是基于Tanenbaum所写的书的双向握手的弱点之一.这本书说三方握手可以解决这个问题.

由于A的延迟重复SYN,B发送一个被A拒绝的ACK和SYN.这是我无法得到的地方,就好像"嘿B你为什么给我发送SYN和ACK?哦,我知道,这是来自延迟的SYN,我应该放弃它." 为什么不,在双向握手中,A不知道ACK是由延迟的重复SYN做出的?

谢谢.

networking

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

使用特定模式定义键和弦键

如何仅在特定模式下定义键和弦键,例如我想将cider repl仅绑定到clojure-mode或中的特定键cider-mode.我只能找到一个全局激活密钥的示例.

谢谢你的帮助.

编辑:

(require 'evil)
(require 'key-chord)
(evil-mode 1)

(key-chord-mode 1)
(key-chord-define evil-insert-state-map "jk" 'evil-normal-state)
(key-chord-define-global "gt" 'other-window)
(key-chord-define clojure-mode-hook "gj" 'cider-jack-in)
;; error : Wrong type argument: keymapp, (rainbow-delimiters-mode)


(provide 'init-evil)
Run Code Online (Sandbox Code Playgroud)

emacs

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

无法在渲染阶段之外操纵光标

尝试第一次做出反应,我想做一个简单的待办事项列表应用程序.但每次按下Enter键都会触发onSubmitUncaught Error: Cannot manipulate cursor outside of render phase, only om.core/transact!, om.core/update!, and cljs.core/deref operations allowed.虽然我认为这是一个非常好的错误信息,但我不知道该怎么做.

(ns app.core
  (:require [om.core :as om :include-macros true]
            [sablono.core :as html :refer-macros [html]]))

(def app-state (atom
                {:todos [{:todo "first"}
                         {:todo "second"}]
                 :current ""}))

(defn to-do
  [data]
  (om/component
   (html [:li (:todo data)])))

(defn to-dos
  [data]
  (om/component
   (html [:div
          [:form {:on-submit (fn [e]
                               (.preventDefault e)
                               (om/transact! data :todos (fn [v]
                                                           (js/console.log (:current data))
                                                           (conj v (:current data)))))}
           [:input {:type "text" 
                    :placeholder "Enter …
Run Code Online (Sandbox Code Playgroud)

clojurescript om

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

Dart如何制作一个可以接受任意数量args的函数

来自python,我知道我可以很容易地做到这一点:

def someFunc(*args):
    for i in args:
        print i
Run Code Online (Sandbox Code Playgroud)

这样我就可以轻松地给出100个args.

如何在Dart上做类似的事情?

谢谢.

dart

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

dart正则表达式匹配并从中获取一些信息

为了练习,我决定构建类似Backbone路由器的东西.用户只需要给出正则表达式字符串r'^first/second/third/$',然后将其挂钩到View.

例如,假设我有RegExp这样的:

String regexString = r'/api/\w+/\d+/';
RegExp regExp = new RegExp(regexString);
View view = new View(); // a view class i made and suppose that this view is hooked to that url
Run Code Online (Sandbox Code Playgroud)

并且HttRequest指向/api/topic/1/和那将匹配正则表达式,然后我可以渲染任何挂钩到该URL.

问题是,从上面的正则表达式,我怎么知道它\w+\d+价值是topic1.

关心给我一些指点吗?谢谢.

regex dart

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

实例化命名空间 javascript 类

我想使用 google 地图 api v3,它需要我实例化google.maps.LatLng. clojurescript我就是这样做的:

(ns foocljs.core)

(LatLng. (.-maps js/google) 100 100)
Run Code Online (Sandbox Code Playgroud)

我收到一个错误undefined is not a function,这是罪魁祸首:

new foocljs.core.LatLng(foocljs.core.google.maps, // ... another args
Run Code Online (Sandbox Code Playgroud)

我猜这是因为编译器认为这LatLng.是 clojure 命名空间类。这该如何处理呢?谢谢。

clojurescript

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

用于更新向量内部地图的clojure方法

什么是更新矢量中的地图的clojure方式,例如,如果我有这样的东西,假设每个地图都是唯一的 :name

(def some-vec
  [{:name "foo"
    ....}
   {:name "bar"
    ....}
   {:name "baz"
    ....}])
Run Code Online (Sandbox Code Playgroud)

如果它:name等于,我想以某种方式更新地图foo.目前我正在使用map,就像这样

(map (fn [{:keys [name] :as value}]
       (if-not (= name "foo")
         value
         (do-something .....))) some-vec)
Run Code Online (Sandbox Code Playgroud)

但是这将循环遍历整个向量,即使我只更新一个项目.

clojure

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

Dart在地图中使用`this`就像在Javascript上一样

javascript我们可以做这样的事情:

var x = {
  'name' : 'john',
  'modifiedName' : function () { return this.name + ' <- modified'}
};
Run Code Online (Sandbox Code Playgroud)

所以x.modifiedName()返回 john <- modified

怎么做dart

我想使用a中的一些值Map来返回键的值,javascript例如示例.

javascript dart

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

Dart - 如何提供gzip编码的html页面

我正在尝试gzip .html文件然后管道它HttpResponse.

import 'dart:io';

void main() {
  File f = new File('some_template.html');
  HttpServer.bind('localhost', 8080)
    .then((HttpServer server) {
      server.listen((HttpRequest request) {
        HttpResponse response = request.response;
        f.openRead()
          .transform(GZIP.encoder)
          .pipe(response);
      });
    });
}
Run Code Online (Sandbox Code Playgroud)

没有错误,但浏览器不是提供html页面,而是下载压缩的html页面.小心给我一个提示?

dart

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

如何设置默认路由?

使用compojure如何设置默认路由,例如

(defroutes app
  (GET '/api/user/:id/' [] show-user)
  (default-handler render-template)) ; this is what I want
Run Code Online (Sandbox Code Playgroud)

反正有没有实现这个目标?我知道not-found,但它给了我404 http状态.

clojure

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

标签 统计

dart ×6

clojure ×2

clojurescript ×2

django ×1

emacs ×1

javascript ×1

json ×1

networking ×1

om ×1

regex ×1