Nikola Brežnjak blog - Tackling software development with a dose of humor
  • Home
  • Daily Thoughts
  • Ionic
  • Stack Overflow
  • Books
  • About me
Home
Daily Thoughts
Ionic
Stack Overflow
Books
About me
  • Home
  • Daily Thoughts
  • Ionic
  • Stack Overflow
  • Books
  • About me
Nikola Brežnjak blog - Tackling software development with a dose of humor
Meetups

Introduction to Test Driven Development in PHP using PHPUnit – 11th MeCoDe meetup

Meetup notes

This Tuesday (18.07.2017) we had our 11th MeCoDe meetup, and this time the topic was Introduction to Test Driven Development in PHP using PHPUnit.

The presenter was Antonio Kovačević from the company Smartway, who explained:

  • What are Unit tests
  • Where should you use Unit tests
  • What is Test Driven Development
  • How to use tests as a basis for developing software

He also showed us first hand how to write a Unit test and run it.

Source code

In case you want to check out the code, you can do so via this Google Drive link.

Picture time

[ngg_images source=”galleries” container_ids=”30″ override_thumbnail_settings=”0″ thumbnail_width=”120″ thumbnail_height=”90″ thumbnail_crop=”1″ images_per_page=”20″ number_of_columns=”0″ ajax_pagination=”0″ show_all_in_lightbox=”0″ use_imagebrowser_effect=”0″ show_slideshow_link=”1″ slideshow_link_text=”[Show as slideshow]” order_by=”sortorder” order_direction=”ASC” returns=”included” maximum_entity_count=”500″ display_type=”photocrati-nextgen_basic_thumbnails”]

You don’t like PHP? ?

In case you’re interested in the topic but aren’t so quick to jump on PHP ?, you can check out a rather long post I wrote about the Introduction to TDD in Ionic framework which also covers JavaScript/Angular.

Call for speakers ?

As always, we welcome new speakers, even with n0 prior experience (you gotta start somewhere, right? :)) so in case you wanna share something with us, just shoot me an email…

Now go back to your code and write some tests! 😉

Introduction to Test Driven Development in PHP using #PHPUnit – 11th MeCoDe meetup https://t.co/wo9InPSjrQ

— Nikola Brežnjak (@HitmanHR) July 20, 2017

Meetups

Freelancing – 10th MeCoDe meetup

Meetup notes

Recently (14.06.2017), we had our 10th MeCoDe meetup, and this time the topic was the ever so slightly mysterious world of Freelancing.

The presenter was Martina Lipovac, the owner of the creative studio Trogled, who did an awesome job sharing her experience with freelancing in terms of how it is to work from home, how to use different freelancing platforms, how to find new work and communicate with clients, how to organize time, etc.

Also, she covered a lot of things from the legal aspect regarding how to have everything ‘by the book’. Martina also arranged a guest video presentation from her friend Matija Matečić, the CEO of Solo, which is an online service for creating invoices which follow our (sometimes weird) legislation (Croatian specific).

By sharing her success story, I hope some folks got inspired to finally try if this ‘mysterious freelancing’ works for them.

You can take a look at Martina’s presentation here.

Picture time

[ngg_images source=”galleries” container_ids=”29″ override_thumbnail_settings=”0″ thumbnail_width=”120″ thumbnail_height=”90″ thumbnail_crop=”1″ images_per_page=”20″ number_of_columns=”0″ ajax_pagination=”0″ show_all_in_lightbox=”0″ use_imagebrowser_effect=”0″ show_slideshow_link=”1″ slideshow_link_text=”[Show as slideshow]” order_by=”sortorder” order_direction=”ASC” returns=”included” maximum_entity_count=”500″ display_type=”photocrati-nextgen_basic_thumbnails”]

Milestones

This was our 10th Meetup in a span of just a bit over one year. I’m very happy that our small community has such a will to learn new things and expand horizons on a professional level, so am looking forward to another 10!

Call for speakers

As always, we welcome new speakers, even with n0 prior experience (you gotta start somewhere, right? :)) so in case you wanna share something with us, just shoot me an email…

#Freelancing – 10th MeCoDe meetup https://t.co/0WguhFlAqu

— Nikola Brežnjak (@HitmanHR) June 26, 2017

Meetups

Web API on ASP.NET Core – 9th MeCoDe meetup

Meetup notes

Few Thursdays ago (18.05.2017) (yeah, I know, this post comes late, but better late than never, they say 🙂) we had our 9th MeCoDe meetup, and this time the topic was Web API on ASP.NET Core.

The presenter was Velimir Sanjković, the owner of S-Soft, who did a great job showing us first hand how to create a Web API on ASP.NET core using both Visual Studio and Visual Code.

Source code

In case you want to check out the code, you can do so via Github.

Picture time

[ngg_images source=”galleries” container_ids=”28″ override_thumbnail_settings=”0″ thumbnail_width=”120″ thumbnail_height=”90″ thumbnail_crop=”1″ images_per_page=”20″ number_of_columns=”0″ ajax_pagination=”0″ show_all_in_lightbox=”0″ use_imagebrowser_effect=”0″ show_slideshow_link=”1″ slideshow_link_text=”[Show as slideshow]” order_by=”sortorder” order_direction=”ASC” returns=”included” maximum_entity_count=”500″ display_type=”photocrati-nextgen_basic_thumbnails”]

Milestones

Believe it or not, MeCoDe is one year old already!

Meetups

Golang Zagreb – First Workshop

Last Saturday (22.03.2017) I attended the first ever Go language workshop.

The workshop host was Matej Baćo, who is also the organizer of Golang Zagreb.

We were working on a task to create a currency exchange rates JSON service. The Github repo of the project is here. Matej did an excellent job preparing this workshop as you can checkout the master branch and follow the instructions in the main.go in order to go through the same process as we did. If you get stuck at some point or don’t know how would you solve a certain step, you can check out other branches which Matej prepared (for each phase there is a start and done branch).

Few pics from the workshop

[ngg_images source=”galleries” container_ids=”20″ override_thumbnail_settings=”0″ thumbnail_width=”120″ thumbnail_height=”90″ thumbnail_crop=”1″ images_per_page=”20″ number_of_columns=”0″ ajax_pagination=”0″ show_all_in_lightbox=”0″ use_imagebrowser_effect=”0″ show_slideshow_link=”1″ slideshow_link_text=”[Show as slideshow]” order_by=”sortorder” order_direction=”ASC” returns=”included” maximum_entity_count=”500″ display_type=”photocrati-nextgen_basic_thumbnails”]

If you’re a Go aficionado and would like to keep learning about Go from the first-hand experience, make sure to attend their next meetup this Wednesday where they also have a so-called ‘hack table’ where you can ask any question about the Go code you’re writing and having some issues with.

All in all, great workshop, I highly recommend you check them out, and I’m looking forward to the next one!

#Golang Zagreb – First #Workshop lead by @matejbaco https://t.co/zCCtdsPRgw

— Nikola Brežnjak (@HitmanHR) April 25, 2017

Meetups

Getting started with Fuse – 7th MeCoDe meetup

Meetup notes

Last Thursday (02.03.2017) we had our 7th MeCoDe meetup, and this time it was all about Fuse.

The presenter was our Goran Levačić, the leader of incubation and education in TICM, who did a great job in showing us first hand how to work with Fuse on few practical examples that we were able to code and run on our laptops as well!

I’d like to thank the team from Fuse that sent us their awesome stickers and badges (check them out in the pics section)!

For those who just want to take a peak at the code, here’s the Github project.

Few pics from the meetup

[ngg_images source=”galleries” container_ids=”18″ override_thumbnail_settings=”0″ thumbnail_width=”120″ thumbnail_height=”90″ thumbnail_crop=”1″ images_per_page=”20″ number_of_columns=”0″ ajax_pagination=”0″ show_all_in_lightbox=”0″ use_imagebrowser_effect=”0″ show_slideshow_link=”1″ slideshow_link_text=”[Show as slideshow]” order_by=”sortorder” order_direction=”ASC” returns=”included” maximum_entity_count=”500″ display_type=”photocrati-nextgen_basic_thumbnails”]

Short how-to tutorial

Here I’ll outline few steps on how to get started with Fuse and get one simple example application working.

  • Download Fuse from their download page and install it – it works on both Windows and Mac
  • When you run Fuse you’ll see this screen
  • Select New, name your project and click OK:
  • Click on Open in Sublime (I’m guessing that if you don’t have Sublime Text, some other editor will be shown as default here): and you should see something like this:
  • In your Fuse dashboard click on Start app preview and then just confirm the Local option and click OK: you should get this screen open up:
  • If you tap and hold the rectangle this is what should happen:
  • Now, few examples with code and expected output:
  • This last example may have a bit more value since it’s showing how to fetch some data from an API (JSON response) that holds an array of presenters on our meetups so far. The full source code can be checked out on this Github repo.

Conclusion

Fuse looks really promising and I wish they keep getting this tool better and get out of beta as soon as possible 🙂

If you want to learn more about this tool, then be sure to check out their video tutorial series on YouTube. They also have examples, documentation, forum and Slack channel where you can find even more information.

As always, I encourage you to send us your wishes for next meetup topics, as well as speaking proposals. Thanks, and see you on the next meetup (early April).

Getting started with @fusetools – 7th MeCoDe meetup https://t.co/QNOpFKlEth Thanks for the stickers and badges!!

— Nikola Brežnjak (@HitmanHR) March 5, 2017

Meetups

64th SQL/DEV user group meeting about Xamarin

Yesterday I attended our local Microsoft community user group meeting which was the 64th meeting in a row, and the presenter Andrej Radinger, CEO of Mobendo and Mogy, talked about two topics:

  • Transfering the existing native iOS/Android app to Xamarin
  • How to start a start-up

I took extensive notes and screenshots of the presentation about Xamarin, and this is what I’m going to share with you in this post. I’m not going to cover the stuff about start-ups in this post; I’m only going to leave you with The Lean Startup and one quote:

Done is better than perfect. So start doing something already!

Presentation notes

Some random facts:

  • Bought by Microsoft
  • Integral part of Visual Studio 2015
  • Xamarin University (approx. 1k$/year)
  • It’s good to know each platform and its specifics. For example, to know the application lifecycle, how the app behaves when it goes to background mode, etc.
  • They needed four months to port their Mogy app to Xamarin iOS and then additional 2 to do it for Android

Good stuff is that you have Native access:

Three different ways to develop apps these days:

The difference between Traditional Xamarin Approach and Xamarin.Forms

Before going into the web dev, I was working with C#, and the following slide is indeed true. Pair that with the ever so slightly awesome Visual Studio and you’re golden 🙂

I’ve learned that everyone gets accustomed to the tool/language that they’re working in so some hardcore ObjectiveC devs may not agree with the following:

IMHO, if you’re a .NET developer and you want to build Android/iOS apps you really have a no-brainer choice.

100% API coverage:

Native performance (something that we from the hybrid dev world yarn for):

You have all your projects in one Visual Studio solution:

Some code sharing stats:

You can buy/sell components which can really help if you’re trying to get some product fast to the market:

Prebuilt app template examples:

An example of the native UI from the shared code (it changes based on the deployed platform). Shared UI code is defined in XAML.

Two aforementioned Xamarin approaches (Traditional and Forms):

Available controls:

Some third party vendors that are developing additional controls:

How to extend:

How they manage platform specific code and unify it in one function:

Some challenges:

Additional notes to these:

  • Some of the problems are related to setting up assets per platform
  • You need to take care of the back button in your designs on iOS
  • Had few problems with push notification debugging
  • The main problem with Android is its segmentation (meaning, too many different devices with different screen sizes and hardware)

Supported gestures:

Xamarin Test Cloud seems cool as you can test your app on actual devices. I’ve tested this in this blog post:

Analytics:

Questions

Does Xamarin help, hurt, or remain neutral in terms of debugging ease compared to each native platform’s tools/helpers?

  • Neutral, as if something breaks you can go to the exact line in the source code. However, we had quite a hard time debugging push notifications.

Do you ship a Windows Phone app now that you have that available?

  • No.

What sacrifices in terms of UX did you have to make?

  • …at some point we were cursing ourselves not to have taken the Traditional Xamarin Approach opposed to the Xamarin.Forms, as that would then give us more leverage in terms of UI tweaking, but we eventually managed to deal with it.

Did you evaluate React Native as well? How about hybrid (Cordova/Ionic)?

  • We started some two years ago, and at the time hybrid approaches weren’t so ‘cool’ (we looked at PhoneGap), so we opted for Xamarin. Plus, we were .NET devs to begin with, so it was practically a no-brainer choice for us.

64th SQL/DEV user group meeting about Xamarin presented by @andrejrad https://t.co/Kvw5qezaUE

— Nikola Brežnjak (@HitmanHR) February 21, 2017

Meetups

6th MeCoDe meetup – Why Azure?

Yesterday (26.01.2017) we had our 6th MeCoDe meetup and this time it was all about Azure.

The team from the company Axiom were the presenters. They are one of our most devoted members as they attended every meetup so far. Thanks guys, keep it up!! 🙂

They showed us how they use Azure in their business, and also gave us an awesome hands-on example on which we worked through together by following on our own laptops. Btw, in case you’re interested, they’re searching for a new colleague to join their forces.

Few pics from the meetup:

[ngg_images source=”galleries” container_ids=”17″ override_thumbnail_settings=”0″ thumbnail_width=”120″ thumbnail_height=”90″ thumbnail_crop=”1″ images_per_page=”20″ number_of_columns=”0″ ajax_pagination=”0″ show_all_in_lightbox=”0″ use_imagebrowser_effect=”0″ show_slideshow_link=”1″ slideshow_link_text=”[Show as slideshow]” order_by=”sortorder” order_direction=”ASC” returns=”included” maximum_entity_count=”500″ display_type=”photocrati-nextgen_basic_thumbnails”]

As always, I encourage you to send us your wishes for next meetup topics, as well as speaking proposals. Thanks, and see you on the next meetup (around 24.02.2017).

Meetups

5th MeCoDe meetup in Čakovec – Laravel

This post comes sooo late, but better late then never they say 🙂

This was the first meetup since we changed our name from Ionic framework meetup. The sole reason for that was that we don’t want to convey the message that we’re talking only about Ionic. As you all know, and can see in the previous meetups, we’ve been covering a lot of ground in the web development and design world in general, and we plan on continuing with this practice.

Also, we have a new logo, thanks to our Goran Levačić – thank you!

Our 5th MeCoDe Meetup was held on 1st of December, 2016. It was titled Uvod u Laravel – najpopularniji PHP framework današnjice.

I would like to thank our Meetup member, Srđan Srđenović the CEO of Koder who was the presenter this time and who did a great job presenting the material and showing us why Laravel is the most popular PHP framework these days.

We learned about:

  • the MVC in Laravel
  • how to install it
  • how it’s structured
  • how to configure it
  • how to work with Artisan
  • how the eloquent model works
  • how to set up routes and views

and we did all that on our computers, which is always cool to have some working app when you go home from a meetup.

Few pics from the meetup:

[ngg_images source=”galleries” container_ids=”16″ override_thumbnail_settings=”0″ thumbnail_width=”120″ thumbnail_height=”90″ thumbnail_crop=”1″ images_per_page=”20″ number_of_columns=”0″ ajax_pagination=”0″ show_all_in_lightbox=”0″ use_imagebrowser_effect=”0″ show_slideshow_link=”1″ slideshow_link_text=”[Show as slideshow]” order_by=”sortorder” order_direction=”ASC” returns=”included” maximum_entity_count=”500″ display_type=”photocrati-nextgen_basic_thumbnails”]

I’ll take the opportunity to announce the 6th MeCoDe meetup: ‘Why Azure’ that will take place on 26th of January, 2017. You can read more details about the meetup on the MeCoDe Meetup page. See you there!

Recent posts

  • Discipline is also a talent
  • Play for the fun of it
  • The importance of failing
  • A fresh start
  • Perseverance

Categories

  • Android (3)
  • Books (114)
    • Programming (22)
  • CodeProject (35)
  • Daily Thoughts (77)
  • Go (3)
  • iOS (5)
  • JavaScript (127)
    • Angular (4)
    • Angular 2 (3)
    • Ionic (61)
    • Ionic2 (2)
    • Ionic3 (8)
    • MEAN (3)
    • NodeJS (27)
    • Phaser (1)
    • React (1)
    • Three.js (1)
    • Vue.js (2)
  • Leadership (1)
  • Meetups (8)
  • Miscellaneou$ (77)
    • Breaking News (8)
    • CodeSchool (2)
    • Hacker Games (3)
    • Pluralsight (7)
    • Projects (2)
    • Sublime Text (2)
  • PHP (6)
  • Quick tips (40)
  • Servers (8)
    • Heroku (1)
    • Linux (3)
  • Stack Overflow (81)
  • Unity3D (9)
  • Windows (8)
    • C# (2)
    • WPF (3)
  • Wordpress (2)

"There's no short-term solution for a long-term result." ~ Greg Plitt

"Everything around you that you call life was made up by people that were no smarter than you." ~ S. Jobs

"Hard work beats talent when talent doesn't work hard." ~ Tim Notke

© since 2016 - Nikola Brežnjak