LINUX.ORG.RU

Api


6

0

Всего сообщений: 7

CADBase — сайт для хранения и обмена чертежами

Группа Интернет

CADBase предназначен для размещения информации о чертежах и сопутствующих материалах (стандарты, поставщики, конструкторская документация).

Основной частью ресурса является страница компонента:

  • основная информация о компоненте, его характеристики и связанные файлы;
  • модификации компонента с параметрами и сопутствующими файлами;
  • наборы файлов для САПР и других программ;
  • информация о сопутствующих материалах компонента: стандарты, поставщики, каталоги, ключевые слова.

Основные отличия CADBase от других решений (которых появилось достаточно много за последние несколько лет, очень сильно затянули с запуском):

  • Компонент (в рамках CADBase) это совокупность: модификаций, стандартов, поставщиков и других связанных данных с чертежом.
  • К модификациям компонента привязываются наборы файлов для различных САПР.
  • Реализовано представление «базового» компонента для возможности участия нескольких поставщиков (это может быть использовано для поиска поставщика базового компонента или поиска производства требуемого изделия по чертежу).
  • Стандарт в рамках CADBase это отдельная от компонента сущность, которая связывается с компонентом.
  • Для всех пользователей доступ к платформе может осуществляться через сайт или API (используется единый токен).

Видеозапись процесса создания компонента на платформе CADBase (получилось не очень): https://www.youtube.com/watch?v=Bj_n57i7NxI

Видеозапись процесса создания стандарта: https://www.youtube.com/watch?v=WWpCuZevAr4

Возможности и функциональность:
  • публикация каталогов компонентов и стандартов;
  • обмен материалами между пользователями, добавление в избранное и т.п.;
  • хранение чертежей и документации с разграничением доступа.

Сейчас ведется работа по документированию API.

В перспективе планируется сделать возможность self-host (после того, как будут открыты исходники).

В некоторых регионах наблюдается проблема: первая загрузка сайта занимает 20-30 сек, в чем причина неизвестно. В нормальной ситуации, первая загрузка 2-3 секунды.

>>> Сайт проекта

 , , ,

anonymous
()

Microsoft выпустила официальную Rust библиотеку для Windows API

Группа Open Source

Библиотека оформлена в виде Rust crate под MIT License, который можно использовать вот так:

[dependencies]
windows = "0.2.1"

[build-dependencies]
windows = "0.2.1"

После этого в скрипте сборки build.rs можно сгенерировать те модули, которые нужны для вашего приложения:

fn main() {
    windows::build!(
        windows::data::xml::dom::*
        windows::win32::system_services::{CreateEventW, SetEvent, WaitForSingleObject}
        windows::win32::windows_programming::CloseHandle
    );
}

Документация о доступных модулях опубликована на docs.rs.

Пример кода:

mod bindings {
    ::windows::include_bindings!();
}

use bindings::{
    windows::data::xml::dom::*,
    windows::win32::system_services::{CreateEventW, SetEvent, WaitForSingleObject},
    windows::win32::windows_programming::CloseHandle,
};

fn main() -> windows::Result<()> {
    let doc = XmlDocument::new()?;
    doc.load_xml("<html>hello world</html>")?;

    let root = doc.document_element()?;
    assert!(root.node_name()? == "html");
    assert!(root.inner_text()? == "hello world");

    unsafe {
        let event = CreateEventW(
            std::ptr::null_mut(),
            true.into(),
            false.into(),
            std::ptr::null(),
        );

        SetEvent(event).ok()?;
        WaitForSingleObject(event, 0);
        CloseHandle(event).ok()?;
    }

    Ok(())
}

Для некоторых вызовов функций используется unsafe, так как эти функции предоставляются как они есть, не адаптируя их к конвенциями Rust. По такому же принципу устроен crate libc, который служит базовым crate для доступа к libc и используется как основа для пострения библиотек с безопасным интерфейсом.

Проект создан в рамках Win32 Metadata Project, который призван облегчить создание API для разных языков программирования. Вторая библиотека, которая была создана на основе Metadata Project на первое фазе проекта - C#/Win32. Также Microsoft анонсировала начало работы над версией для С++, которая использует современный стиль языка.

>>> Github

 , , , ,

vertexua
()

Опубликована документация по QGIS Python API

Опубликована документация по QGIS Python API
Группа Документация

Разработчики QGIS, свободной кросс-платформенной ГИС, представили документацию к собственной реализации API для написания дополнений на языке Python для QGIS 3.x — PyQGIS API:

>>> http://qgis.org/pyqgis/master

Данная документация опубликована с использованием системы Sphinx.

Ранее были опубликованы отчёты о первой и второй генерациях PyQGIS API.

>>> Онлайн-документация QGIS

>>> Скачать QGIS (для Linux, BSD, Mac OS X, Windows, Android)

>>> QGIS Road Map

>>> Подробности

 , , ,

atsym
()

Интерфейс прикладного программирования Socket API

Группа Документация

Опубликован перевод серии из 5 статей, предназначенных для новичков сетевого программирования (знание языка C является обязательным условием), в которой рассказано, как с помощью интерфейса прикладного программирования Socket API системы UNIX создавать сервера и сетевые клиентские программы.

>>> Подробности

 ,

vikos
()

Корпоративные блоги, MetaWeblog и XML-RPC

Группа Документация

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

>>> Подробности

 , metaweblog,

IBM_dW
()

Основы и настройка PAM

Группа Документация

Подключаемые модули аутентификации (Pluggable Authentication Modules, PAM) – это набор API, используемых разработчиками приложений для функций, связанных с безопасностью, таких как аутентификация пользователей, шифрование данных, взаимодействие с LDAP и т.д. В этой статье дается базовое введение в модель PAM для Linux, приводятся примеры настройки PAM и описывается создание PAM-приложения входа в систему за 10 простых шагов.

>>> Подробности

 , , ,

IBM_dW
()

TASK_KILLABLE: Новое состояние процесса в Linux

Группа Документация

В ядре Linux® 2.6.25 появилось новое состояние приостановки выполнения процесса TASK_KILLABLE, представляющее собой альтернативу эффективному, но потенциально приводящему к невозможности завершения процесса состоянию TASK_UNINTERRUPTIBLE и более безопасному, но легко прерываемому TASK_INTERRUPTIBLE. Своим появлением состояние TASK_KILLABLE обязано проблеме, возникшей в 2002 г. и связанной с драйвером файловой системы OpenAFS, который блокировал все сигналы и ожидал наступления события, находясь в состоянии, допускающем прерывания. Новое состояние приостановки аналогично TASK_UNINTERRUPTIBLE, но позволяет обрабатывать фатальные сигналы. В данной статье автор освещает это нововведение и на примерах исходных текстов ядра Linux 2.6.26 и более ранней версии 2.6.18 обсуждает связанные с ним изменения и новые API.

>>> Подробности

 ,

IBM_dW
()