Has anybody used Furnace(https://github.com/tinkerpop/furnace) with Tinkerpop blueprints? The library seems to have a number of good graph algorithms, but there are no examples on how to use them.
There are no official releases of Furnace and as such Furnace is highly experimental. Furnace is part of the 2.x line of TinkerPop technology. You would be better off looking at the TinkerPop 3.x line which takes the ideas in Furnace and rolls them into an improved computing model. TinkerPop 3 will be in official release pretty soon. You can read more about it here:
http://www.tinkerpop.com/docs/current/#_the_graphcomputer_api
Related
My team is developing a Java web system using the Play framework and implementing Angular.js throughout. My question is, should I use Cucumber-java or Cucumber.js for automated BDD functional testing? What are the pros and cons of each when using them against this technology stack?
I've found very little online about which to use with this particular technology stack.
Firstly, the Cucumber is designed as a collaboration tool. If you're looking for a test automation tool, then you're probably best off choosing something that doesn't add the overhead of devising and maintaining a plain-English, ubiquitous language.
If you are collaborating with non-technical stakeholders, then Cucumber is a good choice. The whole team will collaborate writing the scenarios, but it will be the devs and testers that write the 'glue' that links the scenarios to the application you're building. If you choose Cucumber-JVM you'll write the glue code in Java/Groovy (or other JVM language); if you choose Cucumber-JS you'll write the glue code in Javascript. So, one of the questions to ask is "what language will my testers and devs be most comfortable using?"
You'll probably mostly drive your app through an interface that it exposes(e.g. the GUI or a published RESTful API). Whichever Cucumber you choose, your 'glue' code will use some other library to interact with your application (e.g. Selenium WebDriver), so another question to ask yourself is "are the libraries I need available for Java or Javascript?"
Sometimes you might want your 'glue' code to talk directly to your application code. Cucumber-JS 'glue' can easily call Javascript directly, Cucumber-JVM 'glue' can easily call Java directly - so that might affect your choice. Remember, though, that only a minority of your scenarios will normally bypass your application's interface, so if this is your major stumbling block, you should revisit your approach to BDD. Some of these tradeoffs are also discussed in these slides
Finally, my feeling is that Cucumber-JVM is currently more mature than Cucumber-JS. Aslak Helesøy and Julien Biezeman are founders of Cucumber Ltd (along with Matt Wynne), so I expect them to reach parity at some point. For more information about Cucumber take a look at their online videos or <personal_plug>buy The Cucumber for Java Book</personal_plug>.
Before signing a vendor-lock from the open source perspective I would compare:
number of open issues, the less the better, no serious issue should be left open for years
number of unapproved pull requests, the less the better, no request should be left pending for months
what the key developers say about their product
your estimated technology learning costs
...?
Cucumber-JVM
Issues: GitHub: /cucumber/cucumber-jvm/issues
Pull requests: GitHUb: /cucumber/cucumber-jvm/pulls
Heroes: GitHub: /cucumber/cucumber-jvm/graphs/contributors
→ Aslak’s view of BDD, Cucumber and automated testing, December 12, 2014
Cucumber.js
Issues: GitHub: /cucumber/cucumber-js/issues
Pull requests: GitHub: /cucumber/cucumber-js/pulls
Heroes: GitHub: /cucumber/cucumber-js/graphs/contributors
→ Cucumber.js for BDD in JavaScript: An Interview with Julien Biezemans, April 15, 2014
User's voice may be also a good indicator but that would fall into the site's off-topic category
primarily opinion-based
Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.
Does anybody have a guide to this, containing code samples, tips and an outline of the different IO approaches?
I have checked out the the API documentation. There are also some basic examples with scala.io.Source in Programming in Scala.
There are some pretty basic questions already answered here on SO.
I'm looking for something more in depth.
Alternatively, any tips on exactly which bits of the API documentation to focus on and which Java libraries? I'm familiar with System.IO in .NET land, but not so much Java.
Scala's standard library is currently pretty limited for I/O, so you'll probably want to dig into Java's libraries. Oracle's Basic I/O tutorial, covering java.nio, looks like a reasonable starting point.
A while ago there was some discussion about a community driven redesign of Scala I/O called scala-io, but I'm not sure the official status. The mailing list hasn't seen much recent activity, but the code in Github is being actively developed (incubator mailing list and Github project). In his answer, hishadow gave a link to scala-io documentation.
My tip is to look also at tools Path,File and Directory.
They have little sugar (that everyone has in their little utils library) like:
val writer = File("/my/file").bufferedWriter
File.closeQuietly(writer)
Directory("myDir").walk
Then have a look at Process like here
There is an in-development IO library with documentation available at http://jesseeichar.github.com/scala-io/. Included are examples for different usages.
The source repository is at https://github.com/jesseeichar/scala-io.
I recommend looking at java.nio.
Due to technical limitations of the underlying Java platform implementing IO in Scala wasn't a good idea.
This has changed with Java 7, which provides good Java APIs for everything related to file management.
There are some thoughts about an IO library for Scala, but no decision about that yet.
The author of scala-IO, Jesse Eichar, has recently began a series of articles about using Scala-IO on his blog: here's the 'getting started' entry.
I'm considering using the Agile Toolkit, ATK4 to upgrade a number of web projects that I'm working on. I really like the idea/paradigm that the Agile Toolkit presents, but I'm worried about documentation.
The agile website's documentation is sparse, in broken English, and seems to 'paraphrase' the symfony documentation.
The agile toolkit alleges to have been in development/production since 1999, yet there are only a handful of StackOverflow.com posts regarding agile, and next to nothing comes up in Google searches...
In short is it worth spending time learning the Agile toolkit, or would my time be better spent on a framework that has more of an active support community? I've tried a few other frameworks, but ATK's implementation really stands out...
Initially ATK was born as an internal tool from Agile Technologies (.ie) so that has been conceived in 1999 but it was recently launched as dual licensed framework.
That's why it lacks some documentation and has not a huge community nor appears Googling.
I was amazed at first sight by its working way proposal so that I engaged it. The documentation has been already improved and over the time it will keep getting better and community will grow.
I had the chance to get in touch with the lead developer and trust me, it will get better and better.
Even, as an example all the ATK4's site is developed with the toolkit and the code is short and pretty easy to read.
Good luck!
ATK4 does have many examples, and code is concise and clear. It accomplishes the goal of wrapping server-side and client-side into one comprehensive framework via php. Plus it looks nice. It does appear that documentation is improving.
Yep - agree with what the others are saying - Romans is doing a great job of getting the documentation updated. I started writing an application in straight php but realised i was going to need to use jquery to get a nice, cross browser compatible front end and wanted a php framework that would support that.
I looked at Yii, Cake and CodeIgniter but ATK4 really seems to do what i wanted. Like anything, it takes a bit of getting used to and i'm still relatively new to both php and ATK4 but i've rewritten what i already had for my application in the framework and the code is so clean - all the html and css are separate and the page code is really compact. The integration with Jquery is great and i've just written a plugin that i needed to get jqplot working for nice looking graphs.
I am beginner to ExtJS technology. I wish to learn it.
But, how should I start it ?
Sencha's price is too high to buy ?
Is Sencha's tutorial available for free ?
Is ExtJS needs to be run in a special IDE ?
Thank you
Its free using the gpl terms, download it and toy with the examples. Anything you would make money from would be able to easily pay for the cost of the kit.
You'll find several guides accessible from the API docs main page: http://docs.sencha.com/ext-js/4-0/
There are books you can buy, though I don't if any of them covers Ext4. Note that transitioning from Ext3 to Ext4 is rather easy and straightforward (I wouldn't know about migrating an existing codebase).
There is no IDE requirement, ExtJS is straight JavaScript.
We are Silverlight Unit Test Framework for testing.
Which one will be better for my team? Rhino Mocks or Moq. No one has any experience with using a framework like this.
What are the pros and cons of using each framework in this environment?
Take a look at both, and see which syntax suites you and your teams skillset.
Rhino Mocks has been around for nearly 4 years, and supports a couple different symantics. The record/playback is the oldest, and the Arrange Act Assert (AAA) is the newest. I would say that in the community, Rhino Mocks is the standard framework due to how long it has been around, and how easy it is to find examples, documentation, and help with.
Moq is really about 1 year old, and relies heavily on .Net 3.5 syntax, like lambdas. I think because of how new it is, it might be harder to find people who have used it, and get help with it.
More important than the framework you choose, is getting an understanding of how mocks help you test, and also how they can change the way you think about designing systems for testability. In the end, the framework doesn't matter, the experience and knowledge matters.
There's not much impact of Silverlight itself on the frameworks, and using them is not much different than doing so in full .NET
RM is said to have steeper learning curve, and MoQ allegedly has cleaner API, but RM on the other hand, has been around for much longer, and probably supports more corner-case scenarios.
I'd suggest to spike with both, and choose whichever you find suits you better.
I prefer Moq for its lamba-like syntax.
I find it very difficult to use Moq with ref/out parameters in functions setup's... Switched to Rhino because of this