Articles

If you and your team are dealing with tools like Git or Subversion, you may need an administrative layer where you are able to manage user access and repositories in a comfortable way, because source control management systems (SCM) don’t bring this functionality out of the box.

Perhaps you are already familiar with popular management solutions like GitHub, GitBlit or GitLab. The main reason for their success is their huge functionality. And of course, if you plan to create your own build and deploy pipeline with an automation server like Jenkins you will need to host your own repository manager too.

Source de l’article sur DZONE

Currently the most popular version control system is git and I’ll be writing this based on git and it’s functionalities and capabilities.

Git is often seen as a way to enable distributed programming i.e. multiple programmers can work on the same code repository quite easily without disturbing each others work (much). In addition to that just like other VCS’s it’s also a log of work but to my experience that part is often unfortunately neglected. What I will be focusing this time is the log part because I think it deserves more attention.

Why to create a meaningful log?

The git log should consist from small meaningful changesets where each commit addresses a single problem. By dividing the log to small commits it enables resilient way of working. Being resilient enables simple and fast procedures to rollbacks, reviews, tags, branching etc.

Lets say that a developer is implementing a REST API. The API needs a web layer that receives the HTTP requests, it probably has some sort of logic layer to do data transformations and validations and maybe some calculations and finally it has a data storage where the data is persisted. There are options how to record this work to the log. One option would be to implement the API and record a single commit or squash the commits before pushing the changes to remote so it would become a single commit. Another option would be to record commits every now and then while developing and finally push those commits as is to the remote repository. Yet another way would be to carefully pick what is recorded per commit in order to have a set of meaningful commits that each address a single issue.

Example of the first approach would be something like this:

Source de l’article sur DZONE

In most companies the single largest cost is human resources. However, by leveraging Open Source intelligently, you can significantly reduce this cost, by literally having the entirety of GitHub’s user base, working for « free » for your company. This of course is a bit like what investors refers to as « China math », but GitHub has 65 million registered user accounts, most of whom we must assume are developers one way or another. If you intelligently structure your organisation around GitHub, there is literally nothing preventing you from using every single one of these developers as your own company’s resource, making you a million times more productive than mega corporations such as Amazon, Facebook, and Microsoft – For a millionth of the cost these mega corporations are paying. But first let’s illustrate the problem, such that the solution becomes clear …

The problem

In one of my previous jobs somebody had cloned an open source git repository, then added its code to our own private corporate cloud’s git repositories, for then to start modifying the thing (the horror!) 2 years later it took one of my developers 6 weeks to update the thing to use the latest version as created by its main developer on GitHub, trying to keep as many of our own customisations as possible in the process. Needless to say, but I was furious about the original decision, due to having responsibilities for code quality at this company.

Source de l’article sur DZONE

We tend not to think about it, but the Internet has a physical dimension. It’s a complex network of wires, cables, servers, and technical odds and ends — if you really want to, you can track it down; doing so is particularly easy on small islands because there tends to be a single cable tethering the region to the wider world.

Those physical cables run all the way to your building, and although an ISP manages them, they are normally rented from public bodies as part of your national infrastructure.

Beyond the physical, international bodies govern protocols like ARP, IEEE, HTTP, NTP, FTP, and others, which control how data is transmitted through the network and keep everything playing nice.

Then, at the other end of the equation, there’s your device. It may be a phone, a tablet, a notebook, a desktop. It’s probably several of these. And because it’s your device, everything on it feels like yours. We tend to think of it as our method of accessing the Internet instead of being part of the Internet — in reality, it’s both.

On your device, the software you use to access the Internet is your browser. For 65% of people, that’s Chrome. Even if you’re reading this on Edge, it’s created with the Blink engine, an extension of Chromium, which is the basis for Chrome. In fact, almost every browser is built using a variation of Chromium, except those on Apple devices that require Apple’s own WebKit to be used instead.

Chromium is ostensibly open-source. WebKit is not, but both are geared towards their primary contributors’ business goals; neither Chromium nor WebKit will make a change that negatively impacts Alphabet or Apple.

Your browser is just a copy of a pre-compiled set of source files sat in a Git repo somewhere. You may have installed a few plugins in your browser. You may have bookmarked a few pages. You’ve probably moved it to your dock or your home screen. Those features are just nice add-ons for the GUI; what really matters is what decisions are made about how to render web technologies.

Imagine a world in which every single car used the same mid-range Ford engine. Add in a stereo, and paint it any color you like, you can even pick your own tires, but under the hood, it has to be that mid-range Ford engine. And the only justification is that it’s too much work to create an alternative.

The 2020s are going to be a time of enormous change. You can smell the panic in traditional banking sectors every time Cryptocurrency is mentioned. Real estate billionaires are desperately trying to get us back into offices we don’t want to return to. And yes, I’m sorry, but the climate crisis is looming, and it will force our hand. The values of a whole generation have been rapidly reassessed. Innovation and the potential for innovation are rife, except, ironically, on the Internet, where we’re still chugging away with the mid-range Ford engine under the hood.

The web has reached the point at which the browser engines we choose define real-world infrastructure. There’s a fork in the road: either browser engines are part of an infrastructure that should be rationalized into a single browser protocol, or alternative browser engines need to be nurtured, encouraged, and accessible by choice.

Featured image via Pexels.

Source

The post Poll: Is It Time to Merge Browser Engines Into a Browser Protocol? first appeared on Webdesigner Depot.


Source de l’article sur Webdesignerdepot

A data scientist extracts manipulate and generate insights from humongous data. To leverage the power of data science, data scientists apply statistics, programming languages, data visualization, databases, etc.

So, when we observe the required skills for a data scientist in any job description, we understand that data science is mainly associated with Python, SQL, and R. The common skills and knowledge expected from a data scientist in the data science industry includes – Probability, Statistics, Calculus, Algebra, Programming, data visualization, machine learning, deep learning, and cloud computing. Also, they expect non-technical skills like business acumen, communication, and intellectual curiosity.

Source de l’article sur DZONE


Agile 

AI

Big Data

Cloud

Database

DevOps

Integration

  • Mulesoft 4: Continuous Delivery/Deployment With Maven by Ashok S — This article is a great example of what we want every tutorial to look like on DZone. The main aim of this article is to provide a standard mechanism to release project artifacts and deploy to Anypoint Platform, from the local machine or configure in continuous delivery pipelines.
  • Integration With Social Media Platforms Series (Part 1) by Sravan Lingam — This article helps you to build a RESTful API through MuleSoft that integrates with LinkedIn and shares a post on behalf of one’s personal account. I like this article because, in the age of social media, it’s so important for businesses to be connected and integrated!

IoT

Java

Microservices

Open Source

Performance

  • What Is Big O Notation? by Huyen Pham — Aside from a silly name, this article is an example of an in-depth analysis on a little-spoken-about concept. In this article, take a look at a short guide to get to know Big O Notation and its usages.
  • Is Python the Future of Programming? by Shormisthsa Chatterjee — Where is programming going? This article attempts to answer this question in a well-rounded way. The author writes, "Python will be the language of the future. Testers will have to upgrade their skills and learn these languages to tame the AI and ML tools".

Security

Web Dev

  • A Better Way to Learn Python by Manas Dash: There’s so many resources available for learning Python — so many that it’s difficult to find a good and flexible place to start. Check out Manas’ curated list of courses, articles, projects, etc. to get your Python journey started today. 
  • Discovering Rust by Joaquin Caro: I’m a sucker for good Rust content, as there’s still so many gaps in what’s available. Joaquin does a great job of giving readers his perspective of the language’s features in a way that traditional docs just 

Source de l’article sur DZONE

The version control system is a way to manage files/directories to track file changes so that a specific version of files can be tracked later without conflicts.

Git is one of the distributed version control systems that help in:

Source de l’article sur DZONE

Learn more about Git commits.

Commits are fundamental to Git, but not all developers have a comprehensive understanding of what a commit actually is and how it gets applied to your project.

In short, a commit is a snapshot of your Git repository at one point in time. In this beginner Git tutorial, we will dig into the journey of creating a commit.

Source de l’article sur DZONE

Connect all your Git secrets to the Jenkins pipeline.

It’s a common practice to encrypt the secrets/credentials we use in our code and then save it in some secure place. We have a number of options to achieve this, with tools like Vault, Git-crypt, and more. However, git-secret is one simple awesome tool that we can use to store our secrets in our Git repo. Git secret uses gpg for encryption and decryption of secrets. 

Here’s how git-secret works. Go to the folder in your repo in which you have files to encrypt. Then, run git init && git secret init. This would initialize your .gitsecret folder. Then you run git secret tell $email , and if you want other users to decrypt the secrets file you have to import their gpg public key and again run git secret tell $otheruseremailid . Now you can run git secret add $secretfilename and git secret hide,which creates $yoursecretfile.secret file, which is an encrypted secret file.

Source de l’article sur DZONE

As I’ve said in the past, it is super easy to build a VSTS Build (now Azure DevOps Pipeline) to keep two repositories in sync. In that article, one of the steps is pushing the new code to the destination repositories with a URL like https://$(token)@myaddress.visualstudio.com/DefaultCollection, to automatically include a token to authenticate in the destination repository.

Now, some of my builds have started to fail due to timeout and I immediately suspected the reason: the name change from VSTS to Azure DevOps changed the base URL from accountname.visualstudio.com to dev.azure.com/accountname, and this broke the build.

Source de l’article sur DZONE