demo-package
Android开发demo演示
---修改要显示的布局
setContentView(yout.second);
---然后在 Manifest.xml 中注册我们需要使用的组件
<activty android:name=".SecondActivity"></activity>
(3) 启动一个 activity ---分析以下这段代码
---分析 Activity 类的基本构成和重要函数
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(yout.activity_main); }
---我们可以在程序中预览到布局 ---显示该布局:此时就需要一个容器——Activity 来显示 UI。 (2) 创建 SecondActivity 采用上述同样的方法,复制 MainActivity,并且将其副本重命 名为 SecondActivity 再在这个的基础上进行修改。使得其显示用户界面为 second.xml。
将 intent-filter 的代码复制到其中去。
---希望点击一个按钮,主界面跳转到 second
<Button android:id="@+id/btn_login" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="跳转" />
(5) activity 传递和返回数据
有时候点击登录跳转到用户主页的时候,希望带上当前登录的用户 名,此时 intent 就要带上一点数据,进行相关的显示。 ---在 MainActivity 上带上登录的用户名
junit4中Assert断言的使用以及Mockito框架mock模拟对象的简单使用
junit4中Assert断⾔的使⽤以及Mockito框架mock模拟对象的简单使⽤ 编写测试代码时,我们总会有我们对被测⽅法⾃⼰预期的值,以及调⽤被测⽅法后返回的真实执⾏后的值。
需要断⾔这两个值是否相等、抛出异常、hash码等等情况。
这⾥博主主要介绍⼀下简单的断⾔和mock。
如果已经对junit测试有过相对了解的,请略过这篇⽂章。
下⾯是我准备的节点类:1package demo;23/**4 * @author Lcc5 *6*/7public class Node {8private int value;910public Node(int value) {11this.value = value;12 }1314public String toString() {15return "它本来的值是:" + value;16 }1718public int getValue() {19return value;20 }2122public void setValue(int value) {23this.value = value;24 }2526 }以及节点类的冒泡排序算法:1package demo;23/**4 * @author Lcc5 *6*/7public class BubbleSort {89public Node[] bubbleSort(Node[] a) {1011for (int i = 0; i < a.length; i++) {12for (int j = 0; j < a.length; j++) {13if (a[i].getValue() > a[j].getValue()) {14 Node temp = a[i];15 a[i] = a[j];16 a[j] = temp;17 }18 }19 }20 System.out.println(a[1].toString());// 没有使⽤mock时输出:"它本来的值是:221return a;22 }2324 }现在我们需要测试冒泡排序⽅法,当然由于这个⽅法⽐较简单其实不⽤mock也可以,但是博主⼀时间也想不出来有什么好的例⼦。
fyne package用法
一、介绍fyne packagefyne package是一个用于将Fyne应用程序打包为可执行文件的工具。
通过fyne package,开发者可以将他们的Fyne应用程序打包为各种评台的可执行文件,包括Windows、MacOS和Linux。
这使得开发者可以更轻松地在不同的操作系统上部署他们的应用程序。
二、安装fyne package要使用fyne package,首先需要确保已经安装了Go编程语言。
然后可以使用以下命令来安装fyne package:```bashgo get fyne.io/fyne/v2/cmd/fyne```安装完成后,可以通过以下命令来验证fyne package是否已成功安装:```bashfyne version```三、使用fyne package打包应用程序在项目的根目录下,使用以下命令来进行应用程序的打包:```bashfyne package -os {目标操作系统} -icon {图标文件路径} {输出文件名} ```其中,“-os”参数用于指定目标操作系统,可以是“windows”、“darwin”或“linux”;“-icon”参数用于指定应用程序的图标文件路径;最后一个参数是指定输出文件的文件名。
四、示例假设我们有一个名为“myapp”的Fyne应用程序,现在我们想要将它打包为Windows评台的可执行文件,并指定一个名为“icon.png”的图标文件。
我们可以使用以下命令来进行打包:```bashfyne package -os windows -icon icon.png myapp.exe```运行完上述命令后,将会在当前目录下生成一个名为“myapp.exe”的可执行文件,这就是我们打包好的Windows评台应用程序。
五、其他参数除了上述介绍的参数之外,fyne package还支持一些其他的参数,如“-app-id”用于指定应用程序的ID,“-app-version”用于指定应用程序的版本号等。
影视专用术语
1、三分规则rule of thirds:为了使构图更加匀称,将一个画面分成三等份而不是两半。
2、中景镜头medium shot:交待被摄主体及其周围情况的镜头,缩写为MS。
3、切入镜头cut–in:某镜头中的人或物是一个镜头的局部元素,前者就叫后者的切入镜头。
4、切出镜头cut–away:某个镜头中的人或物没有在上一个镜头中出现,前者叫做后者的切出镜头,常用来交待相关的细节或他人的反应。
5、主镜头master shot:交代整个场景及其中所有主要元素的镜头。
6、主观镜头point–of–view shot:显示剧中人所看到情景的镜头,缩写为POV。
7、白天拍夜景day–for–night:镜头在白天拍,但视觉效果像是夜晚。
8、交叉淡入淡出cross–fade:声音(图象)淡入的同时另一声音(图象)淡出。
9、淡入/淡出fade–out/fade–in:一个清晰画面逐渐过渡为黑场,从有声到无声;反之亦然。
10、全景镜头long shot:强调整体环境及其中人或物的分布状况的镜头。
11、低角度镜头(仰拍镜头)low–angle shot:从低角度向上拍摄的镜头。
12、高角度镜头(俯拍镜头)high–angle shot:从高角度向下拍摄的镜头。
13、走位blocking:决定演员在一个镜头中的位置及运动路线。
14、近摄macro:镜头的一种设置,可以拍摄镜头极近的物体。
15、定位镜头establishing shot:引导观众进入一个新的地点或时间的镜头。
16、长焦镜头long lens:能够放大被摄主体,压缩空间距离的镜头。
17、衰减时间decay:一个声音从最大音量到完全无声所用的时间。
18、过肩镜头over–the–shoulder shot:在这个镜头中观众的视线可以越过一个人物的肩部看到另一个人或物,缩写为OS。
19、摇滚rock&roll:一场剧刚开始时使用一系列剧烈晃动的全景镜头,好像观众在摇动着看这场戏。
JAVA程序的命名规则
一、Java程序包名:Package的名字应该都是由小写单词组成,如:text.demo.example具体的示例如下:com.icss下面为平台包。
stmacmbas为本项目的根程序包。
stmacmbas.base为本项目的开发基础包。
merce为商业企业程序包。
stmacmbas.example为示例程序包。
stmacmbas.industry为工业企业程序包。
stmacmbas.stma为国家局程序包。
stmacmbas.util为工具包。
二、文件名。
1.文件名由英文单词组成,每个单词的首字母大写,最好不要超过4个单词,如:ShipOrder.java。
2.Java文件的文件名要与程序中的public类名相同。
3.Servlet文件要以Servlet作为结尾,如:AddCompanyServlet.java。
三、类名:每个单词的首字母大写。
同上。
四、变量名。
1.class变量的命名:变量的名字必须用一个小写字母开头,后面的单词用大写字母开头。
2.static final变量的命名:static final变量的名字应该都大写并且指出完整含义。
3.用有意义的名字命名变量:首先,用完整的英语单词或约定俗成的简写命名变量(不允许用汉语拼音),如:firstName,zipCode。
4.用复数命名Collection类变量。
Collection包括数组,vector 等。
命名时使用复数:customers,classmates。
五、方法名。
1.方法的名字必须用一个小写字母开头,后面的单词用大写字母开头。
2.方法的名字要与该方法的用途相关。
六、参数名。
1.参数的命名:参数的名字必须和变量的命名规范一致。
2.方法的参数:使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字。
包的概念
8.11 包的概念随着项目复杂度的增加,一个项目中需要实现的类和接口的数量也将快速增长,为了方便对于代码的管理和阅读,需要将这些类和接口按照一定的规则进行分类,这就是程序设计中命名空间(name space)概念出现的原因。
在Java语言中,为了对同一个项目中的多个类和接口进行分类和管理,专门设计了包(Package)的概念,使用包管理和类和接口。
其实出现包的概念最开始的原因是避免类名重复,现在这个作用也得到了广泛的应用。
例如各个公司会为同一个功能实现一套类,这些类名之间大量的存在重复,使用包的概念就可以很方便的解决类名重复的问题。
那么包到底是什么呢?其实包是一个逻辑的概念,就是给类名加了一个前缀,就像北京路这个路名上海和南京都有,再说这个路名时,就可以使用南京市北京路和上海市北京路进行区分,这里的北京路就相当于类,而前面的前缀,如南京市或上海市,就相当于包名。
在物理上包被转换成一个文件夹,操作系统通过文件夹来管理各个类和接口,从而实现对类的分类,或者称之为按照类的功能对这些类进行封装。
下面介绍一下和包有关的两个语法:打包和引入包。
8.11.1 打包打包的作用就是将声明的类放入包中,也就是为类指定包名。
在实际的项目中,一般根据类的功能来设定包,例如设置界面类包,逻辑类包,网络类包等结构。
打包的语法格式为:package 包名1[.包名2[.包名3……]];在该语法中,包名可以设置多个,包名和包名之间使用“.”进行分割,包名的个数没有限制。
其中前面的包名包含后面的包名。
按照Java语言的编码规范,包名所有字母都小写,由于包名将转换为文件夹的名称,所以包名中不能包含特殊字符。
例如:package test;package demo.chapter8;package game.bubble.ui;在示例中的最后一个,package game.bubble.ui,该包名将转换为路径\game\bub ble\ui,也就是前面的包名是后面包名的父目录。
软件版本中的Beta 、Lite、 Demo、 Build等之含义?
软件版本中Beta 、Lite、Demo、Build等是什么意思?版本号:V(V ersion):即版本,通常用数字表示版本号。
(如:EVEREST Ultimate v4.20.1188Beta)Build:用数字或日期标示版本号的一种方式。
(如:VeryCD eMule v0.48a Build 071112)SP:Service Pack,升级包。
(如:Windows XP SP2/Vista SP1)授权和功能划分:Trial:试用版,通常都有时间限制,有些试用版软件还在功能上做了一定的限制。
可注册或购买成为正式版Unregistered:未注册版,通常没有时间限制,在功能上相对于正式版做了一定的限制。
可注册或购买成为正式版。
Demo:演示版,仅仅集成了正式版中的几个功能,不能升级成正式版。
Lite:精简版。
Full version:完整版,属于正式版。
语言划分:SC:Simplified Chinese简体中文版。
CN:简体中文版GBK:简体中文汉字内码扩展规范版。
TC:Traditional Chinese繁体中文版。
CHT:繁体中文版BIG5:繁体中文大五码版。
EN:英文版Multilanguage:多语言版UTF8:Unicode Transformation Format8bit,对现有的中文系统不是好的解决方案。
开发阶段划分:α(Alpha)版:内测版,内部交流或者专业测试人员测试用。
Bug较多,普通用户最好不要安装。
β(Beta)版:公测版,专业爱好者大规模测试用,存在一些缺陷,该版本也不适合一般用户安装。
γ(Gamma)版:相当成熟的测试版,与即将发行的正式版相差无几。
RC版:Release Candidate。
RC版。
是Release Candidate的缩写,意思是发布倒计时,候选版本,处于Gamma阶段,该版本已经完成全部功能并清除大部分的BUG。
到了这个阶段只会除BUG,不会对软件做任何大的更改。
ISD-DEMO2360微控制器基础系统设计指南说明书
ISD-DEMO2360 User ManualThe information contained in this document is the exclusive intellectual property of Nuvoton Technology Corporation and shall not be reproduced without permission from Nuvoton.Nuvoton provides this document for reference purposes only in the design of ISD ChipCorder®microcontroller-based systems. Nuvoton assumes no responsibility for errors or omissions.All data and specifications are subject to change without notice.For additional information, please contact: Nuvoton Technology Corporation atPublication Release Date: Apr 13, 2016Contents1. Overview (3)2. Board Description (5)2.1. ISD-DEMO2360_QFN32 for QFN32 package (5)2.1.1. ISD-DEMO2360_QFN32 Jumper Description (5)2.2. ISD-DEMO2360_SOP16 for SOP16 package (6)2.2.1. ISD-DEMO2360_SOP16 Jumper Description (6)2.3. 2x5 connector pin assignment (7)3. Operation Description (7)3.1. Software Installation (7)3.2. Operation under VPE (8)4. ISD-DEMO2360 board schematic (10)4.1. ISD-DEMO2360_QFN32 schematic (10)4.2. ISD-DEMO2360_SOP16 schematic (11)5. Appendix: ISD-VPE Video Tutorial (12)6. Revision History (13)Publication Release Date: Apr 13, 20161.OverviewThe ISD2360 demo board is a small board dedicated for ISD2360 device evaluation andapplication development. The ISD2360 comes in two packages: QFN32 and SOP16, hence there are two types of demo boards for the ISD2360.-For QFN32 package: ISD-DEMO2360_QFN32 – shown in Picture 1-1 ISD-DEMO2360_QFN32-For SOP16 package: ISD-DEMO2360_SOP16 – shown in Picture 1-2Picture 1-1 ISD-DEMO2360_QFN32Picture 1-2 ISD-DEMO2360_SOPPublication Release Date: Apr 13, 2016The ISD2360 evaluation kit consists of three parts:-ISD-DEMO2360 (QFN or SOP)-ISD-ES_MINI_USB: a small interface board providing USB connection to PC-ISD-VPE2360: free downloadable GUI evaluation software for ISD2360.The ISD2360 demo board connecting to the ISD-ES_MINI_USB board, along with the ISD-VPE2360, makes up a small but complete evaluation system for ISD2360, as shown in Picture 1-3 A complete ISD2360 evaluation system.Picture 1-3 A complete ISD2360 evaluation systemPublication Release Date: Apr 13, 20162.Board Description2.1.ISD-DEMO2360_QFN32 for QFN32 package2.1.1.ISD-DEMO2360_QFN32 Jumper DescriptionJ1 – 2-pin power connector, to connect battery pack or external power supply J2 – 2-pin speaker connector directly connecting to ISD2360 PWM outputJ3 – Audio jack directly connecting to ISD2360 PWM outputJ4 – 2x5 10-pin connector connecting to ISD-ES_MINI_USB donglePublication Release Date: Apr 13, 2016J5 – Reserved, not to be used.2.2.ISD-DEMO2360_SOP16 for SOP16 package2.2.1.ISD-DEMO2360_SOP16 Jumper DescriptionJ2 – 2x5 10-pin connector connecting to ISD-ES_MINI_USB dongleJ3 – Audio jack directly connecting to ISD2360 PWM outputJ4 – 2-pin speaker connector directly connecting to ISD2360 PWM outputJ7 – Reserved, not to be used.J8 – 2-pin power connector, to connect battery pack or external power supplyPublication Release Date: Apr 13, 20162.3.2x5 connector pin assignmentThe ISD2360 demo board can be connected to ISD USB dongle via a 2x5 10-pinconnector. Table 2-1 shows the pin assignment.3.Operation Description3.1.Software InstallationSoftware DownloadThe ISD2360 user can use ISD-VPE2360 (VPE stands for Voice Prompt Editor) GUIsoftware to control the demo board, and fully evaluate the ISD2360 device.The ISD-VPE2360 software is freely downloaded from Nuvoton website, or from the link below:https:///FS/v.aspx?v=8a6e688761676eb6a4ad.During the software installation, user will be prompted for username and password. The user should email Nuvoton ChipCorder team at **********************, to requestPublication Release Date: Apr 13, 2016the username and password. In the email user should provide the detailed companyname and company address, city, including country name if outside of US. Thisinformation is required by Nuvoton to generate the username and password and tocontact the user for future software updates.System RequirementsThe ISD-VPE2360 is PC windows application software; it currently supports Windows XP, Windows 7- 32bit, and Windows 7- 64bit.3.2.Operation under VPEThe user can follow the sequence below to launch the ISD2360 VPE and start evaluating the ISD2360 chip functionality with the ISD-DEMO2360 board.-Connect a demo board to USB dongle-Plug in USB dongle into a PC USB port-Launch VPETo connect demo board with the USB dongle, both board need to face up for the connection.Please refer to Picture 3.2-1Demo board connects to USB dongle board with both boardsfacing up below.Publication Release Date: Apr 13, 2016Picture 3.2-1 Demo board connects to USB dongle board with both boards facing upPublication Release Date: Apr 13, 20164.ISD-DEMO2360 board schematic 4.1.ISD-DEMO2360_QFN32 schematicPublication Release Date: Apr 13, 20164.2.ISD-DEMO2360_SOP16 schematicPublication Release Date: Apr 13, 20165.Appendix: ISD-VPE Video TutorialThere are ISD-VPE video tutorials available online which can help users who are new to the ISD-VPE GUI software. Users can access these video tutorials using the web links below:o A Simple VPE project: https:///watch?v=BXTa7Kaux0oo A GPIO Trigger project: https:///watch?v=XVDcPGpHtkIo Record and playback project: https:///watch?v=o-L-6L3TXvcPublication Release Date: Apr 13, 20166.Revision HistoryPublication Release Date: Apr 13, 2016。
monorepo中stylelint的最佳实践 -回复
monorepo中stylelint的最佳实践-回复Monorepo是一种管理大型项目的方法,将所有相关的代码库放在一个仓库中,从而促进代码共享、便于跨项目的重用以及更好的团队协作。
在这方面,stylelint是一个非常有用的工具,它可以帮助我们在项目中统一样式代码的规范,保持一致的代码风格。
本文将介绍如何在monorepo中使用stylelint的最佳实践,以确保代码质量和一致性。
1. 安装和配置stylelint首先,我们需要在monorepo的根目录中安装stylelint。
可以使用npm 或yarn来安装,具体命令如下:npm install save-dev stylelint或者yarn add dev stylelint安装完成后,我们需要在项目根目录下创建一个风格配置文件`.stylelintrc`,用于定义stylelint的规则。
在monorepo中,如果不同的子项目有不同的代码规范要求,可以为每个子项目配置一个单独的`.stylelintrc`文件,也可以在根目录下的`.stylelintrc`中设置全局规则。
配置文件的格式可以是JSON、YAML或JS,具体参考stylelint文档。
2. 配合lint-staged使用在monorepo中,可能同时存在多个子项目,为了只对修改的文件进行stylelint检查,以提高效率,可以使用lint-staged工具来配合stylelint 使用。
lint-staged可以对预提交的文件进行lint检查,而不是整个项目。
首先,我们需要在根目录的package.json文件中添加以下配置:json{"lint-staged": {"*.{css,scss}": "stylelint"}}然后,根据需要安装lint-staged和husky:bashnpm install save-dev lint-staged husky或者bashyarn add dev lint-staged husky现在,当你准备提交代码时,lint-staged会自动对修改的样式文件进行stylelint检查。
解决在IDEA中创建多级package的问题
解决在IDEA中创建多级package的问题
刚刚才发现在IDEA创建package时它不会⾃动分级,⽐如先创建⼀个package 名为com 然后紧接着在com下创建⼀个package 名为 seek 。
只会出现下图这样的情况,没达到我们想要的分级⽬的。
⽹上找到⼀种⽅法:
1.先创建package 名为com 然后在⿏标点到src⽬录,
2.创建package 名为com.seek 此时结果如上图
3.⿏标点到src⽬录创建package名为 com.demo,就能达到我们想要的⽬的如下图
⽅法2:
1.先创建package 名为com,然后在com包下创建⼀个类Test.java,如下图
2.在com下创建package名为demo,如下图,结果达到预期效果
重复⽅法2,可以⽆限制地⼀层层创建
补充:IDEA 在某个package下创建多个package,⼦包不在同⼀级问题
问题现象
解决⽅案
以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
如有错误或未考虑完全的地⽅,望不吝赐教。
fyne package用法 -回复
fyne package用法-回复如何使用fyne package。
第一步:了解fyne packageFyne是一个用于构建跨平台应用程序的易于使用的Go语言框架。
它提供了一组简单而强大的工具和库,使开发人员能够轻松地创建漂亮而高效的用户界面。
fyne package是Fyne中的一个关键组件,它提供了一系列有用的函数和结构体,用于构建和管理用户界面的各个方面。
第二步:安装Fyne和配置环境在使用fyne package之前,我们首先需要安装Fyne并配置我们的开发环境。
按照以下步骤进行操作:1. 首先,打开终端并使用以下命令安装Fyne库:go get fyne.io/fyne/v22. 安装完成后,我们需要将Fyne的二进制文件添加到我们的系统路径中。
打开您的.bash_profile或.zshrc文件,并添加以下行:export PATH="PATH:(go env GOPATH)/bin"3. 保存并关闭文件后,重新打开终端窗口,以使更新的环境变量生效。
第三步:创建一个Fyne应用程序现在我们已经配置好了开发环境,我们可以开始创建并运行我们的第一个Fyne应用程序了。
按照以下步骤进行操作:1. 首先,创建一个新的Go文件,并导入fyne和fyne/app包:gopackage mainimport ("fyne.io/fyne/v2""fyne.io/fyne/v2/app")2. 然后,创建一个main函数,并在其中实例化一个新的应用程序:gofunc main() {a := app.New()w := a.NewWindow("My Fyne App")w.ShowAndRun()}在上面的代码中,我们首先使用app.New()创建一个新的应用程序实例,然后使用a.NewWindow()创建一个新的窗口实例,并为其设置一个标题。
poetry常用命令
poetry常用命令Poetry是一个Python项目管理和构建工具,它提供了许多方便的命令来管理项目的依赖、构建和发布。
以下是一些Poetry常用的命令:1. `poetry new`:创建一个新的Python项目。
2. `poetry init`:在已有的Python项目中初始化Poetry项目。
3. `poetry add`:添加一个依赖包到项目中。
- `poetry add package`:添加一个指定的包。
- `poetry add package==version`:添加一个指定版本的包。
- `poetry add package~=version`:添加一个兼容指定版本的包。
4. `poetry remove`:从项目中移除一个依赖包。
5. `poetry install`:安装项目的依赖包。
- `poetry install --no-dev`:只安装运行时依赖,跳过开发依赖。
6. `poetry update`:更新项目的依赖包。
7. `poetry run`:在虚拟环境中执行命令。
8. `poetry shell`:激活项目的虚拟环境。
9. `poetry build`:构建项目,生成可分发的包。
10. `poetry publish`:发布项目到PyPI或者其他支持的包仓库。
11. `poetry lock`:生成一个lock文件,锁定项目的依赖版本。
12. `poetry show`:显示项目的依赖包信息。
这些是一些常用的Poetry命令,通过这些命令可以方便地管理Python项目的依赖和构建过程。
在使用之前,确保已经正确安装了Poetry工具,并在项目目录中执行命令。
可以使用`poetry --help`命令查看更详细的帮助文档。
easyexcel读写demo
easyexcel读写demo1 <dependencies>2 <dependency>3 <groupId>com.alibaba</groupId>4 <artifactId>easyexcel</artifactId>5 <version>1.1.1</version>6 </dependency>78 <dependency>9 <groupId>junit</groupId>10 <artifactId>junit</artifactId>11 <version>4.9</version>12 </dependency>1314 <!-- jdbc -->15 <dependency>16 <groupId>commons-dbutils</groupId>17 <artifactId>commons-dbutils</artifactId>18 <version>1.7</version>19 </dependency>2021 <dependency>22 <groupId>com.mchange</groupId>23 <artifactId>c3p0</artifactId>24 <version>0.9.5.2</version>25 </dependency>2627 <dependency>28 <groupId>mysql</groupId>29 <artifactId>mysql-connector-java</artifactId>30 <version>5.1.40</version>31 </dependency>3233 </dependencies>⼯具类1package cn.tele.demo;23import java.sql.Connection;4import java.sql.ResultSet;5import java.sql.SQLException;6import java.sql.Statement;7import javax.sql.DataSource;8import boPooledDataSource;910/**11 *12 *@author Tele13 *14*/1516public class JdbcUtils {17private static ComboPooledDataSource dataSource = new ComboPooledDataSource();181920public static Connection getConnection() throws SQLException {21return dataSource.getConnection();22 }2324public static DataSource getDS() {25return dataSource;26 }2728// 关闭数据库连接29public static void close(ResultSet rs, Statement stat, Connection conn) {30try {31if (rs != null)32 rs.close();33if (stat != null)34 stat.close();35if (conn != null)36 conn.close();37 } catch (SQLException e) {38 e.printStackTrace();39 }4041 }4243 }View Code实体类(模型)1package cn.tele.demo;23import com.alibaba.excel.annotation.ExcelProperty;4import com.alibaba.excel.metadata.BaseRowModel;56/**7 *8 *@author Tele9 *10*/1112public class Student extends BaseRowModel{13 @ExcelProperty(value="学号",index=0)14private Integer id;1516 @ExcelProperty(value= {"姓名","name","xxx","xxx"},index=1)17private String name;1819 @ExcelProperty(value="指导⽼师",index=2)20private String teacher;2122public Integer getId() {23return id;24 }2526public void setId(Integer id) {27this.id = id;28 }2930public String getName() {31return name;32 }3334public void setName(String name) { = name;36 }3738public String getTeacher() {39return teacher;40 }4142public void setTeacher(String teacher) {43this.teacher = teacher;44 }4546 @Override47public String toString() {48return "Student [id=" + id + ", name=" + name + ", teacher=" + teacher + "]";49 }50 }View Code监听器1package cn.tele.demo;23import java.sql.SQLException;4import java.util.ArrayList;5import java.util.List;67import mons.dbutils.QueryRunner;89import com.alibaba.excel.context.AnalysisContext;10import com.alibaba.excel.event.AnalysisEventListener;1112/**13 *14 *@author Tele15 *16*/1718public class ExcelListener extends AnalysisEventListener<Student>{1920//⾃定义⽤于暂时存储data。
一个简单的JSONDEMO
⼀个简单的JSONDEMO ⽤到的beanpublic class User {private int id;private String name;private String password;public User() {}public User(int id, String name, String password) {this.id = id; = name;this.password = password;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) { = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "User{" +"id=" + id +", name='" + name + '\'' +", password='" + password + '\'' +'}';}}华丽的分割线:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++json转换的Beanpackage com.example.demo.text;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import er;/*** @date 2020/1/6 10:11*/public class t1 {public static void main(String[] args) {User user = new User(1,"⽼王","⽼王");// 转成JsonString json = JSON.toJSONString(user);System.out.println(json);final Object parse = JSON.parse(json);System.out.println(parse);// 变成JavaBean对象final User user1 = JSONObject.parseObject(json, User.class);System.out.println(user1);}}华丽的分割线:——————————————————————————————————————————————————————————————————————————————————————————————————————输出结果{"id":1,"name":"⽼王","password":"⽼王"}{"password":"⽼王","name":"⽼王","id":1}User{id=1, name='⽼王', password='⽼王'}。
GolangPackage与Module简介
GolangPackage与Module简介Golang Package 与 Module 简介软件是由代码组成的。
为了复⽤代码,代码的组织出现了不同层次的抽象和实现,如 Module(模块),包(Package),Lib(库),Framwork(框架)等。
通常⼀个Project(项⽬),会根据功能拆分很多 module,常⽤的软件会打包成⼀个个共享库。
在开源社区分享软件包是⼀件⼗分 cool 的事⼉。
这些软件包也有可能引⽤了其他的开源包,因此开源项⽬上经常会有软件相互依赖,或依赖某个包,或依赖某个包的某个版本。
现代的语⾔都有很多好⽤的包管理⼯具,如 pip 之于 python,gem 之于 ruby,npm 之于 nodejs。
然⽽ Golang 早期版本却没有官⽅的包管理器,直到 go1.5 才添加了实验性的 vendor。
尽管官⽅的不作为(保守),还是⽆法阻⽌社区的繁荣。
社区诞⽣了许多⼯具,⽐较有代表如,,,以及半官⽅的等。
百花齐放的另外⼀层含义也是⼯具链混乱的表现。
终于在 go1.12,发布了官⽅的包管理⼯具 Go Module。
go module 不仅带来了统⼀的标准,⽽且对于旧软件包的处理,以及所坚持的包管理哲学都挺有意思。
下⾯将会从 go module 之前的包管理⽅式和升级到 go module ⽅式做⼀个简单的说明。
下⾯的例⼦以常见的使⽤⽅式做介绍,并没有深⼊其背后的原理与实现。
例如go.sum 以及⼀些最下化处理原则不会涉及。
部分内容闲扯⼀下 go 的流派观点。
GOPATH在 go1.12 之前,安装 golang 之后,需要配置两个环境变量----GOROOT和GOPATH。
前者是 go 安装后的所在的路径,后者是开发中⾃⼰配置的,⽤于存放go 源代码的地⽅。
在 GOPATH 路径内,有三个⽂件夹,分别是bin: go 编译后的可执⾏⽂件所在的⽂件夹pkg: 编译⾮ main 包的中间连接⽂件src: go 项⽬源代码开发的程序源码则放在src⾥,可以在src⾥创建多个项⽬。
MinUI使用手册(开发文档)
7. | | ├── src
8. | | | └── index.wxc
9. | | ├── package.json
10. | | └── README.md
11. └── src
12.
├── pages
13.
| ├── home
14.
| | ├── index.wxp
15.
| ├── toast
4.
├── pages
微信开发者工具指定的目录 Min 页面目录(属于完整页面)
小程序示例
5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
| ├── home | | ├── index.js | | ├── index.wxml | | ├── index.wxss | | └── index.json ├── app.js ├── app.json └── app.wxss ├── node_modules └── src
页面逻辑 页面结构 页面样式 页面配置 小程序逻辑 小程序公共配置 小程序公共样式
注: dist目录 是微信开发者工具指定的目录,该目录由 Min 的 dev 指令自动编译生成,请不要直接修改该目录下的文件
请尝试修改首页代码 打开首页 ~/min-weapp/pages/home/index.wxp 文件
目录
注意事项 重要提醒 常见问题 问题反馈
版本日志
安装
安装
本文档展示命令,如果是 Windows 请打开 cmd 输入命令执行,如果是类 Unix 系统,请打开任意终端输入命令执行。安装 Min 请先确 定你的计算机上安装了Node.js以及npm,如已安装,请直接阅读 安装 Min。
包
package com.qianfeng.day08.demo1;import com.qianfeng.day08.demo2.Student;//import ng.*; //The import ng is never usedpublic class PackageDemo {/** 引用入包的目的* 1、为了便于管理大型软件系统中数目众多的类,* 2、解决类命名冲突的问题,Java引入了包(package)** 包的定义* 1、域名的反写com.baidu(顶层包)* 2、子包的分类:* 1> 按功能分类(util 放工具类, db 对数据库的操作view 操作页面) 【常用】* 2> 按业务分类(登录功能模块推送模块。
)** 包的使用* 1、创建类的时候,在java源码第一行使用package 关键字标志本类所在的包* 2、import com.qianfeng.day08.demo2.Person; 如果某个类调用不同包类时* 使用import进行导入,如果使用import 包名.* 表示导入包中所有的类* 3、如果本包中有某个类,而这时必须导入另外一个包相同名字的类时,使用import * 导入时会出现问题, 为了避免出现歧义,一般使用全类名访问** jdk中的包* 1、java系统默认导入了ng 一些使用频率非常高的类* java.util -包含一些实用工具类,如定义系统特性、日期时间、日历、集合类等。
java.io -包含能提供多种输入输出的流类。
-包含执行网络相关的操作的类。
java.sql -java操作数据库的一些API。
java.text -包含了一些用来处理文本、日期、数字和消息的类和接口。
**///private void person(){System.out.println("PackageDemo.Person()");}public static void main(String[] args) {//demo1 中的personPerson person = new Person();System.out.println();//demo2 的personcom.qianfeng.day08.demo2.Person person2 = new com.qianfeng.day08.demo2.Person();System.out.println();// shift + ctrl + osStudent student = new Student();String string = new String();}}package com.qianfeng.day08.demo1;public class Person {public String name = "demo1";}。
nuget pack 用法
nuget pack 用法一、NuGet 简介uGet 是一个开放源代码的软件包管理器,用于 .NET 平台上的应用程序开发。
它允许开发人员轻松地查找、安装、管理和删除应用程序所需的库和框架。
在本教程中,我们将重点介绍NuGet Pack 命令的使用方法。
二、NuGet Pack 用法1.安装NuGet 客户端在使用NuGet Pack 之前,需要在计算机上安装NuGet 客户端。
可以通过以下命令安装:```dotnet tool install --global dotnet-user-edition```2.添加package reference在Visual Studio 中,可以使用以下命令添加NuGet 包的引用:```dotnet add package <package-name>```3.添加依赖项在项目文件(如 .csproj)中,可以使用以下语法添加依赖项:```<ItemGroup><PackageReference Include="<package-name>"Version="<package-version>" /></ItemGroup>```4.删除依赖项要删除项目中的依赖项,可以使用以下命令:```dotnet remove package <package-name>```5.查看依赖项详细信息要查看项目中使用的NuGet 包的详细信息,可以使用以下命令:```dotnet list package <package-name> --all```三、NuGet Pack 的高级功能1.自定义包版本可以使用`dotnet pack` 命令自定义包的版本。
例如,将版本更改为固定的版本号:```dotnet pack --version <package-version>```2.使用范围可以使用`--configuration` 参数指定要打包的范围。
static关键字详解static方法调用非static属性和方法
static关键字详解static⽅法调⽤⾮static属性和⽅法 静态的属性和⽅法在内存中的存放地址与⾮静态的是不同的,静态的是存放在static区,它意味着静态⽅法是没有this的,所以我们不可以从⼀个static⽅法内部发出对⾮static⽅法的调⽤。
但是反之是可以的。
静态属性被外部公⽤,修改之后会被保存。
1、static⽅法没有this,我们通过类名来调⽤static属性和⽅法1package demo;23public class TestStatic {4private static int i = 18; //静态属性被外部公⽤,修改之后会被保存。
5private String str = "###"; //静态⽅法不能调⽤⾮静态的属性和⽅法6static void run(){7//TestStatic.i 不在同⼀个类中通过类名类调⽤static属性8 i = i * 100;9 System.out.println("刘⼆狗在跑了" + i +"步");10 }1112static void print(){13 run();14//TestStatic.run(); 不在同⼀个类中通过类名类调⽤static⽅法15 System.out.println("测试static:i = " + i);16 }1718public static void main(String[] args) {19 TestStatic.print();20 }21 }打印结果:2、static⽅法调⽤⾮static属性和⽅法。
我们把⼀个对象的句柄放到static⽅法内部,通过这个对象的句柄就可以调⽤⾮static的属性和⽅法。
代码如下:package demo;/*** static⽅法调⽤⾮static属性和⽅法* @author dyf**/public class TestStatic {private static int i = 18;private String str = "###";static TestStatic ts = new TestStatic();TestStatic test(){this.str = str + "===";System.out.println(str);return this;}static void run(TestStatic ts){ts.str = ts.str + "$$$"; //通过句柄调⽤⾮static的属性ts.test(); //通过句柄调⽤⾮static的⽅法System.out.println("刘⼆狗在跑步!" + ts.str);}public static void main(String[] args) {TestStatic.run(ts);}}打印结果:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2、四则运算(JS和JAVA)实现
3、生成10个不重复的随机数,升序打印出来。使用List实现。
4、金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)→(壹仟零壹拾壹元整)输出。
8、有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
9、取一个整数a从右端开始的4~7位。
Байду номын сангаас
5、有这样一类数字,它们顺着看和倒着看是相同的数,例如:121、656、2332等,这样的数字就称为回文数字。编写一个Java程序,判断从键盘接收的数字是否为回文数字。
6、给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
7、请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。