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 ]

Protocol-oriented approach to associated types and self requirements in Swift

Categories

Tags cio web-development app-development programming swiftlang

Associated types and Self requirements are important features of Swift and are used extensively in the standard library. But they can be tricky to use and continue to frustrate many Swift programmers. By Khawer Khaliq.

The article does a great job explaining:

  • What is an associated type
  • How not to use protocols with associated types
  • A protocol-oriented way to use associated types
  • A protocol-oriented alternative to associated types
  • What is a Self requirement in a protocol
  • A protocol-oriented approach to using Self requirements

… and much more. An associated type is a placeholder in a protocol for a type that is used as part of the protocol. Any type that conforms to the protocol must specify an actual type that will replace the placeholder. A protocol can have one or more associated types and these associated types provide flexibility for conforming types to decide which type to use in place of each associated type placeholder. Good one!

[Read More]

Top 5 pieces of advice for cloud migration projects

Categories

Tags cio web-development app-development cloud distributed

Every organization is unique, and so is every cloud migration project. The project scope, timeline, and expense involved can vary widely depending on the size of the organization, how many geographies it operates in, how many applications are being implemented, and how many lines of business are being affected. By Susan Aumack.

Upon first glance, a cloud migration project can seem like a daunting process, but when organizations are armed with the proper knowledge, fear quickly turns to confidence.

The advice in the article given:

  • Build the three-way partnership
  • Communication with stakeholders is key
  • Think long-term
  • Build a clear roadmap
  • Test from the start

Do stress testing. Do load time. Understand what your windows are at the very beginning of the project. Definitely make sure you’re working through the technical logistical side as early on the project as you can. Link to the podcasts are also provided. Good read!

[Read More]

How to start using generic types in PHP

Categories

Tags php web-development app-development learning

Generic types are templates which allow us to write the code without specifying a particular type of data on which the code will work. Thanks to them, we avoid the redundancy and the objects operate on the previously declared types. By Jarek Szutkowski.

A good example here are collections of various types. If we want to be sure that a collection consists of a given data type, we can either create a separate class to store each type, use various types of assertions, or just use generic types. In case of separate collection classes we create redundancy - we duplicate classes that differ only in the type of stored object. In case of assertions, the IDE will not be able to tell us the syntax. Only generic types will allow us to create one class that will guarantee data consistency and correct IDE autocompleting.

The article content is split into these bits:

  • How to deal with generic types in PHP
  • Examples
  • Extending templates
  • Guessing object by class name
  • Multiple generic types
  • Generic types in callback functions
  • Code analysis from the command line

Although the PHP is developing quite dynamically, it does not support native generic types, which are widely used in languages such as Java or C#. Fortunately, there are many tools that allow us to imitate these types, and thus, extend the capabilities of the language. Nice one!

[Read More]

Embracing hybrid work in professional services

Categories

Tags cio management miscellaneous teams agile

I’ve seen many professional services companies that were early adopters of hybrid work due to the knowledge-based nature of their practices. However, as we all know, the pandemic dramatically accelerated the shift, proving that hybrid work could scale. By Patrick Connally, PhD.

A recent study from the Harvard Business Review (HBR) finds the “increase in remote work stems not just from tangible benefits such as time and cost savings, but also from the simple fact that remote work has proven its viability in people’s own experiences. More than half of [recent survey] respondents (58 percent) [anticipating] an increase say it’s because remote work has been normalized and well tested.”

In author’s work with professional services firms, he’s noticed 3 factors that distinguish those with a standout hybrid work experience:

  • They focus on people: Instead of thinking in terms of technical specifications, start with how you want to empower employees and clients and choose technologies that support the desired outcome. For example, if you are focused on improving the employee experience, explore Microsoft Viva, which brings together communications, knowledge, learning, resources, and insights in the flow of work
  • They think ahead: During the pandemic, some organizations chose to buy point solutions as a reaction to emerging needs. They ended up with a hodgepodge of solutions that are difficult to manage and don’t always work well together. Think about what you want hybrid work to look like in five years, not five weeks. To help get you started, Microsoft offers Art of the Possible events on hybrid-work topics such as reimagining the employee experience, redefining collaboration, and making the most of collaborative apps
  • They provide agile support: When people work from anywhere, the way they access technical support changes significantly. Delivering on client expectations means support needs to be accessible and effective whenever and wherever it’s needed

Through digital choreography and a strategic approach to hybrid work, you not only become more competitive - you help clients drive digital transformation and growth, as well. Nice one!

[Read More]

How to automate security metrics without upsetting your colleagues

Categories

Tags infosec management miscellaneous cio analytics

The need for greater automation in security metrics and measurement is clear to most people in our industry. Security teams have the luxury of access to an enormous amount of security data, giving insight into every aspect of their environments. By Nik Whitfield.

With greater use of automation, your metrics and measures become more accurate and effective at preventing control failures. It also makes organisations more efficient - our own research shows that security teams spend 54% of their time manually producing reports.

When we increase data quality through automation it brings accuracy and precision, and therefore confidence in our metrics and measures. Security teams become more efficient and can focus on activities that have the most business impact.

A smooth transition from distributed, siloed measurement to automated, centralised measurement relies on two factors: communication and strong stakeholder management. Everyone involved in metrics and reporting needs to understand the benefits of moving to a centralised philosophy for data and measurement. When metrics and measures are created by individuals or departments, they are restricted by the skills and data they have available.

It also produces outcomes that align to their own objectives and agenda, without necessarily taking into account the organisation’s strategic goals, consistent approaches to measurement or context available in other parts of the organisation. Good read!

[Read More]

How to make anonymous requests using TorRequests and Python

Categories

Tags python apis devops

Tor is quite useful when you have to use requests without revealing your IP address, especially when you are web scraping. This tutorial will use a wrapper in python that helps you with the same. By scrapehero.com.

The main points in the article:

  • What is TOR?
  • Install TOR
  • Configure TOR
  • What is TorRequest?

TorRequest is a wrapper around requests and stem libraries that allows making requests through TOR. You can install torrequest via PyPI. Good read!

[Read More]

Exploring options for storing custom data in Ecto

Categories

Tags elixir web-development functional-programming apis erlang

Ever wanted to store a blob of custom data on a database record? The data we want to store might be complex too, made up of multiple fields and even lists. When the data is stored using Ecto there are several ways we can do it. This article explores two paths and discusses some of the pros and cons for each approach. By Mark Ericksen.

Ecto is Elixir’s database wrapper. If you want to use a database with Elixir, you need to know Ecto.

defmodule Core.GameSaves.GameSave do
  use Ecto.Schema

  schema "game_saves" do
    # ...
    field :data, :map, default: %{}, required: true

    belongs_to :account, Core.Accounts.Account
    timestamps()
  end
end

The article main content covers:

  • Our custom data
  • Path one: Store data as a map
  • Path Two: Store data as an Erlang encoded binary
  • Security considerations
  • Version the data!

Together we’ve peered down the two paths a bit and hopefully now we can quickly determine which path we want next time we come to this fork in the road. Good read!

[Read More]

How to migrate a REST API to GraphQL the smart way with StepZen

Categories

Tags nodejs nosql apis devops

How GraphQL might be a better fit for your next project than RESTful APIs. By plainenglish.io.

With the shift away from monolithic apps, REST APIs have been the go-to approach to standardize how the different moving parts in a system work together and share data. However, REST is also an inflexible, often ambiguous standard (it’s only a set of guidelines) with several architectural and implementation issues, and has proven to scale poorly with modern client needs - which are data-intensive and rapidly changing.

The article then guides you through:

  • How GraphQL improves on REST APIs
  • So where does StepZen fit in?
  • Case Study: Migrating a REST API to GraphQL via StepZen
  • The Best Of Both Worlds

GraphQL is incredibly powerful and flexible, and StepZen - with its powerful CLI tool, a plethora of features, pre-made schemas for a huge number of data sources, and extensive documentation - makes it incredibly easy to implement GraphQL and get the best of both worlds for all your development needs. Good read!

[Read More]

Facelift Kurun for Kubernetes event tunneling

Categories

Tags cio infosec kubernetes containers devops

Kurun is a multi-tool to help Kubernetes developers. We can summarize one of its features in a short sentence: just like go run main.go but executed inside Kubernetes with one command. By Sándor Lovász.

Ideally, the operator runs inside the cluster, so the admission controllers send the admission requests to the operator directly. However, during development, it is more practical to keep your operator on your local machine (for debugging and other reasons), but unfortunately, admission controllers cannot access your operator this way. Applications running inside Kubernetes usually cannot open connections to your local workstation, partly for security reasons, but mostly because of IPv4 NAT.

Proxying requests through a WebSocket tunnel might seem easy, but it’s trickier than you think. Originally, WebSockets are handling bidirectional traffic without state. Hence, when you want to proxy HTTP calls over WebSockets you have two options. Create a new WebSocket connection for every single request, which is trivial but not efficient.

The article then guides reader through step by step example configuration with a sample application to try out kurun port-forward feature in a sandbox environment. The complexity of example might be frightening for beginners, but starting to develop webhook based applications will make familiar all the things above. We think kurun is a useful developer tool which we actively use it in everyday work. We hope it will also make your work easier as a Kubernetes developer. Good read!

[Read More]

A new security approach for the new age of multi-cloud

Categories

Tags cio infosec cloud

Most organizations today deploy web applications across multi-cloud and hybrid environments. However, existing models for application security are obsolete and no longer up to the task of providing high-grade, consistent, and frictionless application security across clouds. By Eyal Arazi.

Organizations are no longer migrating to the cloud; they’re already there. According to IBM’s Turbonomic State of Multi-Cloud 2021 report, 96% of organizations deploy at least one public cloud environment.

The article then focuses on comparing:

  • Existing appsec solutions can’t keep up
  • What’s needed for modern, cross-cloud application security
  • Radware’s new security architecture

Radware SecurePath™ is a new API-based, cloud application security architecture designed from the ground up to optimally protect applications deployed across any cloud and data center — on-premise, private cloud, and all public cloud environments – while improving security, uptime, and performance. Good read!

[Read More]