

This involves committing them locally to record the snapshot of your repository to the project history, and then pushing them to the remote repository so that they become available to others. Basically, this allows you to determine when now() is.Commit and push changes to Git repositoryĪfter you've added new files to the Git repository, or modified files that are already under Git version control and you are happy with their current state, you can share the results of your work. It is the setTestNow() function built in to the api. So now you are wondering, "What is this wonderful function that will let me test my date/time based logic easier?" I'm glad you asked. It makes working with dates and times in PHP a walk in the park, it is one of the most useful libraries I use!)

(If you haven't used Carbon, stop reading and go check it out, I'll forgive you. I'm so thankful that I discovered this testing aid built in to the PHP library. In the past I would write my logic, cross my fingers and wait for the bug reports to come rolling in. So these time-dependant functions for the most part did not have useful, functional unit tests, until recently.
#Phpstorm filewatcher push to server software
There are lots of edge cases that need tested around shift change, especially third shift, which starts before midnight, but for all the reporting and other facets of my software it is technically tomorrow. Since I work in the manufacturing sector, lots of logic relies on knowing what the current, last, or next shift is.
#Phpstorm filewatcher push to server code
One area of my codebase at work that I had problems sufficiently testing were instances in my code base that had time based logic to them. They made sense and were easy enough to implement, and almost got me to where I wanted to be as far as git commit messages were concerned. A git commit message is an oft-overlooked and undervalued form of documentation, so how can we improve here? I had already been, for the most part, following. So that is one area that I am constantly trying to improve in. Until it isn't - and then it is really important. One bad habit that is easy to fall into as a solo developer (especially under a time constraint) is to rationalize ignoring or delaying proper documentation since you're the only one working in the codebase it is easy to think that documentation is unimportant. One of the areas that I had already (mostly) improved on is writing useful commit messages, so my git log doesn't end up looking like this XKCD comic: This includes not only getting better at the actual art of coding but also improving the processes of coding and finding ways to streamline and/or automate these processes. I am constantly on the lookout for ways to better myself as a developer. Read MoreĪutomating Conventional Commit Messages - Globally It is my insight garnered from the third strike that I would like to share with you today: take all interview questions at face value. So problems one and two are closely related and boil down to a lack of preparation and experience.

It would have behooved me to reread some articles to have a better idea of what to expect. I had, of course, read articles in the past about technical interviews, but it had been quite some time. The second problem is that I'd never taken part in a "real" technical interview and as such as I wasn't sure what to expect. The first problem was that recruiter had informed me that this interview was to go over my code sample and take a deeper dig into my background so I wasn't expecting a full-blown technical interview and therefore had failed to do any preparation. I was then invited to participate in a technical interview with one of their team leaders and a developer - this is where the trouble began. He'd asked me to complete a coding challenge which I passed with flying colors. I'd recently been on a job hunt (now fulfilled), and I was contacted through stackoverflow by a recruiter that had located my stackoverflow Developer's Story and was impressed.
