Рубрика «open source» - 128

image

Привет, %username%!

Ты наверняка знаешь, что такое API интерфейсы и то, как много от них зависит в твоем проекте. Более того, я так же полагаю, что ты уже знаком с тем, что такое API first подход и знаешь, что Swagger и его Open API являются одними из самых популярных инструментов, помогающих ему следовать.

Но в этой статье я хочу рассказать про подход к реализации API first, концептуально отличающийся от того, что предлагает Swagger и Apiary. Во главе идеи стоит понятие Single contract и возможность его реализации на базе RAML 1.0.

Под катом:

  • Краткое описание принципов API first;
  • Single contract – ввод понятия, предпосылки к появлению, рассмотрение возможности его реализации на базе OAS (Swagger);
  • RAML + annotations + overlays как база для Single contract, примеры;
  • Проблемы RAML, концептуальные разногласия разработчиков;
  • Идея SaaS сервиса на базе вышеизложенной идеи (картинка прототипа сверху).

Читать полностью »

Власть, деньги и open source. Рассказываем, как работает сообщество на примере Apache Ignite - 1

На последней встрече сообщества Apache Ignite в Москве я рассказывал про:

  • Open source-сообщество;
  • Власть и деньги в open source;
  • Как стать контрибьютором и коммитером, и зачем это нужно.

Ограниченное время доклада не позволило привести больше примеров, поэтому расширенную версию выкладываю на Хабре. Всё изложенное основано на моем личном опыте и не является официальной позицией какой-либо компании или организации.
Читать полностью »

image

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

Читать полностью »

Команда разработчиков Rust рада сообщить о выпуске новой версии Rust: 1.28.0. Rust — это системный язык программирования, нацеленный на безопасность, скорость и параллельное выполнение кода.

Если у вас установлена предыдущая версия Rust с помощью rustup, то для обновления Rust до версии 1.28.0 вам достаточно выполнить:

$ rustup update stable

Если у вас еще не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта. С подробными примечаниями к выпуску Rust 1.28.0 можно ознакомиться на GitHub.

Что вошло в стабильную версию 1.28.0

Глобальные аллокаторы

С помощью аллокаторов программы на Rust получают память во время выполнения. Раньше Rust не позволял изменять способ распределения памяти, что ограничивало его использование в некоторых случаях. Читать полностью »

Привет! Мы рады рассказать, что создали Quantum Katas — открытый проект, помогающий изучать квантовые вычисления и язык Q# в комфортном темпе. Кстати, все упражнения сделаны таким образом, чтобы давать feedback сразу после выполнения. Подробности под катом!

Откройте для себя квантовое программирование с Quantum Katas - 1Читать полностью »

Telegram API демон — склеиваем последовательные сообщения - 1

Пиши мысль в одном сообщении

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

Хватит это терпеть!

Переучивать себя я не собираюсь — не считаю это проблемой того кто пишет, ему так удобно. Сообщения должен склеивать сам клиент, чтобы было удобно всем, хотя бы опционально. От команды Telegram я этого так и не дождался — так что решил проблему при помощи небольшого клиента — демона на Python и решил поделиться с сообществом исходниками.
Подробности, исходники и описание под катом.
Читать полностью »

Просто о сложном. Часть 3, продолжаем создание беспроводного «умного дома». На основе технологий Z-Wave и ПО MajorDoMo - 1
В данной статье продолжаем первые шаги по созданию своего беспроводного “Умного Дома» на основе технологий и протокола по open source. На примере подключения одного устройства, работающего по технологии Z-Wave: умной розетки FIBARO Wall Plug Z-Wave (FGWPF-102_ZW5).

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

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

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

Файловая система proc (в дальнейшем просто procfs) является виртуальной файловой системой, которая предоставляет информацию о процессах. Она — “прекрасный” пример интерфейсов следующих парадигме “все является файлом”. Procfs была разработана очень давно: во времена, когда серверы в среднем обслуживали несколько десятков процессов, когда открыть файл и вычитать информацию о процессе не было проблемой. Однако время не стоит на месте, и сейчас серверы обслуживают сотни тысяч, а то и больше процессов одновременно. В таком контексте идея “открыть файл для каждого процесса, чтобы вычитать интересующие данные” уже не выглядит такой привлекательной, и первое что приходит на ум чтобы ускорить чтение — это получение информации о группе процессов за одну итерацию. В этой статье мы попробуем найти элементы procfs которые можно оптимизировать.

image

Читать полностью »

Привет! В этой серии мы продолжаем усиленно дружить драйвер WinBtrfs с ReactOS.

ReactOS теперь запускается с BTRFS раздела - 1
А этот ваш Windows так умеет?
Читать полностью »

Android и Единорог PVS-Studio

Разработка больших сложных проектов невозможна без использования методологий программирования и инструментальных средств, помогающих контролировать качество кода. В первую очередь, это грамотный стандарт кодирования, обзоры кода, юнит-тесты, статические и динамические анализаторы кода. Всё это помогает выявлять дефекты в коде на самых ранних этапах разработки. В этой статье демонстрируются возможности статического анализатора PVS-Studio по выявлению ошибок и потенциальных уязвимостей в коде операционной системы Android. Надеемся, что статья привлечёт внимание читателей к методологии статического анализа кода и они захотят внедрить её в процесс разработки собственных проектов.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js