小编Eri*_*ack的帖子

在运行测试时,如何让emacs cider(clojure模式)使用我的测试环境变量?

我已经database-url为开发和测试环境设置了单独的,当在REPL中运行我的webapp和lein test从命令行运行时,这很好用.这是我的profiles.clj:

{:profiles/dev  {:env {:database-url "wiki"}}
 :profiles/test {:env {:database-url "wiki-test"}}}
Run Code Online (Sandbox Code Playgroud)

正确的数据库实例被击中的证据(我正在使用CouchDB):

;; Running the site from the REPL:
[info] [<0.12149.0>] 127.0.0.1 - - GET /wiki/home-page 200
[info] [<0.10353.0>] 127.0.0.1 - - GET /wiki/about 200

;; Running lein test:
[info] [<0.12026.0>] 127.0.0.1 - - GET /wiki-test/welcome 404
[error] [<0.12933.0>] Could not open file /usr/local/var/lib/couchdb/wiki-test.c
Run Code Online (Sandbox Code Playgroud)

但是,当我在Emacs中通过Cider运行测试时,它使用dev环境,因此使用了错误的数据库实例.

我该如何解决?

emacs clojure cider leiningen

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

Leiningen提出"试图在没有TLS的情况下使用不安全的HTTP存储库".但对于哪个依赖?

我正在使用Leiningen在我的Raspberry Pi 3上运行Clojure项目(运行延伸),之前我使用的是2.7.1没有问题,但升级到lein上的最新版本(2.8.1)我现在得到这个错误一些依赖(但不是其他):

Tried to use insecure HTTP repository without TLS
Run Code Online (Sandbox Code Playgroud)

但是,lein并没有告诉我哪些依赖项导致了问题,那么如何发现哪些依赖项会导致此错误?

是否可以为某些依赖项禁用此安全功能?我只在家庭网络上运行,所以认为这是可以接受的.

clojure leiningen clojars

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

如何在Pharo Smalltalk中从字符串创建英国日期?

我有一些代码可以成功解析字符串来创建日期:

date := string asDate
Run Code Online (Sandbox Code Playgroud)

但这假设美国日期格式为mm/dd/yyyy.

我知道我可以用英国格式输出日期字符串,如下所示:

date printFormat: #(1 2 3 $/ 1 1)
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,如何从英国格式日期字符串dd/mm/yyyy创建日期?

我检查了String >> asDate方法,这没有任何格式参数.看Date类>> readFrom :( asDate调用)它似乎有英国代码,但如何指示这是我想要的?

smalltalk pharo

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

如何在 Smalltalk 中制作非常大的文本?

我正在尝试在 Squeak Smalltalk 中制作一个大文本横幅,代码如下:

t := TextMorph new.
t string: 'You win!' fontName: 'BitstreamVeraSans' size: 400.
t extent: 600@100.
t center: Display center.
t openInWorld.
Run Code Online (Sandbox Code Playgroud)

但文本大小似乎最大约为 60。我是否使用了错误的类?我不需要文本可编辑。

smalltalk squeak

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

如何在Scratch中确定另一个精灵的方向

我正在为MIT Scratch中的教育编写一个简单的游戏,并想让精灵转向另一个精灵(想想一个跟随我们英雄船的外星人船).我可以很容易地让外星人的船指向英雄:

point towards 'hero'
Run Code Online (Sandbox Code Playgroud)

但我真正想做的是这样更渐进的事情:

if alien direction (in degrees) > direction of hero: turn -2 degrees
if alien direction (in degrees) < direction of hero: turn 2 degrees
Run Code Online (Sandbox Code Playgroud)

那我如何确定'英雄的方向'?

mit-scratch

5
推荐指数
2
解决办法
2108
查看次数

使用Smalltalk Seaside测试数据或等效测试数据?

我一直在使用我正在玩的Seaside应用程序中的测试驱动开发,并且我的所有数据都作为对象存储在图像中(而不是数据库).

因此,当我运行测试时,我必须小心存储真实数据,然后才能使用测试数据进行删除,如下所示:

ToDoTest>>setUp 
    savedTasks := Task tasklist.
    Task deleteAllTasks.

    savedProjects := ToDoProject projectlist.
    ToDoProject deleteAllProjects.

    savedPeople := Person peoplelist.
    Person deleteAllPeople.
Run Code Online (Sandbox Code Playgroud)

和:

ToDoTest>>tearDown
    Task tasklist: savedTasks.
    ToDoProject projectlist: savedProjects.
    Person peoplelist: savedPeople
Run Code Online (Sandbox Code Playgroud)

问题来自我的测试失败,当然他们这样做,这会弹出调试器,然后我可以解决,但是tearDown并不总是被调用,所以我可能会丢失我的真实数据.

我确实将数据保存到文件中,所以这不是一个大问题,但它并不像我希望的那样顺畅和自动化.

无论如何我可以改善这个吗?

smalltalk seaside pharo

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

我如何在Smalltalk Pharo中睡几秒钟,并能够打断这个?

我正在调试一些键盘事件代码,我想循环睡眠(让我有机会创建键盘事件),但是当我这样做时,Pharo不会让我退出Command-.所以调试很困难.我不得不等待500秒来修复下面的代码...

100 timesRepeat: [ 
    Transcript show: 'Type an a... '.
    (Delay forSeconds: 5) wait.
    (Sensor keyPressed: $a) ifTrue: [ Transcript show: 'you pressed a' ].
]
Run Code Online (Sandbox Code Playgroud)

那我该如何制作Command-.工作,还是有更合适的东西(Delay forSeconds: 5) wait.

smalltalk pharo

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

如何在Racket中将实数转换为精确整数?

如何将表单的值转换20.2为可以(random ...)接受的值?

我已经尝试过这些:

;; x defined by some earlier maths and of form 20.2

(random (round x))
(random (floor x))
Run Code Online (Sandbox Code Playgroud)

但是两者都返回:

random: contract violation
expected: (or/c (integer-in 1 4294967087) pseudo-random-generator?)
given: 20.0
Run Code Online (Sandbox Code Playgroud)

scheme racket

5
推荐指数
2
解决办法
4437
查看次数

Smalltalk ReferenceStream有新实例变量的问题吗?

在Pharo Smalltalk中,我使用ReferenceStream来序列化对象列表 - 这是我正在序列化的对象的类定义:

Object subclass: #Task
instanceVariableNames: 'title notes list project dateNextAction dateCreated dateCompleted importance selected'
classVariableNames: 'Database'
poolDictionaries: ''
category: 'ToDo'
Run Code Online (Sandbox Code Playgroud)

我正在使用SMFileDatabase此处描述的方法:http: //book.seaside.st/book/advanced/persistency/image-based-persistency

这一直运行良好,不用为我的原型应用程序使用数据库是很好的.

Howevere,这里的问题:当我一个新的实例变量添加personTask从ReferenceStream断裂负荷:

Object subclass: #Task
instanceVariableNames: 'title notes list project person dateNextAction dateCreated dateCompleted importance selected'
classVariableNames: 'Database'
poolDictionaries: ''
category: 'ToDo'
Run Code Online (Sandbox Code Playgroud)

它似乎没有发现新的变量,值加载到错误的插槽中,这样的人需要的价值dateNextAction,dateNextAction需要dateCreated等.

我怎么能阻止这种情况发生?

我通过将新变量放在列表的末尾来实现它,但我想按类型对变量进行分组.

smalltalk pharo

4
推荐指数
2
解决办法
255
查看次数

如何在Django-CMS中显示Next和Previous页面链接

我们有一个用Django-CMS构建的网站,并开发了一个带有替代CSS的移动版本,以适应较小的可视区域.与通常的导航栏一样,我们希望在每页底部包含"下一页"和"上一页"链接.

我知道如何使用以下代码输出当前页面的兄弟姐妹:

{% show_menu current_page.level %}
Run Code Online (Sandbox Code Playgroud)

输出链接到下一页和上一页的最简单方法是什么?

django-cms

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