前端技术
HTML
CSS
Javascript
前端框架和UI库
VUE
ReactJS
AngularJS
JQuery
NodeJS
JSON
Element-UI
Bootstrap
Material UI
服务端和客户端
Java
Python
PHP
Golang
Scala
Kotlin
Groovy
Ruby
Lua
.net
c#
c++
后端WEB和工程框架
SpringBoot
SpringCloud
Struts2
MyBatis
Hibernate
Tornado
Beego
Go-Spring
Go Gin
Go Iris
Dubbo
HessianRPC
Maven
Gradle
数据库
MySQL
Oracle
Mongo
中间件与web容器
Redis
MemCache
Etcd
Cassandra
Kafka
RabbitMQ
RocketMQ
ActiveMQ
Nacos
Consul
Tomcat
Nginx
Netty
大数据技术
Hive
Impala
ClickHouse
DorisDB
Greenplum
PostgreSQL
HBase
Kylin
Hadoop
Apache Pig
ZooKeeper
SeaTunnel
Sqoop
Datax
Flink
Spark
Mahout
数据搜索与日志
ElasticSearch
Apache Lucene
Apache Solr
Kibana
Logstash
数据可视化与OLAP
Apache Atlas
Superset
Saiku
Tesseract
系统与容器
Linux
Shell
Docker
Kubernetes
[违规]的搜索结果
这里是文章列表。热门标签的颜色随机变换,标签颜色没有特殊含义。
点击某个标签可搜索标签相关的文章。
点击某个标签可搜索标签相关的文章。
转载文章
...本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。 varI: Integer;beginfor I := 1 to 48 dobeginAdvStringGrid1.AddCheckBox(0, I, True, True);AdvStringGrid1.Cells[1,I] := '第二列' + I.ToString;AdvStringGrid1.Cells[2,I] := '第三列' + I.ToString;end;end; 但是你会发现,checkbox再单元的左侧了,想居中 怎么办,经过研究发现了advstring自身的一处bug,复选框是写死在左侧的。 我修改下官方的源码,让其写死居中就可了。 procedure TForm5.Button3Click(Sender: TObject);varI: Integer;beginfor I := 1 to 48 dobeginAdvStringGrid1.ColWidths[0] := 50; //改变第一列的宽度。AdvStringGrid1.AddCheckBox(0, I, True, True);AdvStringGrid1.Cells[1,I] := '第二列' + I.ToString;AdvStringGrid1.Cells[2,I] := '第三列' + I.ToString;end;end; unit Unit5;interfaceusesWinapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,Vcl.Controls, Vcl.Forms, Vcl.Dialogs, AdvUtil, AdvObj, BaseGrid, AdvGrid,RzGrids, Vcl.Grids, Vcl.StdCtrls, Vcl.ComCtrls, cxGraphics, cxControls,cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinBlack, dxSkinBlue,dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide,dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,dxSkinOffice2013White, dxSkinOffice2016Colorful, dxSkinOffice2016Dark,dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus,dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008,dxSkinTheAsphaltWorld, dxSkinsDefaultPainters, dxSkinValentine,dxSkinVisualStudio2013Blue, dxSkinVisualStudio2013Dark,dxSkinVisualStudio2013Light, dxSkinVS2010, dxSkinWhiteprint,dxSkinXmas2008Blue, cxContainer, cxEdit, cxListView, AdvListV, RzListVw;typeTForm5 = class(TForm)AdvStringGrid1: TAdvStringGrid;Button3: TButton;Button1: TButton;Button2: TButton;Button4: TButton;procedure Button3Click(Sender: TObject);procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure Button4Click(Sender: TObject);private{ Private declarations }public{ Public declarations }end;TPerson = recordend;varForm5: TForm5;implementation{$R .dfm}uses qjson;procedure TForm5.Button1Click(Sender: TObject);beginAdvStringGrid1.CheckAll(0);end;procedure TForm5.Button2Click(Sender: TObject);beginAdvStringGrid1.UnCheckAll(0);end;procedure TForm5.Button3Click(Sender: TObject);varI: Integer;beginAdvStringGrid1.RowCount := 50;//一共50行0..49AdvStringGrid1.ColWidths[0] := 50;//改变第一列的宽度。AdvStringGrid1.AddCheckBoxColumn(0);//表示这一列都需要复选框//第0行是标题头,所以从1..49开始for I := 1 to 49 dobegin//AdvStringGrid1.AddCheckBox(0, I, False, False); //可以写在这里, 表示某个单元格 需要增加 复选框AdvStringGrid1.Cells[1,I] := '第二列' + I.ToString;AdvStringGrid1.Cells[2,I] := '第三列' + I.ToString;end;end;procedure TForm5.Button4Click(Sender: TObject);varI: Integer;MyList: TStringList;checkState: TCheckBoxState;beginMyList := TStringList.Create;//第0行是固定的标题头,跳过所以从1开始 1..49for I := 1 to AdvStringGrid1.RowCount - 1 dobeginAdvStringGrid1.GetCheckBoxState(0, I, checkState);if checkState = cbChecked thenbeginMyList.Add(AdvStringGrid1.Cells[1,I]);end;end;ShowMessage(MyList.Text);MyList.Free;end;end. 转载于:https://www.cnblogs.com/del88/p/6829650.html 本篇文章为转载内容。原文链接:https://blog.csdn.net/weixin_30797027/article/details/95698837。 该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。 作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。 如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。
2023-11-10 12:04:20
361
转载
转载文章
...本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。 本文首先介绍了桃源社区车辆管理系统的现状及开发背景,然后论述了系统的设计目标,系统需求和总体设计方案,较详细的论述了系统的详细设计和实现。最后,本文对桃源社区车辆管理系统进行了系统检测并提出了还需要改进的问题。 本系统主要为用户提供了会员注册,会员登陆,上传车辆报修信息,用户资料修改等功能,为管理员提供了桃源社区车辆管理系统,用户信息管理,车辆报修的审核信息管理等功能。在设计方面,本系统采用B/S结构,同时使用PHP技术进行动态页面的设计,后台数据库选用MYSQL数据库。可以灵活的管理和发布桃源社区车辆信息. 本毕业设计系统可成功地为小区车主提供了一个方便的信息查询平台,为小区管理者提供一个安全、稳定、易操作的数据管理平台,实现了车辆管理信息化的现代意义,提高了小区的管理效率,节约了管理的成本。 本课题主要应用PHP编程、WEB开发以及数据库链接等相关知识。主要需要熟练掌握动态网页开发的相关技术,将所学的知识用于实际的生活中,并且在实际的生活中发挥各方面的效益。内容包括几大功能模块: 用户 1. 用户登录 2. 用户注册 3. 用户填写保修信息,包括报修类型,等等 4. 用户查看自己的保修进度 5. 如果有多个保修事项将分页处理 管理员 1. 管理员登录 2. 管理员增加,删除,修改管理员信息,包括类型修改,密码修改修改 3. 增删改查类型 4. 维修管理,包括维修进度修改,删除,增加等信息 5. 后台可以看到注册的用户信息,包括用户的增删改查功能 6.车辆档案建立 不同报修类型的保修事项提交给不同的负责人员 以上是大纲或介绍,如需要完整的资料或者如不符合您的要求,请联系技术人员qq:58850198咨询 本篇文章为转载内容。原文链接:https://blog.csdn.net/weixin_39862871/article/details/115509065。 该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。 作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。 如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。
2023-12-19 18:46:46
238
转载
转载文章
...本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。 1.源码获取 下载源代码并且编译 源码下载地址:https://canfestival.org/code.html.en 下载后解压压缩包,得到如下内容 创建一个文件夹tmp用于安装文件存放,其实就是把需要的库文件拷贝到tmp文件夹 2.编译源代码 注意:编译canfestival需要python2环境,编译前确认。终端输入查看版本:python --version 如果不是python2,请点击链接查看python2的环境配置 Ubuntu上python2和python3安装配置_凉拌卷心菜的博客-CSDN博客 打开终端输入 ./configure --cc=arm-linux-gnueabihf-gcc --arch=arm --os=unix --kerneldir=/home/lkdbb61/MineHarmony/linux-fslc-5.10-2.1.x-imx/kernel --prefix=$PWD/tmp --target=unix --can=socket --timers=unix --debug=WAR,MSG--cc:配置开发板交叉编译器--arch:开发板架构--os:使用系统--kerneldir:使用的内核实际目录--prefix:在源码首页创建一个安装文件夹--can:Linux下使用的是socket--timers:定时器也是Linux自带的--debug:返回执行信息 执行结果如下: 继续执行 make clean清除遗留的编译信息 继续执行make all(确保当前python环境是python2) 执行make install 将需要的文件拷贝至tmp文件夹中,进入tmp文件夹查看,这就是编译好所需要的 本篇文章为转载内容。原文链接:https://blog.csdn.net/qq_44848795/article/details/131277804。 该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。 作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。 如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。
2023-12-12 16:38:10
115
转载
转载文章
...本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。 第三方微投票系统投票数据展示代码,用一个dataReader对象dr保存取出的各项票数,用一个int 型变量sum保存取出的总票数,各项分别再定义一个double型变量用来保存单项票数除以(/)总票数的结果(小数),再定义一个int型的变量来保存最终要显示的进度条的长度(用前面那个double型变量用来显示进度条的单元格的长度,然后强制转换为int型),将长度赋值给图片的width 属性即可,以下为我的代码片段,显示四个进度条: SqlCommand cmd=new SqlCommand(“select from TvoteNum order by Vid”,con);//查出各项的投票结果的sql语句 SqlDataReader dr=cmd.ExecuteReader(); …… SqlCommand cmd1=new SqlCommand(“select sum(Vnum) from TvoteNum”,con1);//查出总票数的sql语句 int sum=Convert.ToInt32(cmd1.ExecuteScalar()); …… dr.Read( http://www.aivote.com/ );//读datareader对象的第一条记录 this.Label1.Text=dr.GetInt32(1).ToString();//第一项的票数 double w1=(Convert.ToDouble(this.Label1.Text)/sum);//此项票数占总票数的百分比 int wid1=(int)(w1310);//转化为具体象素,310为要用来显示进度条的单元格长度 this.Image1.Width=wid1;//赋值给图片的宽度 dr.Read();//读第二条记录 this.Label2.Text=dr.GetInt32(1).ToString(); double w2=(Convert.ToDouble(this.Label2.Text)/sum); int wid2=(int)(w2310); this.Image2.Width=wid2; dr.Read();//读第三条记录 this.Label3.Text=dr.GetInt32(1).ToString(); double w3=(Convert.ToDouble(this.Label3.Text)/sum); int wid3=(int)(w3310); this.Image3.Width=wid3; 本篇文章为转载内容。原文链接:https://blog.csdn.net/qq_43167289/article/details/82722231。 该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。 作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。 如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。
2023-09-23 15:54:07
347
转载
转载文章
...本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。 作者丨花生酱 来源丨TechWeb(TechWeb) https://mp.weixin.qq.com/s/10Z9VliQ8IHyaCSZ36_HBQ 3月11日晚间,有网友发现,腾讯QQ在微信上的小程序因违规被暂停服务。未使用过该小程序的用户无法在微信平台搜索到该小程序。 相关页面显示,小程序腾讯QQ由于违反《即时通信工具公众信息服务发展管理暂行规定》,已暂停服务。 去年11月,“腾讯QQ”小程序在微信平台上线,用户可以在微信上直接查看QQ消息。 不过,腾讯QQ小程序的功能比较有限,实用功能性不大,甚至有些鸡肋。 腾讯QQ小程序只能接收的好友和群聊消息,并没有加入QQ空间、QQ邮箱等应用的入口。如想回复消息,仍然需要打开手机QQ应用操作。 在上线之初,网友就吐槽,微信上线QQ小程序,QQ再同步上线微信小程序,套娃成功。 再说回QQ小程序被封一事,其实微信时不时都要“大义灭亲”一下,被微信短暂封掉的腾讯其他服务也不少见。 但好歹都是自己人,封得快,恢复的快,大家还没找到什么原因导致QQ小程序被封的时候,微信当晚又解封了QQ小程序,目前已经可以正常搜索,正常使用了。 不过在微信上登录QQ、使用QQ小程序真的是多此一举,基本没什么用,完全不能替代QQ本体,要不是微信给它来个暂时封停,引起关注,估计都没什么人想起还有QQ小程序这茬。 要不是为了验证封停、解封,小编也不会特意去搜索QQ小程序了。 “不时不时来个大义灭自己,怎么证明我脸黑?” 近期精彩内容推荐: 程序员这碗青春饭,怎么吃得更久一点? 顺丰小哥连升3级,国家授予特别奖! 狠人 Spring Cloud 20000 字总结! python实现文件自动归类 在看点这里好文分享给更多人↓↓ 本篇文章为转载内容。原文链接:https://blog.csdn.net/Px01Ih8/article/details/104852777。 该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。 作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。 如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。
2023-02-16 23:38:34
118
转载
转载文章
...本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。 这是本人原创的Listbox美化效果 https://blog.csdn.net/mosangbike/article/details/84340615 以下是转发文章: WinForm-ListBox控件美化 (2009-08-25 22:52:05) 转载▼ 标签: listbox 控件美化 分类: C 如果要对ListBox控件进行自定义绘制(美化),那么首先必须将ListBox的DrawMode属性设置为OwnerDrawVariable或OwnerDrawFixed。ListBox有个ItemHeight属性,在DrawMode设置为Normal时,这个属性是不可设置的,并且其值是根据当前字体进行计算获得的。只有当DrawMode设置为OwnerDrawVariable或OwnerDrawFixed时,设置ItemHeight才生效。 属性 说明 Normal 组件的所有元素都由操作系统绘制,并且元素大小都相等。 OwnerDrawFixed 组件的所有元素都是手动绘制的,并且元素大小都相等。 OwnerDrawVariable 组件的所有元素都由手动绘制,元素大小可能不相等。 表01:枚举DrawMode中的成员及其说明 设置完DrawMode属性之后,通过ListBox的DrawItem事件可以绘制自己想要的个性化控件。先看一下自己绘制的ListBox控件的效果图: (这是选中“英语”的效果) 从图中可以看出,针对不同的行绘制了不同的背景色,选中项的背景色设置为蓝色,并且还绘制了一个边框。确实比系统绘制的ListBox好看多了。下面我们来看看代码,也就是DrawItem事件处理方法。 代码 private void listBox1_DrawItem(object sender, DrawItemEventArgs e) { int index = e.Index;//获取当前要进行绘制的行的序号,从0开始。 Graphics g = e.Graphics;//获取Graphics对象。 Rectangle bound = e.Bounds;//获取当前要绘制的行的一个矩形范围。 string text = listBox1.Items[index].ToString();//获取当前要绘制的行的显示文本。 if ((e.State & DrawItemState.Selected) == DrawItemState.Selected) {//如果当前行为选中行。 //绘制选中时要显示的蓝色边框。 g.DrawRectangle(Pens.Blue, bound.Left, bound.Top, bound.Width - 1, bound.Height - 1); Rectangle rect = new Rectangle(bound.Left 2, bound.Top 2, bound.Width - 4, bound.Height - 4); //绘制选中时要显示的蓝色背景。 g.FillRectangle(Brushes.Blue, rect); //绘制显示文本。 TextRenderer.DrawText(g, text, this.Font, rect, Color.White, TextFormatFlags.VerticalCenter | TextFormatFlags.Left); } else { //GetBrush为自定义方法,根据当前的行号来选择Brush进行绘制。 using (Brush brush = GetBrush(e.Index)) { g.FillRectangle(brush, bound);//绘制背景色。 } TextRenderer.DrawText(g, text, this.Font, bound, Color.White, TextFormatFlags.VerticalCenter | TextFormatFlags.Left); } } OwnerDrawVariable 设置DrawMode属性为OwnerDrawVariable后,可以任意改变每一行的ItemHeight和ItemWidth。通过ListBox的MeasureItem事件,可以使每一行具有不同的大小。 (奇偶行的行高不同) private void listBox1_MeasureItem(object sender, MeasureItemEventArgs e) { //偶数行的ItemHeight为20 if (e.Index % 2 == 0) e.ItemHeight = 20; //奇数行的ItemHeight为40 else e.ItemHeight = 40; } 总结 这里最重要的是DrawItem事件和MeasureItem事件,以及MeasureItemEventArgs事件数据类和DrawItemEventArgs事件数据类。在System.Windows.Forms命名空间中,具有DrawItem事件的控件有ComboBox、ListBox、ListView、MenuItem、StatusBar、TabControl,具有MeasureItem事件的控件有ComboBox、ListBox、MenuItem。所以,这些控件可以采用和ListBox相同的方法进行自定义绘制。 本篇文章为转载内容。原文链接:https://blog.csdn.net/mosangbike/article/details/54341295。 该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。 作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。 如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。
2023-10-22 22:21:02
667
转载
转载文章
...本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。 Problem - 1355C - Codeforces 题目大意:定义三条边 x , y , z x, y,z x,y,z,满足 A ≤ x ≤ B ≤ y ≤ C ≤ z ≤ D A\le x\le B\le y \le C \le z \le D A≤x≤B≤y≤C≤z≤D,求出有多少组 x , y , z x,y,z x,y,z的值可以作为三角形的三边长. 解题思路:根据题目的条件可以推断出,当满足 x + y > z x+y>z x+y>z时,这样的一组值就是一组符合值. z z z的范围是 [ C , D ] [C, D] [C,D],那么应该满足 x + y > C x+y>C x+y>C,直接枚举 x + y x+y x+y的值, x , y x,y x,y的最小值分别为 A , B A, B A,B,则枚举的范围的下界是 m a x ( C + 1 , A + B ) max(C+1, A+B) max(C+1,A+B).上界是 B + C B+C B+C. 而对于枚举的每个 x + y x+y x+y的值,对应的 z z z的取值小于 x + y x+y x+y,且 z z z最大为 D D D,则可以选择的 z z z的范围是 m i n ( x + y − C , D − C + 1 ) min(x+y-C, D-C+1) min(x+y−C,D−C+1). 对于 x + y x+y x+y的可选组合。 x x x的可选值为 { a , a + 1 , a + 2 , . . . , b } \{a, a+1, a+2, ..., b\} {a,a+1,a+2,...,b} y y y的可选值为 { b , b + 1 , b + 2 , . . . , c } \{b, b+1,b+2,...,c\} {b,b+1,b+2,...,c}. 对于已经枚举出来的定值 x + y x+y x+y与之对应的每个 x x x的取值为 { x + y − a , x + y − a − 1 , x + y − a − 2 , . . . , x + y − b } \{x+y-a, x+y-a-1, x+y-a-2, ...,x+y-b\} {x+y−a,x+y−a−1,x+y−a−2,...,x+y−b}. 对应 x x x本身的范围 [ A , B ] [A, B] [A,B],即可得 x + y x+y x+y的选取范围为 m i n ( b , x + y − a ) − m a x ( a , x + y − b ) + 1 min(b, x+y-a)-max(a, x+y-b)+1 min(b,x+y−a)−max(a,x+y−b)+1. z z z的选择方式乘以 x + y x+y x+y的选择方式即为当前枚举 x + y x+y x+y值的总数。 include<bits/stdc++.h>using namespace std;define ll long longdefine syncfalse ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);ll a, b, c, d;int main(){syncfalseifndef ONLINE_JUDGEfreopen("in.txt","r",stdin);endifcin>>a>>b>>c>>d;ll ans = 0;for (ll i = max(c+1, a+b); i <= b+c; ++i){ans+=(min(d+1,i)-c)(min(i-b,b)-max(i-c,a)+1);}cout << ans << "\n";return 0;} 本篇文章为转载内容。原文链接:https://blog.csdn.net/qq_53629286/article/details/122591582。 该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。 作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。 如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。
2023-07-05 12:21:15
45
转载
Kotlin
...,包括在赋值操作中的违规使用。 此外,随着函数式编程范式的普及,诸如不可变变量(val)的应用场景也日益增多。在实践中严格遵守“左侧赋值必须为变量”的原则,不仅有助于提升代码质量,还能有效避免因意外修改数据导致的复杂bug。特别是在并发编程环境下,不可变性原则与“左侧赋值必须为变量”的结合,更是成为了构建稳定、无数据竞争问题代码的重要基石。 因此,对于Kotlin开发者而言,深入理解和坚守这一基本原则,是提高开发效率、保障软件质量不可或缺的一环。同时,持续关注和学习Kotlin以及相关编程语言的最新发展动态,将有助于我们在实际工作中更好地运用这些原则,从而编写出更为优雅且健壮的代码。
2023-06-21 08:50:15
279
半夏微凉
转载文章
...本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。 taobao.logistics.dummy.send( 无需物流发货处理 )接口,淘宝r2接口,淘宝oAu2.0接口,淘宝订单物流接口,接口可以用于店铺订单同步,ERP系统,订单推送,店铺上传商品等业务,希望能够帮助到有需要的朋友,代码对接如下: 1.公共参数 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接在URL中,点击获取测试key和secret) secret String 是 调用密钥 api_name String 是 API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等] cache String 否 [yes,no]默认yes,将调用缓存的数据,速度比较快 result_type String 否 [json,jsonu,xml,serialize,var_export]返回数据格式,默认为json,jsonu输出的内容中文可以直接阅读 lang String 否 [cn,en,ru]翻译语言,默认cn简体中文 version String 否 API版本 2.请求参数 请求参数:api= 参数说明:其它参数:参考淘宝开放平台接口文档,与淘宝的参数一致 https://open.taobao.com/api.htm?docId=140&docType=2 名称 类型 必须 描述 api String 淘宝开放平台的接口名(如:taobao.picture.upload( 上传单张图片 )) session String 授权换取的session_id [其他参数] String 其它参数:参考淘宝开放平台接口文档,与淘宝的参数一致 https://open.taobao.com/api.htm?docId=140&docType=2 3. 请求示例(CURL、PHP 、PHPsdk 、Java 、C 、Python...) coding:utf-8"""Compatible for python2.x and python3.xrequirement: pip install requests"""from __future__ import print_functionimport requests 请求示例 url 默认请求参数已经做URL编码url = "https://vx19970108018/taobao/custom/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&method="headers = {"Accept-Encoding": "gzip","Connection": "close"}if __name__ == "__main__":r = requests.get(url, headers=headers)json_obj = r.json()print(json_obj) 4.响应示例 {"logistics_dummy_send_response":{"shipping":{"is_success":true} }} 本篇文章为转载内容。原文链接:https://blog.csdn.net/tbprice/article/details/125553595。 该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。 作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。 如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。
2024-01-13 23:44:59
83
转载
转载文章
...本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。 背景:因服务器宕机涉及红帽内核的bug,需升级linux内核至2.6.32-279或更高版本。 操作步骤: 1.下载对应版本的内核升级包: 包括kernel和kernel-fireware 2.在安装kernel就必需先安装kernel-firmware: 提示也没有什么错误信息,只是说两个文件是存在的。但其实这个kernel-firmware是没有安装上的。 这个原因在官方的BUG上面有提到,具体请到这里查看,或这里查看,主要的解决办法是用rpm -Uvh来代替rpm -ivh安装kernel-firmware。然后再安装kernel。 参照此说明进行安装: 正确安装: 3.安装新内核: 注意:这里不要用rpm -Uvh。原因就是,用U参数,就直接把原内核升级了,而用i则是安装了新的内核,原内核依然是存在的。这样防止了新内核故障的产生。 新内核已安装成功: 4.检查启动项: 已正确生成对应的启动项。 5.将/boot/grub/menu.lst默认启动改成旧内核:default=1 6.重启后测试旧内核是否正常。 7.正常后修改/boot/grub/menu.lst启动改成新内核:default=0 8.升级完成。 参考链接:http://www.opsers.org/linux-home/base/way-rhel6-1-kernel-with-rpm-upgrade-to-rhel6-2-bate-kernel.html 本篇文章为转载内容。原文链接:https://blog.csdn.net/weixin_39811386/article/details/116615726。 该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。 作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。 如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。
2023-09-08 16:48:38
86
转载
转载文章
...本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。 仅供参考。 目录 一、如此编码 题目背景: 样例输入 样例输出 思路: 代码: 二、何以包邮? 题目背景: 样例输入 样例输出 编辑思路: 代码: 后续: 总结 一、如此编码 题目背景: 某次测验后,顿顿老师在黑板上留下了一串数字 23333 便飘然而去。凝望着这个神秘数字,小 P 同学不禁陷入了沉思…… 样例输入 15 327672 2 2 2 2 2 2 2 2 2 2 2 2 2 2 样例输出 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 思路: 代码: n,m=map(int,input().split()) 由于ai是从下标为1开始的,故给a[0]设置为0a_=[0]输入a[i]for i in input().split():a_.append(int(i))c_=[1]qian_zhui表示前i个a[i]乘积qian_zhui=1for i in range(1,n+1):qian_zhui=qian_zhuia_[i]c_.append(qian_zhui) print(c_)一行公式搞定bi=(m%c_[i+1]-m%c_[i])/c_[i]for i in range(n):print(int((m%c_[i+1]-m%c_[i])/c_[i]),end=' ') 二、何以包邮? 题目背景: 新学期伊始,适逢顿顿书城有购书满 x 元包邮的活动,小 P 同学欣然前往准备买些参考书。 一番浏览后,小 P 初步筛选出 n 本书加入购物车中,其中第 i 本(1≤i≤n)的价格为 ai 元。 考虑到预算有限,在最终付款前小 P 决定再从购物车中删去几本书(也可以不删),使得剩余图书的价格总和 m 在满足包邮条件(m≥x)的前提下最小。 试帮助小 P 计算,最终选购哪些书可以在凑够 x 元包邮的前提下花费最小? 样例输入 4 10020906060 样例输出 110 思路: 暴力枚举肯定超时,它在提示中也说了。 所以得换个思路,其实这题可以看作背包问题,背包问题请参考: python 01背包问题https://blog.csdn.net/Renascence_6/article/details/115698776 01 背包问题描述: 在本题中,我们可以把N件物品 看成书的数量即n,容量V则等价于满足包邮的条件x,第i件物品的体积和价值都看作 书的价格a_i。 但是我们所选书的总价值得大于或等于包邮条件x,故: (1)总价值等于包邮条件x,输出res (2)总价值小于包邮条件x,说明当前所选书价值之和,再加上任意一本书籍的价值将超过包邮条件,故我们只要在所剩书籍中选择最小价值的书籍,就能包邮且花费最小 代码: 代码如下: n,x=map(int,input().split())books=[int(input()) for i in range(n)]num=106+1v=[0]numw=[0]numf=[[0]num for i in range(num)]第i件物品的体积和价值都看作 书的价格a_i。for i in range(1,n+1):v[i]=books[i-1]w[i]=books[i-1]01背包问题模板 ------------------------for i in range(1,n+1):for j in range(x+1):f[i][j]=f[i-1][j]if j>=v[i]:f[i][j] = max(f[i][j], f[i - 1][j - v[i]]+w[i])res=0for i in range(x+1):res=max(res,f[n][i]) -------------------------b=xresult=books去除掉已选书籍for i in range(n,0,-1):if f[i][b]>f[i-1][b]:result.remove(v[i])b-=w[i]判断if res<x:print(min(result)+res)else:print(res) 后续: 总结 本篇文章为转载内容。原文链接:https://blog.csdn.net/qq_53644346/article/details/127184101。 该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。 作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。 如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。
2023-02-17 21:41:19
342
转载
转载文章
...本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。 Liunx章节笔记 第一章:初识Linux 第二章:Linux 系统目录结构 第三章:文件管理与常用命令 第四章:Vi和Vim编辑器及常用命令 第五章:用户管理与开关机 第六章:组管理和权限管理 第七章:crond(crontab)定时任务调度 第八章:Linux网络配置与信息安全 第九章:磁盘管理 第十章:Linux进程管理 第十一章:rpm与yum包管理器 第十二章:shell编程 第十三章:环境搭建 本篇文章为转载内容。原文链接:https://blog.csdn.net/du1990Luck/article/details/125693388。 该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。 作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。 如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。
2023-02-08 09:55:12
291
转载
转载文章
...本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。 http://acm.hdu.edu.cn/showproblem.php?pid=6203 给出q条链 由u和v确定 每条链上至少有一个节点是有故障的 问整个树图中至少有多少故障节点 对于每条链 求出lca 再按lca的深度降序排序 然后对于一条链 如果uv节点都没有被其他链覆盖过 那就将lca对应的整棵子树标记覆盖 答案加加 否则就说明当前这条链上的故障点已经可以和别的链合并了 可以忽略 至于为什么要按深度降序排序 我认为这样每次只需要判断一条链是不是已经通过其他链确定 如果升序排序 每一次要看lca到u和v这条链上有多少其它链上的lca被影响 很难写 (借鉴)同时 由于优先处理 LCA 深度大的点 不会出现点 U V 同时在同一个被禁止通行点 P 的子树内 include <cstdio>include <cmath>include <cstring>include <algorithm>using namespace std;struct node0{int u;int v;int lca;};struct node1{int v;int next;};node0 pre[50010];node1 edge[60010];int dp[30010][15];int val[120010];int first[30010],deep[30010],mp[30010],sum[30010];int n,q,num;bool cmp(node0 n1,node0 n2){return deep[n1.lca]>deep[n2.lca];}void addedge(int u,int v){edge[num].v=v;edge[num].next=first[u];first[u]=num++;}void dfs(int cur,int fa){int i,v;mp[cur]=++num,sum[cur]=1;for(i=first[cur];i!=-1;i=edge[i].next){v=edge[i].v;if(v!=fa){dp[v][0]=cur;deep[v]=deep[cur]+1;dfs(v,cur);sum[cur]+=sum[v];} }return;}void solve(){int i,j;dp[1][0]=0;deep[1]=1;num=0;dfs(1,0);for(j=1;(1<<j)<=n;j++){for(i=1;i<=n;i++){dp[i][j]=dp[dp[i][j-1]][j-1];} }return;}int getlca(int u,int v){int i;if(deep[u]<deep[v]) swap(u,v);for(i=log2(n);i>=0;i--){if(deep[dp[u][i]]>=deep[v]){u=dp[u][i];} }if(u==v) return u;for(i=log2(n);i>=0;i--){if(dp[u][i]!=dp[v][i]){u=dp[u][i];v=dp[v][i];} }return dp[u][0];}void query(int tar,int &res,int l,int r,int cur){int m;res|=val[cur];if(l==r) return;m=(l+r)/2;if(tar<=m) query(tar,res,l,m,2cur);else query(tar,res,m+1,r,2cur+1);}void update(int pl,int pr,int l,int r,int cur){int m;if(pl<=l&&r<=pr){val[cur]=1;return;}m=(l+r)/2;if(pl<=m) update(pl,pr,l,m,2cur);if(pr>m) update(pl,pr,m+1,r,2cur+1);}int main(){int i,u,v,resu,resv,ans;while(scanf("%d",&n)!=EOF){n++;memset(first,-1,sizeof(first));num=0;for(i=1;i<=n-1;i++){scanf("%d%d",&u,&v);u++,v++;addedge(u,v);addedge(v,u);}solve();scanf("%d",&q);for(i=1;i<=q;i++){scanf("%d%d",&pre[i].u,&pre[i].v);pre[i].u++,pre[i].v++;pre[i].lca=getlca(pre[i].u,pre[i].v);}sort(pre+1,pre+q+1,cmp);for(i=1;i<=4n;i++) val[i]=0;ans=0;for(i=1;i<=q;i++){resu=0,resv=0;query(mp[pre[i].u],resu,1,n,1);query(mp[pre[i].v],resv,1,n,1);if(!resu&&!resv){update(mp[pre[i].lca],mp[pre[i].lca]+sum[pre[i].lca]-1,1,n,1);ans++;} }printf("%d\n",ans);}return 0;} 本篇文章为转载内容。原文链接:https://blog.csdn.net/sunyutian1998/article/details/82155271。 该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。 作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。 如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。
2023-08-26 17:12:34
82
转载
转载文章
...本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。 集合的迭代器 任何集合都有迭代器。 任何集合类,都必须能以某种方式存取元素,否则这个集合容器就没有任何意义。 迭代器,也是一种模式(也叫迭代器模式)。在java中它是一个对象,其目的是遍历并选中其中的每个元素,而使用者(客户端)无需知道里面的具体细节。迭代器要足够的“轻量”——创建迭代器的代价小。所以看迭代器的源代码就会发现,里面会有很多要求: iterator方法返回一个Iterator,Iterator返回序列的头元素。 next方法获取下一个元素 hasNext检查还有元素 remove删除迭代器新返回的元素 下面是迭代器的基本使用 public class UsingIterator { public static void main(String[] args) { List names = Arrays.asList("marson", "shine", "summer", "zhu"); Iterator it = names.iterator(); while(it.hasNext()){ String s = it.next(); print(s); } for (String s : names){ print(s); } System.out.println(); it = names.iterator(); for (int i = 0; i < 4; i++) { it.next(); } print(names); } } ListIterator ListIterator是一个更强大的Iterator子类型,能用于各种List类访问,前面说过Iterator支持单向取数据,ListIterator可以双向移动,所以能指出迭代器当前位置的前一个和后一个索引,可以用set方法替换它访问过的最后一个元素。我们可以通过调用listIterator方法产生一个指向List开始处的ListIterator,并且还可以用过重载方法listIterator(n)来创建一个指定列表索引为n的元素的ListIterator。 public class ListIteration { public static void main(String[] args) { var names = Arrays.asList("marson", "shine", "summer", "zhu"); var it = names.listIterator(); while (it.hasNext()) { print(it.next() + ", " + it.nextIndex() + ", " + it.previousIndex() + "; "); } while (it.hasPrevious()) { print(it.previous() + " "); } print(names); it = names.listIterator(3); while (it.hasNext()) { it.next(); it.set("alias"); } print(names); } } 输出结果为: marson, 1, 0; shine, 2, 1; summer, 3, 2; zhu, 4, 3; zhu summer shine marson [marson, shine, summer, zhu] [marson, shine, summer, alias] Iterator模式 前面说了,迭代器又叫迭代器模式,顾名思义,只要符合这种模式都能叫迭代器模式,自然也能像前面一样使用迭代器 那么Iterator模式具体是个什么样子的模式呢? 我们通过Collection的源码发现其中的样子(为什么要看Collection而不是其他的List?因为Collection是所有容器的基类啊) 通过Collection代码我们发现它继承了一个叫Iterable接口,注解说的很清楚——实现这个接口就说明这个对象是可迭代的;并且其成员函数也很清晰,只有三个方法 public interface Iterable { Iterator iterator(); default void forEach(Consumer super T> action);//省略部分代码 default Spliterator spliterator();//省略部分代码 } public interface Iterator { boolean hasNext(); E next(); default void remove() { throw new UnsupportedOperationException("remove"); } ... } Iterator这个泛型接口才是我们真正实现迭代的核心,通过这些信息我们尝试来写一个迭代器 public class CustomIterator implements Iterable { protected String[] names = ("marson shine summer zhu").split(" "); public Iterator iterator() { return new Iterator() { private int index = 0; @Override public boolean hasNext() { return index < names.length; } @Override public String next() { return names[index++]; } public void remove() { } }; } public static void main(String[] agrs) { for (var s : new CustomIterator()) { print(s + " "); } } } 到这里,自定义的迭代器就写完了,实际上我们只需要继承一个Iterable接口然后实现这个接口就行了,更深入的话,其实还可以自己写一个listIterator实现双向的操作数据 来源:oschina 链接:https://my.oschina.net/u/4353634/blog/4002987 本篇文章为转载内容。原文链接:https://blog.csdn.net/weixin_42516657/article/details/114169640。 该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。 作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。 如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。
2023-07-30 21:49:56
160
转载
转载文章
...本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。 2019独角兽企业重金招聘Python工程师标准>>> 一个很有趣的SQL SELECT count(1) from b2c_order WHEREb2c_order.create_time >= '2012-09-03 00:00:00' AND b2c_order.create_time <= '2012-09-03 23:59:59'; 这个SQL不细看感觉不出来问题,可是细看一下,觉得那么别扭,2012-12-03 23:59:59 这个是什么意思?难道,作者想用这个方法来计算当天么? "今天"的逻辑 询问了一下开发,确证这是一个统计,统计当天的交易数,那么这里就带来了一个问题,“今天”在数学上或者在程序里,定义应该是怎样的? 下面的逻辑: >= '2012-09-03 00:00:00' <= '2012-09-03 23:59:59' 能否表示某一天? 显然,上面的逻辑是有问题的,因为,23:59:59 之后,还有一秒钟是属于今天的。一秒钟,对计算机来说,简直像永远那么漫长,能发生的事情和故事实在是太多了,所以,这个逻辑一定是有问题的,因为它少了一秒,那么应该如何表示今天呢? 一秒的作用 当年利森把巴林银行搞垮,只用了十几毫秒。so,一秒的作用,更关键的是会让人将来在对账、在统计的时候,发生莫名奇妙的事情,而要耗费巨大的精力来检查和修理。 "今天“的正确逻辑 实际上,今天的正确逻辑,无非是这么一句话:”大于等于今天的开始,小于明天的开始“,我们只要利用好开闭区间,就可以很好的、无漏洞的表示”今天“,所以,我只要把逻辑改成下面这样: >= '2012-09-03 00:00:00' < '2012-09-04 00:00:00' 就正确无误了! 转载于:https://my.oschina.net/u/1455908/blog/404352 本篇文章为转载内容。原文链接:https://blog.csdn.net/weixin_33920401/article/details/92116958。 该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。 作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。 如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。
2023-11-30 11:14:20
278
转载
转载文章
...本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。 有几种方式可以提交到mysql中,可以单次,可以多次 1. 实例化表,将表中的字段赋值,提交到数据库 @stu.route('/createstu/') def create_stu(): stu = Student() stu.s_name = '小骨头%d' % random.randrange(1000) stu.s_age = '%d' % random.randrange(20) try: db.session.add(stu) db.session.commit() 事务性: 原子性, 一致性, 隔离性, 自由性 return '创建学生成功' except: db.session.rollback() 2.先在models.py里初始化类 def __init__(self, name, desc): self.g_name = name self.g_desc = desc (1)第二种方式, 以列表的形式值创建 if request.method == 'POST': username1 = request.form.get('username1') age1 = request.form.get('age1') username2 = request.form.get('username2') age2 = request.form.get('age2') stu1 = Student(username1, age1) stu2 = Student(username2, age2) stus_list = [] stus_list.append(stu1) stus_list.append(stu2) db.session.add_all(stus_list) db.session.commit() return '创建成功' (2)第二种方式(其实是第一种方式的变种), 前面是用字典来传入值 可以一次传入多个值 @grade.route('/creategrade/', methods=['GET', 'POST']) def create_grade(): names = { 'python': '人生苦短,我用python', 'h5': '我是\(^o^)/~', 'java': '看我神威,无坚不摧', 'go': 'gogogo,那是go' } grades_list = [] for key in names.keys(): grade = Grade(key, names[key]) grades_list.append(grade) db.session.add_all(grades_list) db.session.commit() return '创建班级表成功' 本篇文章为转载内容。原文链接:https://blog.csdn.net/weixin_39765697/article/details/113349707。 该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。 作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。 如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。
2023-11-19 23:52:58
113
转载
转载文章
...本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。 mysql 帮助:A.2.3 Client does not support authentication protocol MySQL 4.1 and up uses an authentication protocol based on a password hashing algorithm that is incompatible with that used by older clients. If you upgrade the server to 4.1, attempts to connect to it with an older client may fail with the following message: shell> mysqlClient does not support authentication protocol requestedby server; consider upgrading MySQL client To solve this problem, you should use one of the following approaches: http://www.gaodaima.com/38584.htmlMYSQL 新版出现" Client does_mysql Upgrade all client programs to use a 4.1.1 or newer client library. When connecting to the server with a pre-4.1 client program, use an account that still has a pre-4.1-style password. Reset the password to pre-4.1 style for each user that needs to use a pre-4.1 client program. This can be done using the SET PASSWORD statement and the OLD_PASSWORD() function: mysql> SET PASSWORD FOR -> 'some_user'@'some_host' = OLD_PASSWORD('newpwd'); Alternatively, use UPDATE and FLUSH PRIVILEGES: mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd') -> WHERE Host = 'some_host' AND User = 'some_user';mysql> FLUSH PRIVILEGES; Substitute the password you want to use for newpwd'' in the preceding examples. MySQL cannot tell you what the original password was, so you'll need to pick a new one. Tell the server to use the older password hashing algorithm: Start mysqld with the --old-passwords option. Assign an old-format password to each account that has had its password updated to the longer 4.1 format. You can identify these accounts with the following query: mysql> SELECT Host, User, Password FROM mysql.user -> WHERE LENGTH(Password) > 16; For each account record displayed by the query, use the Host and User values and assign a password using the OLD_PASSWORD() function and either SET PASSWORD or UPDATE, as described earlier. For additional background on password hashing and authentication, see section 5.5.9 Password Hashing in MySQL 4.1. 例子: SET PASSWORD FOR 用户名@localhost = OLD_PASSWORD('密码'); 欢迎大家阅读《MYSQL 新版出现" Client does_mysql》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码 微信 赏一包辣条吧~ 支付宝 赏一听可乐吧~ 本篇文章为转载内容。原文链接:https://blog.csdn.net/weixin_29363791/article/details/114779150。 该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。 作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。 如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。
2023-11-17 19:43:27
105
转载
转载文章
...本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。 CouchDB介绍 2、CouchDB 介绍 Apache CouchDB 是一个面向文档的数据库管理系统。它提供以 JSON 作为数据格式的 REST 接口来对其进行操作,并可以通过视图来操纵文档的组织和呈现。 CouchDB 是 Apache 基金会的顶级开源项目。 CouchDB是用Erlang开发的面向文档的数据库系统,其数据存储方式类似Lucene的Index文件格式。CouchDB最大的意义在于它是一个面向Web应用的新一代存储系统,事实上,CouchDB的口号就是:下一代的Web应用存储系统。 特性 主要功能特性有: CouchDB是分布式的数据库,他可以把存储系统分布到n台物理的节点上面,并且很好的协调和同步节点之间的数据读写一致性。这当然也得以于Erlang无与伦比的并发特性才能做到。对于基于web的大规模应用文档应用,然的分布式可以让它不必像传统的关系数据库那样分库拆表,在应用代码层进行大量的改动。 CouchDB是面向文档的数据库,存储半结构化的数据,比较类似lucene的index结构,特别适合存储文档,因此很适合CMS,电话本,地址本等应用,在这些应用场合,文档数据库要比关系数据库更加方便,性能更好。 CouchDB支持REST API,可以让用户使用JavaScript来操作CouchDB数据库,也可以用JavaScript编写查询语句,我们可以想像一下,用AJAX技术结合CouchDB开发出来的CMS系统会是多么的简单和方便。其实CouchDB只是Erlang应用的冰山一角,在最近几年,基于Erlang的应用也得到的蓬勃的发展,特别是在基于web的大规模,分布式应用领域,几乎都是Erlang的优势项目。 官方网站 http://couchdb.apache.org/ 转自:http://www.cnblogs.com/skyme/archive/2012/07/26/2609835.html 本篇文章为转载内容。原文链接:https://blog.csdn.net/yueguanyun/article/details/51694196。 该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。 作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。 如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。
2023-05-24 09:10:33
405
转载
转载文章
...本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。 JeeWx捷微V3.3版本发布——微信管家平台(支持微信公众号,微信企业号,支付窗) JeeWx捷微V3.3版本紧跟微信小程序更新,在原有多触点版本基础上,引入了更多的新亮点,支持微信公众号、微信企业号、支付宝服务窗等多触点开发,采用微服务框架实现,可插拔可集成,轻量级开发,对小程序的接入和应用进行了探索和封装。JEEWX将继续引领未来多触点模式的应用,并将拥抱小程序,是开发互联网运营推广项目的首选(微信、企业号、支付窗、微博、小程序等等)。 一、升级日志 升级spring版本4.x,解决jdk8支持问题。 用户重置密码样式问题; 升级jeewx-api 升级小程序接口; 精简maven pom的引用删掉不需要的依赖; 增加 H+页面首页风格。 升级封装的第三方平台接口 升级上传其他媒体素材接口,兼容缩略图 增加获取接口分析数据接口 增加评论相关接口 升级minidao 版本号 二、平台功能介绍 【微信公众号】 1. 微信账号管理 2. 微信菜单管理 3. 关注欢迎语 4. 关键字管理 5. 自定义菜单 6. 小程序链接 7. 文本素材管理 8. 图文素材管理 9. 微信永久素材 10. 支持多公众号 11. 微信大转盘 12. 微信刮刮乐 13. 微网站 14. 翻译 15. 天气 16. author2.0链接 17. 微信第三方平台(全网发布) 18. 长链接转短连接 19. 系统用户管理 20. 系统用户角色 21. 系统菜单管理 【微信企业号】 1. 微信企业号管理 2. 微信应用管理 3. 素材管理:文本素材 4. 素材管理:图文素材 5. 菜单管理 6. 通讯录管理 7. 用户管理 8. 用户消息管理 9. 用户消息快捷回复 10. 关键字管理 11. 关注回复管理 12. 企业号群发功能 13. 企业号群发日志 【支付宝服务窗】 1. 支付窗账号管理 2. 关键字管理 3. 素材管理:文本素材 4. 素材管理:图文素材 5. 关注回复 6. 菜单管理 7. 用户管理 8. 用户消息 9. 用户消息快捷回复 10. 支付窗群发 11. 支付窗群发记录 三、下载地址 源码下载: http://git.oschina.net/jeecg/jeewx 官方网站: www.jeewx.com QQ技术群: 287090836 体验公众号: 四、系统演示 本篇文章为转载内容。原文链接:https://blog.csdn.net/zhangdaiscott/article/details/90769252。 该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。 作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。 如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。
2023-08-22 14:35:00
296
转载
转载文章
...本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。 发现前面有一堆类似dfs的题目,做多了有点烦,就直接跳到后面看看,发现这题最小生成树,刚好前几天看书看到,就拿来做做,但很不顺利的wa了,找了很久bug也不知道。终于在某次中发现了,原来我直接用x了,竟然能对6个case,可怕!改了后果断ac,经典prim算法,我就不说了,自己看书去。 View Code 1 include<stdio.h> 2 include<string.h> 3 include<math.h> 4 include<stdlib.h> 5 define max(a,b) a>b?a:b 6 define min(a,b) a>b?b:a 7 define INF 0x3f3f3f3f 8 define Maxin 10000 9 int fang[4][2]={ {-1,0},{1,0},{0,-1},{0,1} };10 int map[105][105],n;11 int in[105],inn=0,notin[105];//in是已经被用过的点,notin是还没用的点12 int get()13 {14 int x,ans=INF;15 int ay;16 for(x=0;x<inn;x++)//在已经用的点里找一个距离最小的边来用17 {18 int y;19 for(y=0;y<n;y++)20 if(notin[y]!=-1&&map[in[x]][y]<ans&&in[x]!=y)//notin!=-1表示还没被用21 {22 ans=map[in[x]][y];23 ay=y;24 }25 }26 in[inn++]=ay;27 notin[ay]=-1;28 return ans;29 }30 31 int main()32 {33 int x,y,ans=0;34 scanf("%d",&n);35 for(x=0;x<n;x++)36 {37 for(y=0;y<n;y++)38 scanf("%d",&map[x][y]);39 notin[x]=x;40 }41 in[inn++]=0;42 notin[0]=-1;43 while(inn!=n)44 ans+=get();45 printf("%d\n",ans);46 return 0;47 } 转载于:https://www.cnblogs.com/usp10/archive/2012/05/26/2519690.html 本篇文章为转载内容。原文链接:https://blog.csdn.net/weixin_30239339/article/details/96526588。 该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。 作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。 如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。
2023-04-05 21:13:32
79
转载
转载文章
...本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。 R语言中可视化图像的标题太长如何进行换行? 目录 R语言中可视化图像的标题太长如何进行换行? R语言是解决什么问题的? R语言中可视化图像的标题太长如何进行换行? R语言是解决什么问题的? R 是一个有着统计分析功能及强大作图功能的软件系统,是由奥克兰大学统计学系的Ross Ihaka 和 Robert Gentleman 共同创立。由于R 受Becker, Chambers & Wilks 创立的S 和Sussman 的Scheme 两种语言的影响,所以R 看起来和S 语言非常相似。 R语言被称作R的部分是因为两位R 的作者(Robert Gentleman 和Ross Ihaka) 的姓名,部分是受到了贝尔实验室S 语言的影响(称其为S 语言的方言)。 R 语言是为数学研究工作者设计的一种数学编程语言,主要用于统计分析、绘图、数据挖掘。 如果你是一个计算机程序的初学者并且急切地想了解计算机的通用编程,R 语言不是一个很理想的选择,可以选择 Python、C 或 Java。 R 语言与 C 语言都是贝尔实验室的研究成果,但两者有不同的侧重领域,R 语言是一种解释型的面向数学理论研究工作者的语言,而 C 语言是为计算机软件工程师设计的。 R 语言是解释运行的语言(与 C 语言的编译运行不同),它的执行速度比 C 语言慢得多,不利于优化。但它在语法层面提供了更加丰富的数据结构操作并且能够十分方便地输出文字和图形信息,所以它广泛应用于数学尤其是统计学领域。 R语言中可视化图像的标题太长如何进行换行? 安利一个R语言的优秀博主及其CSDN专栏: 博主博客地址: 博主R语言专栏地址(R语言从入门到机器学习、持续输出已经超过1000篇文章) 参考:R 本篇文章为转载内容。原文链接:https://blog.csdn.net/sdgfbhgfj/article/details/123646656。 该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。 作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。 如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。
2023-12-27 23:03:39
107
转载
转载文章
...本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。 Linux驱动:互斥锁mutex测试 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:Fedora12 目标板:MINI6410 目标板LINUX内核版本:2.6.38 互斥锁主要函数: //创建互斥锁 DEFINE_MUTEX(mutexname); //加锁,如果加锁不成功,会阻塞当前进程 void mutex_lock(struct mutex lock); //解锁 void mutex_unlock(struct mutex lock); //尝试加锁,会立即返回,不会阻塞进程 int mutex_trylock(struct mutex lock); 测试代码: include include include //include include include include include include include include include include include include include include include include include include include include include include include include include include include include include include include include include define DEVICE_NAME "led_driver" define T_MAJORS700 static struct cdev fun_cdev; static dev_t dev; static struct class led_class; //初始化互斥锁 static DEFINE_MUTEX(sem); //功能:初始化IO static void init_led(void) { unsigned temp; //GPK4-7设置为输出 temp = readl(S3C64XX_GPKCON); temp &= ~((0xf << 4) | (0xf << 5) | (0xf << 6) | (0xf<< 7)); temp |= (1 << 16) | (1 << 20) | (1 << 24) | (1 << 28); writel(temp, S3C64XX_GPKCON); } //功能:ioctl操作函数 //返回值:成功返回0 static long led_driver_ioctl(struct file filp, unsigned int cmd, unsigned long arg) { unsigned int temp = 0; //unsigned long t = 0; wait_queue_head_t wait; //加锁 mutex_lock(&sem); temp = readl(S3C64XX_GPKDAT); if (cmd == 0) { temp &= ~(1 << (arg + 3)); } else { temp |= 1 << (arg + 3); } //等待2S //t = jiffies; //while (time_after(jiffies,t + 2 HZ) != 1); init_waitqueue_head(&wait); sleep_on_timeout(&wait,2 HZ); writel(temp,S3C64XX_GPKDAT); printk (DEVICE_NAME"\tjdh:led_driver cmd=%d arg=%d jiffies = %d\n",cmd,arg,jiffies); //解锁 mutex_unlock(&sem); return 0; } static struct file_operations io_dev_fops = { .owner = THIS_MODULE, .unlocked_ioctl = led_driver_ioctl, }; static int __init dev_init(void) { int ret; unsigned temp; init_led(); dev = MKDEV(T_MAJORS,0); cdev_init(&fun_cdev,&io_dev_fops); ret = register_chrdev_region(dev,1,DEVICE_NAME); if (ret < 0) return 0; ret = cdev_add(&fun_cdev,dev,1); if (ret < 0) return 0; printk (DEVICE_NAME"\tjdh:led_driver initialized!!\n"); led_class = class_create(THIS_MODULE, "led_class1"); if (IS_ERR(led_class)) { printk(KERN_INFO "create class error\n"); return -1; } device_create(led_class, NULL, dev, NULL, "led_driver"); return ret; } static void __exit dev_exit(void) { unregister_chrdev_region(dev,1); device_destroy(led_class, dev); class_destroy(led_class); } module_init(dev_init); module_exit(dev_exit); MODULE_LICENSE("GPL"); MODULE_AUTHOR("JDH"); 测试 用http://blog.csdn.net/jdh99/article/details/7178741中的测试程序进行测试: 开启两个程序,同时打开,双进程同时操作LED 本篇文章为转载内容。原文链接:https://blog.csdn.net/weixin_28689729/article/details/116923091。 该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。 作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。 如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。
2023-11-06 08:31:17
58
转载
站内搜索
用于搜索本网站内部文章,支持栏目切换。
知识学习
实践的时候请根据实际情况谨慎操作。
随机学习一条linux命令:
renice priority_level -p pid
- 更改已运行进程的优先级。
推荐内容
推荐本栏目内的其它文章,看看还有哪些文章让你感兴趣。
2023-04-28
2023-08-09
2023-06-18
2023-04-14
2023-02-18
2023-04-17
2024-01-11
2023-10-03
2023-09-09
2023-06-13
2023-08-07
2023-03-11
历史内容
快速导航到对应月份的历史文章列表。
随便看看
拉到页底了吧,随便看看还有哪些文章你可能感兴趣。
时光飞逝
"流光容易把人抛,红了樱桃,绿了芭蕉。"