what is cyber-dojo?
- cyber-dojo is where programmers practice programming!
- cyber-dojo is a learning environment, designed for working together, for going slower, for improving your skill
- an IDE is a development environment, designed for working individually, for going faster, for finishing a project
the 3 main pages
tips, faqs, stats
- cyber-dojo tips
- frequently asked questions
- interviewing and cyber-dojo
- traffic-lights
- analyzing traffic-light transitions
- what's most popular?
- an old screencast - roman-numerals in Ruby
- a common use case
start points
- how do I create and share a customized practice session?
- the default server start-points
- creating your own server start-points
- cyber-dojo language's manifest.json entries explained
- adding a new language and unit-test framework to cyber-dojo
running your own cyber-dojo server
- using Kubernetes
- using Docker on Linux, on a Mac, on Windows
- upgrading your server to HTTPS
- contributing to development
- how is cyber-dojo implemented?
Any plan to support "Kotlin" language?
ReplyDeleteHello Jon,
ReplyDeleteAny plans to support Behave with Python so we could do BDD with Python?
Do you accept pull requests if you need help?
Thanks You,
Carlton
Hi Cartlon,
DeleteI have no personal plans to support Behave with Python.
It's not that I don't think it would be valuable - it's simply that I have a stack of other things I have to do first. I did most of the Dockerfiles for the various language+testFrameworks but by no means all.
Yes I certainly do accept pull requests :-)
Cheers
Jon
Awesome stuff! How can I check the versions and libraries available for the programming languages?
ReplyDeleteThe only way would be to start a cyber-dojo with the one you're interested in (eg C++ clang), then add commands to the cyber-dojo.sh file to get it to print out the version number, then hit the test button.
DeleteUpdate! Each language's readme file (in its github repo) now mentions its version number, which is checked against the actual version number as reported by the language from inside its docker container.
DeleteUpdate! Each base language's repo now has a check_version.sh script which holds the current language version (eg gcc https://github.com/cyber-dojo-languages/gcc/blob/master/check_version.sh)
DeleteC# with NUnit doesn't compile? '/nunit/NUnit.2.6.2/lib' in MONO_PATH doesn't exist or has wrong permissions.
ReplyDeleteCompilation failed: 1 error(s), 0 warnings
error CS0006: Metadata file `/nunit/NUnit.2.6.2/lib/nunit.framework.dll' could not be found
Am I missing something?
Rats there's a version mismatch. Sorry. I'll fix it in the morning. Meanwhile here is the corrected cyber-dojo.sh
ReplyDeleteNUNIT_PATH=/nunit/lib/net45
export MONO_PATH=${NUNIT_PATH}
mcs -t:library \
-r:${NUNIT_PATH}/nunit.framework.dll \
-out:RunTests.dll *.cs
if [ $? -eq 0 ]; then
NUNIT_RUNNERS_PATH=/nunit/tools
mono ${NUNIT_RUNNERS_PATH}/nunit3-console.exe --noheader ./RunTests.dll
fi
Can you please fix the link above on contributing, it's broken https://github.com/cyber-dojo/cyber-dojo/blob/master/docs/CONTRIBUTING.md
ReplyDeleteFixed. Thank you.
DeleteAre you aware of anyone attempting TCR (Kent Beck's Test Commit Revert) using cyber-dojo?
ReplyDeleteYes. TCR was the initial request for traffic-light prediction. TCR equates to a cyber-dojo green prediction. Being able to predict amber and red is a generalization of the idea; it helps to provide strong feedback on how "in control" you are!
ReplyDelete