adb文件位置: AndroidSdk\platform-tools\adb.exe 模拟进程被杀死命令: adb shell am kill package-name 截图并保存到PC: adb shell /system/bin/screencap -p /sdcard/screenshot.png & adb pull /sdcard/screenshot.png "this/is/target/folder" 模拟屏幕按压: adb shell input swipe 100 100 120 120 1000 打开Android Device Monitor: AndroidSdk\tools\monitor Java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed //codefile:build.grade android { ... aaptOptions { noCompress "tflite" //表示不让aapt压缩的文件后缀 } .
目前该方案只支持 Chrome 和 Firefox 浏览器,通过设置 SSLKEYLOGFILE 环境变量,可以指定浏览器在访问 SSL/TLS 网站时将对应的密钥保存到本地文件中,有了这个日志文件之后 wireshake 就可以将报文进行解密了。 首先设置SSLKEYLOGFILE环境变量,指定文件路径。 配置Wireshake,Edit->Preferences->Protocols->TLS->(pre)-Master-Secret log filename,输入上面配置环境变量的路径。 重启浏览器,进行抓包
//codefile:DateTime.java import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale; public class DateTime implements Comparable<DateTime> { public static DateTime now() { return new DateTime(new Date()); } public static DateTime today() { return DateTime.now().getDate(); } public static DateTime minValue() { return new DateTime(); } public static DateTime maxValue() { return new DateTime(9999, 12,
linking against a dylib which is not safe for use in application extensions 因为app extension限制了某些API的使用, ( App Extensions不能使用的一些API ) ,因此在自定义自己的framework后,这个framework可能包含了某些在App Extensions里不能使用的API,因此为了安全起见才会给出这个警告。 选中自定义framework的target,然后选中Build Settings,(记住选择All,而不是Basic),在过滤框中输入"require only",将Require Only App-Extension-Safe API的值改成YES,(默认为NO),然后Command + K clean一下工程,警告久消除了。 warning: Auto Layout Localization: Leading constraint is missing, which may cause overlapping with other views. 需要多加一条约束左或右间距约束。 'C
Ubuntu下安装 sudo apt-get install mysql-server 登录MYSQL 根用户登录 mysql -u root -p 指定用户名密码登录 mysql --user=user_name --password=your_password 创建用户 CREATE USER 'user_name'@'localhost' IDENTIFIED BY 'password'; CREATE USER 'user_name'@'%' IDENTIFIED BY 'password'; 创建数据库、表 CREATE SCHEMA `database_name`; USE `database_name`; CREATE TABLE `table_name` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `username` varchar(100) NOT NULL, `password` varchar(100) NOT NULL, `createTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, PRI
子命令扩展 $(...)可以扩展成另一个命令的运行结果,该命令的所有输出都会作为返回值。 echo $(date) Tue 30 Nov 2021 05:26:45 CST 上面例子中,$(date)返回date命令的运行结果。 单引号 单引号用于保留字符的字面含义,各种特殊字符在单引号里面,都会变为普通字符,比如星号(*)、美元符号($)、反斜杠(\)等。 由于反斜杠在单引号里面变成了普通字符,所以如果单引号之中,还要使用单引号,不能使用转义,需要在外层的单引号前面加上一个美元符号($),然后再对里层的单引号转义。 echo $'it\'s' 双引号 双引号比单引号宽松,大部分特殊字符在双引号里面,都会失去特殊含义,变成普通字符。 但是,三个特殊字符除外:美元符号($)、反引号(`)和反斜杠(\)。这三个字符在双引号之中,依然有特殊含义,会被 Bash 自动扩展。 反斜杠在双引号之中保持特殊含义,用来转义。所以,可以使用反斜杠,在双引号之中插入双引号,或者插入反斜杠本身。 创建变量 如果变量的值包含空格,则必须将值放在引号中。 var="hello world" Bash 没有数据类型的概念,所有的变量值都
本篇文章只对Swift语言进行大概的认识,其中涉及的内容只包含Swfit语言中较为特殊的特性,并且不容易记忆的部分。 数据类型 Swift提供了几种基本数据类型,整数类型Int,浮点数类型Double和Float,布尔类型Bool,以及字符串类型String。当然,Swift还提供了三种集合类型,数组类型Array,集合类型Set,字典类型Dictionary。 常量及变量定义 Swift中使用关键字let声明常量,使用关键字var声明变量。允许在一行内声明多个常量或变量,使用逗号分隔。 var x = 0.0, y = 0.0, z = 0.0 在声明常量或变量时,允许提供类型标记来指明常量或变量的数据类型。 var welcomeMessage: String 也可以在一行内声明多个相同类型的常量或变量。 var red, green, blue: Double 在声明常量或变量时,若已经提供了初始值,那么Swift能自动推断出数据类型。很多时候是这样的,但是也存在一些情况需要显式地进行类型标记。 可以使用几乎所有的字符(包括Unicode字符)来命名常量或变量,除了空格符、数学符号、箭头、无效的Unic
创建项目 vue create my-project-name 安装路由 安装组件 npm install vue-router@4 配置路由规则、路由模式 //codefile:main.ts import { createRouter, createWebHistory } from 'vue-router' import Home from './components/Home.vue' // 配置路由规则 const routes = [ { path: '/', component: Home }, ] // 创建router,使用HTML5 history模式,并且基路径'base' const router = createRouter({ history: createWebHistory('base'), routes: routes }) // 使用router createApp(App).use(router).mount('#app') 设置路由视图 //codefile:App.vue <template> <!-- 路由视图 --> <router-view></router-v
这是一部教人怎么成为一个领导人的书。 我还不是一个领导人,打算朝着当领导的方向努力。书中强调的学会当领导的7个关键点。 1.设定愿景和关键要务; 2.管理好时间(这点其实无论做什么都重要);3.定时给与反馈和接受反馈,而不仅仅通过年终的KPI指标(目的是让员工成长,和让自己进步); 4.接班规划和工作授权; 5.对于不足,做出相应调整; 6.领导要成为员工典范; 7.想办法发挥潜能,让自己变得强大(这个貌似也是做任何事情,都需要的); 大部分对于我来说,没有太多的感触。 但是第四点较触动心灵。领导人的责任是让别人帮你完成工作,而非执行者,用力在人身上而非事情本身上。学会培养他人,这样,提拔了你,才有人干你的活。 学会授权的话术:XYZ这几件事,完全由你决定,我不参与。而ABC这几件事,向我确认,其他的事情,你可以来问我,也可以自己决定。 其次就是第我五点,怎么知道公司不足,觉得方法挺好。下属一般不会直言领导的不足,如果想知道自己或者公司方面的不足,可以通过这样的方式询问 “如果公司从0开始,你会怎么做?”,员工大多数会针对公司的不足,弊端,说出自己的建议。是真正收取了员工的意见。 最后,第一点的设定愿景,还没
对容器指定flex布局。 .container { display: flex; display: -webkit-flex; /* Safari */ } Webkit 内核的浏览器,必须加上-webkit前缀。 flex-direction 指定容器内项目的主轴排序方向。 row(默认值):水平从左往右。 row-reverse:水平从右往左。 column:垂直从上往下。 column-reverse:垂直从下往上。 flex-wrap 指定容器内项目超出边界换行方式。 nowrap(默认):不换行。 wrap:换行,超出边界的元素换行(下方)排列。 wrap-reverse:换行,超出边界的元素换行(上方)排列。 justify-content 指定容器内的项目主轴方向对齐方式。 flex-start(默认值):左对齐 flex-end:右对齐 center:居中 space-between:两端对齐,项目之间的间隔都相等。 space-around:每个项目两侧的间隔相等。 对齐方式跟flex-direction属性有关。 align-items 指定容器内的项目在交叉轴(与主轴垂直方向)上的对齐方