Issue June 2015 | presented by www.jaxenter.com #45 The digital magazine for enterprise developers Trust in Rust 1.0 The cons of Git and Mercurial Slowing down peer reviews Taking control of your CV Where to get the best programming experiences Automated End-to-End Testing ... and way more tips and tutorials ©iStockphoto.com/highhorse Editorial Get more experience What makes a good programmer? Every developer will on a tour of the new release of Rust 1.0, still fresh off the give you a different answer. But assuming you already have a shelves. In the testing section, Claire Fautsch and Daniel Wit- combination of talent, education and fortunate social circum- kowski are walking us through automated end-to-end test- stances, what else is it that will guarantee you a bright career ing and handy open-source testing tools. From the Big Data in IT? Is there some combination of special ingredients needed world, we have Pierre Fricke showing us the new Foreign Data for a CV to impress employers? If you ask Shutterstock’s Di- Wrappers in Postgres. If you’re interested in FinTech, Lars rector of Engineering, the one thing that really counts is real Markull is predicting big things for Banking Service Providers. life development experience. “To gain real world skills, de- Meanwhile, we’re also taking at look at how to avoid hiccups velopers have to create and take control of their own curricu- when moving to a new version of Oracle SOA or a distributed lum,” writes Sandeep Chouksey in this latest issue, explaining version control system like Git or Mercurial. Finally, we’ve exactly where it is that straight-out-of-uni programmers can also got an overview of the big JavaScript frameworks for any- begin finding gems for their CV. one that wants to look beyond the horizon of AngularJS – all In keeping with this line of thought, we’ve got an especially in all, plenty of places to continue gaining new experiences. high amount of IT experiences for you in this JAXMagazine issue. First up, Rust team member Huon Wilson is taking us Coman Hamilton, Editor Why you should take a closer look at Rust 1.0 4 Rust 1.0: Safe Systems Programming Huon Wilson Index Taking control of your own curriculum 7 Finding the best programming experiences Sandeep Chouksey How Git and Mercurial can hurt your code review 9 The problems of DVCS Marcin Kuzminski Automated end-to-end testing using Vagrant, Puppet and JBehave 11 Regression Testing Dr. Claire Fautsch Improving response time and latency measurements 15 Open-source tools for better testing Daniel Witkowski Disrupting Finance IT with Banking Service Providers 20 Making it easier to disrupt finance IT Lars Markull Siloed data – the new Postgres feature 22 The data runs through it Pierre Fricke 7 tips for a successful Oracle SOA Suite upgrade 24 Keeping major and minor upgrades smooth Matt Brasier Choosing the right JavaScript framework 26 AngularJS, Ember or Backbone Amanda Cline Enhancing quality of experience for content-rich sites 28 Giving users what they want when they want it Parvez Ahammad www.JAXenter.com | June 2015 2 Hot or Not Rust 1.0 Rust 1.0 has arrived and people are pretty happy about it. You don’t need a garbage collector or runtime to achieve super duper control of performance with added security, meaning the newest competitor to the likes of C, C++ and Google’s Go is ready to kick ass. It’s stable, too – the Rust team want to be the foundation blocks of your apps and libraries, with the marriage of stability and regular release cycles meaning they’re ready for a big commitment *wink wink*. Netflix OSS is special Sharing salaries And we mean special in a nice way, with #talkpay of course – with Netflix OSS taking home the Special Jury Award at this In a bid to try and kickstart interest and year’s JAX 2015 conference in Mainz, dialogue about the issue of pay inequal- Germany. The entertainment platform ity, developer Lauren Voswinkel plainly is big on open source and just, well, disclosed her salary, job title and experi- big … you know? From huge libraries ence under the hashtag #talkpay – and a to huge amounts of open-source tech, lot of devs and tech heads followed suit. Netflix knows that bigger is best and Normally a taboo topic, talking openly puts its success down to the fact that about pay is what Voswinkel believes their firm is massively into the open will help make the act more common- approach. Netflix’s openness “result- place, as well as clearly addressing the ed in our projects being of much high- issue. Are you a woman in tech? Then er quality than if we had kept them #talkpay is for you. From an ethnic mi- internal”, says their Senior Software nority? Still for you. A member of the Engineer Ben Christensen. And that LGBT community, or basically not the probably goes for all projects making stereotypical white male techie? Then the use of their tools. initiative aims to serve you. Jigsaw Schmigsaw R.I.P Agile So Java 9 will land in September 2016, If the creators of your favourite but Project Jigsaw plans to ruin the software development method welcome party. Nicolai Parlog deliv- are calling for its head, then you ered the breaking news (chuckle) that know there’s trouble brewing in the project will likely f*ck up exist- the Agile camp. Dave Thomas and ing code. Whilst the breach depends Andy Hunt have both declared on what you’re working on, internal death upon the Agile house, la- APIs and JARs may become unavail- belling the framework akin to a able and have you banging your head meaningless collection of apho- against a wall moreso than usual with risms and marketing slogans. The Java. You might also want to check if idea of “inspect and adapt” as the you’re using the extension mechanism, basis of Agile has been supplant- which can be made available to all ap- ed by “A gile zealots” says Hunt, plications running on the JDK, because so he’s created a new framework that’s going bye-bye come Java 9. Be- in his own attempt to usurp the fore the move, get yourself schooled to usurpers (The GROWS Method). the nines. Piss off, half arsed Agile-buffs. www.JAXenter.com | June 2015 3 aangange ©iStockphoto.com/highhorse Rust 1.0: Safe Systems Programming Why you should take a closer look at Rust 1.0 Blazingly fast performance, prevention of nearly all segfaults and low-level control and performance without sacrificing safety or abstractions – these are the promises made by the 1.0 release of Rust. And that’s just the start. Rust team member Huon Wilson shows us what’s most exciting about the Mozilla-sponsored systems programming language. by Huon Wilson • Abstraction without overhead • Stability without stagnation The Rust programming language has just reached 1.0, after several years of iterative improvement. It is a modern sys- No garbage collection tems language, designed to give you low-level control, high Garbage collection is a powerful tool in software engi- performance and powerful concurrency – combining many neering, freeing you from worrying about keeping track of of the best features from other languages, while losing the memory manually and allowing you to get on with the task worst pitfalls of traditional systems languages like C or C++. of writing great code. It’s great when it works, but garbage To do this, it overcomes many of the traditional trade-offs, collectors have real downsides that make them inappropriate providing: for many areas. Things like operating systems, embeddable libraries and (soft) real-time applications often need a greater • Memory safety without garbage collection degree of control and predictability than garbage collection • Concurrency without data races can offer. www.JAXenter.com | June 2015 4 aangange owner by default, so sending a value to a new thread through a channel will ensure the original thread doesn’t have access “ The key concepts in to it: statically disallowing sharing. However, message passing is just one tool in your toolbox: Rust are ownership shared memory can be immensely useful. The type system ensures that only thread-safe data can actually be shared be- and borrowing.” tween threads. For example, the standard library offers two sorts of reference counting: Arc provides thread-safe shared memory (immutable by default), while the Rc type offers a Rust allows developers to forgo a garbage collector entire- performance boost over Arc by forgoing the synchronization ly, without being thrown back into a world of forgotten frees, needed for thread-safety. The type system statically ensures dangling pointers and segfaults. The key concepts in Rust are that it is not possible to accidentally send an Rc value from ownership and borrowing. These ideas are ubiquitous in pro- one thread to another. gramming and an important part of modern C++, but unlike When you do want to mutate memory, ownership provides other industry languages, Rust puts them front and centre, further help. The standard library Mutex type takes a type pa- statically checking and leveraging them to guarantee memory rameter for the data that is to be protected by the lock. Own- safety without a garbage collector, something that has been ership then ensures that this data can only be accessed when previously unthinkable. the lock is held; you cannot accidentally release the lock early. Rust’s idea of ownership is that each value has exactly one This sort of access-control guarantee falls automatically out parent that has complete control.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages29 Page
-
File Size-