首页 文章 精选 留言 我的

精选列表

搜索[计费相关],共10000篇文章
优秀的个人博客,低调大师

spring-boot-plus V1.2.3 发布,新增 CentOS 相关脚本

[V1.2.3-RELEASE] 2019.09.09💻 spring-boot-plusV1.2.3发布,CentOS快速安装环境/构建/部署/启动项目 ⭐️New Features 项目运行环境安装脚本 CentOS快速构建/部署/启动项目脚本 ⚡️Optimization 优化maven-assembly-plugin项目打包插件 📝Added/Modified Addinstall-jdk.shyum安装jdk8脚本 Addinstall-git.shyum安装git脚本 Addinstall-maven.shyum安装maven脚本 Addinstall-redis.shyum安装redis脚本 Addinstall-mysql.shyum安装mysql脚本 Addinstall-all.sh安装所有环境脚本 Adddownload-install-all.sh下载并安装所有环境脚本 Adddeploy.sh下载项目/构建/部署/启动项目脚本 Addmaven-javadoc-pluginjava api docs 📔Documentation CentOS Quick Installation Environment / Build / Deploy / Launch Spring-boot-plus Project spring-boot-plus java docs 🔨Dependency Upgrades Upgrade tospringboot2.1.8.RELEASE Upgrade toMybatis3.5.2 Upgrade toMybatis Plus3.2.0 Upgrade toAlibaba Druid1.1.20 Upgrade toFastjson1.2.60 Upgrade tocommons-codec1.13 Upgrade tocommons-collections4.4 Upgrade tohutool-all4.6.4 CentOS Quick Installation Environment / Build / Deploy / Launch Spring-boot-plus Project 1. Download the installation script Installjdk,git,maven,redis,mysql wget -O download-install-all.sh https://raw.githubusercontent.com/geekidea/spring-boot-plus/master/docs/bin/install/download-install-all.sh 2. Run the installation script sh download-install-all.sh 3. Modify MySQL password ALTER USER 'root'@'localhost' IDENTIFIED BY 'Springbootplus666!'; exit mysql -uroot -pSpringbootplus666! 4. Import MySQL scripts create database if not exists spring_boot_plus character set utf8mb4; use spring_boot_plus; source /root/mysql_spring_boot_plus.sql; show tables; exit 5. Download deployment scriptdeploy.sh wget -O deploy.sh https://raw.githubusercontent.com/geekidea/spring-boot-plus/master/deploy/deploy.sh 6. Execution script sh deploy.sh 7.Access project SpringBootAdmin Management page http://47.105.159.10:8888 spring-boot-plus Swagger Document page http://47.105.159.10:8888/docs 8. View project run log tail -f -n 1000 /root/spring-boot-plus-server/logs/spring-boot-plus.log

优秀的个人博客,低调大师

安卓日常开发记录-键盘的相关处理方式

点击EditText之外隐藏键盘的实现方式 重写事件分发dispatchTouchEvent,注意不要在onTouchEvent中操作,因为onTouchEvent并非任何情况下都会被调用。通过计算EditText在布局中的位置,进行键盘的显示和隐藏处理 /** * 点击区域在输入框之外都隐藏掉键盘 * @param ev * @return */ @Override public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { View v = getCurrentFocus(); if (isShouldHideInput(v, ev)) { hideSoftKeyboard(v); } return super.dispatchTouchEvent(ev); } // 必不可少,否则所有的组件都不会有TouchEvent了 if (getWindow().superDispatchTouchEvent(ev)) { return true; } return onTouchEvent(ev); } public boolean isShouldHideInput(View v, MotionEvent event) { if (v != null && (v instanceof EditText)) { int[] leftTop = { 0, 0 }; //获取输入框当前的location位置 v.getLocationInWindow(leftTop); int left = leftTop[0]; int top = leftTop[1]; int bottom = top + v.getHeight(); int right = left + v.getWidth(); if (event.getX() > left && event.getX() < right && event.getY() > top && event.getY() < bottom) { // 点击的是输入框区域,保留点击EditText的事件 return false; } else { return true; } } return false; } 监听键盘弹起和隐藏的方式 自定义一个view,因为项目中用的LinearLayout,所以以这个布局为例,将其作为根布局,通过布局的高度判断键盘的隐藏和显示,通过接口将结果回调出去 需要在AndroidManifest中配置键盘属性 android:windowSoftInputMode="adjustUnspecified|stateHidden" android:windowSoftInputMode="adjustResize|stateHidden" 经过测试上边两种配置都可以实现,但是下边这种不行,具体原因,你可以去看看 adjustUnspecified adjustResize adjustPan的区别 android:windowSoftInputMode="adjustPan|stateHidden" package com.anjuke.library.uicomponent.view; import android.content.Context; import android.util.AttributeSet; import android.widget.LinearLayout; /** * Author: renzhenming * Time: 2018/8/11 16:58 * Email: renzhenming@58ganji.com * Version:12.3 * Description: 用于监听键盘的隐藏和出现 */ public class AjkAdjustSizeLinearLayout extends LinearLayout { public AjkAdjustSizeLinearLayout(Context context) { super(context); } public AjkAdjustSizeLinearLayout(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public AjkAdjustSizeLinearLayout(Context context, AttributeSet attrs) { super(context, attrs); } private int mChangeSize = 200; /** * 键盘弹起时,布局的高度因为受到挤压,会变小,所以新的高度h减去旧的高度oldh会得到一个负数 * 这个负数的绝对值等于键盘的高度,而且基本可以确定的是键盘的高度一定是大于200的,所以满足 * (oldw != 0 && h - oldh < -mChangeSize)就可以当做键盘弹起 * * 键盘收起时,布局高度恢复到最初,新的高度h减去oldh得到一个正数,这个数值正好就是键盘的高度 * 所以满足(oldw != 0 && h - oldh > mChangeSize)时,可以看做是键盘收起 * @param w * @param h * @param oldw * @param oldh */ @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); if (oldw == 0 || oldh == 0) return; if (boardListener != null) { if (oldw != 0 && h - oldh < -mChangeSize) { boardListener.keyBoardVisible(Math.abs(h - oldh)); } if (oldw != 0 && h - oldh > mChangeSize) { boardListener.keyBoardInvisible(Math.abs(h - oldh)); } } } public interface SoftKeyBoardListener { void keyBoardVisible(int move); void keyBoardInvisible(int move); } SoftKeyBoardListener boardListener; public void setSoftKeyBoardListener(SoftKeyBoardListener boardListener) { this.boardListener = boardListener; } }

优秀的个人博客,低调大师

区块链小知识:跨链协议的相关定义介绍

【大咖・来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 1、跨链技术/ Cross-Chain 跨链技术是实现区块链之间互联互通的技术,若对标互联网则可理解为“去中心化网络 的结合”,区块链技术的特性使得跨链技术的落地,以及对于链外信息的获取都非常困 难,早期跨链技术包括以 Interledger Protocal 和 BTC Relay 为代表,更多是关注资产 的转移;现有跨链技术以 Aion、Kyber Network、Bletchley、Polkadot、Cosmos 主要 着重的是跨链基础设施。“如果说共识机制是区块链的灵魂核心,那么对于区块链特别是联盟链及私链来看,跨链技术就是实现价值网络的关键,它是把联盟链从分散单独的 孤岛中拯救出来的良药,是区块链向外拓展和连接的桥梁。 2、原子互换/ Atomic Swap 原子互换是一种正在开发中的去中心化、无需第三方的新技术,允许在不同类型的数字 资产之间实现无需信任的点对点交易,任何一方在瞬间完成的点对点交易中都遵守协 议,且之后若有一方退出,资金会在规定的时间返回各方账户。 3、见证人机制/ Notary Schemes 见证人模式是一种中心化的结构,通过选定一批见证人并在见证人之间采用拜占庭容 错结构,监听目标链上的事件和状态并签名进行资产的转移,如 Ripple 的 Interledger Protocal 的早期版本。 4、侧链协议/ Sidechain Protocol 侧链协议是一种实现双向锚定(Two-way Peg)的协议,通过侧链协议实现资产在主链 和其它链之间互相转换,或是以独立的、隔离系统的形式,降低核心区块链上发生交易 的次数。 5、楔入式侧链技术/ Pegged Sidechain 它将实现比特币和其他数字资产在多个区块链间的转移,这就意味着用户们在使用他们 已有资产的情况下,可以访问新的加密货币系统。 6、中继技术/ Relays 中继技术是通过在两个链中加入一个数据结构,使得两个链可以通过该数据结构进行数 据交互,并通过在一个链上调用数据结构的 API,实现监听并验证另一个链上的交易, 而若该数据结构是一个链式结构,则具备侧链的形式并称作中继链。 7、哈希时间锁定合约/ Hashed TimeLock Contract / HTLC 哈希时间锁定合约包含哈希锁定(Hashlock)以及时间锁定(Timelock)两个部分,哈 希时间锁定合约最典型的代表就是比特币的闪电网络,闪电网络提供一个可扩展的微支 付通,用以提升链外的交易处理能力,使用哈希锁定将发起方的交易代币进行锁定,并 通过时间锁定让接收方在某个约定的时刻前生成支付的密码学证明,并与先前约定的哈 希值一致,则可完成交易。

优秀的个人博客,低调大师

用Python做爬虫时相关tips的参考文章集锦(refreshing)

1.Python 3.x中的urllib的改动 2.Python的hasattr() getattr() setattr() 函数使用方法详解 3.正则表达式 re.findall 用法 注意: 用$符号表示以html结尾的字符串返回,判断是否字符串结束的字符串 只有字符串能匹配模板定义,才会返回模板,否则返回空list(多少一个字母也不行) 符号^表示匹配以https开头的的字符串返回, 道理相似,注意more0例子跟more的区别 4.'module' object is not callable 模块名和函数名一样了,负责调用的代码解析的是模块名,不是函数名,因而发生错误。 5.cannot use a string pattern on a bytes-like object 加上object=object.decode('utf-8')#python3这句代码 6.itertools无限迭代器

优秀的个人博客,低调大师

Android:UI设置-横竖屏转换、输入法键盘相关设置

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 public class MainActivity extends Activity { /** * 配置xml:横竖屏转换 * android:screenOrientation="portrait" //竖屏 * android:configChanges="keyboardHidden|orientation" //复用,避免销毁activity * * 输入法配置: * android:windowSoftInputMode="adjustPan" * android:windowSoftInputMode="adjustResize" */ @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.e( "onCreate" , "onCreate" ); } @Override protected void onDestroy() { super .onDestroy(); Log.e( "onDestroy" , "onDestroy" ); } @Override //换屏保存的方法 protected void onSaveInstanceState(Bundle outState) { super .onSaveInstanceState(outState); Log.e( "onSaveInstanceState" , "onSaveInstanceState" ); } @Override //换屏保存的方法 protected void onRestoreInstanceState(Bundle savedInstanceState) { super .onRestoreInstanceState(savedInstanceState); Log.e( "onRestoreInstanceState" , "onRestoreInstanceState" ); } @Override //监测屏幕转换 public void onConfigurationChanged(Configuration newConfig) { super .onConfigurationChanged(newConfig); Log.e( "onConfigurationChanged" , "onConfigurationChanged:" +newConfig.orientation); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true ; } } 其他: 1.如果是popwindow中的输入框,要如下设置才有效 "android:windowSoftInputMode="stateVisible|adjustResize|stateAlwaysHidden" 本文转自 glblong 51CTO博客,原文链接:http://blog.51cto.com/glblong/1217555,如需转载请自行联系原作者

优秀的个人博客,低调大师

农业物联网拥有四大优势 相关运用路径浅谈

农业物联网,即在大棚控制系统中,运用物联网系统的温度传感器、湿度传感器、PH值传感器、光传感器、CO2传感器等设备,检测环境中的温度、相对湿度、PH值、光照强度、土壤养分、CO2浓度等物理量参数,通过各种仪器仪表实时显示或作为自动控制的参变量参与到自动控制中,保证农作物有一个良好的、适宜的生长环境。远程控制的实现使技术人员在办公室就能对多个大棚的环境进行监测控制。采用无线网络来测量获得作物生长的最佳条件,可以为温室精准调控提供科学依据,达到增产、改善品质、调节生长周期、提高经济效益的目的。 发展农业物联网具有以下几点意义:1、物联网是推进信息化与农业现代化交融的主要切入点;2、农业物联网是推进中国精密农业运用于实习的主要驱动力;3、农业物联网是农业信息化运用优先发展的范畴;4、农业物联网将变成将来农业经济社会发展的主要方向。 发展农业物联网的优势 1、科学栽培:经过传感器数据剖析可断定土壤适合栽培的作物种类,经过气候环境传感器能够实时收集作物成长环境数据。 2、精准操控:经过布置的各种传感器,体系迅速依照作物成长的请求对栽培基地的温湿度、二氧化碳浓度、光照强度等进行调控。 3、进步功率:与传统农业栽培方法不一样,物联网农业栽培方法根本完成体系主动化智能化和长途化.比手工栽培模式更精准更高效。 4、绿色农业:传统农业很难将栽培过程中的一切监测数据完好记录下来,而物联网农业可经过各种监控传感器和网路体系将一切监控数据保存,便于农商品的追根溯源,完成农业出产的绿色无公害化。 大田栽培物联网 大田栽培监控体系的主要组成部分 1、数据收集 (1)地上信息收集:运用温湿度、光照、雨量、风速、风向、气压等传感器收集地上气候信息。当气候信息超出正常值可及时采纳办法,减轻自然灾害带来的损失。 (2)地下信息收集:运用土壤温度、水分、水位、营养含量(N、P、K)、溶氧、PH值等信息监测,实现合理灌溉,根绝水源糟蹋和很多灌溉导致的土壤营养丢失。 2、智能操控 托普仪器创新的将物联网、云核算等信息技能与水肥一体化技能进行有机联系,真正完成土地可视化数据直接操控水肥一体化设备,完成精准农业。 3、软件渠道 托普农业物联网软件渠道不仅仅一个操作渠道,而是一个巨大的办理体系,大田栽培监测预警体系经过GPRS传输方法将田间的数据传输到监控与预警基地,处理了空间与时间的难题。体系软件渠道可将各个收集节点所收集的数据进行收拾剖析以表格、曲线图、柱状图的方法展示和存储。便利用户随时检查和堆集栽培经历。 设备农业物联网 在温室环境里,单栋温室可利用物联网技能,选用不一样的传感器节点和具有简略执行机构的节点(风机、低压电机、阀门等工作电流偏低的执行机构)构成无线网络来测量土壤湿度、土壤成分、pH值、降水量、温度、空气湿度和气压、光照强度、CO2浓度等来取得作物成长的最好条件,经过模型剖析、主动调控温室环境、操控灌溉和上肥工作,然后取得植物成长的最好条件。 关于温室成片的农业园区,经过接收无线传感会聚节点发来的数据,进行存储、显现和数据办理,可完成一切基地测试点信息的获取、办理和剖析处理,并以直观的图表和曲线方法显现给各个温室的用户,一起依据栽培植物的需求提供各种声光报警信息和短信报警信息,完成温室集约化、网络化长途办理。此外,物联网技能可运用到温室出产的不一样期间,把不一样期间植物的体现和环境因子进行剖析,反应到下一轮的出产中,然后完成更精准的办理,取得更优异的商品。 农业物联网温室栽培办理的主要组成部分: 1、数据收集 经过物联网体系可衔接传感器收集土壤温度、湿度、营养含量(N、P、K)、PH值、降水量、空气温湿度、气压、光照强度等来取得作物成长的最好条件,并依据参数改变实时调控或主动操控温控体系、灌溉体系等; 2、智能操控 经过无线传输,衔接操控室与操控柜,操作操控室内中控台,即可一键式操控温室大棚内的风机、外遮阳、内遮阳、喷滴灌、侧窗、湿帘或大田内的水肥喷灌等,完成长途化办理。 3、软件渠道 农业物联网软件渠道并不仅仅一个操作渠道,而是一个巨大的办理体系,是用户在完成农业运营中运用的有形和无形相联系的操控体系。 农商品质量安全追溯体系 农商品质量追溯体系,完成“从农田到餐桌”的全程可追溯信息化办理。该体系是区域农商品质量安全信息一致发布和查询渠道,依据农商品“一物一码”标准,消费者能够经过短信、电话、POS机、网上查询、智能手机扫描二维码、条形码等查询方法,准确了解农商品从出产、加工、物流、仓储、出售等全过程的信息,选择定心商品。 农业物联网与畜禽饲养 畜禽饲养办理体系经过智能传感器在线收集畜禽舍饲养实时环境参数,并依据收集数据剖析成果,长途操控相应设备,使畜禽舍饲养环境到达最好情况,完成安全出产、科学办理、削减病害、降支增收的方针。 农业物联网与水产饲养 农业物联网工程集成智能水质传感器、无线传感网、无线通信、智能办理体系和视频监控体系等专业技能,对饲养环境、水质、鱼类成长情况等进行全方位监测办理,到达省电、增产增收的方针。 作者:何妍 来源:51CTO

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册