background preloader

Semantic Versioning 2.0.0

Semantic Versioning 2.0.0
Summary Given a version number MAJOR.MINOR.PATCH, increment the: MAJOR version when you make incompatible API changes,MINOR version when you add functionality in a backwards-compatible manner, andPATCH version when you make backwards-compatible bug fixes. Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format. Introduction In the world of software management there exists a dread place called "dependency hell."

Related:  derrickcurrySoftware Developmentdevelopmentfront-endGit

Popping Out of Hidden Overflow The following is a guest post by Agop Shirinian. Agop ran into an interesting scenario where he needed an element to be scrollable in one direction, while allowing the overflow in the other direction. You'd think that's what overflow-x and overflow-y are for, but it's not that simple. I'll let Agop explain. So you're tasked with creating a scrollable menu with submenus that pop out when you hover over a parent menu item. Simple! Getting Started · Building a RESTful Web Service In Spring’s approach to building RESTful web services, HTTP requests are handled by a controller. These components are easily identified by the @RestController annotation, and the GreetingController below handles GET requests for /greeting by returning a new instance of the Greeting class: src/main/java/hello/ package hello; import java.util.concurrent.atomic.AtomicLong;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController; @RestControllerpublic class GreetingController { private static final String template = "Hello, %s!"

A successful Git branching model » In this post I present the development model that I’ve introduced for some of my projects (both at work and private) about a year ago, and which has turned out to be very successful. I’ve been meaning to write about it for a while now, but I’ve never really found the time to do so thoroughly, until now. I won’t talk about any of the projects’ details, merely about the branching strategy and release management. It focuses around Git as the tool for the versioning of all of our source code. (By the way, if you’re interested in Git, our company GitPrime provides some awesome realtime data analytics on software engineering performance.)

Recently I worked with Art Processors to create... - German for black Recently I worked with Art Processors to create the “Replay” feature for The State Library of New South Wales’ “Curio” — Essentially, you get to see which exhibits you viewed at the gallery after you’ve left (you’re geotagged through the building as you explore). One particular part of this build proved difficult, I thought it may be worth sharing — The polygonally (is that a word?) masked images:

Producer-consumer problem Inadequate implementation[edit] To solve the problem, a less than perfect programmer might come up with a solution shown below. In the solution two library routines are used, sleep and wakeup. Cookie-based Authentication in AngularJS Single Page Apps are ruling the world and AngularJS is leading the charge. But many of the lessons we learned in the Web 2.0 era no longer apply, and few are as drastically different as authentication. Depending on where you build and release your AngularJS app, there are different ways to handle authentication and I hope this post clears some of that up. CORS is an oft-misunderstood feature of new browsers that is configured by a remote server. Getting Started · Building an Application with Spring Boot If you are building a web site for your business, you probably need to add some management services. Spring Boot provides several out of the box with its actuator module, such as health, audits, beans, and more. Add this to your build file’s list of dependencies:

Continuous Integration with Jenkins, Part 1 Continuous integration is a software quality control technique that checks code integrity whenever small changes are made rather than waiting for all of the code to be finished before testing and debugging it. CI asks for version control and for automated unit testing and constant package building. In principle, the automated part of the cycle can be done with cron jobs that trigger programs like xunit (tester) and make (builder). « Hannu's Plaza » Doing gravity right Now you may be thinking: "baah, I know how to do gravity.." but there's a big flaw in the commonly used Euler's method to handle the gravity (or other forces). Even all the Quake games have this problem. Then what is it?

Select You have seen two types of MySQL queries thus far: the query which we used to create a table and the query we used to insert data into our newly created table. The query in this lesson is SELECT, which is used to get information from the database, so that its data can be used in our PHP script. Finally, we get to use the data in our MySQL database to create a dynamic PHP page. In this example we will select everything in our table "example" and put it into a nicely formatted HTML table.

A JavaScript library for building user interfaces A Simple Component React components implement a render() method that takes input data and returns what to display. This example uses an XML-like syntax called JSX. Input data that is passed into the component can be accessed by render() via this.props.

pyp - Python Power at the Prompt ls | pyp "p.replace('maybe','yes') | pp.sort() | pp[1:3] |p , p , p.strip('abc') | whitespace | p[3], 'no' | p.upper() " Pyp is a linux command line text manipulation tool similar to awk or sed, but which uses standard python string and list methods as well as custom functions evolved to generate fast results in an intense production environment. Pyed Pyper was developed at Sony Pictures Imageworks to facilitate the construction of complex image manipulation "one-liner" commands during visual effects work on Alice in Wonderland, Green Lantern, and the The Amazing Spiderman. Because pyp employs it's own internal piping syntax ("|") similar to unix pipes, complex operations can be proceduralized by feeding the output of one python command to the input of the next. This greatly simplifies the generation and troubleshooting of multistep operations without the use of temporary variables or nested parentheses. \> ls | pyp "p[0] | pp.sort() | p + ' first letter, sorted!'"

Continuous Integration with Jenkins, Part 2 In the first part of this article I presented the case for Continuous Integration. Now we’ll install and set Jenkins up to monitor the automatic building of a simple demonstration PHP application. We’ll begin with the demo project, then address Jenkins’ installation, and finally set it up and watch it running. Demonstration Project The demo project is based on the User class and its test script used by Michelle Sanver in her article Getting Started with PHPUnit. Matt Bailey - Web designer and front-end developer - Grunt - Synchronised Testing Between Browsers/Devices Today I discovered how easy it is to synchronise testing between browsers/devices when using grunt server. UPDATE: It has been pointed out to me that I should make it clear that grunt server is part of Yeoman’s Gruntfile. If you’ve set up your project not using Yeoman then this command might be different.

Related:  ProgrammingDev OpsCoding