Архив автора: admin

Семантическое версионирование 2.0

Восхитительное чувство, когда один раз взглянув на новую версию сторонней библиотеки ты понимаешь, можно ли её смело обновлять или нужно быть готовым к изменениям в собственном коде. В сухую нумерацию пакетов вносит осмысленность Семантическое версионирование. У семантического версионирования есть свой сайт и основные посылы я брал оттуда (ссылка в конце статьи).

Основная идея

Существует основной формат:

MAJOR.MINOR.PATCH

Формат включает в себя три неотрицательные цифры, которые увеличиваются в соответствии со следующими условиями.

MAJOR — увеличение версии говорит об обратно несовместимых изменениях API.
MINOR — увеличение версии говорит о добавлении новой функциональности при сохранении обратной совместимости.
PATCH — увеличение версии говорит об обратно совместимых фиксах.

Какую проблему решаем?

При большом количестве зависимостей в вашем проекте может встать вопрос о потребности в использовании новых версий разных библиотек. Если дать полную свободу в версионировании, то процесс превратится в настоящий ад, т.к. становится абсолютно не очевидно сломает ли всё, например, переход с версии 2.3.4 на версию 2.6.8. Идея не новая, но её формализация позволяет всем использовать и понимать версии одинаково.

Как решаем?

Основная идея была описана выше, а ниже некоторые, на мой взгляд, важные вещи из спецификации SemVer.

  • если какие-то изменения сделаны после релиза, то они попадут только в новый релиз;
  • публичный API для версии 0.х.х не должен рассматриваться как стабильный, это версия для начальной разработки;
  • версия 1.0.0 определяет публичный API;
  • если часть API помечена “устаревшей”, то инкрементируем минорную версию, в том числе она может в себя включать фиксы;
  • мажорная версия может включать в себя изменения характерные минорной версии и патчу;
  • версию можно дополнять указателями на предрелизные выпуски или сборками изменяющими метаданные, но идентификаторы версий только в ASCII.

Всегда ли это подходит?

Нет, не всегда. Если вы разрабатываете программу/веб приложение для конечного пользователя, а не библиотеку или http API, то скорее всего семантическое версионирование вам не нужно. Прежде всего, посмотрите на цели и статус вашего проекта, возможно он находится на поддержке, всё, что вы делаете, — исправляете ошибки, то есть “новая функциональность” не появляется, это значит, что первые две цифры будут вечно неизменными, тогда какой в этом смысл? С другой стороны, если взглянуть категорично, то так и должно быть, каждый раз закрывая пачку багов, вы обновляете PATCH версию, а при необходимости хот-фиксов просто расширяете её дополнительными идентификаторами.

Для кого это подходит?

Иногда, мы пишем библиотеки, иногда мы пишем модули от которых будет зависеть остальная часть системы, иногда мы пишем микросервисы с API которых будут взаимодействовать другие команды. Всё это отличные примеры того, где семантическое версионирование преобретает смысл. Семантическое версионирование — это язык, в трёх словах которого общаются независимые проекты.

Сайт семантического версионирования

Автор: Roman Brovko

Как установить Mosh на Ubuntu

Mosh (mobile shell) – это альтернатива SSH с открытым исходным кодом, которая обеспечивает стабильность и надежность в беспроводных сетевых соединениях.

С помощью функции повторного установления соединения удаленное соединение автоматически восстанавливается после прерывания интернет-соединения.

Кроме того, он обеспечивает интеллектуальное локальное эхо и редактирование строк пользовательских нажатий клавиш.

На самом деле очень просто установить Mosh на Ubuntu 17.04, давайте посмотрим.

Установка Mosh

Чтобы установить Mosh, очень важно добавить необходимый репозиторий в свой компьютер, поэтому убедитесь, что вы выполнили следующую команду, которая добавляет его в вашу систему:





# add-apt-repository ppa:keithw/mosh

Mosh is a remote terminal application that supports intermittent connectivity, allows roaming, and provides speculative local echo and line editing of user keystrokes.

More info: https://launchpad.net/~keithw/+archive/ubuntu/mosh

Press [ENTER] to continue or ctrl-c to cancel adding it



gpg: keybox '/tmp/tmpk3bk72_h/pubring.gpg' created

gpg: /tmp/tmpk3bk72_h/trustdb.gpg: trustdb created

gpg: key 3EB9326A7BF6DFCD: public key "Launchpad PPA for Keith Winstein" imported

gpg: Total number processed: 1

gpg: imported: 1

OK 

После добавления репозитория вы должны обновить его, используя следующую команду:

# apt-get update

Hit:1 http://us.archive.ubuntu.com/ubuntu zesty InRelease

Get:2 http://ppa.launchpad.net/keithw/mosh/ubuntu zesty InRelease [5.4 kB]

Hit:3 http://ppa.launchpad.net/ubuntuhandbook1/claws-mail/ubuntu zesty InRelease

Get:4 http://security.ubuntu.com/ubuntu zesty-security InRelease [89.2 kB]

Get:5 http://ppa.launchpad.net/keithw/mosh/ubuntu zesty/main i386 Packages [604 B]

Get:6 http://us.archive.ubuntu.com/ubuntu zesty-updates InRelease [89.2 kB]

Get:7 http://ppa.launchpad.net/keithw/mosh/ubuntu zesty/main amd64 Packages [608 B]

Get:8 http://ppa.launchpad.net/keithw/mosh/ubuntu zesty/main Translation-en [348 B]

Get:9 http://us.archive.ubuntu.com/ubuntu zesty-backports InRelease [89.2 kB]

Fetched 284 kB in 2s (107 kB/s)

Reading package lists... Done 

И затем вы можете приступить к установке Mosh, используя следующую команду:

 # apt-get install mosh -y

Reading package lists... Done

Building dependency tree

Reading state information... Done

The following NEW packages will be installed:

mosh

0 upgraded, 1 newly installed, 0 to remove and 130 not upgraded.

Need to get 0 B/205 kB of archives.

After this operation, 843 kB of additional disk space will be used.

Selecting previously unselected package mosh.

(Reading database ... 205290 files and directories currently installed.)

Preparing to unpack .../mosh_1.3.2+1279-0ppa~ubuntu17.04.1_amd64.deb ...

Unpacking mosh (1.3.2+1279-0ppa~ubuntu17.04.1) ...

Processing triggers for ufw (0.35-4) ...

Processing triggers for man-db (2.7.6.1-2) ...

Setting up mosh (1.3.2+1279-0ppa~ubuntu17.04.1) ... 

Вы можете проверить версию Mosh, и если вы получите правильный результат, это означает, что вы установили Mosh в своей системе без каких-либо сбоев.

 # mosh -version

mosh 1.3.2 [build mosh 1.3.2]

Copyright 2012 Keith Winstein <mosh-devel@mit.edu>

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law. 



2018-01-23T17:08:01
Медиа

Вкусные диетические куриные колбаски с чесноком

Вкусные диетические куриные колбаски с чесноком Ингредиенты:

Куриное филе — 500 г
Чеснок — 10 г
Соль, перец — по вкусу

Приготовление:

Делаем неглубокие надрезы вдоль каждого филе в месте утолщения филе, раскрываем как книгу. Отбиваем кусочки филе между двумя слоями пищевой пленки. Натираем солью и перцем, кладем измельченный чеснок и заворачиваем в виде колбаски, закрепляем деревянной зубочисткой. Обжариваем очень быстро со всех сторон до румяной корочки. Запекаем при 180 С около 5 минут. Главное не пересушите.

Уязвимость в клиенте BitTorrent Transmission

Опубликована информация о неисправленной еще уязвимости в клиенте BitTorrent Transmission.

Transmission имеет клиент-серверную архитектуру, где клиентский интерфейс доступен через веб-браузер и обращается к серверной части с помощью JSON RPC запросов. Сервер доступен на порту 9091 и по умолчанию – только с локального хоста. Читать

DuckDuckGo: Миф о приватности №4. Пользователя нельзя идентифицировать по одному открытому сайту!

Существует множество мифов, связанных с вопросами приватности. И команда конфиденциального поисковика DuckDuckGo решила разобраться, какие из них выдумка, а какие действительно могут оказаться правдой. Перевод заметки из официального блога компании. Мифы о приватности:№4. Пользователя нельзя идентифицировать по одному открытому сайту! Многие наши читатели были шокированы

Автор: Alex Semёnov-Sherin
Дата публикации: 2018-01-23T12:16:00.002+07:00

Вся правда о манной каше: в чем польза и вред?

Вся правда о манной каше: в чем польза и вред?

Здравствуйте, дорогие читатели и гости сайта! В статье «Манная каша: польза и вред для здоровья людей» — основная информация об этом продукте, которую желательно знать. Как варить, как хранить. Интересные факты и видео по теме. Манка – это крупа из пшеничных зерен, которая имеет три марки помола: «Т» — из твердых сортов пшеницы. «М» — из мягкой пшеницы (более пригодна для каши и запеканки). «МТ» — смесь мягкой и твердой пшеницы. Хранят эту крупу не более 12 месяцев в закрытой емкости, т.к. она поглощает влагу и посторонние запахи. Окуда название? Название пошло от слова «манна». Согласно Библии Господь кормил манной небесной Моисея и его соплеменников во время сорокалетних скитаний. Когда у скитальцев закончился хлеб, Отец Небесный стал