Open source — TechCave

Открытое программное обеспечение (англ open-source software) — программное обеспечение с открытым исходным кодом.


Открытое программное обеспечение (англ open-source software) — программное обеспечение с открытым исходным кодом.

Исходный код таких программ доступен для просмотра, изучения и изменения, что позволяет пользователю принять участие в доработке самой открытой программы, использовать код для создания новых программ и исправления в них ошибок — через заимствование исходного кода, если это позволяет совместимость лицензий, или через изучение использованных алгоритмов, структур данных, технологий, методик и интерфейсов (поскольку исходный код может существенно дополнять документацию, а при отсутствии таковой сам служит документацией).

Стена группы

Загрузка...
3 дня назад
#

OpenVPN, о котором вы так мало знали



OpenVPN, как много в этом слове. Мультиплатформенный, гибко настраиваемый, бесплатный VPN сервер с открытым исходным кодом, являющийся фактически стандартом «defacto» для организации доступа к внутренним корпоративным сетям. Большинство администраторов используют его с настройками по умолчанию или с типовыми конфигурациями широко описанными в разных HOW-TO. Но так ли прост OpenVPN, как он кажется на первый взгляд? В данной статье мы рассмотрим скрытые от глаз внутренние механизмы OpenVPN, которые кардинально меняют представление о его возможностях.



Источник
Загрузка...
3 дня назад
#

Разработка модулей для puppet при помощи puppet development kit



Примерно месяц назад у меня был выбор: писать ли модуль для puppet «в стол» (то есть, для внутренней инфраструктуры) или делать его универсальным, открывать исходники и публиковать его на puppet forge. Конечно, быстрее и проще было бы набросать быстро под себя 2-3 класса и на том успокоиться, но вот опыт, который был получен в процессе публикации модуля, является ценным и хочется им поделиться. В рунете никакой информации по использованию puppet development kit (далее PDK) нет, так что можно считать это своеобразным туториалом.



О чём статья

В процессе разработки модуля (а точнее, двух) я открыл для себя PDK, который сильно облегчает как разработку, так и сопровождение модулей. А именно:



  • Автоматическое форматирование metadata.json при обновлении последнего

  • Генерация конфигурации для различных систем CI, которые умеют следующее:
    • Проверка ruby кода линтером rubocop

    • Запуск юнит тестов

    • При определённых условиях — автоматическая заливка рабочего кода на puppet forge


  • Генерация документации на основе тегов в коментариях при помощи yard

  • Плашка [PDK] для модуля на puppet forge. Мелочь, а приятно!



Всех заинтересованных



Источник
Загрузка...
3 дня назад
#

Почему BSD проиграла в битве с GNU/Linux?



Существует множество разных операционных систем с открытым исходным кодом, и если вы пользуетесь одной из них, то почти наверняка она будет на базе ядра Linux и набора программ GNU. Многие думают, что дистрибутив GNU/Linux и был первой open source операционной системой. Но это не так. Его опередил проект Berkeley Software Distribution, или BSD. Причем будет справедливо сказать, что он был также более профессиональным и ориентированным на рынок. Но почему тогда BSD сейчас находится на задворках экосистемы open source, тогда как GNU/Linux играет одну из центральных ролей? Посмотрим на это с исторической перспективы.



Источник
Загрузка...
3 дня назад
#

Как мы разработали девкит Librem 5 полностью на свободном ПО




От переводчика: Librem 5 (на рендере) — защищённый смартфон под Linux от компании Purism, который создаётся на максимально открытом железе и софте за счёт краудфандинга.

Сегодня расскажем о разработке Librem 5 Developer Kit и о том, как мы использовали в его разработке только на 100% свободные программы.

Дизайн девкита опубликован на условиях лицензии GNU GPLv3+, аппаратный репозиторий Git
лежит здесь.

KiCad — очевидный выбор EDA

Перед началом разработки было не совсем ясно, по какому пути разрабатывать проект. В частности, какой инструмент выбрать для
автоматизации проектирования электроники (EDA). Изначально идея состояла в изменении платы i.MX 6QP OpenRex от FEDEVEL для соответствия всем требованиям к девкиту, но мы сразу столкнулись с двумя основными проблемами: там использовался архаичный процессор i.MX 6QP, а ещё хуже, что плата была разработана в проприетарной системе Altium. К счастью, у меня уже был опыт проектирования электроники с помощью EDA KiCad, поэтому мы сумели создать дизайн девкита, используя на 100% свободное ПО.

Источник
Загрузка...
6 дней назад
#

Пишем свой язык программирования, часть 2: промежуточное представление программ



image

Введение

Приветствую всех, кто заглянул почитать мою очередную статью.

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

В первой части (линк:
habr.com/post/435202) я описал этапы проектирования и написания языковой ВМ, которая будет выполнять наши будущие приложения на нашем будущем языке.

В этой статье я планирую описать основные этапы создания промежуточного языка программирования, который будет собираться в абстрактный байткод для уже непосредственного выполнения на нашей ВМ.

Думаю, что не помешает сразу привести ссылки на сайт проекта и его репозиторий.

Сайт

Репозиторий

Источник
Загрузка...
Den
6 дней назад
#

Упрощаем написание резюме разработчика



Проблема

Каждый раз, когда приходит время искать работу, кандидат садится обновлять резюме, и попутно смотрит более опытным взглядом на свой прошлый опыт. И все переписывает, снова и снова. И каждый раз думает, что найдет вакансию мечты, а дальше станет уже настолько опытным, что на новое место его будут звать без каких-то действий с его стороны. А потом история повторяется, снова и снова.





Для тех, кому не интересна лирика, и кто хочет сразу перейти к делу — то вперед на github. А для тех, кому важна механика и история проекта — собственно и посвящена статья.



С появлением специализированных ресурсов биржы труда, таких как LinkedIn, HeadHunter и др., казалось бы, ситуация должна была улучшиться — заполняем весь опыт в одном месте, и больше прошлое не ворошим. Но не тут-то было — заполнили в одной системе, нельзя просто по клику мышки выгрузить ее в другую. Нету единой БД, на которую можно линковать свою учетную запись. Оно и понятно — подобные компании заинтересованы вытеснить других, а не заниматься интеграцией друг с другом, а простым кандидатам в итоге становится только хуже.



Источник
Загрузка...
6 дней назад
#

End-to-end тестирование микросервисов c Catcher



Добрый день! Я хотел бы представить новый инструмент для end-to-end тестирования микросервисов – Catcher
logo



Зачем тестировать?

Зачем нужно e2e тестирование? Мартин Фаулер рекомендует избегать его в пользу более простых тестов.



Источник
Загрузка...
6 дней назад
#

Вышел релиз командного интерпретатора Bash 5.0



Вчера была опубликована новая версия командного интерпретатора
Bash 5.0, которая разрабатывалась около двух с половиной лет. Кроме того, вышел релиз библиотеки
readline 8.0, которая имеет непосредственное отношение к командной строке.

Повышение номера версии Bash обусловлено рядом изменений, которые нарушают обратную совместимость. К таким изменениям относятся переработка кода, связанного с обработкой ссылочных переменных nameref, обновление подхода к использованию переменных readline 8.0. Для того, чтобы установить Bash 5.0, нужна библиотека readline 8.0, в противном случае обновиться не получится.

Источник
Загрузка...
6 дней назад
#

Фаззинг в стиле 1989 года



С наступлением 2019 года хорошо вспомнить прошлое и подумать о будущем. Оглянемся на 30 лет назад и поразмышляем над первыми научными статьями по фаззингу:
«Эмпирическое исследование надёжности утилит UNIX» и последующей работой 1995 года
«Пересмотр фаззинга» того же автора
Бартона Миллера.

В этой статье попытаемся найти баги в современных версиях Ubuntu Linux, используя
те же самые инструменты, что и в оригинальных работах по фаззингу. Вы должны прочитать оригинальные документы не только для контекста, но и для понимания. Они оказались весьма пророческими в отношении уязвимостей и эксплоитов на десятилетия вперёд. Внимательные читатели могут заметить дату публикации оригинальной статьи: 1990 год. Ещё более внимательные заметят копирайт в комментариях исходников: 1989.

Источник
Загрузка...
6 дней назад
#

Пишем свой язык программирования, часть 3: Архитектура транслятора. Разбор языковых структур и математических выражений



image

Введение

Приветствую вас, заинтересованные читающие разработчики на не важно каких языках, на которых я ориентирую эти статьи и чьи поддержку и мнения я ценю.

Для начала, по устоявшимся традициям, я приведу ссылки на предыдущие статьи:

Часть 1: пишем языковую ВМ

Часть 2: промежуточное представление программ

Для формирования в вашей голове полного понимания того, что в этих статьях мы пишем, вам стоит заранее ознакомиться с предыдущими частями.

Также мне стоит разместить сразу ссылку на статью о проекте, который был написан мной ранее и на основе которого идет весь этот разбор полётов:
Клац сюды. С ним пожалуй стоит ознакомиться первым делом.

И немного о проекте:


Небольшой сайт проекта


GitHub репозиторий

Ну и также скажу сразу, что все написано на Object Pascal, а именно — на FPC.

Итак, начнем.

Источник
Загрузка...
6 дней назад
#

Вышел GitLab 11.6 с бессерверными функциями и кластерами Kubernetes для групп



Картинка для привлечения внимания



Мы рады представить релиз GitLab 11.6, в котором мы расширили возможности бессерверной архитектуры на GitLab и добавили групповые кластеры Kubernetes для упрощения работы с нативной облачной инфраструктурой.



Источник
Загрузка...
6 дней назад
#

Spacewalk на Рождество



Привет, Хабр!

Незадолго до прихода Рождества, в IT-отделе было решено изучить Spacewalk, — это Red Hat система, бесплатный аналог Satellite, для централизованного управления конфигурациями, обновлений систем, удобной поддержкой всего серверного парка.

Ввиду того, что доступная на официальном сайте документация довольно скудна на дополнительные комментарии различного рода траблшутинга, была дана задача изучить продукт для постепенного введение его сначала на тестовые сервера, а впоследствии и на продукцию.

Основной идеей введения Spacewalk было не только централизация и упрощение контроля, но и чтобы шаловливыми ручками никто самостоятельно не делал обновления на серверах нового проекта, благо прецеденты уже происходили.

Спустя две недели работы все полученные мной знания были внесены во внутренний аналог Confluence, а свободный выходной подтолкнул меня на написание статьи на Хабр.

Источник
Загрузка...
Den
7 дней назад
#

Rust новости #4 (декабрь 2018)



Поскольку праздники кончились, предлагаю вашему вниманию субъективную подборку ржавых новостей за декабрь. В этой подборке: безумие с растом, страшен ли раст, волна пророчеств, Rust 2018, Rust Analyzer.



КДПВ



Rust 1.31 & Rust 2018

Самое важное событие декабря — выпуск Rust 1.31 и Rust 2018, конечно. Туда очень много всего вошло:



редакция 2018, нелексические времена жизни, изменения системы модулей, дополнительные правила вывода времен жизни, const fn, новые инструменты, инструментальные проверки качества кода, документация, новый веб-сайт, улучшения в cargo.

Изменений так много, что обзор всех не получилось запихнуть в один пост, так что через несколько дней были опубликованы вспомогательные заметки:





Также, имеет смысл полистать мозиловский хорошо структурированный обзор/ликбез 2018й редакции языка: Rust 2018 is here… but what is it? (перевод, обсуждение).



Источник
Загрузка...
7 дней назад
#

AWS показал Open Source средний палец



От переводчика: мне кажется, заголовок слегка неточный и на самом деле средний палец показали ребятам из MongoDB, которая теперь не очень то и Open Source.





Сегодня, Amazon AWS запустил продукт DocumentDB — новую базу данных, совместимую с API MongoDB. Компания описывает DocumentDB так — «быстрая, масштабируемая и отказоустойчивая документная база данных, разработанная так, чтобы быть совместимой с вашими существующими приложениями и инструментами на MongoDB». Фактически, это полная замена MongoDB, развёрнутая в AWS, которая не использует код MongoDB.



В AWS утверждают, что, хотя MongoDB отлично справляется со своими задачами, их клиентам всё же трудно создавать быстрые и высокодоступные приложения на платформе с открытым исходным кодом, которые смогут масштабироваться до нескольких терабайт и сотен тысяч операций чтения и записи в секунду. Поэтому компания создала свою собственную базу данных документов, но сделала ее совместимой с API MongoDB 3.6, распространяющимся под лицензией Apache 2.0.



Источник
Загрузка...
7 дней назад
#

Используем rcm для деплоя конфигурации в любую папку



И снова, здравствуйте. Неделю (эта статья о-очень долго мариновалась в бэклоге) Какое-то время назад я рассказал, как использовать rcm для обычного управления конфигурацией. У нас в компании есть модуль puppet, распространяющий персональные настройки пользователя по всем хостам, на которые у него есть доступ. Соответственно, хочется следующего:



  • Иметь собственные настройки для всего, чем я пользуюсь (vim, zsh, git, etc..)

  • Обновлять их по мере обновления в репозитории dotfiles

  • Всё это — без лишних телодвижений



Инструменты

Всё, что нужно, уже используется мною, а именно:



  • rcm

  • git

  • tar



Источник
Загрузка...
2 3

Авторизация

Пользователи

Kumskov
Juan
Tutu
naikdij88
NewEXE
Георгiй Москвитинъ
Andpyxa Tutunnik
Andrey_fox
Jane linch

GeekBrains

Нетология