Welcome to curated list of handpicked free online resources related to IT, cloud, Big Data, programming languages, Devops. Fresh news and community maintained list of links updated daily. Like what you see? [ Join our newsletter ]

Polaris – Simple Microservices using only PowerShell

Categories

Tags microservices containers

Very interesting post from Microsoft Powershell team with minimalistic code example how to run a microservice directly from Powershell. This is an experimental code but shows the power of Microsoft platform.

Polaris is a cross-platform, minimalist web framework for PowerShell Core 6. With 6 lines of code, you have your very own web server running and ready to accept requests – all within PowerShell.

PowerShell is evolving and Microsoft want you to experiment with other use cases for PowerShell. With .NET Standard 2.0 out, authors were able to get their hands on the .NET HttpListener class originally from the .NET Framework. With it comes a solution that works anywhere that PowerShell does.

This can be a way to run your own web servers to allow for a language-agnostic way to run PowerShell scripts thanks to HTTP. Imagine a mobile app triggering remote PowerShell scripts all through HTTP. Or hosting a static site and interacting with an external API all using PowerShell for server code.

Awesome! Follow the link to learn more!

[Read More]

Core values and practices for building software

Categories

Tags programming agile software-architecture

Evan Bottcher - technical principal at ThoughtWorks - take on core values for building great software. When it comes to the craft of building software, he recognizes some fundamental software engineering values that ThoughtWorks share. None of values and practices mentioned in the post are new, in fact, some some were lifted directly from the XP values and practices.

He has chosen four core values to present:

  • Clean code - easy to understand and maintain
  • Fast feedback - whether a change has been successful in moments
  • Repeatability - confidence and predictability, remove manual tasks
  • Simplicity - no more complexity than software needs to do a good job

He also dives in eight core engineering practices — methods and approaches that support the core values. Even specialized technical domains are built on top of the same core of values and practices. Everything in the core practices applies to prototype development, MVP, test and learn, any other explanation you might use to cut corners.

To find out more and to see charts with all mentioned above, follow the link.

[Read More]

Tips for creating agile product roadmap

Categories

Tags programming agile

Roman Pichler published this post some time ago but advice in it still applies today. A product roadmap is a powerful tool to describe how a product is likely to grow, to align the stakeholders, and to acquire a budget for developing the product. But creating an effective roadmap is not easy, particularly in an agile context where changes occur frequently and unexpectedly.

Whenever you are faced with an agile, dynamic environment you should work with a goal-oriented product roadmap:

  • Focus on goals and benefits
  • Tell a coherent story
  • Keep it simple
  • Secure a strong buy-in, create agreement
  • Have the courage to say no

You’ll find more in the article with further links to learn more about the topic and a link to example roadmap. Give it a go!

[Read More]

Introduction to Generators in PHP

Categories

Tags programming php web-development

Niklas Keller excellent blog post focusing on generators in PHP. Generators are special functions in PHP. Whenever a function contains yield, it’s no longer a normal function anymore, but always returns a Generator. Generators have been added to PHP in version 5.5, yet they have received rather low attention.

It is important to notice that generators don’t execute anything until you start using the returned generator. We have an interruptible function now that we can pause and resume at any yield. This enables writing lazy functions that do just as much as the consumer needs. You could build something that reads all users via the GitHub API. These are paginated, but you could hide that detail and fetch new pages as needed.

Plenty of code examples will help you to get up to the speed with generators and what is the main difference between them and non-iterator implementation using arrays. Generators have way more use cases than many people think. Could not agree more!

[Read More]

Host your blog for free

Categories

Tags web-development programming

Cyrille Hemidy blog post describing how to host your static web site for free. Site is generated with Hugo generator, free SSL certificate and security provided by Cloudflare, and CI/CD provided via GitHub and Netlify. Cloudflare also manages DNS for custom domain and provides caching.

This set up works well with static web sites (Netlify does not host dynamic sites but provides CDN, builds your site from hugo code, enables staging environment, pre-rendering, assets post processing - for free). Post briefly goes over:

  • Explaining what is Hugo sites generator
  • Explaining what is Netlify
  • Explaining what is CloudFlare
  • Describing the setup and workflow

Nice charts and screen grabs help you to get clear picture how it is done.

[Read More]

Erlang tutorial for PHP developers

Categories

Tags erlang programming php web-development

Marcelog published article intended for PHP developers that want to understand and start learning and coding Erlang applications. Author tried to point out main differences between these two distant worlds from a general perspective.

Briefly mentioned are (amongst others):

  • Processes and concurrent programming in PHP and Erlang
  • PHP REPL and the Erlang shell
  • PHP and Erlang virtual machines
  • Source file structure in PHP and Erlang
  • PHP and Erlang data types

And more. You will get a very basic but clear idea of what is Erlang / OTP. Also some example code and further references will help you out in writing actual Erlang code. Good job!

[Read More]

Image Effects with CSS

Categories

Tags css programming web-development

Bennett Feely nice write-up on using one or more newer CSS properties (background-blend-mode, mix-blend-mode, or filter) and how it gives us a surprising amount of possibilities to manipulate a single source image.

One of the techniques described is Blending. In most of these effects the single source background-image url is repeated one or more times and blended with itself using CSS blend modes (multiply, overlay, screen, difference, etc.)

In some of these effects, the CSS filter property is used to further refine the output. Functions like grayscale(), brightness(), and contrast() can and should be tweaked to achieve a better result for images you use.

Some of effects recreated in article (plus code):

  • Pencil
  • Colored Pencil
  • Watercolor
  • Chalkboard
  • Collage and more…

The CSS code in CodePen and whole library can be downloaded. Excellent not only for front-end guys.

[Read More]

APIs - REST versus GraphQL

Categories

Tags restful apis

Chimezie Enyinnaya blog post addressing all the fuss about GraphQL and what makes it different from REST. In this article, author took a technical look at REST versus GraphQL, comparing and contrasting the two API specifications.

GraphQL is a declarative data fetching specification and query language for APIs. It was created by Facebook back in 2012 to power their mobile applications. Both specifications for building and consuming APIs and both be operated over HTTP, though GraphQL is protocol agnostic.

The most significant improvement that GraphQL introduced is data fetching. And post also target:

  • Network requests differences
  • Over / under fetching
  • Error handling
  • Caching
  • Versioning

You will also learn about GraphQL ecosystem and look at some libraries, tools and services that will make working with GraphQL awesome. Nice.

[Read More]

Working with AWS ECS to deploy docker containers

Categories

Tags aws microservices docker

Sriram Rajan article in which author looks at AWS ECS and how it can be used to deploy Docker containers. From a use-case perspective, ECS allows you to build a production-scale, auto-scaling and monitored platform for running these types of containers.

At a high level, ECS (Amazon EC2 Container Service) is a cluster management framework that provides management of EC2 (Elastic Compute) instances running as Docker Hosts. It includes a scheduler to execute processes/containers on EC2 instances and has constructs to deploy and manage versions of the applications.

Article focuses on:

  • ECS concepts
  • Preparation of security groups
  • Preparation of load balancer
  • How to prepare Docker images
  • How to build ECS cluster

Example code for everything mentioned above is provided. There is a lot more to ECS - happy reading.

[Read More]

Making mistakes with GraphQL and lessons learnt

Categories

Tags nosql apis software-architecture

Bertrand Dubaut article from presentation given at the Amsterdam Ruby meetup. Real life GraphQL in production implementation, mistakes made, corrections and lessons learnt. System supports multiple clients (mobile and web).

They decided to go with GraphQL to help them to solve problems like: (1) Support multiple clients with different requirements (2) Endpoints becoming overloaded with options (3) Duplicated endpoints (4) Specific client/customer requests leading to single use case endpoints.

And main mistakes?:

  • Poor early schema design
  • Returning classic HTTP error codes with empty responses
  • Choosing a collection pattern early

Article will help you decide if GraphQL can be a good fit for you. The example code is provided in the GitHub repo. Good read!

[Read More]