work

thrift程序(例子2)

匆匆过客 提交于 2020-02-08 16:44:51
thrift链接: https://www.cnblogs.com/sxrtb/p/12209455.html 一 thrift文件   文件名为tutorial.thrift /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed

weblogic系列漏洞整理 -- 4. weblogic XMLDecoder 反序列化漏洞(CVE-2017-10271、CVE-2017-3506)

旧街凉风 提交于 2020-02-08 09:03:11
目录 四、 weblogic XMLDecoder 反序列化漏洞(CVE-2017-10271) 0. 漏洞分析 1. 利用过程 2. 修复建议 一、weblogic安装 http://www.cnblogs.com/0x4D75/p/8916428.html 二、weblogic弱口令 http://www.cnblogs.com/0x4D75/p/8918761.html 三、weblogic 后台提权 http://www.cnblogs.com/0x4D75/p/8919760.html 四、 weblogic XMLDecoder 反序列化漏洞(CVE-2017-10271) 影响版本: Oracle WebLogic Server 10.3.6.0.0版本 Oracle WebLogic Server 12.1.3.0.0版本 Oracle WebLogic Server 12.2.1.1.0版本 Oracle WebLogic Server 12.2.1.2.0版本 0. 漏洞分析 通过POC利用后,抓取weblogic的返回响应的xml部分如下,调用栈在 标签中: 从调用栈可以明确的看到源码中weblogic调用函数的过程: processRequest > readHeaderOld > receive > receiveRequest >

Python进程-实现

萝らか妹 提交于 2020-02-08 03:16:51
fork介绍 Unix/Linux操作系统提供了一个 fork() 系统调用,它非常特殊。普通的函数调用,调用一次,返回一次, 但是 fork() 调用一次,返回两次,因为操作系统 自动把当前进程(称为父进程)复制了一份( 称为子进程) ,然后,分别在父进程和子进程内返回。 子进程永远返回 0 ,而父进程返回子进程的ID 。这样做的理由是,一个父进程可以fork出很多子进程,所以, 父进程要记下每个子进程的ID,而子进程只需要调用 getppid() 就可以拿到父进程的ID。 Python的 os 模块封装了常见的系统调用 import os if __name__ == '__main__': print('进程 (%s) start...' % os.getpid()) pid = os.fork() # time.sleep(10) if pid == 0: # 子进程fork()返回0 print("子进程{},父进程{}".format(os.getpid(), os.getppid())) else: # 父进程fork返回子进程的id print("父进程{},子进程{}".format(os.getpid(), pid)) --》》结果 进程 (3130) start... 父进程3130,子进程3131 子进程3131,父进程3130

市政道桥表结构设计

前提是你 提交于 2020-02-08 02:46:31
智慧道桥监管平台数据库设计说明书 引言 编写目的 为了完成系统的数据结构设计,为下一步的开发做好准备,编写本文档。由于本系统目前是产品的第一个版本,而与竞争产品相比,系统在灵活配置、业务覆盖范围等方面会做比较大的改进。 本文档预期的读者是产品设计、开发人员和测试人员。 背景 产品名称:智慧道桥监管平台 任务提出者:北京数字政通科技股份有限公司 任务开发者:数据服务产品部 第一用户:城管局、市政处 术语定义 设计规范 数据库表规范 (1)表名格式:模块名_表含义名,如 认证中心人员表:auth_human;如果系统功能简单,没有划分为模块,则可以以系统英文名称的缩写作为前缀,否则以各模块的英文名称缩写作为前缀 (2)不再使用tc_,to_,tr_前缀 (3)表的名称必须易于理解,使用能表达功能的英文单词或缩写英文单词,词间以_分割 (4)在命名表时,用单数形式表示名称。例如,使用auth_human,而不是auth_humans (5)表名用小写 (6)表名称长度不能超过30个字符(几种数据库中Oracle要求最高) (7)职责相近的表,命名规则应该相同 数据库字段规范 (1)业务表须要有主键,例如自增主键 (2)字段名称必须易于理解,使用能表达功能的英文单词或缩写英文单词,词间以_分割 (3)字段名用小写,且需要加入中文注释 (4)字段名称长度不能超过30个字符

(vue操作storage)Vue plugin for work with local storage,session storage and memo

一个人想着一个人 提交于 2020-02-07 16:18:10
vue-ls https://www.npmjs.com/package/vue-ls NPM npm install vue-ls --save Yarn yarn add vue-ls Usage Vue storage API. import Storage from 'vue-ls'; options = { namespace: 'vuejs__', // key prefix name: 'ls', // name variable Vue.[ls] or this.[$ls], storage: 'local', // storage name session, local, memory }; Vue.use(Storage, options); //or //Vue.use(Storage); new Vue({ el: '#app', mounted: function() { Vue.ls.set('foo', 'boo'); //Set expire for item Vue.ls.set('foo', 'boo', 60 * 60 * 1000); //expiry 1 hour Vue.ls.get('foo'); Vue.ls.get('boo', 10); //if not set boo returned default 10 let

项目:学生查看自己的作业情况和分数(php)

大城市里の小女人 提交于 2020-02-04 22:51:30
<?php include '../includes/db.ini.php'; try { $sql='SELECT work_id,title,work_text,score_value FROM homework;'; $result=$pdo->query($sql); $cnt=$result->rowCount(); } catch (PDOExpecyion $e) { } if ($cnt!=0) { while($row=$result->fetch()) { $outputcheck[]=array('work_id'=>$row['work_id'],'title'=>$row['title'],'work_text'=>$row['work_text'],'score_value'=>$row['score_value']); } include '../student/checkhomeworkout.php'; } else { echo 'wrong'; exit(); } ?> <html> </html> <head> </head> <body> <?php foreach ($outputcheck as $out): ?> <a href=""> <?php echo $out['work_id'].' '.$out['title'].' '.

Windows线程池函数

我的梦境 提交于 2020-02-04 22:36:41
Windows提供给了一个与 完成端口 相配套的线程池机制。 1.以异步的方式调用函数 //工作项 2.每隔一段时间调用一个函数 //计时项 3.在内核对象触发的时候调用一个函数 //等待项 4.在异步I/O请求完成的时候调用一个函数 //I/O项 1.以异步的方式调用函数 创建一个工作项,分多次提交任务。 PTP_WORK CreateThreadpoolWork(PTP_WORK_CALLBACK pfnWorkHandler,PVOID pvContext,PTP_CALLBACK_ENVIRON pcbe); pvContext:传给回调函数的值 pcbe:和线程池的定制有关 pfnWorkHandler:函数指针,该函数的函数原型这个样子 VIOD CALLBACK WorkCallBack(PTP_CALLBACK_INSTANCE Instance,PVOID Context,PTP_WORK Work);//Work:创建函数的返回值 向线程池提交一个任务请求: VOID SubmitThreadpoolWork(PTP_WORK Work); 如果需要多次提交一个工作项,每次回调函数执行的时候,传入的Context的值肯定是相同的。 在另一个线程中,想要取消或者等待工作项处理完毕然后将线程挂起: VOID

deferred work

落爺英雄遲暮 提交于 2020-02-03 03:02:27
背景信息 延期工作是内核的一个特色,用于在随后的某个时间执行某个代码。这个被预定的代码可以运行在进程上下文或者中断上下文。延期工作被用于完成中断处理功能因为中断拥有重要的要求和限制如下: 中断处理程序的执行时间要尽可能地小 在中断上下文中不能够使用导致阻塞的调用 使用延期工作 Softirqs softirqs不能够被设备驱动使用,他们被保留用于多种多样的内核子系统。因为固定数目的softirqs被在编译时被定义。 HI_SOFTIRQ and TASKLET_SOFTIRQ - running tasklets TIMER_SOFTIRQ - running timers NET_TX_SOFIRQ and NET_RX_SOFTIRQ - used by the networking subsystem BLOCK_SOFTIRQ - used by the IO subsystem BLOCK_IOPOLL_SOFTIRQ - used by the IO subsystem to increase performance when the iopoll handler is invoked; SCHED_SOFTIRQ - load balancing HRTIMER_SOFTIRQ - implementation of high precision timers RCU

银行家算法-分析与编码

会有一股神秘感。 提交于 2020-02-03 01:02:59
银行家算法 Banker's Algorithm是一个避免Deadlock的算法,是由艾兹格·迪杰斯特拉在1965年为T.H.E系统设计。 算法背景 在银行中,客户申请贷款的数量是有限的,每个客户在第一次申请贷款时要 声明完成该项目所需的最大资金量 ,在满足所有贷款要求时,客户应 及时归还 。 银行家在客户申请的贷款数量不超过之前声明的最大值时,都应 尽量满足更多客户 的需要。 可以看到关键字: 资金不能无限借需要声明最大资金量。 客户借满了以后,需要及时归还(通常这点不太容易做到...)。 算法的目的是尽量满足跟多客户的需求(没有侧重,没有VIP,通常来说这点也不太容易做到,毕竟商业追求利益最大化...)。 当然,我们不去考虑太多其他策略,单就算法而论。 类比操作系统: 银行的资金相当于OS中的资源(CPU,内存,线程etc.); 银行的用户相当于OS中的进程; 由于该算法在避免死锁的方法中,所施加的限制条件较弱, 有可能 (敲黑板!)获得令人满意的系统性能。 算法内容 基本思想:分配资源之前,先判断分配后系统是否是安全的;若是,才分配;否则,回滚分配; 由此可见,算法的核心应该是判断系统是否安全。 先看百科对系统安全的定义: 安全序列是指一个进程序列{P1,…,Pn}是安全的,即对于每一个进程Pi(1≤i≤n),它以后尚需要的资源量不超过系统当前剩余资源量与所有进程Pj (j

在Deepin中安装树莓派交叉编译环境

强颜欢笑 提交于 2020-01-30 16:01:44
1,深度系统版本 huan@huan-PC:~/Desktop$ uname -a Linux huan-PC 4.15.0-30deepin-generic #31 SMP Fri Nov 30 04:29:02 UTC 2018 x86_64 GNU/Linux 2,安装Git工具 huan@huan-PC:~/Desktop$ sudo apt-get install git [sudo] huan 的密码: 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 将会同时安装下列软件: git-man liberror-perl 建议安装: git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch git-cvs git-mediawiki git-svn 下列【新】软件包将被安装: git git-man liberror-perl 升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 19 个软件包未被升级。 需要下载 5,627 kB 的归档。 解压缩后会消耗 31.1 MB 的额外空间。 您希望继续执行吗? [Y/n] y 获取:1 http://packages.deepin.com