Kotlin入门
Kotlin入门一、变量和函数1.1 变量
在Kotlin中定义变量的方式和Java区别很大,在Java中如果想要定义一个变量,需要在变量前面声明这个变量的类型,比如说int a表示a是一个整型变量,String b表示b是一个字符串变量。而Kotlin中定义一个变量,只允许在变量前声明两种关键字:val和 var。
val(value的简写)用来声明一个不可变的变量,这种变量在初始赋值之后就再也不能重新赋值,对应Java中的final变量。
var(variable的简写)用来声明一个可变的变量,这种变量在初始赋值之后仍然可以再被重新赋值,对应Java中的非final变量。
仅仅使用val或者var来声明一个变量,那么编译器怎么能知道这个变量是什么类型呢?这也是Kotlin比较有特色的一点,它拥有出色的类型推导机制。
🌰举个栗子
1234fun main(){ val a = 10 println("a = " + a)}
在上述代码中,我们使用val关键字定义了一个变量a,并将它赋值为10,这里a就会被自动推导成整型变 ...
语雀同款链接卡片—butterfly主题标签外挂
本文参考自:
Leonus进一寸有进一寸的欢喜。
样式如下:
Charlie_l与君共赴,万里征程
link.js在 \themes\butterfly\scripts\tag 文件夹下面新建 link.js 并粘贴如下代码:
123456789101112131415161718192021JS/** * link * {% link url,title,favicon,desc %} * {% link 链接,标题,图标,介绍 %} */'use strict'function link(args) { args = args.join(' ').split(','); // 获取参数 let url = (args[0] || '').trim(), title = (args[1] || '点击直达链接').trim(), favicon = (args[2] ? `<img ...
使用Nginx反向代理服务器端口至二级域名
要将 Nginx 配置为反向代理到另一个端口,需要进行以下步骤:
一、安装 Nginx如果还没有安装 Nginx,可以使用以下命令在 Ubuntu 上进行安装:
12复制代码sudo apt updatesudo apt install nginx
二、配置 Nginx 反向代理2.1 不使用 HTTPS
例如需要反代我们服务器的8080端口且不适用HTTPS,可以进行以下操作。
在 Nginx 的配置文件(一般为Nginx安装目录下的 nginx.conf )中添加以下内容,将 HTTP 请求代理到服务器的 8080 端口。需要将 example.com 替换为域名或 IP 地址,/ 后面的路径应该是需要代理的应用程序的路径。
1234567891011server { listen 80; server_name example.com; //需要更改为你的域名 location / { proxy_pass http://localhost:8080/; //需要更改为要反代的端口 proxy_set_header Host $host; ...
Font-Awesome-Animation各个图标效果
4630436162ade97ba2718b7d0c4b3b630ef8b034c35893a7afa4c54a5752d90eba191a593f89497fdfca691efaf72d5caa0c664d8e7a85bd833fac72ade59ddbf66b4bdec75a2ed1e83f57bcb279b78c8202c7ce8d3eb34051070935a62ccbf9be563b576fcb19a6e4c095e03496f05d0fec5de7a8af18b78d977beffb6874da4670293f572d11dfa81b48ce6cd0448f0a018d399d177f54eb76d77c6c17f9c36f9f255c3de0f225f9e9c6b4f23d83fc3307cf9be8ef0d2bb8d0474ceec45d7300894f4b8f11650b44ad991ba7d432283e64e8468c79d445b4aef43276f04ffecdc0b540f5d74022a21d6c663658536777acea65da1c70d7c ...
分析Android项目运行
分析安卓项目如何运行AndroidManifest.xml12345678<activity android:name=".MainActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter></activity>
这段话表示对HelloWorldActivity这个活动进行注册, 没有 在AndroidManifest.xml中 注册的活动是不能使用的 。其中 intent-filter里的两行代码尤为重要 。
12<action android:n ...
第一个Android程序
创建第一个Android项目创建HelloWorld项目先在Android上面new一个Project,输入应用名称、公司域名然后选择项目代码存放位置。然后再选择活动界面,给创建的活动和布局命名。然后等待项目创建成功。
启动设备(模拟器或者实体设备)模拟器安装步骤:
下载SDK:目前官网上已经没有单独的SDK下载安装包了。谷歌官网推荐的是下载包含有Android SDK的Android Studio。官网下载地址
安装路径需记住 :本人安装路径为:E:\Program Files\Android\SDK_Tools
双击打开AVD Manager.exe(选择下列文件安装)选择完成之后点install
勾选左下角 Accept License,开始安装
耐心等待其下载完成
配置SDK环境
“右键 我的电脑”—“属性”—“高级系统设置”—“环境变量”—“系统变量”—“新建”
ANDROID_SDK_HOME其值为E:\Program Files\Android\SDK_Tools
编辑Path变量,新增如下两项, %ANDROID_SDK_HOME ...
xray面板安装
[TOC]
一、升级yum,安装curl依赖包1yum update -y && yum install curl -y
其中:
yum update -y为更新yum
yum install curl -y为安装curl依赖包。
二、重启系统1reboot
三、安装Xray面板1bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh)
四、centos安装宝塔面板1yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
预装APP安装过程
1ffc7d1a99edb7ab7287058947423f9f9e72f895b2e3b00b797f34d02579a4337d7af0e47526e48535a5d74186703278decb88a4ef27efe5d986bad67162934fe9c88cf4af90b3530a9306329d4337a6e8c97effde8c391c87e6a4f118293e4e45d51cc19debe025725302a8eea6769e287cf289781b5f7a17837bf4da3b04393ffbdfec170dc5d9fdfd4dbab7232376e48fc805cd7b0f139691ed043fbf321236b91b62c4314c1f475c0565b6be8a6f52c1dac43989c6235f56a35dbdb2329dab76b9f4e48d09836bdb68feb1ee982834b9dd0ae29d1a25b900f1783f9ac2e6ed0f861cdab4ab2481ccc41fefc57392f7badc086545a63eb ...
记第公司开发环境搭建
1ffc7d1a99edb7ab7287058947423f9f9e72f895b2e3b00b797f34d02579a4337d7af0e47526e48535a5d74186703278decb88a4ef27efe5d986bad67162934fe9c88cf4af90b3530a9306329d4337a6e8c97effde8c391c87e6a4f118293e4e45d51cc19debe025725302a8eea6769e287cf289781b5f7a17837bf4da3b04393ffbdfec170dc5d9fdfd4dbab7232376e48fc805cd7b0f139691ed043fbf321236b91b62c4314c1f475c0565b6be8a6f52c1dac43989c6235f56a35dbdb2329dab76b9f4e48d09836bdb68feb1ee982834b9dd0ae29d1a25b900f1783f9ac2e6ed0f861cdab4ab2481ccc41fefc57392f7badc086545a63eb ...
记第一次完成业务需求
1ffc7d1a99edb7ab7287058947423f9f9e72f895b2e3b00b797f34d02579a4337d7af0e47526e48535a5d74186703278decb88a4ef27efe5d986bad67162934fe9c88cf4af90b3530a9306329d4337a6e8c97effde8c391c87e6a4f118293e4e45d51cc19debe025725302a8eea6769e287cf289781b5f7a17837bf4da3b04393ffbdfec170dc5d9fdfd4dbab7232376e48fc805cd7b0f139691ed043fbf321236b91b62c4314c1f475c0565b6be8a6f52c1dac43989c6235f56a35dbdb2329dab76b9f4e48d09836bdb68feb1ee982834b9dd0ae29d1a25b900f1783f9ac2e6ed0f861cdab4ab2481ccc41fefc57392f7badc086545a63eb ...
git-push时冲突解决方法
一、冲突原因1.1 多人同时修改同一文件12345678910111213141516171819202122liaochongrong@urovo002-07:/home/ssd7/lcr_work/SQ45S$ git cherry-pick -n 4a7c5af22778e57440fdf09921b25e1a40a6d5e0error: 不能应用 4a7c5af... Product:SQ45S提示:冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'提示:命令标记修正后的文件liaochongrong@urovo002-07:/home/ssd7/lcr_work/SQ45S$ git status位于分支 Pie_SQ45S_Release您的分支与上游分支 'origin/Pie_SQ45S_Release' 一致。未合并的路径: (使用 "git reset HEAD <文件>..." 以取消暂存) (使用 "gi ...
WP备份
argon主题选项文本附加内容123456789101112您当前正在 - %link% .页面,阅读由“%author%” 撰写的《%title%》非常感谢您对我们的网站感兴趣并访问。在您使用本网站之前,请您仔细阅读本声明的所有条款。版权声明:1、本博客属个人所有,不涉及商业目的。2、本博客内容均为本人编写,图片版权属于原作者,图片仅供大家欣赏和分享,切勿做为商业目的使用。如果侵害了您的合法权益,请您及时与我们,我们会在第一时间删除相关内容!3、本博客所有原创作品,包括文字、资料、图片、网页格式,转载时请标注作者与来源。非经允许,不得用于赢利目的。4、本博客受中国知识产权、互联网法规和知识共享条例保护和保障,任何人不得进行旨在破坏或牟取私利的行为。5、做新时代合格网民,弘扬互联网精神:开放、平等、 协作 、分享;共同构建文明、清朗的网络环境6、本声明未涉及的问题参见国家有关法律法规,当本声明与国家法律法规冲突时,以国家法律法规为准。7、当您阅读到这里的时候,即表明已阅读并接受了上述各项条款;
页脚内容123456789101112131415161718192021222324& ...
记一次office无法联网解决方法
登录onedrive显示无法连接服务器解决方法今天更新了一下office三件套,但是更新完之后打开word显示无法连接服务器于是上网搜索后得之可以重置网络。具体操作如下:
Cmd + r :依次输入
123netsh int ip reset c:\resetlog.txtnetsh winsock resetshutdown -r -t 0
命令行解析:
netsh int ip reset c:\resetlog.txt 和 netsh winsock reset为重置网络
shutdown -r -t 0 为0s后重启电脑。
重启电脑后再打开word就可以连上网啦!
设计模式之结构型模式
结构型模式作用
从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题。
分类
适配器模式
代理模式
桥接模式
装饰模式
组合模式
外观模式
享元模式
适配器模式
将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。
角色分析
目标接口:客户所期待的接口,目标可以是具体的或抽象的类,也可以是接口。
需要适配的类:需要适配的类或适配者类。
适配器:通过包装一个需要适配的对象,把原接口转换成目标对象。
优缺点优点
一个对象适配器可以把多个不同的适配者适配到同一个目标
可以适配一个适配者的子类,由于适配器和适配者之间是关联关系,根据“里氏代换原则”,适配者的子类也可以通过该适配器进行适配
缺点
对于Java、C#等不支持多重类继承的语言,一次最多只能适配一个适配者类,不能同时适配多个适配者;
对于Java、C#等语言中,类适配模式中的目标抽象类只能为借口,不能为类,其使用有一定局限性。
适用场景
系统需要使用一些现有的类,而这些类的接口(方法名)不符合系统的需要,甚至没有这些类的源代码。
想创建 ...