Chrome

Do You Need A Binary Repository?

Any developer knows that you must have a source code repository (e.g. Git) but from time to time I get the question “why do I need a binary repository”?

Here is the short answer:

Faster and more secure software development – Any company is a software company these days and the best companies release updates on daily/hourly bases. The ability to push updates quickly is a real competitive advantage. The minute you have few engineers on your team you wish to avoid ‘fetching the all internet’ with every ‘npm install’.
A binary repo will give you the option to cache these libraries and make sure you are working with the correct ones (vs a hacked one). From the developer perspective, it is a big boost for their productivity as it saves time during development and on each build. Even better, from the DevOps perspective, the ability to control all the packages/libraries (and scan them for vulnerabilities) is a huge advantage. It enables the internal engineering team to control the releases better as they have full transparency (e.g. quality, performance, security, licenses, etc’) on everything the ‘compose’ the release version. Check the 12-factor app manifesto for more on dependencies (declaration and isolation).

Continue reading
Advertisement
Standard
cloud, testing

Product Excellence Best Practices

What are the components that help teams to build quality into their outcomes?

The main goal is to create a baseline that developers could follow and be in a quality level that is well defined and measurable. The main parts to focus on are:

  1. Testing
  2. Code reviews
  3. Static analysis
  4. Health monitoring: availability, resilience, etc’.

Tests

Continue reading
Standard
webdev

Git 101- Part 2 (A bit More Advance)

git-local-remoteAfter the first post on Git 101, here is a set of commands you will use after the first 15-20 minutes of working with it. Some are very useful (e.g. stash your work before you can commit it in order to go for a quick coffee when your code is not done) and some are a quite rare (e.g. setting up a git on a remote server). Good luck.

Update & Merge

Creating a branch (and switching to the new branch) in one line

git checkout -b "The new branch name"

  • git pull – to update your local repository to the newest commit. It will fetch and merge remote changes.
  • git merge – to merge another branch into your active branch (e.g. master).
    Remember that in both cases, git tries to auto-merge changes. IF you have conflicts, You are responsible to merge those conflicts manually by editing the files shown by git. After changing, you need to mark them as merged with
    git add
  • Preview changes before merging them
    git diff

Stash

Creating a stash (think of it as a temporary place, like a clipboard to save changes without marking them deep in history) of changes to allow you to switch branches without committing.

Continue reading

Standard
Business, webdev

Women Tech Markers With Yael Karov of Ginger

GDL-IL women techmakers giger softwareToday we published the second episode of GDL-IL Women Tech-makers with Yael Karov (Founder and CEO of Ginger Software). Gingre is a service built from Karov’s 20+ years of experience in the field of natural language processing and machine learning that helps users improve their online English language communication. Here the discussion was with Michal Segalov and Dana Gabel (Software Engineer in Google), about Yael’s experiance in commercial launch of innovative products to market.

Enjoy!

Standard