精华内容
下载资源
问答
  • stride
    千次阅读
    2021-06-01 13:03:48

    1.伪装身份(Spoofing identity),对应安全认证(鉴权)
    2.篡改数据(Tampering with data),对应数据完整性
    3.抵赖(Repudiation),对应不可抵赖性
    4.信息泄露(Information disclosure),对应机密性
    5.拒绝服务(Denial of service),对应可用性
    6.提升权限(Elevation of privilege),对应授权
    ————————————————

    STRIDE (security)

    From Wikipedia, the free encyclopedia

    Jump to navigationJump to search

    STRIDE is a model of threats developed by Praerit Garg and Loren Kohnfelder at Microsoft[1] for i

    更多相关内容
  • 打开解决方案packages\VL.Stride.sln ,将其切换为Release模式,将VL.Stride设置为启动项目,然后按Ctrl+F5启动vvvv。 (VL.Stride自动配置为源包) 如果尚未安装,则构建过程将下载并安装所需的vvvv gamma版本。 ...
  • 数组步幅为 javascript 数组实现 stride 方法以在每个循环中迭代多个元素。安装 npm install array.stride用法在 node.js 中只需要这个模块。 与大多数节点模块不同,array.stride 不导出任何内容。 相反,它修改了...
  • 基于STRIDE-LM的5G网络安全威胁建模研究与应用.pdf
  • STRIDE-AI

    2021-03-06 09:25:10
    STRIDE-AI STRIDE-AI是一种针对机器学习的,以资产为中心的方法,用于识别对基于AI的系统的威胁。 这里是参考文件: STRIDE-AI:一种识别机器学习资产漏洞的方法 拉拉·毛里( Lara Mauri)和埃内斯托·达米亚尼...
  • stride_runner 一个简单的无限跑步者作为Stride3D的学习项目
  • 威胁建模-STRIDE.pptx

    2020-12-29 09:55:01
    STRIDE 模型介绍
  • Stride.CustomRootRenderFeature 在Stride图形合成器中显示的Stride根渲染功能的演示实现。 根渲染功能可用于通过进行自定义绘制并构建自己的着色器管道。 这样做的好处是,绘图将与主相机矩阵和后缓冲纹理一起发生...
  • STRIDE为每一种威胁英文的首写字母,​​​​​​Spoofing欺骗、Tampering篡改、Repudiation否认、Information disclosure信息泄露、Denial of Service拒绝服务、Elevation of privilege特权提升。虽然 STRIDE 威胁...

    一、什么是 STRIDE 威胁建模?

    STRIDE 威胁模型由Microsoft安全研究人员于 1999 年创建,是一种以开发人员为中心的威胁建模方法,通过此方法可识别可能影响应用程序的威胁、攻击、漏洞,进而设计对应的缓解对策,以降低安全风险并满足公司的安全目标。

    STRIDE为每一种威胁英文的首写字母,​​​​​​Spoofing欺骗、Tampering篡改、Repudiation否认Information disclosure信息泄露、Denial of Service拒绝服务、Elevation of privilege特权提升。虽然 STRIDE 威胁建模本身对组织很有用,但它也是一种更广泛意义的威胁分析方法,可为安全团队提供一个实用的框架,用于定义安全要求、创建应用程序图、识别威胁、减轻威胁、并验证威胁已得到缓解

    STRIDE具体描述及缓解

    类别描述缓解方式

    Spoofing

    欺骗

    涉及非法访问并使用其他用户的身份验证信息,例如用户名和密码。

    Involves illegally accessing and then using another user's authentication information, such as username and password

    Authentication

    认证

    Tampering

    篡改

    涉及恶意修改数据。示例包括对持久数据(例如数据库中保存的数据)进行未经授权的更改,以及数据在通过开放网络(例如 Internet)在两台计算机之间流动时的更改。

    Involves the malicious modification of data. Examples include unauthorized changes made to persistent data, such as that held in a database, and the alteration of data as it flows between two computers over an open network, such as the Internet

    Integrity

    完整性

    Repudiation

    否认

    与拒绝执行某项操作而其他方没有任何方式证明的用户相关联——例如,用户在缺乏追踪被禁止操作的能力的系统中执行非法操作。不可否认性是指系统对抗否认威胁的能力。例如,购买商品的用户可能必须在收到商品时签名。然后,供应商可以使用签名的收据作为用户确实收到包裹的证据。

    Associated with users who deny performing an action without other parties having any way to prove otherwise—for example, a user performs an illegal operation in a system that lacks the ability to trace the prohibited operations. Non-Repudiation refers to the ability of a system to counter repudiation threats. For example, a user who purchases an item might have to sign for the item upon receipt. The vendor can then use the signed receipt as evidence that the user did receive the package

    Auditability

    审计

    Information Disclosure

    信息泄露

    涉及将信息暴露给不应该访问它的个人——例如,用户读取他们无权访问的文件的能力,或者入侵者读取两台计算机之间传输的数据的能力。

    Involves the exposure of information to individuals who are not supposed to have access to it—for example, the ability of users to read a file that they were not granted access to, or the ability of an intruder to read data in transit between two computers

    Confidentiality

    机密性

    Dos

    拒绝服务

    拒绝服务 (DoS) 攻击拒绝向有效用户提供服务,例如,通过使 Web 服务器暂时不可用或无法使用。您必须防范某些类型的 DoS 威胁,以提高系统可用性和可靠性。

    Denial of service (DoS) attacks deny service to valid users—for example, by making a Web server temporarily unavailable or unusable. You must protect against certain types of DoS threats simply to improve system availability and reliability

    Availability

    可用性

    Elevation of privilege

    特权提升

    非特权用户获得特权访问,从而有足够的访问权限来破坏或破坏整个系统。特权提升威胁包括攻击者有效渗透所有系统防御并成为可信系统本身的一部分的情况,这确实是一种危险情况。

    An unprivileged user gains privileged access and thereby has sufficient access to compromise or destroy the entire system. Elevation of privilege threats include those situations in which an attacker has effectively penetrated all system defenses and become part of the trusted system itself, a dangerous situation indeed

    Authorization

    授权

    以上表格参考:Microsoft Threat Modeling Tool threats

    二、STRIDE 威胁建模的六个要素

    1、欺骗

    欺骗攻击是指攻击者伪装自己的身份以成功冒充可信来源并获得对用户重要数据或信息的访问权限。欺骗经常使用社会工程来说服用户提供用户名和密码等信息。一旦他们获得信息,攻击者将使用它来访问应用程序并从那里感染网络。

    欺骗攻击包括 cookie 重放攻击、会话劫持和跨站点请求伪造 (CSRF) 攻击。 

    由于欺骗是对用户身份验证的攻击,因此最好的预防形式是实施安全的用户身份验证方法,包括安全密码要求和多因素身份验证(MFA)。

    2、篡改

    篡改涉及故意修改系统以改变其行为。攻击者将尝试通过篡改目标参数或代码来破坏应用程序,以修改应用程序数据,例如用户凭据和权限,或应用程序中的其他关键项目。

    跨站点脚本 (XSS) 和 SQL 注入等篡改攻击会破坏应用程序的完整性。为了防止篡改,应用程序应设计为验证用户输入并编码输出。在开发阶段和应用程序投入生产后,应使用静态代码分析来识别应用程序中的篡改漏洞。

    3、否认

    拒绝攻击是对应用程序上操作的有效性和完整性的攻击。否认攻击利用缺乏正确跟踪和记录用户操作的控制,利用这种缺乏来操纵或伪造新的、未经授权的操作的标识、删除日志或将错误数据记录到日志文件中,并拒绝操作或接收服务(例如,实施欺诈)。

    开发人员可以通过在提供操作证明的应用程序中加入数字签名或确保有完整的、防篡改的日志来建立不可否认性,或确保某人不能否认操作的有效性。

    4、信息泄露

    信息泄露是指应用程序无意中泄露了可能被攻击者用来破坏系统的应用程序信息。 

    信息泄露可能来自应用程序中留下的开发人员评论、提供参数信息的源代码或包含过多细节的错误消息、泄露用户数据、敏感的商业或业务数据以及有关应用程序及其基础架构的技术细节.

    然后,攻击者可以使用此信息来强制访问收集有关客户信息的应用程序,这些信息可用于进一步犯罪,或者获得特权,从而可以访问应用程序的更敏感区域。

    开发人员是防止应用程序信息泄露漏洞的核心:

    • 错误消息、响应标头和背景信息应尽可能通用,以避免泄露有关应用程序行为的线索。 
    • 应制定适当的访问控制和授权,以防止未经授权访问信息。 
    • 应该从用户的角度检查应用程序本身,以验证开发人员的评论和其他信息没有在生产环境中显示。

    5、拒绝服务

    拒绝服务 (DoS) 攻击使目标流量泛滥,触发崩溃,然后将其关闭为合法流量。DoS 攻击通常会耗费时间和金钱,但不会对其受害者造成其他损害。最常见的 DoS 攻击形式是缓冲区溢出攻击,它只是向应用程序发送过多的流量。其他攻击利用漏洞导致系统崩溃。

    DoS 攻击可以针对网络层或应用程序层。通过配置防火墙来阻止来自某些来源(例如保留、环回或私有 IP 地址或未分配的DCHP DHCP客户端)的流量,或者引入速率限制来管理流量,可以保护应用程序免受 DoS 攻击。

    6、特权升级

    权限提升攻击利用应用程序中的漏洞和错误配置来获得对提升或特权的非法访问。权限提升攻击可能会利用凭证和身份验证过程,破坏代码和设计中的漏洞,利用错误配置,或使用恶意软件或社会工程来获取访问权限。

    应在开发阶段将防止特权升级的保护内置到应用程序中。这包括管理身份生命周期、对所有用户强制执行最低权限原则、通过配置更改强化系统和应用程序、删除不必要的权限和访问、关闭端口等等。

    三、STRIDE 威胁建模的好处

    尽早发现漏洞

    一旦开发了所有或大部分应用程序,许多公认的漏洞识别方法(静态代码分析、渗透测试漏洞赏金等)就会发挥作用。但是,在开发周期中修复漏洞比在实时产品中修复漏洞更便宜、更容易。

    STRIDE 威胁建模是一种以开发为中心的方法,用于评估可能影响应用程序的威胁。STRIDE 可用于形成安全软件开发生命周期的清单,支持开发人员在更便宜且更容易缓解或补救时及早发现潜在弱点。

    采取安全第一的方法

    STRIDE 威胁建模是围绕威胁构建的,鼓励开发人员思考所考虑的每个威胁如何攻击应用程序的不同部分。此外,它挑战假设,使开发人员和信息安全团队质疑他们的假设,并测试它们的有效性和安全性。

    STRIDE 威胁建模练习的结果可以与 DREAD 风险评估模型(损害潜力Damage potential、可再现性Reproducibility、可利用性Exploitability、受影响的用户Affected users、可发现性Discoverability)相结合,以评估每个风险的影响,并确定漏洞的优先级以进行补救。

    STRIDE 威胁建模可以反复进行

    STRIDE 威胁建模是一个框架,允许定期进行威胁建模练习,以使安全团队能够掌握快速发展的威胁形势,并确保到位的保护能够抵御新旧威胁。

    四、STRIDE 建模软件工具-Microsoft Threat Modeling Tool

    STRIDE 威胁建模框架中考虑的六个威胁组侧重于应用程序中的不同安全元素,鼓励开发人员考虑可能影响应用程序或系统每个部分的威胁,实际使用中,可借助微软的威胁建模工具,软件不大,可下载至本地直接体验,具体操作可参考此链接:Getting Started - Microsoft Threat Modeling Tool - Azure | Microsoft DocsLearn how to get started using the Threat Modeling Tool. Create a diagram, identify threats, mitigate threats, and validate each mitigation.https://docs.microsoft.com/en-us/azure/security/develop/threat-modeling-tool-getting-started

     

    《完》 

    参考:

    1、STRIDE Threat Modelling: Six Steps to a Secure Application

    2、Getting started with the Threat Modeling Tool

    展开全文
  • Stride2

    2021-03-15 15:08:10
    Stride2
  • stride-docs:大步文档

    2021-04-29 11:48:10
    大步文档欢迎使用Stride文档资料库。 该存储库包含Stride文档的所有源文件( )。 欢迎任何人贡献力量! 在开始之前,请花点时间阅读。 您可以在《找到有关编辑文档的基本信息。 编辑愉快!管理多个Stride版本每个...
  • yuv的stride知识

    2021-07-06 14:15:23
    stride_y=*/plane1_stride, /*uint8* dst_u=*/dst_u, /*int dst_stride_u=*/plane2_stride/2, /*uint8* dst_v=*/dst_v, /*int dst_stride_v=*/plane2_stride/2, pixelWidth, pixelHeight); ...

    前言

    ios调用系统框架采集出的视频YUV格式为NV12.
    为满足不同业务需求,我们需要把nv12转换为i420或者rgba等格式.
    libYUV库和ffmpeg都可以帮助我们轻松搞定.(推荐libyuv库,性能比ffmpeg高出很多).

    libyuv

    libyuv是Google开源的实现各种YUV与RGB之间相互转换、旋转、缩放的库。它是跨平台的,可在Windows、Linux、Mac、Android等操作系统,x86、x64、arm架构上进行编译运行,支持SSE、AVX、NEON等SIMD指令加速.

    使用libyuv

    libyuv下载和编译网上教程较多,可去官网下载
    我们来看一下NV12转换为i420的接口

    // Convert NV12 to I420.
    LIBYUV_API
    int NV12ToI420(const uint8* src_y, int src_stride_y,
                   const uint8* src_uv, int src_stride_uv,
                   uint8* dst_y, int dst_stride_y,
                   uint8* dst_u, int dst_stride_u,
                   uint8* dst_v, int dst_stride_v,
                   int width, int height);
    
    

    src_ 为我们需要转换的NV12格式数据,dst_ 为转换后的i420数据
    那么stride代表啥???

    跨距-stride

    我们都知道现在计算机的cpu都是32位或者64位的cpu,他们一次最少读取4、8个字节,如果少于这些,反而要做一些额外的工作,会花更长的时间。所有会有一个概念叫做内存对齐,将结构体的长度设为4、8的倍数。

    跨距也是因为同样的理由出现的。因为图像的操作通常按行操作的,如果图像的所有数据都紧密排列,那么会发生非常多次的读取非对齐内存。会影响效率。而图像的处理本就是一个分秒必争的操作,所以为了性能的提高就引入了跨距这个概念。
    跨距就是指图像中的一行图像数据所占的存储空间的长度,它是一个大于等于图像宽度的内存对齐的长度。这样每次以行为基准读取数据的时候就能内存对齐,虽然可能会有一点内存浪费,但是在内存充裕的今天已经无所谓了。

    CVImageBufferRef pixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer);
            //表示开始操作数据
            CVPixelBufferLockBaseAddress(pixelBuffer, 0);
            //图像宽度(像素)
            size_t pixelWidth = CVPixelBufferGetWidth(pixelBuffer);
            //图像高度(像素)
            size_t pixelHeight = CVPixelBufferGetHeight(pixelBuffer);
            //获取CVImageBufferRef中的y数据
            uint8_t *y_frame = CVPixelBufferGetBaseAddressOfPlane(pixelBuffer, 0);
            //获取CMVImageBufferRef中的uv数据
            uint8_t *uv_frame = CVPixelBufferGetBaseAddressOfPlane(pixelBuffer, 1);
            //y stride
            size_t plane1_stride = CVPixelBufferGetBytesPerRowOfPlane (pixelBuffer, 0);
            //uv stride
            size_t plane2_stride = CVPixelBufferGetBytesPerRowOfPlane (pixelBuffer, 1);
           //y_size
            size_t plane1_size = plane1_stride * CVPixelBufferGetHeightOfPlane(pixelBuffer, 0);
            //uv_size
            size_t plane2_size = CVPixelBufferGetBytesPerRowOfPlane (pixelBuffer, 1) * CVPixelBufferGetHeightOfPlane(pixelBuffer, 1);
            //yuv_size
            size_t frame_size = plane1_size + plane2_size;
    
            uint8* buffer = malloc(frame_size);
            uint8* dst_u = buffer + plane1_size;
            uint8* dst_v = dst_u + plane1_size/4;
    
            // Let libyuv convert
           NV12ToI420(/*const uint8* src_y=*/y_frame, /*int src_stride_y=*/plane1_stride,
                               /*const uint8* src_uv=*/uv_frame, /*int src_stride_uv=*/plane2_stride,
                               /*uint8* dst_y=*/buffer, /*int dst_stride_y=*/plane1_stride,
                               /*uint8* dst_u=*/dst_u, /*int dst_stride_u=*/plane2_stride/2,
                               /*uint8* dst_v=*/dst_v, /*int dst_stride_v=*/plane2_stride/2,
                               pixelWidth, pixelHeight);
            CVPixelBufferUnlockBaseAddress(pixelBuffer, 0);
           free(buffer);
    
    

    以上为NV12转化为i420的所有代码.



    作者:miniminiming
    链接:https://www.jianshu.com/p/907896648310
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    展开全文
  • 解析内存图像行跨度:Stride Stride的来由 我们都知道现在计算机的cpu都是32位或者64位的cpu,他们一次最少读取4、8个字节,如果少于这些,反而要做一些额外的工作,会花更长的时间。所有会有一个概念叫做内存对齐,...

    Stride的来由

    我们都知道现在计算机的cpu都是32位或者64位的cpu,他们一次最少读取4、8个字节,如果少于这些,反而要做一些额外的工作,会花更长的时间。所有会有一个概念叫做内存对齐,将结构体的长度设为4、8的倍数。Stride也是因为同样的理由出现的。因为图像的操作通常按行操作的,如果图像的所有数据都紧密排列,那么会发生非常多次的读取非对齐内存,从而影响效率。而图像的处理本就是一个分秒必争的操作,所以为了性能的提高就引入了Stride这个概念。

    Stride的含义

    • Stride就是指图像中的一行图像数据所占的存储空间的长度,它是一个大于等于图像宽度的内存对齐的长度。这样每次以行为基准读取数据的时候就能内存对齐,虽然可能会有一点内存浪费,但是在内存充裕的今天已经无所谓了。
    • 当视频图像存储在内存时,图像的每一行末尾也许包含一些扩展的内容,这些扩展的内容只影响图像如何存储在内存中,但是不影响图像如何显示出来。如果图像的每一行像素末尾拥有扩展内容,Stride 的值一定大于图像的宽度(byte)值。

    请添加图片描述

    • 两个缓冲区包含同样大小(宽度和高度)的视频帧,却不一定拥有同样的 Stride 值,如果你处理一个视频帧,你必须在计算的时候把 Stride 考虑进去;
    • 尤其是视频变换,特别需要处理不同 Stride 值的图像,因为输入缓冲也许与输出缓冲不匹配,举个例子,假设你想要将源图像转换并且将结果写入到目标图像,假设两个图像拥有相同的宽度和高度,但是其像素格式与 Stride 值也许不同;

    Stride的值

    如果图像的宽度 (byte) 是内存对齐长度的整数倍,那么Stride就会等于宽度 (byte),以ZTV2为例,Master对DDR的一次读取/写入都是8个字节,而我们通常见到的分辨率都是8的整数倍,所以我们通常发现Stride和图像的字节宽度一样(这里通常指rgb32格式或者以通道表示的yuv420p格式的y通道)。但是如果遇到一些少见的分辨率时Stride和图像的字节宽度时就不一样了。

    Stride的计算方法与约束

    • 按照有气泡的方式向DDR中存放数据

      每像素占用字节数Bpc: 1(DW<=8), 2(8<DW<=16), 4(16<DW<=32)
      
      Stride = Bpc * PicWidth 
      
    • 按照无气泡的方式向DDR中存放数据

      Stride = (PicWidth * DW + 7) / 8
      
    • 确定一次读写内存的字节数,若一笔Burst为64位,则Stride要8Byte对齐,即

      Stride[2:0] = 0
      

    若计算出来的Stride不满足对齐约束,一定要进行相应的放大取整!否则stride小了,会丢数据。

    通过Stride计算地址

    • 计算每行的结束地址

    endaddr_line = startaddr_line + Stride * PicHeigh

    • 计算图像的的结束地址

    endaddr_pic = startaddr_pic + Stride * PicHeigh

    PS. 关于Stride的符号说明

    Stride其实是一个有符号数,这要举一个例子来说明。一张图像在内存中有两种不同的存储序列(arranged),对于一个从上而下存储(Top-Down) 的图像,最顶行的像素保存在内存中最开头的部分,对于一张从下而上存储(Bottom-Up)的图像,最后一行的像素保存在内存中最开头的部分,下面图示展示了这两种情况:

    请添加图片描述

    一张从下而上的图像拥有一个负的 Stride 值!因为 Stride 被定义为“从一行像素移动到下一行像素时需要跨过多少个像素”,仅相对于被显示出来的图像而言;而 YUV 图像永远都是从上而下表示的,RGB 图像保存在系统内存时通常是从下而上;

    参考文献

    https://blog.csdn.net/bjrxyz/article/details/52690661

    http://vegetable.wodekouwei.com/2017/06/27/media-graphic-image-stride/

    展开全文
  • 大步进行项目管理安装: git clone cd步幅捆绑安装; 纱线安装宝石安装工头工头开始宝石: 设计Nested_scaffolds
  • SDL介绍-STRIDE威胁建模方法
  • STRIDE威胁建模

    千次阅读 2020-03-18 15:12:02
    STRIDE威胁建模的总体流程: 五、STRIDE的六类威胁与四类元素 在正式开始威胁建模前,我们先来了解STRIDE的六类威胁和数据流图中的四类元素。 5.1 六类威胁 STRIDE是从攻击者的角度,把威胁划分成6个类别,分别是...
  • SDL介绍----3、STRIDE威胁建模方法

    千次阅读 2021-07-06 14:42:18
    STRIDE威胁建模方法
  • stride,步幅,步长理解
  • 什么是stride模型

    千次阅读 2022-03-06 18:31:53
    威胁建模 威胁建模是一个结构化的过程,用于识别和枚举出潜在的威胁(如漏洞或缺乏防御机制的情况),并对安全缓解措施进行优先级排序。威胁建模旨在根据当前的信息系统和威胁状况、...STRIDE 是微软开发的用于威胁建..
  • Pytorch:stride步长

    千次阅读 2021-01-18 17:57:15
    size是tensor的维度,storage offset是数据在storage中的索引,stride是storage中对应于tensor的相邻维度间第一个索引的跨度。示例如下: 上图是一个storage,与它对应的tensor([[3.0, 1.0, 2.0], [4.0, 1.0, F]]...
  • CNN中stride(步幅)和padding(填充)的详细理解

    万次阅读 多人点赞 2020-08-25 20:31:51
    回答: 答:若d等于0,也就是不填充,输出的特征图的尺寸=(a-b)/c+1 若d不等于0,也就是填充,输出的特征图的尺寸=(a+2d-b)/c+1 举栗子: 栗子1:stride=1,padding=0(遍历采样,无填充:padding=‘valid’) ...
  • Stride App入门指南 生成有关如何从Stride开始的参考。 发展 npm run start 产生文件 npm run build 它将生成docs目录,该目录必须与源一起提交才能激活GitHub页面。
  • 步幅Stride 1. 卷积层里的填充Padding 2 卷积层里的步幅Stride 3. 代码实现 3. Q&A 超参数 核大小,填充一般是核大小-1,步幅一般看是否需要优化计算的速度。 卷积核的变长一般选奇数,方便...
  • 图像处理中Stride的理解

    千次阅读 2022-02-11 14:57:18
    一行有 11 个像素(Width = 11), 对一个 32 位(每个像素 4 字节)的图像, Stride = 11 * 4 = 44. 但还有个字节对齐的问题, 譬如: 一行有 11 个像素(Width = 11), 对一个 24 位(每个像素 3 字节)的图像, Stride = 11 ...
  • Jenkins 的 Stride 插件 一个 Jenkins 插件,用于向 Stride 聊天室发送构建事件的通知。 特征 可以发送以下构建状态的通知 内部版本号 构建状态(例如构建成功、构建失败、构建不稳定) 构建网址 建立时间 职位名称...
  • 论文标题:Embracing Single Stride 3D Object Detector with Sparse Transformer 源码地址:https://github.com/TuSimple/SST CVPR2022 文章写得很好! 文章从2d 3d目标检测目标的尺寸的不同入手,在2d目标检测中...
  • numpy.lib.stride_tricks.as_strided是numpy包中一个用以形成子矩阵的函数。 它可以从原矩阵中生成子矩阵,而且子矩阵可以交叉。 主要用于对矩阵进行卷积运算,如用2 * 2 矩阵对 4 * 4的矩阵进行卷积,如果stride为1...
  • STRIDE

    2017-12-19 20:18:24
    STRIDE
  • Stride 是用于分配蛋白质二级结构的软件。这个包将它包装在一个 Julia 包中

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 90,255
精华内容 36,102
关键字:

stride