platform相关知识
-
ionic2源码阅读——使用DI进行注入platform类ionic2是一款优秀的基于angular2.X的前端框架,不仅提供了丰富的前端组件和样式,还借助cordova提供了许多app原生的api。但是这并不是ionic2优秀的主要原因,其优秀的根本原因是:优秀是种习惯,渗透到了骨子里(每行代码里):首先 ionic2有一个设计精良的骨架,借助angular2,ionic搭建了一个高扩展性的基础框架。精致的封装,让开发人员解脱细节的苦,专注于业务。既然很优秀,我们就从源码开始学习ionic2. 本文参考ionic2.0.0的源码,对应的代码可以在码云进行下载。剧透一下,platform类主要是使用angular的factory方法进行依赖注入的。总体如下图:自己画的,不标准在《ionic2运行我们的组件》我们介绍了程序的启动组件是IonicApp这个类,这个类的代码截图如下:ionicapp部分代码截图我们看到了IonicApp这个类的依赖中包含Platform类,我们知道angular在实例化IonicApp时,会首先把其依赖的类进行注入。也就是说Platfo
-
Can't load IA 32-bit .dll on a AMD 64-bit platformCan't load IA 32-bit .dll on a AMD 64-bit platform 解决方法: 替换 \bin 目录下的tcnative-1.dll 为64位的版本 http://files.cnblogs.com/inteliot/tcnative-1.rar 一、http://www.cnblogs.com/weiwcn/archive/2008/03/24/1120079.html 今天看到项目代码里有这条语句,不懂select 1 from XXXXXXX里的1是何意,查了一番才知道: 1、select 1 from mytable;与select anycol(目的表集合中的任意一行) from mytable;与select from mytable 作用上来说是没有差别
-
Web安全之XSS Platform搭建及使用实践一、背景 XSS Platform 是一个非常经典的XSS渗透测试管理系统,原作者在2011年所开发,由于后来长时间没有人维护,导致目前在PHP7环境下无法运行。 笔者最近花了一点时间将源码移植到了PHP7环境中,同时增加安装功能;另外还修复之前的代码的一些不严谨语法的问题,并调整了一些表单的样式,同时将源代码放到GitHub当中,给有需要的同行研究,为了简化安装步骤,特意写一篇文章来帮助大家。 二、操作概要 源码下载 安装配置 攻击测试 三、下载源码 github地址:https://github.com/7877
-
flutter与native通信前言 我们都知道Flutter开发的app是可以同时在iOS和Android系统上运行的。显然Flutter需要有和Native通信的能力。比如说,你的Flutter app要显示手机的电量,而电量只能通过平台的系统Api获取。这时就需要有个机制使得Flutter可以通过某种方式来调用这个系统Api并且获得返回值。那么Flutter是如何做到的呢?答案是Platform Channels。 Platform Channels 消息使用Platform Channels(平台通道)在flutter端和native端进行通信,入下图所示: 上图来自Flutter官网,表明了Platform Channel
platform相关课程
platform相关教程
- 3.3 实现 具体实现 shell 脚本#!/bin/bash# Description: count file scripts# Auth: kaliarch# Email: kaliarch@163.com# function: count file# Date: 2020-03-28 14:00# Version: 1.0# 定义文件扫描目录SCAN_DIR=`echo $PATH |sed 's/:/ /g'`SCAN_CMD=`which md5sum`SCAN_FILE_FAIL="/tmp/scan_$(date +%F%H%m)_fall.txt"SCAN_FILE_BIN="/tmp/scan_$(date +%F%H%m)_bin.txt"scan_fall_disk() { echo "正在全盘扫描,请稍等!文件路径:$SCAN_FILE_FALL" find / -type f ! -path "/proc/*" -exec $SCAN_CMD \{\} \;>> $SCAN_FILE_FAIL 2>/dev/null echo "扫描完成,可利用以下命令后期对文件进行校验" echo "$SCAN_CMD -c $SCAN_FILE_FAIL |grep -v 'OK$'"}scan_bin() { echo "正在扫描$PATH可执行文件,请稍等,文件路径:$SCAN_FILE_BIN" for file in $SCAN_DIR do find $file -type f -exec $SCAN_CMD \{\} \;>> $SCAN_FILE_BIN 2>/dev/null done echo "扫描完成,可利用以下命令后期对文件进行校验" echo "$SCAN_CMD -c $SCAN_FILE_BIN |grep -v 'OK$'"}clearecho "##########################################"echo "# #"echo "# 利用md5sum对文件进行校验 #"echo "# #"echo "##########################################"echo "1: 全盘扫描"echo "2: bin path扫描"echo "3: EXIT"# 选择扫描方式read -p "Please input your choice:" methodcase $method in 1) scan_fall_disk;;2) scan_bin;;3) echo "you choce channel!" && exit 1;;*) echo "input Error! Place input{1|2|3}" && exit 0;;esac测试[root@xuel-terraform-cvm-0 ~]# bash file_scan.sh########################################### ## 利用md5sum对文件进行校验 ## ###########################################1: 全盘扫描2: bin path扫描3: EXITPlease input your choice:2正在扫描/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin可执行文件,请稍等,文件路径:/tmp/scan_2020-03-271703_bin.txt扫描完成,可利用以下命令后期对文件进行校验/usr/bin/md5sum -c /tmp/scan_2020-03-271703_bin.txt |grep -v 'OK$'[root@xuel-terraform-cvm-0 ~]# /usr/bin/md5sum -c /tmp/scan_2020-03-271703_bin.txt |grep -v 'OK$'/sbin/mii-tool: 确定/sbin/wipefs: 确定/sbin/blkdiscard: 确定/sbin/rtmon: 确定/sbin/shutdown: 确定/sbin/aureport: 确定/sbin/plymouthd: 确定/sbin/udevd: 确定/sbin/lvmetad: 确定/sbin/e2undo: 确定...当我们输入数字 2 的时候即对 bin 路径执行扫描,扫描完成后会生成对应的扫描文件,可以执行 /usr/bin/md5sum -c /tmp/scan_2020-03-271703_bin.txt |grep -v 'OK$' 来进行后期文件校验。[root@xuel-terraform-cvm-0 ~]# bash file_scan.sh########################################### ## 利用md5sum对文件进行校验 ## ###########################################1: 全盘扫描2: bin path扫描3: EXITPlease input your choice:3you choce channel!当输入 3 程序退出,在此就是使用 case 来完成。[root@xuel-terraform-cvm-0 ~]# bash file_scan.sh########################################### ## 利用md5sum对文件进行校验 ## ###########################################1: 全盘扫描2: bin path扫描3: EXITPlease input your choice:1正在全盘扫描,请稍等!文件路径:扫描完成,可利用以下命令后期对文件进行校验/usr/bin/md5sum -c /tmp/scan_2020-03-271703_fall.txt |grep -v 'OK$'[root@xuel-terraform-cvm-0 ~]# /usr/bin/md5sum -c /tmp/scan_2020-03-271703_fall.txt |grep -v 'OK$' |more/sys/devices/platform/uevent: 确定/sys/devices/platform/power/control: 确定/sys/devices/platform/power/wakeup: 确定/sys/devices/platform/pcspkr/uevent: 确定/sys/devices/platform/pcspkr/modalias: 确定/sys/devices/platform/pcspkr/power/control: 确定/sys/devices/platform/pcspkr/power/wakeup: 确定/sys/devices/platform/platform-framebuffer.0/uevent: 确定/sys/devices/platform/platform-framebuffer.0/modalias: 确定/sys/devices/platform/platform-framebuffer.0/power/control: 确定/sys/devices/platform/platform-framebuffer.0/power/wakeup: 确定/sys/devices/platform/serial8250/uevent: 确定/sys/devices/platform/serial8250/modalias: 确定/sys/devices/platform/serial8250/power/control: 确定/sys/devices/platform/serial8250/power/wakeup: 确定/sys/devices/platform/serial8250/tty/ttyS1/uevent: 确定/sys/devices/platform/serial8250/tty/ttyS1/dev: 确定/sys/devices/platform/serial8250/tty/ttyS1/power/cont
- 1. Java 的历史 1995 年 5 月 23 日,Sun Microsystems 公司宣布 Java 语言诞生, 当时使用 Java 的总人数还不到 30 人,可能包括 Java 语言之父詹姆斯·高斯林在内的大多数联合创始人都无法预想,Java 在未来的二十年间,居然会给互联网乃至我们的生活带来如此深远的影响。目前 Java 提供以下三个版本:Java Platform, Enterprise Edition(Java EE:Java 平台企业版);Java Platform, Standard Edition(Java SE:Java 平台标准版);Java Platform, Micro Edition(Java ME:Java 平台微型版)。2006 年,SUN 公司在 JavaOne 大会上,宣布在 GNU 通用公共协议(GPL)的构架下向开源世界贡献 Java 平台,这次开放的 Java 版本包括了其标准版(Standard)、微型版(Micro)以及企业版(Enterprise)。这是一个具有 “历史性意义” 的改变。
- 3.2 在运行期判断 运行期判断是指代码已经编译到发行包里面,所以我们还是需要来判断当前是在哪个平台上面运行。这个时候可以使用 uni.getSystemInfoSync().platform 方法来判断当前的平台是Android,iOS还是小程序开发工具。在百度小程序开发工具、微信小程序开发工具、支付宝小程序开发工具中使用 uni.getSystemInfoSync().platform 返回值都是 devtools,所以我们只能知道当前是小程序开发工具,不能继续往下细分了。实例:switch(uni.getSystemInfoSync().platform){ case 'android': console.log('运行在Android平台上面') break; case 'ios': console.log('运行在iOS平台上面') break; default: console.log('运行在开发者工具上面') break;}
- 3.3 自定义平台 如果我们还有其他的开发需求,比如微信服务号开发,uni-app 中没有对应的平台,我们就可以自定义一个,在 package.json 文件中增加 uni-app 扩展节点。实例: "uni-app": { "scripts": { "wx-platform": { //自定义编译平台配置,可通过cli方式调用 "title":"微信服务号", // 自定义平台名称,在HBuilderX中会显示在 运行/发行 菜单中 "env": {//环境变量 "UNI_PLATFORM": "mp-weixin" //基准平台,仅限:h5、mp-weixin、mp-alipay、mp-baidu、mp-toutiao、mp-qq }, "define": { //自定义条件编译 "WX-PLATFORM": true //自定义条件编译常量,建议为大写 } } } }Tips:通过 HBuilderX 可视化界面创建的项目一般是没有 package.json 文件的。通过vue-cli命令行方式创建的项目默认有 package.json 文件;package.json文件中不允许出现注释,否则扩展配置无效,所以我们配置时需要将所有注释都删掉;使用自定义平台功能,vue-cli需更新到最新版,HBuilderX需升级到 2.1.6+ 版本。使用自定义平台实例:// #ifdef WX-PLATFORM console.log("微信服务号平台特有代码")// #endif
- 4.3 运行uni-app npm run dev:%PLATFORM%%PLATFORM% 可取值如下:值平台5天H5支付宝支付宝小程序mp-百度百度小程序mp-微信微信小程序头条字节跳动小程序mp-qqqq小程序Tips:dev 模式编译出的各平台代码存放于根目录下的 /dist/dev/ 目录,打开各平台开发工具选择对应的平台目录即可进行预览(h5 平台不会在此目录,存在于缓存中);build 模式编译出的各平台代码存放于根目录下的 /dist/build/ 目录,发布时选择此目录进行发布;dev 和 build 模式的区别:dev 模式有 SourceMap 可以方便的进行断点调试;build 模式进行代码进行压缩,体积更小更适合发布为正式版应用;进行环境判断时,dev 模式 process.env.NODE_ENV 的转换开发,构建模式 process.env.NODE_ENV 的转换生产。
- 3.4 平台标识 也就是%PLATFORM% 可取值如下:值平台APP-PLUS5+AppH5H5MP-WEIXIN微信小程序MP-ALIPAY支付宝小程序MP-BAIDU百度小程序MP-TOUTIAO头条小程序MP-QQQQ小程序MP微信小程序/支付宝小程序/百度小程序/头条小程序/QQ小程序
platform相关搜索
-
pack
package
package文件
padding
pages
page对象
panda
panel
panel控件
param
parameter
parcel
parent
parentnode
parents
parse
parse error
parseint
partition
pascal