Search Posts

分类: 管理

ubuntu18.04 对 realtek RTL8822BE, RTL8822CE, RTL8821CE, RTL8723DE型号的网卡驱动的支持,解决华为matebook笔记本无线wifi无法识别的问题

ubuntu18.04 对 realtek RTL8822BE, RTL8822CE, RTL8821CE, 和 RTL8723DE 网卡驱动的支持,(例如华为 matebook有采用以上网卡)。按本文可以解决 Huawei MateBook 13 2020 和Huawei MateBook 14 的无线wifi无法识别的问题。
网卡型号: Realtek 8822CE Wireless LAN 802.11ac PCI-E NIC (a/b/g/n = Wi-Fi 4/ac = Wi-Fi 5),

这个驱动代码库,带有对RTL8822BE, RTL8822CE, RTL8821CE, and RTL8723DE等网卡的支持,在ubuntu 18.04 下测试可行。

sudo apt-get update
sudo apt-get install make gcc linux-headers-$(uname -r) build-essential git
git clone https://github.com/lwfinger/rtw88.git
#or https://gitee.com/kjpioo2006/rtw88
cd rtw88
make
sudo make install

这样操作即可。重启验证。

reboot
查看余下内容

书籍《Linux高效运维实战》推荐的一些Linux性能检测工具

linux下的性能监控工具命令

htop 命令

htop的优势是可以直接看到进程的启动命令。而且可以看进程树。支持水平、垂直方向 滚动。直接对该进程进行管理操作。

smem 命令

smem 是一款linux下的内存使用情况报告工具。能够给出linux下的内存使用的多种报告。和其他传统内存报告工具不通的是,有一个独特功能:报告PSS,即物理内存使用情况。

因为linux使用的虚拟内存,要准确计算一个进程实际使用的物理内存就不容易。但只知道一个进程的虚拟内存大小也并没有太大用处,因为还无法获取到实际占用的物理内存大小。

RSS (Resident Set Size)

使用top命令可以看到。表示进程占用的物理内存大小。但是将各进程的RSS值相加,通常会超出整个系统的内存消耗,这是因为RSS中包含了各进程间共享的内存。

PSS:(Proportional Set Size)

所有使用某共享库的程序均分该共享库的内存。显然所有进程的PSS之和就是系统的内存使用量。他会更准确一些,它将共享内存的大小进行平均后,再分摊到各个进程上去。

USS(Unique Set Size)

进程独自占用的内存。它只计算了进程独自占用的内存大小,不包含任何任何共享的部分。

smem 使用例子:

smem -p (百分比的形式查看内存使用情况)

smem -u (查看每个用户的内存使用情况)

smem -P nginx ( 查看某个进程占用内存大小)

smem -k -P nginx ( 查看某个进程占用内存大小) 

vmstat 命令可以看cpu 和内存(swap)、io占用情况。注意其中swap 即使有占用的话也要根据 si和so  来判断swap是否合理。

《linux高效运维实战》中,对swap占用的说明提到 ,vmstat 命令查询资源占用结果(以上第二图)里面 memory 列内的 swap列 表示切换到内存交换区的内存数量(KB 为单位)。如果swap值不为0,或者比较大,那么只要si 和so 的值长期 为0即没有影响 ( si 、 so全称是 swap in 和 swap out ,即换入 和 换出 的 交换内存量,即换入换出多的话会对IO产生实际压力)。这种情况下一般不用担心,不会影响系统性能。(如果si/so 长期不为0, 表示系统内存不足,需要增加系统内存)

iotop 可以监控磁盘I/O使用状况,检测到哪一个程序使用的磁盘I/O异常。

网络检测工具:

mtr 网络检测

mtr是linux 一个非常棒的网络连通性判断工具,结合了 ping traceroute,nslookup的相关特性。

列含义:

loss%是对应IP行的丢包率,值得一提的是,只有最后的目标丢包才算是真正的丢包。

Last列是最后一次返回的延迟,按毫秒计算的。

Avg列是所有返回延时的平均值。

Best列是最快的一次返回延时。

Wrst 是最差。

StDev列是标准偏差。

tcpdump 网络抓包分析工具命令

tcpdump 命令抓包分析:

参数:

-i 指定网卡,默认是eth0

-n线上IP,而不是hostname

-c 指定抓到多少个包后退出。

-A 以ASCII方式显示包的内容。这个选项对文本格式的协议包很有用。

-x 以16进制显示包的内容。

-vvv显示详细信息。

-s 按长包截取数据。默认是60字节,如何包大于60字节,则抓包会出现丢数据现象。所以一般会设置-s 0,这样会按照包的大小截取数据。并且抓到的是完整的包数据。

-r 从文件中读取(与-w 对应,例如,tcpdump -w test.out… 查看余下内容

linux发行版openEuler如何升级22.09版本到23.03

openEuler升级更新主要做以下几件事:

修改一下软件镜像源;
使用dnf删除缓存、再执行升级。

一、修改镜像源

镜像源主要有两种方式,一种是直接用网络镜像源,另一种是把安装时用的光盘映像文件(.iso)做成本地镜像源。
如果是学习、本地虚拟机开发,更推荐用本地镜像源,避免反复下载已经下载的内容,节省时间。如果使用本地镜像源,推荐下载名字里带everything的安装文件,例如:openEuler-23.03-everything-x86_64-dvd.iso。

1、通过本地镜像源升级

首先参考官方文档《 通过挂载ISO创建本地openEuler repo源配置本地yum源》,可以临时挂载CDROM到Linux系统的指定文件夹。但文章中的方法有局限性:如果系统重新启动,则需要重新执行mount指令进行挂载。

注1:
建议不要完全安装官方指南的操作,你可以在/etc/yum.repos.d目录下直接新建一个CDROM.repo文件,把CD镜像相关内容写到里面,不要修改系统原有的openEuler.repo。只要后缀名是.repo,都会被dnf识别到。设置好本地镜像源后,使用命令:

sudo mv openEuler.repo openEuler.repo.bak
为网络镜像源文件改名备份,这样dnf就只使用本地镜像源了。

注2:
重启Linux操作系统会导致挂载失效,如果要开机自动挂载,可以使用systemctl进行开机服务管理。比如,自己先创建一个mymount.sh脚本文件,添加挂载命令

/usr/bin/mount <被挂载的文件或目录> <挂载目标>
到文件中(绝对路径不要省略,因为系统刚开机,很多环境还没准备好,用上绝对路径才知道文件在哪里)。然后使用

sudo systemctl edit --force --full mymount
创建一个叫mymount的开机服务,然后在其中编写服务内容,大致格式和内容如下:

[Unit]
Description=自定义共享文件加载服务

[Service]
Type=forking
ExecStart=/usr/bin/bash .sh

[Install]
WantedBy=multi-user.target

2、通过网络镜像源升级

本方法的详细过程可以参考官方文档 《通过直接获取在线的openEuler repo源配置在线yum源》
复制一次系统原有的软件镜像源文件作备份:

sudo cp /etc/yum.repos.d/openEuler.repo /etc/yum.repos.d/openEuler.repo.bak

然后修改openEuler.repo:

sudo vim /etc/yum.repos.d/openEuler.repo

把每个url中包含的版本号都改成你想升级的版本号,具体url该改成什么样子,参考 openEuler Repo为你提供的镜像列表。

二、开始升级openEuler22.09版本到23.03

sudo dnf clean all
sudo dnf upgrade --allowerasing --nobest

执行以上命令开始升级。


注意:一部分包会因为dnf、yum的依赖关系而无法更新,这也是前面的指令使用–nobest的原因。
至于dnf、yum的更新,我还没有找到合适的帖子,搜索引擎都很蠢,搜到的都是教你如何使用dnf。

本文参考了:
https://forum.openeuler.org/t/topic/1150/3查看余下内容

wordpress的yoast SEO插件的文章的“可读性分数”是什么 指标?

Yoast SEO 插件的文章“可读性分数”指标

是指该文章的易读程度,用于评估文章是否易于理解和阅读,从而提高读者的体验和阅读效率。可读性分数由 Yoast SEO 插件自动计算,基于多种指标综合评估而得出。

Yoast SEO 插件的可读性分数主要包括以下几个指标:

  1. 句子长度:衡量文章中句子的平均长度,过长的句子会降低文章的可读性。
  2. 段落长度:衡量文章中段落的平均长度,过长的段落也会降低文章的可读性。
  3. 子标题:衡量文章是否包含清晰的子标题和段落分隔符,以帮助读者更好地理解文章结构。
  4. 关键词密度:衡量文章中关键词的出现频率,过多或过少的关键词都会影响文章的可读性。
  5. 动词时态:衡量文章中动词的使用是否一致,以保持文章的连贯性和易读性。
  6. 被动语态:衡量文章中被动语态的使用是否过多,以避免文章晦涩难懂。
  7. Flesch Reading Ease:衡量文章的阅读难度,分数越高表示文章越易读。

这些指标可以帮助作者评估文章的可读性,并提供改进建议,以便优化文章的质量和读者体验。… 查看余下内容

Rust开发的项目达到一定的规模时,要如何组织代码以避免危机(上篇)

Rust开发的项目达到一定的规模时,要如何组织代码,特别是package、crate和module?这些概念在项目规模增大的时候尤其重要,甚至影响项目后续的生命力。

本文是来自 参考链接[1]的Rust专家的建议的《上篇》,可以帮助避免常见的陷阱、性能问题或编译问题。

中文文章内容如下:

IC (一个开源的区块链项目)的 Rust 代码库从 2019 年 6 月的空存储库增长到 2022 年初的近 350000 行代码。这种快速增长告诉我,对于相对较小的项目来说,运作良好的决策可能会随着时间的推移开始拖累项目。本文评估了 Rust 代码组织选项,并提出了有效使用它们的方法。

Rust的重要“角色”

Rust 的一些术语容易令人困惑,例如术语crate(中文“单元包”,在下文将保留为crate,不再翻译为 单元包)就不太直观。即使是令人尊敬的 《The Rust Programming Language》一书的第一版也包含以下误导性段落:

Rust 有两个与模块系统相关的不同术语:“crate”和“module”。crate在其他语言中是“库”或“包”的同义词。因此,“Cargo”作为 Rust 包裹管理工具的名称:您将crate 与 Cargo 一起分享给其他人。Crate 可以生成可执行文件或库(.so 文件 或 .dll 等都属于动态库),具体取决于项目。

然而,库和包是不同的概念,不是吗?混淆这些概念会导致挫败感,即使你已经有几个月的 Rust 经验。工具约定也会导致混乱:如果 Rust 包定义了库 crate, cargo 则会自动从包名派生库名称。您可以覆盖此行为,但请不要这样做。

接下来让我们熟悉经常打交道的几个概念。

Rust 的 Module (模块)

Module 模块 是代码组织的单元。它是函数、类型和嵌套模块的容器。模块还指定它们定义或重新导出的名称的可见性。

Rust 的 Crate (单元包)

Crate 是编译和链接的单位。Crates是语言的一部分( crate 是一个关键字),但你在源代码中没有太多提及它们。库和可执行文件是最常见的 crate 类型。

Rust 的 Package (包)

包是软件分发的单位。包不是语言的一部分,而是 Rust 包管理器 Cargo 的工件 。一个 Package 可以包含一个或多个 crate:最多一个库和任意数量的可执行文件。

再论 Modules 与 Crates

当您将大型代码库分解为组件时,有两种极端情况:拥有几个包含大量模块的大包(但包数量不多)或具有大量小包(包拆分后数量较多)。

对于前一种情况,即拥有少量包含大量模块的软件包,具有一些优点:

  1. 添加或删除模块比添加或删除包工作量更少。

  2. 模块更加灵活。例如,同一 crate 中的模块可以形成依赖循环:模块可以使用来自模块的定义,而模块又可以使用来自其他模块如 foo bar foo 的定义。相反,包依赖项关系图必须是非循环的。

  3. 您不必每次重新排列模块时都修改 Cargo.toml 文件。

在 Rust 即时编译的理想世界中,将存储库转换为包含许多模块的庞大包将是最方便的设置。目前痛苦的现实是,Rust 需要相当长的时间来编译,而模块并不能帮助你缩短编译时间:

编译的基本单元是一个crate,而不是一个模块。您必须重新编译 crate 中的所有模块,即使您只更改一个模块。放入crate的代码越多,编译所需的时间就越长。

编译项目时,cargo对不同的crate可以并行编译,而不是在逐个crate编译。所以如果你有几个大包,你就不能充分利用多核CPU的潜力。

这两种拆分方式,是便利性和编译速度之间的权衡。Modules模块很方便,但不能帮助编译器减少工作量。Package包不太方便,但随着代码库的增长,编译速度会更好。

项目代码结构的建议

拆分依赖项中心。

有两种类型的依赖项中心:

  1. 具有大量依赖项的包。例如IC代码库中的两个示例(examples)是包含集成测试辅助代码(proptest策略,模拟和伪造组件实现,帮助程序函数等)的 test-utils replica 包,以及实例化所有组件的包。

  2. 具有大量反向依赖项的包。例如IC代码库中的示例,包含通用类型定义的 types 封装,以及指定元件接口的 interfaces 封装。

IC项目的包依赖关系图的一部分。图中 types 和 interfaces 是二类依赖中心,relica是一类依赖中心,test-utils 既是一类,又是二类依赖中心。

依赖中心是及其关键的,因为它们会对增量编译速度产生重大影响。如果您修改具有许多反向依赖项的软件包(例如图中的 types ),cargo 必须重新编译所有这些依赖项以检查您的更改。

有时可以消除依赖关系中心。例如,包 test-utils 是一些独立实用程序的联合。我们可以按它们所属的测试组件对这些实用程序进行分组,并将对应的实用程序代码分解到多个 -test-utils 包中。

但是,更常见的是,依赖中心将不得不保留。某些 types 类型是普遍存在的。包含这些类型的包注定是二类依赖项中心。连接所有组件的 replica 包注定是一类依赖中心。您能做的最好的事情就是本地化连结并使它们小而稳定。

请考虑使用泛型和关联类型来消除依赖项。

这个建议需要一个例子,所以请耐心等待。

types 、 interfaces 和 replicated_state 是 IC 代码库中的首批封装之一。该 types 包,含有通用类型定义,interfaces包定义软件组件的特征,replicated_state 包定义 IC 的复制状态机数据结构, ReplicatedState 类型位于根目录。

但是为什么我们需要这个 types 包呢?既然Types是接口的一个组成部分,那为什么不在interfaces 包内部定义Types呢?

原因是某些接口引用了该 ReplicatedState 类型。 replicated_state 包依赖于types包中的类型定义。如果所有类型都存在于 interfaces 包中,可能导致 replicated_state 和 interfaces 之间存在循环依赖关系。

如图,types、 interfaces 和 replicated_state 包的依赖关系图。

当我们需要打破循环依赖时,我们可以将公共定义移动到新包中或合并一些包。 replicated_state 包很重;我们不想将其内容合并入interfaces包。因此,我们采用了第一个选项:将不同interface 和replicated_state 包之间共享的类型移动到 types 包中。

interfaces 包的特征定义有个特点:特征仅取决于 ReplicatedState 类型名称。这些特征不需要知道 ReplicatedState 的定义。

trait StateManager {
  fn get_latest_state(&self) -ReplicatedState;

  fn commit_state(&self, state: ReplicatedState, version: Version);
}

这段代码是interfaces包的特征定义的示例,它依赖于ReplicatedState类型。

interfaces 包中有个例子演示了依赖于 ReplicatedState 类型的特征定义。

此属性允许我们打破interfaces 与 replicated_state 之间的 直接依赖关系。我们只需要用泛型类型参数替换确切的类型。

trait StateManager {
  type State; //< We turned a specific type into an associated type.

  fn get_latest_state(&self) -> State;

  fn commit_state(&self, state: State, version: Version);
}

不依赖于 ReplicatedState 的 StateManager的特征定义的通用版本。

基于此,我们不再需要在每次向复制状态添加新字段时重新编译 interfaces 包及其众多依赖项。

运行时多态性是首选。

我们设计的考量之一是如何连接软件组件。我们应该像Arc的方式把组件的实例以运行时多态性传递,还是作为泛型类型参数(编译时多态性)传递 ?

pub struct Consensus {
  artifact_pool: Arc,
  state_manager: Arc,
}

上段代码是使用运行时多态性组合组件。

pub struct Consensus {
  artifact_pool: AP,
  state_manager: SM,
}

上段代码使用编译时多态性组合组件。

编译时多态性是必不可少的工具,更是重量级的工具。运行时多态性需要更少的代码,且有助于更少的二进制膨胀。大多数团队成员也发现该 dyn 版本(即上述第一段代码)更易于阅读。

首选显式依赖项。

新开发人员在开发频道上最常问的问题之一是“为什么我们要显式传递loggers?全局的loggers似乎也能工作得很好”。这是个好问题。如果回到2019年我也会问同样的问题!

全局变量很糟糕,但我以前的经验表明,日志对象loggers和指标接收器(metric sinks)很特殊。哦,好吧,其实也没有那么特殊。

隐式状态依赖的常见问题在 Rust 中尤为突出。

大多数 Rust 库不依赖于真正的全局变量。传递隐式状态的常用方法是使用线程局部变量,当您生成新线程时,这可能会成为问题。新线程倾向于继承并保留线程局部变量的意外值。

默认情况下,Cargo 在测试二进制文件中并行运行测试。如果不小心通过调用堆栈对loggers进行线程处理,测试输出可能会变得无形的混乱。当后台线程需要访问日志时,通常会出现此问题。而通过显式传递loggers的方式则可以消除该问题。

在多线程环境中,对依赖于隐式状态代码的测试很困难甚至不可能。记录指标的代码就是代码。它也值得测试。

如果使用依赖于隐式状态的库,则在依赖于不同包中不兼容的库版本时,可能会引入细微的BUG。

对于这个观点,迫切需要一个例子。这里有一个小合适的故事作为映证:

我们使用普罗米修斯软件包进行指标记录。此包可以将指标注册表保留在全局变量中。

突然有一天,我们遇到了一个错误:我们无法看到某些组件的指标。我们的代码看起来是正确的,但指标却缺失了。

其中一个软件包依赖于普罗米修斯版本 0.9 ,而所有其他软件包都使用 0.10 。根据semver的说法,这些版本是不兼容的,因此cargo将两个版本链接到二进制文件中,引入了两个隐式注册表。我们仅通过 HTTP 接口公开 0.10 版本注册表。正如您正确猜测的那样,缺少的组件将指标记录到注册表中 0.9 。

而传递loggers、指标注册表和异步运行时的方式会显式地将运行时 bug 转换为编译时错误。切换到显式传递指标注册表帮助我找到并修复了该错误。

古老的 slog 包的官方文档还建议明确传递loggers:

原因是:手动传递 Logger 提供了最大的灵活性。使用slog_scope 将日志记录数据结构绑定到堆栈跟踪,这与软件的逻辑结构不同。特别是库应该向用户展示充分的灵活性,而不是使用隐式日志记录行为。

通常 Logger 实例非常适合表示的代码中的资源的数据结构,因此在构造函数中传递它们并在任何地方使用,并不难,像这样:

info!(self.log,
查看余下内容

营销和业务增长模型(AARRR SASA)系统

对AARRR SASA模型的认知

AARRR SASA 系统是一种营销和业务增长模型,它由两个模型组成:AARRR 模型和 SASA 模型。

AARRR 模型包括五个关键指标,分别是:

  • 获取(Acquisition):如何吸引潜在用户进入产品或服务;
  • 激活(Activation):如何促使用户开始使用产品或服务;
  • 保留(Retention):如何让用户长期使用产品或服务;
  • 推广(Referral):如何通过用户口碑和推荐获得更多用户;
  • 收入(Revenue):如何通过产品或服务获取收入。

SASA 模型包括四个关键指标,分别是:

  • 唤醒用户(Stimulate):如何唤起用户对产品或服务的兴趣;
  • 激励用户(Activate):如何促使用户开始使用产品或服务;
  • 服务用户(Serve):如何为用户提供优质的产品或服务;
  • 增加用户价值(Add Value):如何通过增加用户价值来提高用户满意度和忠诚度。

通过 AARRR SASA 系统,企业可以通过不断优化和改进各个关键指标,提高用户体验和满意度,从而实现营销和业务增长目标。

如何建立营销和业务增长模型系统

建立 AARRR SASA 系统需要考虑以下几个方面:

  1. 确定关键指标:首先需要确定与产品或服务相关的关键指标,这些指标应该能够全面反映营销和业务增长的状态。根据实际情况选择 AARRR 模型和 SASA 模型中的指标,或者根据实际情况进行自定义。

  2. 收集数据:收集与关键指标相关的数据,并将其存储在数据仓库中。这需要建立一个完善的数据收集和管理系统,确保数据的准确性和完整性。

  3. 分析数据:对收集到的数据进行分析,识别关键趋势和瓶颈,并进行深入的探索,找出问题的根源。这需要建立一个完善的数据分析和可视化系统。

  4. 制定行动计划:根据数据分析的结果,制定相应的行动计划,并进行优先级排序。这需要建立一个完善的决策支持和项目管理系统。

  5. 实施行动计划:根据行动计划,实施相应的营销和业务增长策略,并对实施效果进行监测和反馈。这需要建立一个完善的执行和监测系统。

在建立 AARRR SASA 系统时,需要结合企业实际情况,定期评估系统的效果,并进行持续改进和优化。建议在建立系统之前,充分了解企业的业务和市场情况,制定明确的目标和指标,并建立一个跨部门的团队,协同推进系统的建立和优化。同时,需要注意数据的安全和隐私保护,确保系统的合规性和稳定性。

目前有哪些行业标杆企业成功使用了这套模型?

作为一种通用的营销和业务增长模型,许多企业都在实践和优化 AARRR 模型和 SASA 模型系统。以下是一些行业标杆企业的案例:

  1. Airbnb:通过 AARRR 模型和 SASA 模型,Airbnb 实现了从初始的用户获取到用户保留和增值的全流程管理。例如,他们通过优化搜索引擎和社交媒体等渠道来提高用户获取效率,通过提供个性化的用户体验和增值服务来提高用户保留和增值效率。

  2. Dropbox:通过 AARRR 模型和 SASA 模型,Dropbox 实现了从用户获取到用户推广和增值的全流程管理。例如,他们通过优化 SEO 和 SEM 策略来提高用户获取效率,通过提供优质的用户体验和推荐计划来提高用户推广和增值效率。

  3. Uber:通过 AARRR 模型和 SASA 模型,Uber 实现了从用户获取到用户保留和增值的全流程管理。例如,他们通过优化应用程序和推荐计划等策略来提高用户获取效率,通过提供优质的用户体验和增值服务来提高用户保留和增值效率。

这些企业都通过不断优化和改进 AARRR SASA 系统,提高了用户体验和满意度,实现了业务增长和市场份额的提升。… 查看余下内容

互联网的商业规律:梅特卡夫效应、网络效应、规模效应

互联网的一个商业模式规律:梅特卡夫效应

什么是梅特卡夫效应?

梅特卡夫效应(the Metcalfe’s Law)是一种用于描述网络效应(network effect)的经济学理论。它的基本思想是,随着网络中参与者的数量的增加,网络的价值会呈现出指数级的增长。
具体地说,梅特卡夫效应指出,一个网络的价值与其用户数的平方成正比。换句话说,如果一个网络有n个用户,那么它的价值就是n²。这是因为一个用户加入网络后,不仅可以享受到其他用户已经存在的服务和资源,还可以为网络增加新的服务和资源,从而提高整个网络的价值。
梅特卡夫效应在现代经济学中被广泛应用于研究网络产业和技术产业的发展趋势和商业模式。例如,在互联网领域,许多公司都利用梅特卡夫效应来促进用户增长和市场份额扩大。


什么是网络效应?

网络效应(network effect),也叫网络外部性(network externality),是指当一个产品或服务的使用者数量增加时,该产品或服务的价值也会相应地增加。简单来说,就是用户数量的增加会带来更多的好处,而这种好处不仅仅是单纯的数量增加,而是价值、效益等方面的提高。
网络效应通常出现在网络、社交媒体、电子商务等领域,其中最典型的例子是互联网。在互联网上,当一个网站、应用或社交网络平台的用户数量增加时,其价值也随之增加,因为更多的用户意味着更多的内容、更多的互动、更多的数据等等,从而吸引更多的用户加入其中,形成良性循环。
网络效应是现代经济学研究的重要领域之一,它对于企业的创新、市场竞争和商业模式的发展具有重要的指导意义。许多知名的公司、产品和服务都依赖于网络效应,如Facebook、谷歌、Uber等。


什么是规模效应?

规模效应(economies of scale)指的是在生产过程中,随着生产规模的增加,单位成本会逐渐降低的现象。简单来说,就是随着产量的增加,单位成本会逐渐减少。
规模效应可以发生在生产任何种类的商品或服务中,包括制造业、零售业、金融业等。实现规模效应的主要方式是通过生产工艺和管理效率的优化,以及原材料、劳动力等资源的更有效利用,从而降低生产成本。
规模效应可以带来多方面的好处,包括提高生产效率、降低成本、扩大市场份额、增强竞争力等。然而,规模效应也有一些限制,如难以管理的规模、生产线的复杂性等,这些因素可能导致成本上升,抵消规模效应带来的好处。
总之,规模效应是企业在生产过程中的一种经济效益,可以帮助企业提高效率、降低成本、扩大市场规模等。


梅特卡夫效应 属于 网络效应和还是规模效应?

梅特卡夫效应属于网络效应(network effect)的范畴,而不是规模效应(economies of scale)。网络效应指的是当一个产品或服务的价值随着使用该产品或服务的用户数量的增加而增加时,就会出现网络效应。而规模效应则是指在生产过程中,随着产量的增加,单位成本会逐渐降低的现象。尽管这两种效应都与数量的增长和价值的变化有关,但它们所描述的现象和效应机制是不同的。… 查看余下内容

全球范围内一些知名的开源软件索引站点介绍

开源软件索引站点为开源社区和用户提供了很好的支持和帮助,方便了开发者的开发和学习。以下是部分知名的开源软件索引站点以及对它们的中文介绍:

  1. 美国:
  • GitHub(https://github.com/):GitHub 是全球最大的开源软件托管平台之一,拥有数百万的开发者和开源项目。其提供了强大的代码托管、版本控制、协作和社区功能。

  • SourceForge(https://sourceforge.net/):SourceForge 是一个免费的开源软件托管平台,拥有超过 500,000 个开源项目。其提供了源代码托管、版本控制、文件发布、问题跟踪等功能。

  • Apache Software Foundation(https://www.apache.org/):Apache Software Foundation 是一个非营利性组织,致力于开发和维护开源软件。其项目包括 Apache HTTP 服务器、Hadoop、Tomcat 等。

  • Open Hub(https://www.openhub.net/):Open Hub 是一个开源软件索引站点,提供了超过 500,000 个开源项目的数据和统计信息,如代码活跃度、行数、贡献者等。

  1. 日本:
  • OSDN(https://osdn.net/):OSDN 是一个开源软件开发者社区,提供了代码托管、版本控制、问题跟踪、讨论论坛等功能。其收录了众多的开源软件项目,是日本开源社区的重要组成部分。

  • GitHub Japan(https://github.co.jp/):GitHub Japan 是 GitHub 在日本的官方网站,提供了与 GitHub 相同的代码托管、版本控制、协作和社区功能,同时也提供了日文界面和本地化支持。

  1. 以色列:
  • GitHub Israel(https://github.co.il/):GitHub Israel 是 GitHub 在以色列的官方网站,提供了与 GitHub 相同的代码托管、版本控制、协作和社区功能,同时也提供了希伯来文界面和本地化支持。
  1. 中东:
  • OpenSooq(https://www.opensooq.com/):OpenSooq 是一个中东地区的在线市场,其开源软件库收录了众多的开源软件,包括安卓应用、网站模板、电商平台等。
  1. 印度:
  • GitHub India(https://github.co.in/):GitHub India 是 GitHub 在印度的官方网站,提供了与 GitHub 相同的代码托管、版本控制、协作和社区功能,同时也提供了印地文界面和本地化支持。
  1. 韩国:
  • GitHub Korea(https://github.co.kr/):GitHub Korea 是 GitHub 在韩国的官方网站,提供了与 GitHub 相同的代码托管、版本控制、协作和社区功能,同时也提供了韩文界面和本地化支持。
  1. 欧洲国家:
  • Fossies(https://fossies.org/):Fossies 是一个欧洲的开源软件索引站点,提供了数百万个开源软件的下载和查找功能。其还提供了版本比较、代码搜索、文件浏览等功能。

  • OpenUK(https://openuk.uk/):OpenUK 是一个英国的开源软件组织,致力于推广和发展开源软件。其网站提供了关于开源软件的新闻、活动、培训等内容。

  • Open Source Observatory(https://joinup.ec.europa.eu/collection/open-source-observatory-osor):Open Source Observatory 是欧洲联盟的一个开源软件项目,旨在促进欧洲公共部门的开源软件采用和发展。其网站提供了关于开源软件的新闻、案例、工具、研究等内容。

  1. 俄罗斯
查看余下内容

工业软件具体包括哪些方面的软件系统?

工业软件可以包括许多不同的类型,这些软件在工业领域中扮演着重要的角色,能够提高生产效率、降低成本、提高产品质量和安全性等。因此这里列出一些常见的工业软件及其中文意思:

  1. CAD(Computer-Aided Design) :计算机辅助设计软件,用于制图和设计。

  2. CAM(Computer-Aided Manufacturing) :计算机辅助制造软件,用于控制机床和其他制造设备的操作。

  3. CAE(Computer-Aided Engineering) :计算机辅助工程软件,用于模拟和分析工程问题,如应力、振动等。主要是对工程的仿真模拟,比如结构力学性能。

  4. PLM(Product Lifecycle Management) :产品生命周期管理软件,用于管理产品的整个生命周期,从设计到生产和维护。主要管一个产品的创新。

  5. ERP(Enterprise Resource Planning) :企业资源计划软件,用于管理企业的核心业务流程,如财务、采购、库存、销售等。主要管“人、财、货”。

  6. MES(Manufacturing Execution System) :制造执行系统软件,用于监控和管理制造过程中的实时数据。主要用于管车间的。

  7. SCADA(Supervisory Control and Data Acquisition) :监控和数据采集软件,用于监控和控制工业过程中的设备和系统。

  8. DCS(Distributed Control System) :分布式控制系统软件,用于控制和监控工业过程中的设备和系统。

  9. PDM(Product Data Management) :产品数据管理,产品特性的数据。

  10. CAPP(Computer Aided Process Planning) :计算机辅助工艺过程设计,制定零件机械加工工艺过程。

  11. APS(Advanced Planning and Scheduling) :高级计划与排程,做计划排期用。

  12. SCM(Supply Chain Management) :供应链管理,主要管理合作的外部企业。

  13. CPDM(Collaborative Product Definition Management) :协同产品定义管理,主要协同工作环境。包括控制产品间的并发与并发控制。

  14. CRM(Customer Relationship Management) :客户关系管理,销售部门跟踪客户用。

除了上述列出的工业软件类型外,还有一些其他类型的工业软件,例如:

  1. HMI(Human Machine Interface) :人机界面软件,用于实现人与机器之间的互动。

  2. EAM(Enterprise Asset Management) :企业资产管理软件,用于管理企业的资产,如设备、机器等。

  3. LIMS(Laboratory Information Management System) :实验室信息管理系统软件,用于管理实验室的样品、数据和记录等。

  4. WMS(Warehouse Management System) :仓库管理系统软件,用于管理仓库的库存、进出货、分拣等操作。

  5. CMMS(Computerized Maintenance Management System) :计算机化维修管理系统软件,用于计划、安排和跟踪设备的维修和保养。

  6. QMS(Quality Management System) :质量管理系统软件,用于管理质量控制和质量保证活动。

这些工业软件类型都有各自的特点和应用场景,根据具体的需求和情况选择合适的工业软件可以有效提高生产效率和降低成本。… 查看余下内容

每个人都应该尝试 Linux 的 21 个理由

游戏、交易、预算、艺术、编程等等,这些都只是任何人都可以使用 Linux 的众多方式中的一种。

当我在度假时,我经常会去一家或者多家的二手书店。我经常能够找到我想读的一本好书,而且我总是以 “我在度假;我应该用这本书来犒劳自己” 来为不可避免的购买行为辩护。这很有效,我用这种方式获得了一些我最喜欢的书。但是,买一本好书在生活中很常见,这个理由经不起推敲。事实上,我不需要为买一本好书来找理由。事情都是这样的,我可以在任何时候做我想做的事。但不知何故,有一个理由似乎确实能让这个过程更有趣。

在我的日常生活中,我会收到很多关于 Linux 的问题。有时候我会不自觉地滔滔不绝地讲述开源软件的历史,或者共享资源的知识和利益。有时候,我会设法提到一些我喜欢的 Linux 上的特性,然后对这些好处进行逆向工程以便它们可以在其它的操作系统上享用。这些讨论经常是有趣且有益的,但只有一个问题:这些讨论都没有回答大家真正要问的问题。

当一个人问你关于 Linux 的问题时,他们经常希望你能够给他们一些使用 Linux 的理由。当然,也有例外。从来没有听过“Linux”的人们可能会问一些字面定义。但是当你的朋友或者同事吐露出他们对当前的操作系统有些不满意的时候,解释一下你为什么喜欢 Linux 可能更好,而不是告诉他们为什么 Linux 是一个比专有系统更好的选择。换句话说,你不需要销售演示,你需要的是度假照片(如果你是个书虫的话,也可以是度假时买的一本书)。

为了达到这个目的,下面是我喜欢 Linux 的 21 个原因,分别在 21 个不同的场合讲给 21 个不同的人。

游戏

Gaming on Linux

Gaming on Linux

说到玩电脑,最明显的活动之一就是玩游戏,说到玩游戏,我很喜欢。我很高兴花一个晚上玩一个 8 位的益智游戏或者 epic 工作室的一个 AAA 级游戏。其它时候,我还会沉浸在棋盘游戏或者角色扮演游戏(RPG)中。

这些我都是 在 Linux 系统的电脑上做的

办公

LibreOffice

LibreOffice

一种方法并不适合所有人。这对帽子和办公室工作来说都是如此。看到同事们被困在一个不适合他们的单一工作流程中,我感到很痛苦,我喜欢 Linux 鼓励用户找到他们喜欢的工具。我曾使用过的应用大到套件(例如 LibreOffice 和 OpenOffice),小到轻量级文字处理器(如 Abiword),再到最小的文本编辑器(利用 Pandoc 进行转换)。

不管我周围的用户被限制在什么范围内,我都可以 自由地使用可以在我的电脑上工作的最好的工具,并且以我希望的方式工作。

选择

Linux login screen

Linux login screen

开源最有价值的特性之一是用户在使用这些软件的时候是可以信任它的。这种信任来自于好友网络,他们可以阅读他们所使用的应用程序和操作系统的源代码。也就是说,即使你不知道源代码的好坏,你也可以在 开源社区 中结交一些知道的朋友。这些都是 Linux 用户在探索他们运行的发行版时建立的重要联系。如果你不信任构建和维护的发行版的社区,你可以去找其它的发行版。我们都是这样做的,这是有许多发行版可供选择的优势之一。

Linux 提供了可选择的特性。一个强大的社区,充满了真实的人际关系,结合 Linux 提供的选择自由,所有这些都让用户对他们运行的软件有信心。因为我读过一些源码,也因为我信任哪些维护我没读过的代码的人,所以我信任 Linux

预算

Skrooge

Skrooge

做预算并不有趣,但是很重要。我很早就认识到,在业余时间做一些不起眼的工作,就像我学会了一种 免费 的操作系统(Linux!)一样。预算不是为了追踪你的钱,而是为了追踪你的习惯。这意味着无论你是靠薪水生活,还是正在计划退休,你都应该 保持预算

如果你在美国,你甚至可以 用 Linux 来交税

艺术

MyPaint

MyPaint

不管你是画画还是做像素艺术、编辑视频 还是随性记录,你都可以在 Linux 上创建出色的内容。我所见过的一些最优秀的艺术作品都是使用一些非“行业标准”的工具随意创作出来的,并且你可能会惊讶于你所看到的许多内容都是基于同样的方式创造出来的。Linux 是一个不会被宣扬的引擎,但它是具有强大功能的引擎,驱动着独立艺术家和大型制作人。

尝试使用 Linux 来 创作一些艺术作品

编程

NetBeans

NetBeans

听着,用 Linux 来编程几乎是定论。仅次于服务器管理,开源和 Linux 是一个明显的组合。这其中有 许多原因,但我这里给出了一个有趣的原因。我在发明新东西时遇到了很多障碍,所以我最不希望的就是操作系统或者软件工具开发包(SDK)成为失败的原因。在 Linux 上,我可以访问一切,字面意义上的一切。

封包

Packaging GNOME software

Packaging GNOME software

当他们在谈编程的时候,没有人谈封包。作为一个开发者,你必须将你的代码提供给您的用户,否则你将没有任何用户。Linux 使得开发人员可以轻松地 发布应用程序,用户也可以轻松地 安装这些应用程序

令很多人感到惊讶的是 Linux 可以像运行本地程序一样运行许多 Windows 应用程序。你不应该期望一个 Windows 应用可以在 Linux 上执行。不过,许多主要的通用应用要么已经在 Linux 上原生存在,要么可以通过名为 Wine 的兼容层运行。

技术

Data center

Data center

如果你正在找一份 IT 工作,Linux 是很好的第一步。作为一个曾经为了更快地渲染视频而误入 Linux 的前艺术系学生,我说的是经验之谈。

尖端技术发生在 Linux 上。Linux 驱动着大部分的互联网、世界上最快的超级计算机以及云本身。现在,Linux 驱动着 边缘计算,将云数据中心的能力与分散的节点相结合,以实现快速响应。

不过,你不需要从最顶层开始。你可以学习在笔记本电脑或者台式机上自动完成任务,并通过一个 好的终端 远程控制系统。

Linux 对你的新想法是开放的,并且 可以进行定制

分享文件

Beach with cloudy sky

Beach with cloudy sky

无论你是一个新手系统管理员,还是仅仅是要将一个将文件分发给室友,Linux 都可以使 文件共享变得轻而易举

多媒体

Waterfall

Waterfall

在所有关于编程和服务器的讨论中,人们有时把 Linux 想象成一个充满绿色的 1 和 0 的黑屏。对于我们这些使用它的人来说,Linux 也能 播放你所有的媒体,这并不令人惊讶。

易于安装

CentOS installation

CentOS installation

以前从来没有安装过操作系统吗?Linux 非常简单。一步一步来,Linux 安装程序会手把手带你完成操作系统的安装,让你在一个小时内感觉到自己是个电脑专家。

来安装 Linux 吧!… 查看余下内容

下一页 » « 上一页
加好友请备注:chinaoss
您可以在微信公众号联系我们
我们将24小时内回复。
取消