前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >如何在 Windows 上 使用 ONLYOFFICE 协作编辑文档「建议收藏」

如何在 Windows 上 使用 ONLYOFFICE 协作编辑文档「建议收藏」

作者头像
全栈程序员站长
发布于 2022-07-23 01:31:27
发布于 2022-07-23 01:31:27
4.2K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

1、说明——可以加我qq504284沟通。

ONLYOFFICE Document Server提供文档协作的服务功能,支持Word,Excel和PowerPoint以及国产WPS的协作。但是这里告诉我们,需要进行文档管理和存储的二次开发。它api里现成的开发好的文档管理平台,有java,node.js,PHP等,可能不具备权限功能吧。

Please note, that ONLYOFFICE Document Server includes the documenteditor, document editing service, document command service and documentconversion service.The document manager and documentstorage service areeither included to Community Server or must be implemented by the softwareintegrators who use ONLYOFFICE Document Server on their own server.

它自己的ONLYOFFICE/CommunityServer就是管理文件用的,是一个庞大的项目管理系统。

ONLYOFFICE CommunityServer is a free open source collaborative system developed to managedocuments, projects, customer relationship and email correspondence, all in oneplace.

Nextcloud,可道云等云盘系统也支持ONLYOFFICE协作服务,我用Golang语言开发的EngineerCMS来实现ONLYOFFICE的文档管理和存储,调用ONLYOFFICE Document Server服务来进行文档协作,权限完全按照官方的community。

协作的好处在于少了来回传递文档,少了汇总的负责人,特别是十多人合作编写文档的时候,汇总的工作量大,容易出错,任何人稍微修改一点,都要重新传递整个文档,汇总后还要再次发给大家核对……。

协作也可以应用于校审流程,校核和审查直接在文档上修改即可。

其他如月报的合作,工作任务表的更新:每个人的任务表要随时更新,除非用专业的任务管理软件,否则用Excel表格的话,也是要负责人汇总更新表格,应付领导检查。

会议纪要写好了,把链接发给大家,有意见直接在上面修改补充。

投标要多人协作的话,用这个平台也是不错的。

报表的汇总。

市场上协作的平台不下几十种,著名的如石墨,一起写,腾讯文档协作TIM,Google Doc,office365,office online等,基本按人月收费,免费的有人数限制,并且想自己部署在局域网的话也不大可能。你的文档上传给他们或许有诸多不便呢。比如银行的报表,嘿嘿,你懂的。

所以,我就在ONLYOFFICE Document Server基础上用Golang语言开发了文档管理和存储功能,方便大家免费无限制任意部署的需求。

总的思路就是比如在局域网的某台windows(推荐用linux-centos,因为很稳定)电脑上安装docker容器来运行ONLYOFFICE Document Server,然后运行EngineerCMS来调用ONLYOFFICE Document Server的服务。在云服务器上部署也是一个道理。

ONLYOFFICE随着版本的不断更迭,功能越来越接近MSOFFICE,比如有文档结构(word文档导航),历时版本的对照功能,excel里的文字删除线、筛选、透视表等。

2、安装准备

如果是局域网,部署的电脑拥有固定ip(下文叫宿主机,切记)。电脑能打开cup的虚拟功能。如果部署到云主机,道理是一样的。

环境是win7以上,win10。Win10区别就是安装的docker软件不同而已(win10不要安装docker toolbox了),win10不需要设置端口转发。

linux就更简单了。

第一步:确定电脑打开了cpu虚拟打开。https://jingyan.baidu.com/article/22fe7ced3b4c003002617f17.html

第二步:下载和安装docker toolbox(win7)/docker(win10),默认安装即可。下载地址DaoCloud | Docker 极速下载,下载支持旧版windows的docker toolbox。win10就直接下载docker了。切记,win7下安装完成docker后,启动docker的时候断网,启动后可以联网。win10安装完docker后在cmd里执行docker命令

第三步:启动docker后在里面拉取Onlyoffice Document Server 的Docker镜像,然后运行即可。

下面过程看起来繁琐,等你理解后其实就2步:安装docker,拉取镜像(或导入离线包),然后运行。再就是在文档管理平台上配置一下IP和端口。

3、拉取ONLYOFFICE Document Server 的Docker镜像(可选)

拉取镜像:启动docker,在里面输入命令docker pull onlyoffice/documentserver

(注意:win7下的docker要断网启动!!切记,启动后再联网。如果已经运行了onlyoffice document server, 下次开机,重新启动docker后,不需要再运行onlyoffice的,当你启动docker后,OO已经启动了)

可以用我做好的镜像导入(离线包导入),已经导入好了中文字体,修正了几个翻译错误,可以省略第5步,从第4步直接跳过第5步到第6步。

建议用离线的,导入离线包命令为:docker load < fei6onlyoffice5.4.2.tar

fei6onlyoffice5.4.2.tar,这个包解决了中文字体名称问题。

下载放到docker命令行对应的目录下,方便运行命令导入(load)这个镜像。一般在c盘-users-administrator或者其他用户名下(在docker命令行里输入dir,看看当前目录下有哪些文件,一般就能找到这个目录了。)

4、启动——映射至9000端口(运行镜像后变成容器)

docker run -i -t -d -p 9000:80 onlyoffice/documentserver

如果是导入的镜像,上面的命令中onlyoffice/documentserver用镜像id代替,查阅镜像用docker images命令。

运行后就可以通过http://192.168.99.100:9000访问OO服务的欢迎界面了,运行后的我们称之为容器。

5、添加容器onlyofficedocument server的字体(可省略)

在网盘中下载字体winfont压缩包。字体来源于GitHub – neroxps/Docker-Only-Office-Chinese-font和win10系统,win10系统提取中文字体的方法:控制面板——搜字体——查看安装的字体——再在搜索栏输入中文 2个字,这些就是需要的中文字体了。OO首次加载会比较慢,因为加载中文字体,一般达到50M以上。需要精简字体的方法,可以查阅网络或找我。

Administrator@604TFALNDKDKJWCMINGW64 ~/winfont

//将当前文件夹C:\Users\Administrator\下的winfont文件夹内的字体全部拷贝到容器的文件夹/usr/share/fonts/truetype中

字体文件在我的网盘中:百度网盘-链接不存在

提取码:jlt6

$ tar -cv * | docker exec -i 6df tar x -C/usr/share/fonts/truetype

kaiu.ttf

msjh.ttc

msjhbd.ttc

msjhl.ttc

msyh.ttc

msyh.ttf

msyhbd.ttc

msyhl.ttc

simfang.ttf

simhei.ttf

simkai.ttf

simli.ttf

simsun.ttc

simsunb.ttf

simyou.ttf

……

Administrator@604TFALNDKDKJWCMINGW64 ~/winfont

//进入容器内

$ docker exec -it 6df /bin/bash

root@6dfa5705aaef:/#sudo mkfontscale

root@6dfa5705aaef:/#sudo mkfontdir

root@6dfa5705aaef:/#sudo fc-cache -fv

/usr/share/fonts:caching, new cache contents: 0 fonts, 1 dirs

…………

fc-cache:succeeded

root@6dfa5705aaef:/#exit

exit

//退出容器

Administrator@604TFALNDKDKJWCMINGW64 ~/winfont

$ docker exec 6df /usr/bin/documentserver-generate-allfonts.sh

GeneratingAllFonts.js, please wait…Done

onlyoffice-documentserver:docservice:stopped

onlyoffice-documentserver:docservice:started

onlyoffice-documentserver:converter:stopped

onlyoffice-documentserver:converter:started

如果机器重启后,断网情况下启动docker,此时不需要再运行docker run命令,OO服务已经随DOCKER启动了。

完成后记得清理chrome浏览器缓存,否则新导入的字体不会生效。chrome浏览器:设置—高级—隐私设置和安全性—清除浏览数据—时间范围选择时间不限……

具体替换字体的命令见下图,很详细具体了。

插图上写的界面汉化不对,这些只是导入中文字体而已,和界面汉化无关。界面中汉化其实就是在页面中将 “lang”: “zh-CN”

修正excel、word、ppt翻译错误:

Administrator@604TFALNDKDKJWC MINGW64 ~/zh

$ docker exec -it 6df /bin/bash

root@6dfa5705aaef:/#cd /var/www/onlyoffice/documentserver/web-apps/apps/spreadsheeteditor/main/locale/

root@6dfa5705aaef:/var/www/onlyoffice/documentserver/web-apps/apps/spreadsheeteditor/main/locale#ls

cs.json en.json fr.json ja.json nl.json pt.json sk.json tr.json vi.json

de.json es.json it.json lv.json pl.json ru.json sl.json uk.json zh.json

root@6dfa5705aaef:/var/www/onlyoffice/documentserver/web-apps/apps/spreadsheeteditor/main/locale#exit

exit

Administrator@604TFALNDKDKJWC MINGW64 ~/zh

$ tar-cv zh.json | docker exec -i 6df tar x -C /var/www/onlyoffice/documentserver/web-apps/apps/spreadsheeteditor/main/locale/

zh.json

word的翻译文件/var/www/onlyoffice/documentserver/web-apps/apps/documenteditor/main/locale/

$ tar-cv zh.json | docker exec -i 6df tar x -C /var/www/onlyoffice/documentserver/web-apps/apps/documenteditor/main/locale/

6、还可以替换帮助文件为中文……

/var/www/onlyoffice/documentserver/apps/presentationeditor/main/resources/help/zh/Contents.json

/var/www/onlyoffice/documentserver/apps/spreadsheeteditor/main/resources/help/zh/Contents.json

/var/www/onlyoffice/documentserver/apps/documenteditor/main/resources/help/zh/Contents.json

做完以上工作,你可以将修改后的容器保存为新的镜像,然后save导出后给其他机器用。

docker commit将修改后镜像保存到本地,参数是容器ID,新名字:版本标志

#docker ps -all

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

b3426410ff43 centos:7 “/bin/bash” 4 minutes ago Exited (0) 4 seconds ago centos7ssh

#docker commit b59myimage/centos7-ssh(这个是例子)

下次可以输入刚保存的名字启动修改了字体的镜像了。

导出镜像——一定要导出保存,否则docker经常自己升级,容器啊,镜像啊,都会丢失,追悔莫及。

所以,启动docker的时候要关闭网络,否则它自动升级。等docker完全启动后,再打开网络。

docker save -o onlyoffice.tar onlyoffice/documentserver

6、运行和修改文档管理平台EngineerCMS

你可以直接去https://github.com/3xxx/engineercms查看源码,自己编译。

也可以去链接:https://pan.baidu.com/s/1MDJ-QfCmv_LiychDSLn8jw 提取码:nhar 下载软件包,直接运行engineercms即可用浏览器chrome访问127.0.0.1了,不用配置环境,因为它是golang语言编写的跨平台的可执行文件。如果运行出现闪退,则在conf文件夹下更改app.conf文件中的端口号,或者修改runmode为prod模式。

(1)运行前要替换engineercms\views\onlyoffice\onlyoffice.tpl中的3处 IP 和 端口号,如果engineercms和docker安装在同一个电脑上,那么三个IP相同,但端口号是不同的,见下面的6.1节。

配置conf/app.conf文件里的

#####配置onlyoffice##### ####1.onlyoffice的服务ip和端口号

(2)docker toolbox访问前要按照下文中第7节中的方法设置宿主机(安装docker的电脑)virtualbox的端口转发。win10的windows docker不用设置端口转发了。

有问题联系我QQ504284,微信hotqin999

hotqin888的专栏_q平面人_CSDN博客

6.1协作编辑页面要根据你的情况进行修改(ip地址、中文界面)

一定要用ip,不要用localhost、127.0.0.1之类的代替本机ip,本机调试要用192.168.99.100

注意:下文只是标识出需要修改的3处ip和端口号位置,代码并不能直接拷贝过去运行。请在engineercms文件夹中对应的原始文件上进行修改。

engineercms\views\onlyoffice\onlyoffice.tpl:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html style="height: 100%;">
<head>
   <title>fei-OnlyOffice</title>
</head>
<body style="height: 100%; margin: 0;">
    <divid="placeholder" style="height: 100%"></div>
    <script type="text/javascript"src="http://安装docker电脑的ip:9000/web-apps/apps/api/documents/api.js"></script>
    <scripttype="text/javascript">
        //alert({
  
  {.Doc.FileName}});
       window.docEditor = new DocsAPI.DocEditor("placeholder",
            {
               "document": {
                   "fileType": "{
  
  {.fileType}}",
                   "key": "{
  
  {.Key}}",//"Khirz6zTPdfd7"
                   "title": "{
  
  {.Doc.FileName}}",
                   "url": "http://运行engineercms电脑的ip:端口号/attachment/onlyoffice/{
  
  {.Doc.FileName}}"
                },
               "documentType": "{
  
  {.documentType}}",
               "editorConfig": {
                   "callbackUrl": "http://运行engineercms电脑的ip:端口号/url-to-callback?id={
  
  {.Doc.Id}}",
                   "user": {
                       "id": "{
  
  {.Uid}}",
                       "name": "{
  
  {.Uname}}"
                   },
                   "lang": "zh-CN",//"en-US",菜单中文化
                },
               "height": "100%",
               "width": "100%"
            });
   </script>
</body>
</html>

7、端口转发

windows7上使用docker容器_maodou95838的专栏-CSDN博客

前文第4节运行ONLYOFFICE DOCUMENT SERVER:

docker run -i -t -d -p 9000:80 onlyoffice/documentserver

-d:后台运行

-p 9000:80 :端口映射,前一个9000代表虚拟机的端口,后一个80代表docker容器的端口

命令执行完成后,可以通过http://192.168.99.100:9000访问OO服务的欢迎界面。

这时只能在你自己的机器上访问,同一个局域网中的其他机器是不能访问的,原因是:Windows上的docker是运行在一个虚拟机里面的,看官方给的图:

要让别的机器也访问到,需要配置一下虚拟机。设置如下:

双击运行安装docker toolbox生成的Oracle VMVirtualBox。

点击端口转发:下图中主机IP为安装docker的电脑IP,主机端口为9000,子系统IP为192.168.99.100,子系统端口为9000

这样配置完成后,别的机器也可以访问docker 容器了。

下文的开发仅供兴趣参考。

8、二次开发engineercms

8.1 协作编辑页面

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html style="height: 100%;">
<head>
   <title>fei-OnlyOffice</title>
</head>
<body style="height: 100%; margin: 0;">
    <divid="placeholder" style="height: 100%"></div>
    <script type="text/javascript"src="http://安装docker电脑的ip:9000/web-apps/apps/api/documents/api.js"></script>
    <scripttype="text/javascript">
        //alert({
  
  {.Doc.FileName}});
        window.docEditor = newDocsAPI.DocEditor("placeholder",
            {
               "document": {
                   "fileType": "{
  
  {.fileType}}",
                   "key": "{
  
  {.Key}}",//"Khirz6zTPdfd7"
                   "title": "{
  
  {.Doc.FileName}}",
                   "url": "http://运行engineercms电脑的ip:端口号/attachment/onlyoffice/{
  
  {.Doc.FileName}}"
                },
                "documentType":"{
  
  {.documentType}}",
               "editorConfig": {
                   "callbackUrl": "http:// 运行engineercms电脑的ip:端口号/url-to-callback?id={
  
  {.Doc.Id}}",

                   "user": {
                       "id": "{
  
  {.Uid}}",
                       "name": "{
  
  {.Uname}}"
                   },
                   "lang": "zh-CN",//"en-US",
                },
               "height": "100%",
               "width": "100%"
            });
   </script>
</body>
</html>

8.2 协作页面的保存和回调——下面是go语言,官方文档有php java node.js等。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
type Callback struct {
   Key         string   `json:"key"`
   Status      int     `json:"status"`
   Url         string   `json:"url"`
   Changesurl  string  `json:"changesurl"`
   History     history `json:"history"`
   Users       []string `json:"users"`
   Actions     []action `json:"actions"`
   Lastsave    string  `json:"lastsave"`
   Notmodifiedbool     `json:"notmodified"`
}
type action struct {
   Type   int
   userid string
}
type history struct {
 changes       []change
   serverVersionstring
}
type change struct {
   created string
   User    User1
}

type User1 struct {
   id   string
   name string
}

//关闭浏览器标签后获取最新文档保存到文件夹
func (c *OnlyController) UrltoCallback() {
   // pk1 :=c.Ctx.Input.RequestBody
   id :=c.Input().Get("id")
   //pid转成64为
   idNum, err :=strconv.ParseInt(id, 10, 64)
   if err != nil {
      beego.Error(err)
   }
   //根据附件id取得附件的prodid,路径
   onlyattachment,err := models.GetOnlyAttachbyId(idNum)
   if err != nil {
      beego.Error(err)
   }

   var callbackCallback
   json.Unmarshal(c.Ctx.Input.RequestBody,&callback)
   ifcallback.Status == 1 || callback.Status == 4 {
      c.Data["json"]= map[string]interface{}{"error": 0}
      c.ServeJSON()
   } else ifcallback.Status == 2 {
      resp, err :=http.Get(callback.Url)
      if err != nil{
         beego.Error(err)
      }
      body, err :=ioutil.ReadAll(resp.Body)
     if err != nil{
         beego.Error(err)
     }
      deferresp.Body.Close()
      if err != nil{
         beego.Error(err)
      }
      f, err :=os.create(".\\attachment\\onlyoffice\\"+onlyattachment.FileName)
      if err != nil{
         beego.Error(err)
      }
      deferf.Close()
      _, err =f.Write(body)
      if err != nil{
         beego.Error(err)
      } else {
         err =models.UpdateOnlyAttachment(idNum)
         if err !=nil {
            beego.Error(err)
         }
      }
      c.Data["json"]= map[string]interface{}{"error": 0}
      c.ServeJSON()
   }
}

engineercms的文档管理: 根据官方community的样子,做了权限管理和历时版本对照功能。

word文件协作效果:

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/126117.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月6,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
实战 HomeAssistant 基于 GPSLogger 跟踪 Android 设备
之前有介绍过基于 iCloud3 v3 跟踪 iOS 设备的方法:https://cloud.tencent.com/developer/article/2332714
远哥制造
2023/09/29
1.3K0
实战 HomeAssistant 安装 room-assistant 房间级自动化平台
从上周开始给大家分享了关于 HomeAssistant 相关的文章,不知不觉中来到了 21 天中的最后一周,本周计划继续写这个合集
远哥制造
2023/09/30
9500
WWDC22 - Apple 隐私技术探索
一直以来,苹果对隐私保护都非常严格,虽然每年新 iPhone 发布都提前被暴光的差不多了,但从 2018 年 Facebook 隐私门事件开始,不管国内还是海外,行业巨头还是个人用户,大家对于隐私的关注都达到了新的高度。正如乔布斯说,开放和安全是截然相反的事情,但这件不容易的事,总需要有人做。从 WWDC20 开始,对用户隐私的保护,又达到了史前的疯狂程度,如推出 ATT(App Tracking Transparency),成为广告行业的敌人,更不要说平时对权限的严控,所以,本文带大家一起回顾苹果关于隐私的升级变化。
37手游iOS技术运营团队
2022/07/11
1.2K0
WWDC22 - Apple 隐私技术探索
实时车辆行人多目标检测与跟踪系统-上篇(UI界面清新版,Python代码)
摘要:本文详细介绍如何利用深度学习中的YOLO及SORT算法实现车辆、行人等多目标的实时检测和跟踪,并利用PyQt5设计了清新简约的系统UI界面,在界面中既可选择自己的视频、图片文件进行检测跟踪,也可以通过电脑自带的摄像头进行实时处理,可选择训练好的YOLO v3/v4等模型参数。该系统界面优美、检测精度高,功能强大,设计有多目标实时检测、跟踪、计数功能,可自由选择感兴趣的跟踪目标。博文提供了完整的Python程序代码和使用教程,适合新入门的朋友参考,完整代码资源文件请转至文末的下载链接。本博文目录如下:
全栈程序员站长
2022/11/04
1.5K0
实时车辆行人多目标检测与跟踪系统-上篇(UI界面清新版,Python代码)
iOS开发入门笔记
iOS开发入门笔记 本文面向已有其它语言(如Java,C,PHP,Javascript)编程经验的iOS开发初学者,初衷在于让我的同事一小时内了解如何开始开发iOS App,学习目标包括: 能使用Xcode IDE、模拟器 能修改、调试已有iOS App 能在已有应用内创建新模块 能创建新应用 能发布应用到App Store 本文不包含任何高级的iOS开发知识,已学会iOS开发的同学不要看,看完这篇文章学会了的同学也不用再看了。 不仅是学习一门新语言 有过脚本开发经验的人(如Javascript,PHP,S
xiangzhihong
2018/02/06
4K0
iOS摄像头和相册-UIImagePickerController
本文参考自:http://blog.sina.com.cn/s/blog_7b9d64af0101cfd9.html
Cloudox
2021/11/23
7920
【IOS开发高级系列】CoreData专题
        Managed Object Model 是描述应用程序的数据模型,这个模型包含实体(Entity),特性(Property),读取请求(Fetch Request)等。(下文都使用英文术语。)
江中散人_Jun
2023/10/16
7300
【IOS开发高级系列】CoreData专题
苹果 AirDrop 的设计缺陷与改进
Apple 的离线文件共享服务 AirDrop 已集成到全球超过 15 亿的终端用户设备中。 本研究发现了底层协议中的两个设计缺陷,这些缺陷允许攻击者了解发送方和接收方设备的电话号码和电子邮件地址。 作为补救,本文研究了隐私保护集合交集(Private Set Intersection)对相互身份验证的适用性,这类似于即时消息程序中的联系人发现。 本文提出了一种新的基于 PSI 的优化协议称为 PrivateDrop,它解决了离线资源受限操作的具体挑战,并集成到当前的 AirDrop 协议栈中。 实验证PrivateDrop保留了AirDrop的用户体验,身份验证延迟远低于一秒。PrivateDrop目前已开源(https://github.com/seemoo-lab/privatedrop )。
CDra90n
2023/06/27
7550
苹果 AirDrop 的设计缺陷与改进
iOS接入开屏广告教程 : 以腾讯优量汇为案例
本文重点是拉取最新SDK库、iOS14的idfa适配以及iOS13的modal样式适配
公众号iOS逆向
2021/07/30
2.9K1
「首席架构师推荐」最棒的的Flutter库,工具,教程,文章列表
Flutter是一款移动应用SDK,可通过单一代码库为iOS和Android构建高性能,高保真的应用。
架构师研究会
2019/09/18
10.8K0
Ask Apple 2022 中与 Core Data 有关的问答
Ask Apple 为开发者与苹果工程师创造了在 WWDC 之外进行直接交流的机会。本文对本次活动中与 Core Data 有关的一些问答进行了整理,并添加了一点个人见解。本文为上篇。
东坡肘子
2022/12/16
2.9K0
iOS开发常用之网络、网页
网络相关 网络连接 AFNetworking - ASI不升级以后,最多人用的网络连接开源库,iOS的网络编程之AFNetworking使用,iOS的开发下载文件速度计算 , AFNetworking 3.0迁移指南 , AFNetworking2.0源码解析<一> ,AFNetworking2.0源码解析<二>,AFNetworking源码解析<三>,AFNetworking源码解析<四>。 Alamofire.swift - Alamofire是AFNetworking的作者mattt
GuangdongQi
2018/12/14
5.4K0
了解和分析iOS Crash Report
翻译自苹果官方文档:Understanding and Analyzing Application Crash Reports
nimomeng
2018/09/13
1.7K0
了解和分析iOS Crash Report
TensorFlow 智能移动项目:1~5
本章介绍如何设置开发环境,以使用 TensorFlow 构建所有 iOS 或 Android 应用,本书其余部分对此进行了讨论。 我们不会详细讨论可用于开发的所有受支持的 TensorFlow 版本,OS 版本,Xcode 和 Android Studio 版本,因为可以在 TensorFlow 网站或通过 Google。 相反,我们将在本章中简要讨论示例工作环境,以便我们能够快速了解​​可使用该环境构建的所有出色应用。
ApacheCN_飞龙
2023/04/24
4.5K0
正经分析iOS包大小优化
包大小优化是项目开发中不可避免会遇到的,网上关于包大小优化的文章很多,每篇文章说的都不尽相同,笔者曾经根据网上的文章做过包大小优化,但效果不尽人意;因此笔者想根据已有的文章、知识结合自己的理解、实践,做一份总结梳理,整理自己的包大小优化逻辑,不光要知道怎么做可以让包大小变化,还要知道为什么这么做能产生效果,所以就有了这篇文章。
莫空9081
2021/05/28
6K0
Sentry 开发者贡献指南 - SDK 开发(事件负载)
事件是客户端通常通过使用 SDK 发送到 Sentry 服务器的基本数据。事件负载(Event payload)大小限制为 200kb。
为少
2022/01/04
1.8K0
IOS防作弊产品技术原理分析
1.由于IOS系统的不开放性,能获取的信息太少,所在IOS上的防作弊产品可做的功能就相比较于安卓要少很多了。硬件方面主要获取IDFA、IDFV这两个值,软件方面主要获取一些风险APP的名称。
我是小三
2019/06/04
3.5K1
IOS防作弊产品技术原理分析
iOS,面试必看,最全梳理
目前形势,参加到iOS队伍的人是越来越多,甚至已经到供过于求了。今年,找过工作人可能会更深刻地体会到今年的就业形势不容乐观,加之,培训机构一火车地向用人单位输送iOS开发人员,打破了生态圈的动态平衡。矫情一下,言归正传,我奉献一下,为iOS应聘者梳理一下面试题,希望能助一臂之力!
Jacklin999
2018/09/12
1.2K0
iOS,面试必看,最全梳理
如何对 iOS 启动阶段耗时进行分析
启动优化一役后,超预期将所负责的 App 双端启动的耗时都降低了65%以上,iOS 在iPhone7上速度达到了400毫秒以内。就像产品们用后说的,快到不习惯。由于 App 日活用户过亿,算一下每天为用户省下的时间,还是蛮有成就感的。
用户7451029
2020/06/16
2.8K0
如何对 iOS 启动阶段耗时进行分析
Python 机器人学习手册:6~10
在上一章中,我们讨论了构建机器人所需的硬件组件的选择。 机器人中的重要组件是执行器和传感器。 致动器为机器人提供移动性,而传感器则提供有关机器人环境的信息。 在本章中,我们将集中讨论我们将在该机器人中使用的不同类型的执行器和传感器,以及如何将它们与 Tiva C LaunchPad 进行接口,Tiva C LaunchPad 是德州仪器(TI)的 32 位 ARM 微控制器板,在 80MHz。 我们将从讨论执行器开始。 我们首先要讨论的执行器是带有编码器的直流齿轮电动机。 直流齿轮电动机使用直流电工作,并通过齿轮减速来降低轴速并增加最终轴的扭矩。 这类电机非常经济,可以满足我们的机器人设计要求。 我们将在机器人原型中使用该电机。
ApacheCN_飞龙
2023/04/27
3.5K0
推荐阅读
相关推荐
实战 HomeAssistant 基于 GPSLogger 跟踪 Android 设备
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文