首页 文章 精选 留言 我的

精选列表

搜索[搭建],共10000篇文章
优秀的个人博客,低调大师

【项目实战经验】基于openEuler22.03搭建openGauss Datakit 5.1.1

前言 目前最新版本 Datakit 5.1和 Datakit 5.0 版本相比有不小的差异,仓库结构已发生变化,之前的文档已不适用。本文将分享整理好的最新版的 Datakit 实践手册,以及个人使用经验,供广大openGauss爱好者参考。 1 项目简介 本项目是基于Web的openGauss的可视化的一体化工具:DataKit,目的是方便客户使用和管理openGauss可视化工具,可以为客户降低openGauss数据库安装使用门槛,做到安全中心管理,插件管理,将上层的开发运维工具插件化,各插件之间相互独立,方便用户按需引入。各插件围绕DataKit的资源中心进行扩展,提供一键化部署、卸载、组件化安装、多版本升级和日常运维、监控、迁移、开发、建模等复杂的操作。 2 环境准备 2.1 注意事项 当前平台运行依赖于openJDK11 平台使用的数据库,当前仅支持openGauss数据库,并且需要提前创建database。 需要将部署服务器IP配置在平台使用的数据库openGauss的白名单列表中。 2.2 支持的服务器系统 openEuler 20.3LTS(x86_x64,ARM) centos7.x(x86_x64) 注: 经验证,在openEuler 22.03 LTS可以完美运行。 查看操作系统版本 [root@localhost ~]# cat /etc/os-release NAME="openEuler" VERSION="22.03 LTS" ID="openEuler" VERSION_ID="22.03" PRETTY_NAME="openEuler 22.03 LTS" ANSI_COLOR="0;31" 2.3 环境概要 本文基于openEuler 22.03 LTS操作系统部署Datakit 5.1.1 2.4 文档汇总 openGauss官方文档 https://docs-opengauss.osinfra.cn/zh/docs/5.1.0/docs/ToolandCommandReference/DataKit.html 使用文档及开发文档 https://gitee.com/opengauss/openGauss-workbench/tree/master/openGauss-datakit/doc 2.5 软件包获取 这里我已经将用到的各种离线包整理到datakit-about.zip,在后台发送 datakit 即可获取。 你也可以联网安装或者下载对应的离线包进行安装。 2.5.1 Datakit软件包获取 有以下两种方式 通过openGauss官网下载 https://opengauss.org/zh/download/ 通过opengauss官方gitee仓库下载 仓库地址 https://gitee.com/opengauss/openGauss-workbench 当前最新版本安装包地址 https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/tools/Datakit/Datakit-5.1.1.tar.gz openGauss官方gitee仓库的安装包一般会比openGauss官网的安装包版本高,包含最新功能和基础修复。 2.5.2 openGauss软件包获取 从openEuler 22.03 LTS版本开始,操作系统镜像自带openGauss RPM包,可以通过rpm或yum方式安装,支持arm64和x86_64两种架构。 openEuler22.03 LTS 的镜像地址为: https://mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS 你可在上述地址中下载对应的RPM包。 # opengauss安装包 opengauss-2.1.0-5.oe2203.x86_64.rpm# 依赖包 java-1.8.0-openjdk-1.8.0.352.b08-3.oe2203.x86_64.rpm java-1.8.0-openjdk-devel-1.8.0.352.b08-3.oe2203.x86_64.rpm java-1.8.0-openjdk-headless-1.8.0.352.b08-3.oe2203.x86_64.rpm 2.5.3 openJDK11包获取 # openjdk11安装包 java-11-openjdk-11.0.20.8-0.oe2203.x86_64.rpm java-11-openjdk-devel-11.0.20.8-0.oe2203.x86_64.rpm java-11-openjdk-headless-11.0.20.8-0.oe2203.x86_64.rpm# 依赖包 giflib-5.2.1-4.oe2203.x86_64.rpm 2.6 上传 datakit-about.zip 到服务器 # 创建安装包存放目录 [root@localhost ~]# mkdir -p /soft/ # 上传 datakit-about.zip 到 /soft 并解压 [root@localhost ~]# cd /soft [root@localhost /soft]# unzip datakit-about.zip # 解压后的目录结构如下 ├── datakit │ └── Datakit-5.1.1.tar.gz ├── opengaussrpm │ ├── java-1.8.0-openjdk-1.8.0.352.b08-3.oe2203.x86_64.rpm │ ├── java-1.8.0-openjdk-devel-1.8.0.352.b08-3.oe2203.x86_64.rpm │ ├── java-1.8.0-openjdk-headless-1.8.0.352.b08-3.oe2203.x86_64.rpm │ └── opengauss-2.1.0-5.oe2203.x86_64.rpm └── openjdk11 ├── giflib-5.2.1-4.oe2203.x86_64.rpm ├── java-11-openjdk-11.0.20.8-0.oe2203.x86_64.rpm ├── java-11-openjdk-devel-11.0.20.8-0.oe2203.x86_64.rpm └── java-11-openjdk-headless-11.0.20.8-0.oe2203.x86_64.rpm 3 directories, 9 files 2.7 设置主机名和IP地址解析 2.7.1 设置主机名 [root@localhost ~]# hostnamectl set-hostname trex 2.7.2 IP地址解析 [root@localhost ~]# echo '192.168.7.100 trex' >> /etc/hosts 2.7.3 刷新主机名 [root@localhost ~]# su [root@trex ~]# 可以看到主机名从默认的localhost变成了trex. 2.8 关闭防火墙 # 关闭防火墙 [root@trex ~]# systemctl stop firewalld.service # 禁止开机自启 [root@trex ~]# systemctl disable firewalld.service 2.9 关闭selinux 2.9.1 立即关闭 [root@trex ~]# setenforce 0 注: 重启操作系统后失效。 2.9.2 修改配置文件 编辑/etc/sysconfig/selinux,将SELINUX=enforcing修改为SELINUX=disabled sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 注: 需要重启操作系统,永久生效。 2.10 安装Datakit平台使用的数据库 如文章前面所说,该平台目前仅支持openGauss 联网方式安装 yum install opengauss -y 离线方式安装 # cd /soft/datakit-about/opengaussrpm/ [root@trex opengaussrpm]# rpm -ivh *.rpm Verifying... ################################# [100%] Preparing... ################################# [100%] Updating / installing... 1:java-1.8.0-openjdk-headless-1:1.8################################# [ 25%] 2:java-1.8.0-openjdk-1:1.8.0.352.b0################################# [ 50%] 3:java-1.8.0-openjdk-devel-1:1.8.0.################################# [ 75%] 4:opengauss-2.1.0-5.oe2203 ################################# [100%] Created symlink /etc/systemd/system/multi-user.target.wants/opengauss.service → /usr/lib/systemd/system/opengauss.service. Init openGauss database success. Start openGauss database success. 2.11 opengauss数据库管理和配置 2.11.1 查看启动状态 # 切换到opengauss用户 [root@trex ~]# su - opengauss # 查看opengauss启动状态 [opengauss@trex ~]$ gs_ctl status # 打印信息如下 [2023-12-06 11:50:31.604][69114][][gs_ctl]: gs_ctl status,datadir is /var/lib/opengauss/data gs_ctl: server is running (PID: 61978) /usr/local/opengauss/bin/gaussdb "-D" "/var/lib/opengauss/data" 显示server is running表示状态正常。 注: openGauss服务管理常用命令如下 启动 gs_ctl start 关闭 gs_ctl stop 重启 gs_ctl restart 状态 gs_ctl status 2.11.2 设置访问数据库的白名单 这里设置为允许任何IP地址的客户端通过TCP/IP访问到openGauss数据库 # 进入openGauss数据目录 [opengauss@trex ~]$ cd $PGDATA # 在修改前先备份,避免异常情况 [opengauss@trex data]$ cp pg_hba.conf pg_hba.conf.bak # 追加配置信息 [opengauss@trex data]$ echo 'host all all 0.0.0.0/0 md5' >> pg_hba.conf 参数详解: host:表示这个规则适用于TCP/IP连接。 all:表示这个规则适用于所有数据库和所有用户。 0.0.0.0/0:是一个CIDR格式的IP地址范围,表示允许任何IP地址的客户端进行连接。 md5:表示使用MD5加密方式对密码进行验证。 2.11.3 修改数据库参数 # 设置监听所有ip [opengauss@trex ~]$ sed -i "s/^listen_addresses = .*/listen_addresses = '*'/" postgresql.conf # 修改加密算法为0 [opengauss@trex ~]$ sed -i "s/^#password_encryption_type = .*/password_encryption_type = 0/" postgresql.conf # 修改最大连接数为1000 [opengauss@trex ~]$ sed -i "s/^max_connections = .*/max_connections = 1000/" postgresql.conf 查看是否修改正确 [opengauss@trex ~]$ grep -E 'listen_addresses|password_encryption_type|max_connections' postgresql.conf 参数详解:listen_addresses = ‘*’ # 监听所有ippassword_encryption_type = 0 # 加密算法max_connections = 1000 # 最大连接数 2.11.4 重启openGauss服务并查看启动状态 修改后参数后,需要重启 openGauss 服务方可生效 [opengauss@trex ~]$ gs_ctl restart > /dev/null 2>&1 查看启动状态 [opengauss@trex ~]$ gs_ctl status 2.11.5 创建用户 登录数据库(操作系统命令) [opengauss@trex ~]$ gsql -d postgres -p 7654 -r 初次登录需要修改密码(sql命令) openGauss=# ALTER ROLE opengauss PASSWORD 'Trex@123'; 创建用户(sql命令) openGauss=# CREATE USER trex IDENTIFIED BY 'Trex@123'; 授权(sql命令) openGauss=# ALTER USER trex SYSADMIN; 创建数据库(sql命令) openGauss=# create database trexdb; 退出sql(sql命令) openGauss=# \q 2.12 安装openJDK11 root用户执行 联网方式安装 [root@trex ~]# yum install -y java-11-openjdk 离线方式安装 [root@trex ~]# cd /soft/datakit-about/openjdk11/ [root@trex openjdk]# rpm -ivh *.rpm 细心的读者应该会发现,前面在使用 rpm 或 yum 命令安装 opengauss 时,安装了依赖包 openJDK8,而 Datakit 平台依赖 openJDK11,系统中当前存在两个版本的 JDK,不会冲突吧? 咱们通过命令查一下 [root@trex openjdk]# rpm -qa | grep openjdk 结果如下图 果然存在两个版本的 JDK,会冲突吗? 答案是:两个版本的 openJDK 是可以共存的。后面会提到,这里不再赘述。 3 安装部署 Datakit root用户执行 3.1 Datakit 有两种部署方式: jar 包方式部署 docker 方式部署 下面先以 jar 包方式安装进行演示 3.2 创建 datakit 工作目录 [root@trex ~]# mkdir -p /ops/{logs,config,ssl,files} 3.3 将 Datakit 安装包移动到 /ops 目录 [root@trex ~]# cd /soft/datakit-about/datakit/ [root@trex datakit]# mv Datakit-5.1.1.tar.gz /ops/ 3.4 解压安装包 [root@trex datakit]# cd /ops [root@trex datakit]# tar -xf Datakit-5.1.1.tar.gz 执行ls命令可以看到如下信息 [root@trex ops]# ls application-temp.yml Datakit-5.1.1.tar.gz files openGauss-datakit-5.1.1.jar visualtool-plugin config doc logs ssl 3.5 修改配置文件 3.5.1 将配置文件移动到 /ops/config 目录下 [root@trex ops]# mv /ops/application-temp.yml /ops/config/ 3.5.2 编辑配置文件 [root@trex ops]# vi /ops/config/application-temp.yml 修改application-temp.yml文件中的数据链接信息ip、port、database、dbuser、dbpassword。按照你的实际环境进行修改,这里修改后的文件内容如下 system: # File storage path defaultStoragePath: /ops/files # Whitelist control switch whitelist: enabled: false server: port: 9494 ssl: key-store: /ops/ssl/keystore.p12 key-store-password: 123456 key-store-type: PKCS12 enabled: true servlet: context-path: / logging: file: path: /ops/logs/ spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: org.opengauss.Driver url: jdbc:opengauss://192.168.7.100:7654/trexdb?currentSchema=public&batchMode=off username: trex password: Trex@123 druid: test-while-idle: true test-on-borrow: true validation-query: "select 1" validation-query-timeout: 10000 connection-error-retry-attempts: 0 break-after-acquire-failure: true max-wait: 6000 keep-alive: true max-active: 30 min-evictable-idle-time-millis: 600000 management: server: port: 9494 3.6 创建密钥文件 这里使用keytool工具生成密钥,需要注意的是keytool -genkey命令用于创建SSL文件(包括密钥对和证书),并且它与 JDK (Java Development Kit)是有关系的。keytool 是JDK提供的一个工具,用于管理密钥库和证书,用于加密和身份验证等安全通信。而我们前面提到该平台依赖JDK11环境,所以这里使用JDK11来创建密钥文件。 3.6.1 切换到 openJDK11 环境,并查看 JDK 版本 # 查看当前jdk版本[root@trex config]# java -version# 切换版本到jdk11 [root@trex config]# alternatives --config java# 再次查看当前jdk版本 [root@trex config]# java -version# 执行结果如下 3.6.2 创建密钥文件 keytool -genkey -noprompt \ -dname "CN=opengauss, OU=opengauss, O=opengauss, L=Beijing, S=Beijing, C=CN"\ -alias opengauss\ -storetype PKCS12 \ -keyalg RSA \ -keysize 2048 \ -keystore /ops/ssl/keystore.p12 \ -validity 3650 \ -storepass 123456 注意: storepass与配置文件application-temp.yml中的key-store-password保持一致 keystore路径与配置文件application-temp.yml中的key-store路径保持一致 3.7 执行启动命令 # 进入 /ops 目录 cd /ops # 启动程序 nohup java -Xms2048m -Xmx4096m -jar openGauss-datakit-5.1.1.jar --spring.profiles.active=temp >datakit.out 2>&1 & 注: 可以通过tail -20f datakit.out查看运行日志 4 Datakit的使用 4.1 登录管理界面 在浏览器中打开如下地址 https://192.168.7.100:9494 因为浏览器有安全保护,这里点击【高级】——选择继续前往即可进入登录界面。 平台默认的登录账号密码:admin/admin123,首次登录会提示时重置默认密码。 进入主界面 至此,通过jar包方式已成功部署openGauss Datakit。

优秀的个人博客,低调大师

SaaS 出海,如何搭建国际化服务体系?(三)

防噎指南:这可能是你看到的干货含量最高的 SaaS 出海经验分享,请准备好水杯,放肆食用(XD。 当越来越多中国 SaaS 企业选择开启「国际化」副本,出海便俨然成为国内 SaaS 的新·角斗场。 LigaAI 观察到,出海浪潮助生了许多「Day One 就做国际化」的产品和团队,而出海大军中也不乏在国内已经完成 PMF 的熟悉面孔。一个主要由中国人构成的团队在推进海外产品落地的过程中,可能会遇到哪些困难?是否能以行之有效的「避雷方案」,加快行军速度,一路披荆斩棘? 为解答心中的疑惑, #Liga妙谈# 第九期特别邀请 Aftership 全球客户成功副总裁刘徽(Sean)一起探讨中国 SaaS 企业出海的「路与行」,并为大家献上可复制、可实践、可落地的出海实操技巧。 全系列内容共分为三篇,本篇为第三篇:关于跨时区的异步团队协作模式的探讨。 中国 SaaS 企业出海会遇到哪些常见难题? 哪些 SaaS 产品或团队更适合发展出海业务? 大/中/小型企业如何落地国际化服务体系? 异步团队如何开展更高效的跨时区协作? 04 高效的跨时区管理与协作 LigaAI:SaaS 企业出海会遇到哪些跨时区协作的挑战?可以如何解决? o9 刘徽:首先是跨区域成员的归属感。尽管是大家是一个团队,但如果国内同事和海外同事从来不见面,那沟通协作和磨合都会很生疏,所以大家要互相走动、串门,建立线下的连接,可以把海外成员接到中国总部来,或者总部的同事去海外看看,增强大家的归属感。 第二是时区问题。它很难克服,但是可以通过提前规划人员配置和跨职能协作模式缓解。在为海外产品组建新团队时,首先考虑是否需要产品相关的本土成员。对于出海产品,我会比较推荐寻找海外的产品经理。 第三,跨地区的交流和信息同步。全球化的团队应该加强跨地区的沟通、协作和分享,以便将可复制的工作经验和方法论在内部流通起来。 最后,异步协作的信息沉淀。跨地区、跨时区的异步团队想要实现高效协作,就一定要将文档、会议的视频和音频沉淀下来,建立专属的内部知识库,并不断的完善其内容。 LigaAI:对于不可避免的跨时区会议,如何平衡与会人的时间和信息触达效果? 外国同事似乎会比较介意在非工作时段开会,但我们又希望有尽可能多的人能参加内部信息分享,这样才可以最大程度地减少信息差,避免信息辗转传递导致的损耗。 刘徽:对,所以通常是我们(国内)来照顾海外同事的工作时间。一般情况下,会议会定在北京时间晚上 10 点左右;此时,北美大概是早上 9 点或 10 点,而欧洲正好是下午。 另外,我们会把会议分成三种类型。第一种是区域信息同步会。每个区域的内部对接人(有点类似 POC 的角色)定期开会同步近期需要跟进的工作和信息。 第二种是内部的分享培训会。这不要求全员参与,有时间就参加,没时间也可以在结束后自行看文档或者回看录像。 最后是每两周/一月一次的内部信息同步会,时长通常在一个小时左右,一般会要求全员参加。会议内容主要是内部政策或流程的宣贯、新工具或工作方式的引入和介绍等等;会前会将详尽的议程内容准备在文档或 PPT 里,供大家评论和批注。 LigaAI:前面说到要尽可能将知识、经验和方法沉淀在文档中,有哪些技巧可以提高异步文档协作的效率和效果? 刘徽:不管是 Google Docs、Notion 还是其他文档协作工具,都一定先思考清楚文档的内容结构和板块设计,最好能涵盖所有与工作相关的文档,比如培训资料、内部政策、客户文件等等。至少要保证所有想读内部文档的人能在一个固定的地方找到所有相关的资源。 推进内部的文档协作可以尝试将文档和知识的贡献作为内部表彰和激励的一个重要考量。通过激励手段,鼓励大家主动写文档。 另外,还可以将「文档贡献」明确进岗位晋升要求中,在岗位描述中写清楚相关的文档建设职责。比如,初级 CSM 可以只关注客户续约,但是高级 CSM 必须要定期将自己的成功经验或者客户案例在团队内部展开分享,不能只是闷声工作。 以上就是本期 #Liga妙谈# 的全部内容,觉得有用不妨点个关注。LigaAI 还将持续分享更多行业探讨、技术管理进阶、研发效能管理等实践干货,与众多开发者和研发团队共同成长~ 同时,欢迎点击LigaAI-新一代智能研发协作平台注册使用我们的产品,一起变大变强!

优秀的个人博客,低调大师

SaaS 出海,如何搭建国际化服务体系?(一)

防噎指南:这可能是你看到的干货含量最高的 SaaS 出海经验分享,请准备好水杯,放肆食用(XD。 当越来越多中国 SaaS 企业选择开启「国际化」副本,出海便俨然成为国内 SaaS 的新·角斗场。 LigaAI 观察到,出海浪潮助生了许多「Day One 就做国际化」的产品和团队,而出海大军中也不乏在国内已经完成 PMF 的熟悉面孔。一个主要由中国人构成的团队在推进海外产品落地的过程中,可能会遇到哪些困难?是否能以行之有效的「避雷方案」,加快行军速度,一路披荆斩棘? 为解答心中的疑惑, #Liga妙谈#第九期特别邀请 Aftership 全球客户成功副总裁刘徽(Sean)一起探讨中国 SaaS 企业出海的「路与行」,并为大家献上可复制、可实践、可落地的出海实操技巧。 刘徽老师在 To B 领域拥有 12 年的资深从业经验,是业界畅销书《客户成功:持续复购和利润陡增的基石》的作者;他曾在销售易、Moka、字节跳动(飞书产品)担任过客户成功负责人,对于目前处于互联网风口的企业服务领域和 SaaS 模式有着深刻理解。 全系列内容共分为三篇,本篇为第一篇:关于 SaaS 出海常见难题和团队特质的探讨。 中国 SaaS 企业出海会遇到哪些常见难题? 哪些 SaaS 产品或团队更适合发展出海业务? 大/中/小型企业如何落地国际化服务体系? 异步团队如何开展更高效的跨时区协作? 01 中国 SaaS 出海的两大难题 LigaAI:从国内与国际市场差异的角度看,中国 SaaS 企业出海可能会碰到哪些问题? 刘徽:出海企业可能遇到的主要问题在于「合规性」方面。国外对数据安全和个人隐私的重视程度、相关的处罚力度都远超国内,企业一旦触犯违规红线,很可能会背负巨额罚单,所以在投放市场之前,一定要先深度了解当地相关的政策和法律法规,不能照搬「先成长,后合规」的老套路。 涉及数据安全与隐私问题,免不了要考虑基础设施建设。出海企业的云服务器、服务中心和数据中心的布局和选型也要符合当地的相关要求。 另外,出海企业应申请一些权威认证,如 ISO、SOC 2、GDPR 等,以展示其合规性与安全性。 除了合规,海外也很重视客户评价。国外有专门的用户测评网站,如 G2、Trustpilot;出海企业应重视并积极获取真实的客户评价,切忌「刷好评」。 LigaAI:SaaS 企业如何在出海早期,获得优质的、高质量的真实评价,将口碑积累起来? 刘徽:我的经验是,与尽可能多的客户互动(而不是只聚焦一小波客户),帮助他们解决问题,再顺势提出留评请求。 比如,我们有专门的团队为免费用户提供服务和帮助。服务人员会在对话结束前,给对方发送一个链接并询问能否为我们写一个评论;同时,团队还会跟踪 Chat-to-Review 的转化率,即每天进线的对话中有多少用户最终在其他用户评价网站上成功留评。这样虽然牺牲了成本和效率,但也最大程度地增加了我们与客户互动的机会,进而可以争取到更多评价。 产品设计方面,可以通过「权益升级」的方式,引导用户主动联系我们。举个例子,设计一些需要找服务团队开通/升级的小功能点,在发放权益后(即成功解决了问题),再向客户发起留评请求。 而客户成功(CSM)会在重要客户 Onboard 结束,且能较为顺利地使用产品时,邀请对方前往 G2 等网站留下真实评价。 另外,邀评有一个非常严格的要求:绝对不能强制客户留好评。一方面,海外客户非常看重「诚信」,强制/诱导对方留好评很可能引起反感而适得其反;另一方面,邀评的主要目的是获得更多真实的客户评价,提高数量,而不是刷评分。所以在话术上要避免「五星好评」「Positive」等说法。 02 没有不适合出海的 SaaS 企业 LigaAI:以你对 SaaS 行业的了解和观察,你认为所有 B 端 SaaS 企业都适合出海吗? 刘徽:我倒没有觉得哪种产品不适合出海。坦白来讲,我还没有接触过从中国诞生,再延展到海外的 SaaS 产品;大部分企业还是海外独角兽的「跟随者」。它们结合了创新和延伸后,才向海外拓展。 不过,从产品功能的角度来看,海外确实有一些特殊性。比如说,国内适用的「消息已读/未读」「发红包」等功能就不适合腾挪到海外产品上——这是文化差异影响的。所以,即便产品本身适合出海,也要结合当地的文化和习惯,在功能上做出相应的调整或改变。 LigaAI:拥有哪些基因的团队更适合做出海生意? 刘徽:我个人认为拥有海外视野的团队——比方说,公司创始人、产品负责人或者核心骨干有过海外留学或工作的经历,长时间在海外生活过——在处理出海业务上,会更有优势。 对 To B 产品设计而言,了解目标客户的工作方式和工作习惯很重要。如果团队所有的经历都发生在国内,仅凭客户访谈很难深入了解海外的文化和工作方式。 LigaAI:假如创始人和核心团队都没有海外背景的加持,团队还可以通过哪些方式了解当地的文化和工作习惯? 刘徽:说实话,这种情况还挺难的。建议至少要招 1-2 个有海外工作和生活经验的人。如果实在招不到,那就用比较传统的方式,比如客户访谈、海外竞品分析等了解、学习和模仿产品设计思路。 国内比较成熟的或者快要成型的产品直接出海的难度和风险都会比较高。因为此时根据市场反馈调整产品更为困难,所以最好是在产品雏形阶段就到海外去试水和验证。 还有一种可能是像飞书和 Lark 一样,从一开始就计划好国内外产品走两套体系,而有海外逻辑的就往出海发展。 LigaAI:中小企业很可能没办法做到「两条腿走路」。年轻一些的创业团队可能从 Day One 开始就明确要做全球化、国际化的业务,所以产品从一开始就按照海外的逻辑去设计,团队组建也尽可能寻找有海外背景、海外服务经验的人。 但是,对于在国内已经有成熟产品的中小企业而言,如果想要开拓海外市场,是不是建议要单独组建一支队伍专门负责海外产品的规划,比如从产品到服务一体化的落地,甚至整个产品形态的重塑? 刘徽:是的。如果由原来的国内团队继续往海外方向做,很可能会出现思维固化、认知局限等问题,进而很难产生新的思维突破。所以,我更建议单拉一个团队,以全新的视野专注地做好出海业务。 (未完,待续。) LigaAI 将持续分享更多行业探讨、技术管理进阶、研发效能管理等干货内容,欢迎关注我们! 立即注册使用 LigaAI-新一代智能研发协作平台,一起变大变强!

优秀的个人博客,低调大师

Wiki.js —— 基于 Node.js 的 Wiki 搭建工具

wiki.js 是一个基于 Node.js 的现代而强大的 wiki 应用程序,使用 Wiki.js 漂亮而直观的界面,让编写 Wiki 文档成为一种乐趣! Wiki.js 几乎可以在任何支持 Node.js 的系统上运行:Linux、macOS、Windows 以及 Docker/Kubernetes 和 Heroku 等容器解决方案。 特性: 随意安装,只要支持 Node.js 的环境都可运行。 功能齐全,可以管理 wiki 所有内容。 速度极快,Wiki.js 在速度极快的 Node.js 引擎上运行。 可定制外观,完全自定义界面,包含明暗模式。 保护性,可以选择将你的 wiki 内容公开、私密或是两者混合。 可扩展,无论是在什么环境,Wiki.js 都可以利用资源进行扩展。

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

用户登录
用户注册