之前的数据构造平台一直是在本地进行开发&运行,其他人通过访问我的本机地址来访问系统 通过这段时间的运行,发现几个不方便的地方: 1、每次重新开机连接wifi后,电脑的ip地址就变了,一方面需要修改前后端调用时填写的请求...ip;另一方面发给别人的url会失效; 2、电脑关机或息屏后,会导致无法访问系统; 所以周末研究了一下如何把前后端服务部署到服务器上 本篇记录下如何把Django后端服务部署到Linux服务器 1、...-APP-D2 DataFactory]# lsof -i:8000 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME python3...]# vi stop.sh 之前杀死进程时,分了2步来执行:先查到进程id,再杀死进程 如果要写到shell脚本中,我们需要获取到进程id,然后把它传给kill命令,可以通过awk命令获取到具体的进程.../start.sh 启动数据工厂Django服务 [root@ALI-PRD00370-APP-D2 DataFactory]# lsof -i:8000 COMMAND PID USER FD
今天我再分享一个进销存系统,只为学习,没有复杂的框架和设计模式,有的是我个人的理解,大家互相探讨技术才会提高。当然我的命名不是很规范,兄弟们凑合着看。...找到Command Window,把我提供给你的脚本复制进去就OK了。...namespace Insigma.Eyes.PSS.BLLWCFService { // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“ICommodityManagerService...purchaseOrderID) { string sqlWhere = " and PurchaseOrderID=" + purchaseOrderID; //调用另一个模块...,调用BLL比较好 //return new OracleDAL.PurchaseCommodityService().DeleteEntity(sqlWhere);
为了更直观的观察这个平台的使用情况,利用echarts做了一个可视化的报表,最终效果如下 本篇来介绍下报表从构思到实现的过程 我的需求: 1、本次打算做2张表,一个以周为维度,统计每天在平台上构造数据的次数...我把 DataFactory模型导进来,然后分别定义了开始、结束时间、数据名称等,调用模型把数据插入库并保存即可。...3.新增视图方法供前端调用 由于我把报表放在了一个单独的页面,期望每当打开这个页面时,就展示图表,所以这里面发生了2件事: 1、打开报表页面时,向后端发送请求获取数据; 2、拿到数据后,前端把数据渲染到页面的报表中...dict_value = {} # 定义一个空字典 for i in t: j = {i[0]: i[1]} dict_value.update(j) # 遍历从数据库查到的数据...字典中,这样有数据的日期正常显示数据,无数据的日期显示0 statistics_data = [] # 定义一个空列表 for t in week.items(): # 把字典中的数据处理为一个个小的字典
:java -version 安装Apache ant Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。...这里用到的的是用于android签名证书等打包(android开发过程中ide使用gradle配置打包,早期都是用的ant打包,这里使用的方法比较原始) http://ant.apache.org/bindownload.cgi...└──package.json //项目信息配置文件 从项目的结构可以看出,项目代码使用的mvvm结构,而且它的viewmodel是通过方法操作的。.../app.css"; application.start(); main-page.js 页面的数据绑定处理,将vm和方法绑定,也可认为是把vm和对象关联绑定 var vmModule = require...思想来实现,只是实现和表现不一样 参考文档完善,整理来说是一个不错的native开发方案 开发使用commonJs的规范,容易理解 但是不足之处也很明显,很难做现有单页面的改造,迭代不方便,功能上线必须像客户端那样发布审核
实践 上次介绍的安装部署 AiiDA 的文章中的 Quantum Mobile,就开发了 AiiDA 与 QE 的一体化虚拟机和 Docker 镜像,直接使用非常方便。...初始化配置 quantum-mobile 容器中默认是没有任何配置和数据的,只有已经正常运行的 aiida-core、PostgreSQL 和 RabbitMQ。...远程集群的定义文件与本地主机不同的地方主要是传输的方式:从 local 模式到 ssh 模式。...AiiDA 可以非常容易搭配 QE 完成第一性原理计算,并且对计算过程中的输入、输出数据都实现了有效的管理。...我们除了可以通过 AiiDA 提供的 verdi 命令来交互式查询计算结果之外,也可以进入到计算的目录直接查询 QE 计算的原始输入文件和输出文件(默认本地目录是 ~/.aiida_run)。
函数,传入的参数为app对象,它的作用就是注册蓝本, 然后在工厂函数中调用这个函数即可 3....创建一个run_main.py文件,调用工厂函数创建app实例 # coding: utf-8 # author: hmk from data_factory import create_app app...这种方式可以不创建run_main.py,设置 FLASK_app(指明Flask实例对象 app 所在的模块位置)即可,FLASK_app可以放到.flaskenv文件中,也可以在执行命令前设置一下...例如我的app实例是在data_factory.py中生成的,所以需要指明 FLASK_app=data_factory(当然这里我的run_main.py中也生成了app实例,用它也行) (1)放到...新增了一个函数 register_extensions,在里面对db使用 init_app()方法,传入程序实例app完成初始化操作,然后在工厂函数中引用这个函数 同时在工厂函数下进行了数据库的一些设置
从测试数据可以看出,Jackson是最快的(耗时比Gson少了大约700毫秒),Gson耗时最久。 ?...从测试数据可以看出,在反序列化上性能 FastJson最快,不过与Jackson差距并不明显,Gson耗时最久 ? 可见,不管是序列化还是反序列化,速度方面首先阵亡的,是Gson! ?...除了在反序列化的速度胜出外,FastJson相比较 Jackson 有不少短板,我们可以从以下3方面对比: 1....FastJson只有一个(简陋)的SerializeFilter机制用来定制序列化,ParseProcess机制用来定制反序列化,每次调用序列化/反序列化的的时候都要自己传filter或者Process...但是如果碰到了大的json(比如10M这样的),就会占用大量的内存,而且以后都是处理小JSON了内存占用也回不来。 这些问题虽然后来的版本都修复了,但是也反映出Fastjson代码质量上要求不够严格。
如果多个正在运行的Java进程共享同一个main类,诊断命令请求将会发送到所有的这些进程中。 command:接收诊断命令请求的进程的main类。...Perfcounter.print:打印目标Java进程上可用的性能计数器。性能计数器的列表可能会随着Java进程的不同而产生变化。...-f file:从文件file中读取命令,然后在目标Java进程上调用这些命令。在file中,每个命令必须写在单独的一行。以"#"开头的行会被忽略。...GC.run VM.uptime VM.flags VM.system_properties VM.command_line VM.version help 查看具体命令的选项 如果想查看命令的选项,...命令:jcmd PID VM.command_line 描述:查看 JVM 的启动命令行 C:\Users\jjs>jcmd 10576 VM.command_line 10576: VM Arguments
JSON字符串.官网给出了四种创建JSON文档的方法: 1.1手写方式生成 1 String json = "{" + 2 "\"user\":\"kimchy\"," + 3...IndexResponse response = client.prepareIndex("twitter", "tweet") 8 .setSource(json) 9 .get(); 可以调用...response对象的方法获取返回信息: 1 // 索引名称 2 String _index = response.getIndex(); 3 // 类型名称 4 String _type =...{ 14 15 public static DataFactory dataFactory = new DataFactory(); 16 17 private DataFactory......")); 28 String data2 = JsonUtil.model2Json(new Blog(2, "Java中泛型的介绍与简单使用", "2016-06-19"
——从LiveData迁移到Kotlin数据流。...我们在开发的时候,通常会在Activity中发起请求,获取网络数据,然后在回调中渲染UI数据,这是一个比较标准的渲染流程,在这个原始的流程上,我们借助ViewModel,将数据与UI隔离,同时解决了数据生命周期的问题...通过getConstructor和newInstance函数反射调用带参数的构造函数,返回ViewModel的实例。...的调用,代码如下所示。...,作为一个OneShot的UI界面,我们在极简代码的基础上,实现了良好的分层架构。
虚拟机(VM)是将一台服务器转变为多台服务器的物理硬件的抽象。虚拟机管理程序允许多个 VM 在单台计算机上运行。每个 VM 包含操作系统,应用程序,必要的二进制文件和库的完整副本。...,必须位于第一条非注释指令 MAINTAINER MAINTAINER 指定镜像的作者信息,包含镜像的所有者和联系人信息 RUN RUN (shell模式) 在...shell 模式下,是使用 /bin/sh -c COMMAND 来运行命令的。...load 导入使用docker save 导出的镜像 docker load -i [name.tar] import 从归档文件中创建镜像 docker import [name.tar...除了标准化以外,还有一致性,大家都是使用一样的规格、一样的规范、出错的效率非常的低,那么世界范围内非常方便的去流通,可移植性非常的强,价值主要体现在以下几方面: 标准化应用的部署和交付; 加快部署效率;
2.0 协议开源;基于 Linux 内核的 Cgroup Namespace 等技术对进程进行隔离;Docker 让开发者可以打包应用以及依赖包到一个可移植的容器中,发布到任何流行的 Linux 机器上...虚拟机(VM)是将一台服务器转变为多台服务器的物理硬件的抽象。虚拟机管理程序允许多个 VM 在单台计算机上运行。每个 VM 包含操作系统,应用程序,必要的二进制文件和库的完整副本。...-c COMMAND 来运行命令的。...run 中无效USERUSER username用于指定镜像为什么用户去运行。...run运行一个新的容器docker run [image]start/stop/restart启动/停止/重启容器docker start [container]kill杀掉一个运行中的容器docker
Github上发现了一个有27K+Start的一个项目,叫做linux-command,功能如其名,就是用来检索Linux命令的。...启动的命令非常简单: docker run --name linux-command --rm -d -p 9665:3000 wcjiang/linux-command:latest 运行后就会从docker...hub上拉取镜像启动网站,启动后可以通过http://:9665访问: @七禾页话 使用VMWare虚拟机的一个劣势就是每次关机后,虚拟机就关机了,docker的运行就停止了,所以每次都要开机后再运行...docker run来启动,因此为了方便,写一个小的批处理脚本,调用vmrun命令启动虚拟机后再通过runProgramInGuest调用docker run直接启动linux-command即可,前提需要一个免密运行...sudo权限的用户,然后将批处理脚本做成开机自启动,批处理脚本我写了一个,基本符合要求了,免密运行sudo的VM可以使用之前k3s例子中的template即可,需要再安装一下docker,这个模版里运行
JNI注册Android Native方法 拼接参数、获取ZygoteInit Class与其对应的main方法id 调用ZygoteInit.main()方法,进去Java层 创建虚拟机 通过startVm...com/android/internal/os/ZygoteInit中的nativeZygoteInit()方法,而nativeZygoteInit()方法通过JNI注册之后,在Linux的具体实现是对应的...\n"); proc->startThreadPool(); } 参数、类、方法构建与调用 在这一步主要通过FindClass()方法来获取对应Java的Class类型,构建对应的...再通过GetStaticMethodID()方法来获取对应main()方法的方法id,以便为之后调用ZygoteInit.main()方法做准备。...从runtime.start()到调用Java层的ZygoteInit.main()的整个过程流程图如下: ?
,再使用 apply 来调用 on 事件订阅时,记录的是 { fn, ctx },fn 为回调函数,ctx 支持绑定上下文 3. mitt 与 tiny-emitter 对比 TS 静态类型校验上 mitt...> tiny-emitter,开发更友好,对于回调函数参数的管理,tiny-emitter 支持多参数调用的,但是 mitt 提倡使用 object 管理,设计上感觉 mitt 更加友好以及规范 在..._hasHookEvent = true } } return vm } $once 事件订阅&执行一次 // 包装一层 on,内包含退订操作以及调用操作 // 订阅的是包装后的 on..."${event}"` // 遍历逐一触发 for (let i = 0, l = cbs.length; i < l; i++) { // 以下暂不展开,这是 Vue 中对于方法调用错误异常的处理方案...中对于方法调用错误异常的处理方案:invokeWithErrorHandling hookEvent 的使用&原理 5.
脚本执行方法: 标准脚本执行方法(建议):(魔法字节指定的程序会生效) 非标准的执行方法(不建议):(魔法字节指定的程序不会运作) 总结: ....将当前变量变成环境变量 env |grep -i HI HISTSIZE=1000 HI=hello 全局变量:全局所有的用户和程序都能调用,且继承,新建的用户也默认能调用。...:上一条命令执行后返回的状态,当返回状态值为0时表示执行正常,非0值表示执行异常或出错 若退出状态值为0 表示命令运行成功 若退出状态值为127 command not found 若退出状态值为126...后台运行的最后一个进程号 (当前终端) !$ 调用最后一条命令历史中的参数 !!...-ne 0 && echo "该进程不存在" || echo "该进程存在" done pgrep命令:以名称为依据从运行进程队列中查找进程,并显示查找到的进程id 选项 -o:仅显示找到的最小(起始)
# 你的第一个docker应用 docker run hello-world boot2docker基础命令 Usage: boot2docker [] [<args...up|start|boot Start VM from any states. ssh [ssh-command] Login to VM via SSH....,docker的所有程序都直接运行在宿主系统中,每个container独立运行,互不干扰。...都是不可写的(readonly) 再container中所做的修改都会保存在layer中 好了,不说这些虚的,下面赶紧用几个命令练练手。...从入门到实践
命令模式 命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。...具体命令(ConcreteCommand)角色:定义一个接收者和行为之间的弱耦合;实现execute()方法,负责调用接收者的相应操作。execute()方法通常叫做执行方法。...请求者(Invoker)角色:负责调用命令对象执行请求,相关的方法叫做行动方法。 接收者(Receiver)角色:负责具体实施和执行一个请求。...Thread pools(线程池) 通常一个典型的线程池实现类可能有一个名为addTask()的public方法,用来添加一项工作任务到任务 队列中。...该任务队列中的所有任务可以用command对象来封装,通常这些command对象会实现一个通用的接口比如java.lang.Runnable。
docker run 对应于 ManagementCommands 的命令为 docker container run [OPTIONS] IMAGE [COMMAND] docker run 命令会在指定的镜像...IMAGE 上创建一个可写的容器(因为镜像是只读的),然后运行指定的命令 [COMMAND]。...NAMES 在执行命令之后,容器就会退出,如果我们需要一个保持运行的容器,最简单的方法就是给这个容器一个可以保持运行的命令或者应用,比如 bash,例如我们在 ubunutu...00:00:00 查看修改 查看相对于镜像的文件系统来说,容器中做了哪些改变,例如我们在 hellodocker 容器中创建一个文件,就可以使用 diff 命令查看到相应的修改: [root@VM_0_...来创建容器并在容器里执行命令之外,我们还可以在一个已经处于运行中的容器中执行命令,使用如下格式: docker container exec [OPTIONS] CONTAINER COMMAND [
领取专属 10元无门槛券
手把手带您无忧上云