delete map[key] in go?

package main func main () { var sessions = map[string] chan int{}; delete(sessions, "moo"); } seems to work. This seems a poor use of resources though! Another way is to check for existence and use the value itself: package main func main () { var sessions = map[string] chan int{}; sessions["moo"] = make (chan int); _, ok := sessions["moo"]; if ok { delete(sessions, "moo"); } }

Технология CRUD-матрицы. Практический опыт

Технология CRUD-матрицы — это хороший инструмент для каждого члена Agile-команды на протяжении всего жизненного цикла продукта. CRUD-матрица позволяет наладить адекватный диалог с клиентом и выявить дублирование функционала, а также устранить противоречивость модели. Что касается оценки времени, то в этом моменте CRUD-матрица значительно уступает такому инструменту, как “planning poker”, который позволяет провести адекватную оценку с учетом объективных причин. Немного теории: описание методики IIBA в компетенцию бизнес-аналитика в области Agile (далее Agile-аналитик) относит следующие технологии:— Определение критериев Read more

Find the total size of certain files within a directory branch

23 The ultimate answer is: { find <DIR> -type f -name "*.<EXT>" -printf "%s+"; echo 0; } | bc and even faster version, not limited by RAM, but that requires GNU AWK with bignum support: find <DIR> -type f -name "*.<EXT>" -printf "%s\n" | gawk -M '{t+=$1}END{print t}' This version has the following features: all capabilities of find to specify the files you’re looking for supports millions of files other answers here are limited by Read more

Recursively counting files in a Linux directory

This should work: find DIR_NAME -type f | wc -l Explanation: -type f to include only files. | (and not ¦) redirects find command’s standard output to wc command’s standard input. wc (short for word count) counts newlines, words and bytes on its input (docs). -l to count just newlines. Notes: Replace DIR_NAME with . to execute the command in the current folder. You can also remove the -type f to include directories (and symlinks) Read more

Accessing private properties in PHP

Private properties can only be accessed by the class that defines the property… right? Actually, PHP has a few ways to circumvent this: reflection, closures and array casting. Reflection: slow, but clean PHP provides a reflection API to retrieve metadata of classes, methods, interfaces, and so on. Of special interest to us is the ReflectionProperty class. Among other things, it has the wonderful method setAccesible. In our code samples, we’re going to try to retrieve Read more

Awesome HTTP Load Balancing on Docker with Traefik

Why Traefik? Traefik is the up-and-coming ‘Edge Router / Proxy’ for all things cloud. Full disclosure, I like it. The cut back features compared to products like F5 which I have used throughout my career is refreshing — these products still do have their place, and they can do some very cool stuff. I’m a strong believer in avoiding technical debt when I’m building out my infrastructure and applications. Traefik is a production scale tool, Read more

Zero Downtime Deployments With Docker Swarm

Zero downtime deployments is an important topic when it is come to hosting a highly available software. This is especially the case with frequent software deployments ,following Agile methodologies, and trying to apply continuous deployment guidelines and techniques. The Problem The zero-downtime deployment topic is most relevant to the web applications or services that expose public interfaces for their clients. These interfaces must be highly available for clients all the time, even during software deployment Read more

Очистка места на диске после docker

Технология Docker позволяет упаковать приложение или сервис в контейнер, который легко может быть запущен в любом окружении. Однако при активной работе с Docker жесткий диск быстро засоряется неиспользуемыми образами, контейнерами и томами данных. Давайте разберемся с набором инструментов для чистки системы, предоставляемым Docker и рассмотрим несколько примеров! Как мы уже упоминали ранее, для очистки неиспользуемых данных можно воспользоваться командой: docker system prune Однако данная команда появилась в docker-engine начиная с версии 1.13.0, а в предыдущих Read more

Docker: работа с контейнерами

Ранее мы рассматривали процесс установки Docker в операционной системе Ubuntu 16.04 и для проверки работоспособности запускали тестовый контейнер hello-world — это был очень простой пример контейнера, который запускался, выводил сообщение на экран и завершал работу. Как правило, контейнеры выполняют более полезные действия, ведь они очень похожи на виртуальные машины (но менее требовательны к ресурсам). Давайте разберемся с запуском контейнеров и рассмотрим полезные команды для работы с ними! Проверить сколько места на жестком диске занимает Docker: Read more

Breaking down monoliths: blue-green microservice deployments with Traefik

When downtime is not acceptable, experts start speaking about zero downtime deployment strategies, for example blue-green deployment, sometimes referred to as A/B deployment. The main idea behind blue-green deployment is that you have some kind of load balancer, and behind that a live system that we refer to as “green” and a stand-by system called “blue”. When we deploy software we do it on the blue system, when we finish we switch the load balancer Read more

Любишь мемасики?

Подпишись на мой телеграм-канал!