Matheus Marabesi website, sharing ideas about software development - Listing posts on page 10

Algorithms, Algorithms, Algorithms .... Oh Wait!

I started a new challenge trying to find a new job here in Brazil and I thought it would be easy since I have a great experience and I’ve been studying a lot about software development in general(design patterns, CI, software engineering). Simple mistake. I went to a couple of interviews in many companies and I found a huge difference on the market. Companies are looking for candidates who have strong algorithm skills and believe or not it is my weakness. So, as nothing in this life is mean-less I decided to study and deep into algorithm’s world. HackerRank? HackerRank is...

Phing ? Automate all the things ! - Practical example

If you want to know what is Phing, why should you use it and see some simple XML code please visit the part one of this post here. The main objective here is to demonstrate how Phing fits in our day as developers and how useful it is. Nothing better than a real example world to illustrate and clarify our minds. Starting the project Here I’m going to propose a workflow to illustrate where Phing fits and how it can contribute to improve our productivity. Usually when we start a new project that already exists we clone it, we run...

Phing? Automate all the things!

Phing is a tool based on Apache ant to automate tasks. Sometimes we as developers do repetitive tasks such as copy from a host to another, checkout new branches even deploying to a new server, in this scenario Phing comes to stage to help us to automate everything. PHing Is Not GNU make; it’s a PHP project build system or build tool based on Apache Ant. You can do anything with it that you could do with a traditional build system like GNU make, and its use of simple XML build files and extensible PHP “task” classes make it an...

ZCPE 5.5 here we go – PHP Basics (Language constructs)

Zend divided language constructs in three main categories output construct, evaluation construct and others constructs, you can find this division in zend study guide for PHP 5.5 exam. Output Construct Description die / exit Used to output a result and then terminate the running script echo / print Used to output a result return Used to halt a execution of a function or a script Evaluation Construct Description empty Used to identify if an variable is empty (without an value) eval Used to evaluate string content include/include_once Used to include a file (using this just a warning is thrown if the...

ZCPE 5.5 here we go - PHP Basics (Variable variables)

PHP Basics is the first topic of ZCPE where is covered many topics and one of them is variable variables. Variable variables in PHP is useful but must be used with careful. In this post I’ll try to explain to you how to use the simplest form of variable variables. When you start to learn PHP often you are told that a variable start with an dollar sign ($) and it must be followed by and underscore (_) or an character and not an numeric value. With that information is clear to know which below is not a valid PHP variable, right?...

GitHub badges! (PHP repository) - Tutorial with Travis and GitHub

Disclaimer : If you don’t know what are badges I’d suggest a quick view to https://poser.pugx.org which is a open source project with badges for PHP projects. Also for this post I’m assume you have a experience with GitHub already and know how to commit, push, pull or use GitHub from web interface. Repository used for this post you can find here. Badges that we’re going to use: Build Status Coverage Status Total Downloads Latest Stable Version Latest Unstable Version License Final result Travis CI First step is go to https://travis-ci.org and click in Sign in with GitHub and Travis will ask...

ARE YOU NOT USING TDD?! – PART || (Legacy code)

In the part one I introduced the life cycle of TDD you can see here and how it works, but often people come to me and ask about the legacy code how can we start using TDD with legacy code? Should we start from zero? Should we use baby-steps? I decided to share my experience in how I used TDD in legacy code and how I did to get this task done also I have to say many thanks to my friend Alexandre Cintra who helped my a lot giving me gold tips. Edit: Jun 17, 2015 You can find...

Stop complaining, do it now.

I’ve been working with software development for 4 years now with different groups and different companies. But nothing has changed as much as TDD did with my style of programming, thinking and solving problems. Fear, comfort zone Since I decided to learn TDD and apply it to my work I had a lot of questions. Does TDD really works? Why should I spend my time writing test first? Though, those are questions often asked by who is starting with TDD but we can’t stop on the first rock, we must keeping going. Instead what I’ve seen in many developers are the same excuses to not...

Raspberry Pi + PHP socket

Recently I did a post about HTML5 WebSockets and it had a purpose. I was preparing the material of my talk at Samsung Ocean and my goal was create a RC car with an Hybrid application to control it and not use java as a server-side language. The final result you can check on my github and play around with the code. The following steps are to getting the socket working in your raspberry, here I’m going to use the model B+. First of all We need to to access our Pi trough the SSH, for this example I’m going...

Getting started with Xpath

Its been a long time since my last post and now I came up with a new subject interesting to me because I could find around me people that know and understand Xpath, so here I’m going to show what I’ve found about Xpath and the little particularities on it in PHP.  A little bit of history The first version (1.0) of Xpath was released in 1999 and the second version (2.0) came in 2011 and nowadays we have the Xpath 3.0 released in 2014. Xpath was created to be able to easily navigate between nodes in a XML document and be...