node

python3 txt文件转xml(VOC)格式

一曲冷凌霜 提交于 2019-12-09 14:56:22
from lxml.etree import Element, SubElement, tostring from xml.dom.minidom import parseString import os def make_xml(f,save_xml_path): # 第一层循环遍历所有的照片 for line in f: lines = str(line).split(' ') box_num = len(lines)-2 pic_name = str(lines[0]) node_root = Element('annotation') node_filename = SubElement(node_root, 'filename') # 图片名字 node_filename.text = pic_name # 第二层循环遍历有多少个框 for i in range(box_num): bbox = str(lines[i+2]).split(',') cls_name = bbox[-2] node_object = SubElement(node_root, 'object') node_name = SubElement(node_object, 'name') # 类别名字 node_name.text = class_name(cls_name) node

Nodejs开发指南的几处更新

只谈情不闲聊 提交于 2019-12-09 14:55:54
《node.js开发指南》上面讲的代码案例,现在再来操作的话,肯定是运行不成功的。 express现在已经是3.x版本,相比书上用到的2.x版本,改动还是蛮大的。 使用express projectName创建项目时,express的-t参数已经失效,需要手动修改package.json和app.js文件来指定模块引擎,默认的为jade;如果需要换成ejs,需要修改: //app.js app . set ( 'view engine' , 'ejs' ); //package.json (使用*默认会获取最新的) "ejs" : "*" ; 然后是mongodb,需要使用下面方法: var MongoStore = require ( 'connect-mongo' )( express ); express3.x默认已经不支持flash了,你需要先使用npm install connect-flash。然后在app.js中添加如下代码: //app.js var flash = require ( 'connect-flash' ); app . configure ( function (){ app . use ( flash ()); //app.use(flash());要放在session之前 }); 不支持ejs模块的partials方法,需要使用npm

Nodejs express中创建ejs项目,解决express下默认创建jade,无法创建ejs问

风流意气都作罢 提交于 2019-12-09 13:59:48
最近在看《Node.js开发指南》,看到使用nodejs进行web开发的时候,准备创建ejs项目遇到问题了, 书上命令为: 1 express -t ejs microblog 可是执行后,仍旧创建的是jade项目。 原来,express3.x,express4.x中创建ejs命令更新为: express -e microblog //即ejs,-j(即jade) 当然,最直接的,你也可以修改package.json里的定义来实现安装ejs。 PS:建立工程过程 1.必须得安装express框架把:express的安装命令也更新了,需要安装express-generator $ npm install -g express //全局安装 $ npm install -g express-generator //这段命令可别忘了,不然会提示“express命令找不到的” 2.建立网站工程结构: express -e ejs microblog 3.根据提示,进入文件夹安装 cd microblog //microblog为前面创建工程的文件夹 npm install 来源: oschina 链接: https://my.oschina.net/u/1538660/blog/704248

全栈工程师之路-Node.js

北城以北 提交于 2019-12-09 13:56:23
1. 全栈工程师之路-Node.js 高可用架构专用 原文[高可用架构] https://mp.weixin.qq.com/s?_ biz=MzAwMDU1MTE1OQ==&mid=405001493&idx=1&sn=f0ecab9b31bad83fb065ac37bb728245&scene=1&srcid=0324iTRH12WbXL5VDxXnEhH8&key=710a5d99946419d938a0ffc16a3c72118eefbe33f3f8312ed218bccbde126b60e818c8eb1068a9b07bdc8116a077b911&ascene=0&uin=NDIzMjM3MDk1&devicetype=iMac+MacBookPro11%2C1+OSX+OSX+10.10.5+build(14F27)&version=11000006&pass ticket=xdp3crkTJPuOH6ggUMKnwvfDGKEnMUvwC5V%2FdxlW%2FKdNO9R8zI1xsDFSR4ZJECUU 仔细的对比了一遍,感谢tim yang和庆丰校长的整理,非常严谨,比我讲的要好,另外感谢霍老板封我是StuQ明星讲师[呲牙][呲牙] 1.1. 主要内容 Why Node.js ? 历史 槽点 架构平衡和选择 企业级 我眼中的Node.js核心 快速开发实践

全栈工程师之路-Node.js

左心房为你撑大大i 提交于 2019-12-09 13:56:12
全栈工程师之路-Node.js 高可用架构专用 原文[高可用架构] https://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=405001493&idx=1&sn=f0ecab9b31bad83fb065ac37bb728245&scene=1&srcid=0324iTRH12WbXL5VDxXnEhH8&key=710a5d99946419d938a0ffc16a3c72118eefbe33f3f8312ed218bccbde126b60e818c8eb1068a9b07bdc8116a077b911&ascene=0&uin=NDIzMjM3MDk1&devicetype=iMac+MacBookPro11%2C1+OSX+OSX+10.10.5+build(14F27)&version=11000006&pass_ticket=xdp3crkTJPuOH6ggUMKnwvfDGKEnMUvwC5V%2FdxlW%2FKdNO9R8zI1xsDFSR4ZJECUU 仔细的对比了一遍,感谢tim yang和庆丰校长的整理,非常严谨,比我讲的要好,另外感谢霍老板封我是StuQ明星讲师[呲牙][呲牙] 持续更新版本 仓库地址 https://github.com/i5ting/nodejs-fullstack 在线阅读 http:/

[C/C++语法]—qsort及sort函数

扶醉桌前 提交于 2019-12-09 12:49:39
C语言和C++中,对sort函数的使用不同。C语言中没有预制的sort函数,如果在c语言中,要调用sort函数,就需要自定义一个用于排序的函数,或者使用c语言自有的qsort函数,其头文件为stdlib.h。而C++中qsort和sort函数皆可使用 qsort函数 qsort的头文件为<stdlib.h>,为C语言中的函数 运用基本的快速排序的方法,时间复杂度为O(n*logn),来了解一下qsort函数如何使用叭 函数原型: void qsort( void *base, size_t num, size_t width, int (__cdecl *compare ); 比较函数原型: int compare (const void *elem1, const void *elem2 ) ); 参数含义: 待比较数组的首地址 待比较元素个数 待比较的每个元素的大小 指向比较函数的指针(qsort函数中一定需要自己写) 比较函数的参数含义: 待比较数组首地址 待比较数组的尾地址 对int类型数组升序排序 int num [ 105 ] ; int cmp ( const void * a , const void * b ) { return * ( int * ) a - * ( int * ) b ; //(int *)a是将指针转为int类型,而*(int *

DB2 catalog 编目

偶尔善良 提交于 2019-12-09 12:37:05
( 步骤 )ap用户: (1)进入db2 db2 (2)catalog database 命令 catalog db list (3)查看本地节点目录、IP、节点名、服务名称、目录条目类型 list node directory (4)取消节点编目 uncatalog node ADP (5)编目一个tcp/ip节点 catalog tcpip node /*ADP 节点名*/ remote /*10.108.48.205 IP地址*/ server /*50000 端口号*/ (6)退出db2 terminate 知识点: 1.查看本地节点目录 list node directory 2.编目一个TCP/IP节点 catalog tcpip node n_aaa remote ip_xxx server 50000 3.取消节点编目 uncatalog node n_aaa 4.查看系统数据库目录 list db directory 5.编目数据库 catalog db db_aaa as db_bbb at node n_aaa 6.取消数据库编目 uncatalog db db_bbb 7.配置实例 catalog TCPIP node node_1 remote 192.168.0.1 server 50000 catalog db db_aaa as db_bbb at

nodejs入门API之http模块

允我心安 提交于 2019-12-09 11:39:16
HTTP上的一些API及应用 HTTP模块上的服务(server)与响应(response) HTTP模块上的消息(message) HTTP模块上的代理(agent)与请求(request) HTTP模块的简单实践 一、HTTP上的一些API及应用 http.Agent:http请求代理,用来管理客户端连接的持久性和重用。 http.ClientRequest:由http.request()产生,用来管理已被放入请求队列中的请求,比如可以通过setHeader(name, value)向请求头添加请求头。 http.Server:该类继承net.server,用来管理来自客户端的http请求。 http.ServerResponse:此类型的对象由 HTTP 服务器在内部创建,而不是由用户创建,用来管理服务端接收到http请求后响应客户端的相关内容。 它作为第二个参数传给 'request' 事件。 http.IncomingMessage:此类型的对象由 http.Server 或 http.ClientRequest 创建,并分别作为第一个参数传给 'request' 和 'response' 事件,用来表示接收到的http请求的模型。 它可用于访问响应状态、消息头、以及数据。 http.METHODS:该属性用来获取当前node环境下支持的http请求方法,比如:[GET,

Java锁----Lock实现原理

末鹿安然 提交于 2019-12-09 10:59:53
转载。 https://blog.csdn.net/wl6965307/article/details/51249156 Lock完全用 Java 写成,在java这个层面是无关JVM实现的。 在java.util.concurrent.locks包中有很多Lock的实现类,常用的有ReentrantLock、ReadWriteLock(实现类ReentrantReadWriteLock),其实现都依赖java.util.concurrent.AbstractQueuedSynchronizer类,实现思路都大同小异,因此我们以ReentrantLock作为讲解切入点。 1. ReentrantLock的调用过程 经过观察ReentrantLock把所有Lock接口的操作都委派到一个Sync类上,该类继承了AbstractQueuedSynchronizer: [java] view plain copy static abstract class Sync extends AbstractQueuedSynchronizer Sync又有两个子类: [java] view plain copy final static class NonfairSync extends Sync [java] view plain copy final static class FairSync

java并发 - 学习AQS

两盒软妹~` 提交于 2019-12-09 10:59:40
学习AQS 一丶AQS    什么是AQS? Java并发包中的抽象队列同步器(AbstractQueuedSchronizer), 它是java中构建锁和其他同步组件的基础框架. 如常用的重入锁ReetrantLock, 都是基于该同步框架实现的. 二丶理解    整体思路, 维护一个锁状态 state (int类型), 和一个先入先出(FIFO)队列.    多线程去竞争锁时, 会使用 CAS操作 去修改 state 值, 如果修改成功(获取锁成功), 则将该线程标识为获取锁的线程, 如果修改失败, 会将该线程放进队列尾部, 并加以阻塞, 直到该线程被唤醒. 当队列的头结点线程(即获取锁的线程) 释放锁时, 会唤醒后继节点的线程.     三丶源码解析    3.1) 获取锁   源码入口 ReentrantLock的lock()方法, 在使用非公平锁的情况, 调用内部类NonFairSync中的lock()方法. final void lock() { if (compareAndSetState(0, 1)) //先是使用cas设置获取锁状态 setExclusiveOwnerThread(Thread.currentThread()); // 如果获取成功,则标识当前线程为获取锁线程 else acquire(1); // 再次尝试获取锁, 如果失败会加入等待队列 }