面包屑思维模型实战模型错题集结构手册流程手册自我检测专题模块

  • 微信小程序前端
    微信小程序前端易错点收集
    查看
  • css/less/sass样式控制
    在开发过程中的一些样式控制bug规避
    查看
  • tp5开发小程序
    tp5开发小程序时错误积累
    查看
  • PHP错题集
    PHP在实际开发过程中遇到的问题
    查看
  • MySql数据库
    使用MySql在实际开发中遇到的错误总结
    查看
  • TP5错题集
    积累tp5框架在实际开发过程中遇到的问题
    查看
  • uni-app爬坑
    主要用于uni-app项目中遇到的一些问题
    查看
  • Vue.js易错收集
    vue.js项目常见错误收集整理
    查看
  • uni-app开发微信小程序
    uni-app开发微信小程序的一些爬坑积累
    查看
  • Linux
    Linux在部署、开发、运维时遇见的错误积累
    查看
  • 安全设计
    常见安全设计
    查看
  • Redis
    项目中使用redis的相关错误积累
    查看
  • 前端特效
    前端特效相关错题集
    查看
more

最新博文

  • 选择CDN的注意点

    计算机网络

    选择CDN注意两个方面考虑

    (1)攻防层面

    (2)经济层面

    攻防层面主要是看高防能力,还有就是攻击cdn致流量过高产生的费用,不建议使用阿里云的cdn,因为其没有设置阀值,cdn被攻击后会造成费用伤害。



    风口下的猪2022-05-01计算机网络

    阅读更多
  • cdn的好处

    计算机网络

    cdn的主要好处是

    (1)各地隐藏加速;

    (2)隐藏服务器IP,减少被入侵的风险;

    (3)增加网站并发能力;

    (4)一些高防CDN具有防御流量攻击(ddoc、cc)的能力

    风口下的猪2022-05-01计算机网络

    阅读更多
  • CDN回源流量

    计算机网络

    cdn没有换成用户的请求内容,就会去网站获取内容,即cdn访问源站或cos获取内容的过程,就是回源。

    一般主流cdn厂商,针对回源流量是不收费的,只是针对cdn的下行流量收费。

    风口下的猪2022-05-01计算机网络

    阅读更多
  • CDN和对象存储

    计算机网络

    CDN是内容分发,强调调度,和DNS解析过程关联。而对象存储是资源存储的物理地址。

    目前市面上腾讯云、阿里云、七牛云、百度云,都将两者捆绑,使其调度性能和安全攻防得到提升。但实际项目中,要考虑项目的成本cdn和对象存储结合,一般是双重收费




    风口下的猪2022-05-01计算机网络

    阅读更多
  • plus.install安装失败的解决方案

    uni-app

    1、首先检查权限问题

    "<uses-permission android:name=\"android.permission.INSTALL_PACKAGES\"/>",
    "<uses-permission android:name=\"android.permission.REQUEST_INSTALL_PACKAGES\"/>",
    另外在manifest.json权限配置中,勾选install相关选项

    HBuilder2.6.3+开始Goog Play渠道默认不再添加此权限,因为GooglePlay审核规则禁止应用下载apk更新,必须通过上传GooglePlay审核更新
    安装apk需要的权限,应用中使用plus.runtime.install升级应用则需要此权限

    2、尝试修改配置manifest.json将targetSdkVersion改为26或更高 最高建议28
    "minSdkVersion" : "19",
    "targetSdkVersion" : "26"

    3、放弃使用uni.downloadFile下载安装包

    使用uniapp的 uni.downloadFile 下载。虽然也下载成功了,也返回了链接。但就是plus.runtime.install(res.tempFilePath)安装不上。

    可以换成5+API的plus.downloader.createDownload()下载。



    风口下的猪2022-04-27uni-app

    阅读更多
  • uniapp wgt安装失败的原因

    uni-app

    wgt安装失败的原因主要有

    (1)wgt生成是对软件兼容\系统\权限等参数做了修改,即实际上主版本发生了变化,却拿个更新包去安装。

    (2)app生成时,没有相关install权限;

    (3)app生成时,安卓兼容版本太低;


    风口下的猪2022-04-27uni-app

    阅读更多
  • 软件版本更新的一些梳理

    uni-app

    软件版本更新,主要是为了在生产环境中,实现对软件的迭代升级,不断优化。


    一.软件版本号

    一般软件版本号是三段式,0.0.0 (X.Y.Z)

    第一位表示主版本号(Major),当 APP的兼容性变化时,X 需递增。

    第二位表示次版本号(Minor),当增加功能时(不影响 APP的兼容性),Y 需递增。

    第三位表示修订号(Patch),当做 Bug 修复时(不影响 APP的兼容性),Z 需递增

    实际项目中最后对每次版本更新的内容、版本号做个记录


    二.冷更新和热更新

    1.冷更新

    (a)冷更新一般是主版本更新,软件改动很多,对软件权限/系统支持/配置/兼容等参数进行了一些修改,此时就需要冷更新;

    (b)冷更新是下载新的apk按照包,执行安装;

    2.热更新

    (a)热更新则主要是功能增加、bug修复等;

    (b)热更新是下载wgt补丁,进行补充修改


    三.更新流程

    更新流程主要包含新老版本检测对比提示更新、客户确定更新后执行下载apk或wgt、下载完成后执行安装、安装完成后重启


    1.新老版本检测对比提示更新

    (a)新版本数据包含  最新版本号apk/wgt下载地址新版本更新内容说明 这三个要素;

    (b)新版本数据通过网络接口获取,实际项目中,每个软件实例在开启进程时便要对比新老版本号,即新版本数据读取的接口很频繁。建议采用redis;

    (c)老版本数据通过本地读取,读取软件系统信息从而获得版本号;

    (d)一般软件项目首页通过模态框显示是否需要软件版本更新


    2.分型执行下载

    (a)如有更新,模态框提示有更新。但执行更新需要用户点击(小技巧:不给模态框设计关闭交互,用户只能执行更新);

    (b)如果新老版本是主版本差异,则将用户引导到apk下载地址进行下载安装;

    (c)如果是热更新,则强制下载wgt,下载过程中监听进度,并将进度显示给用户;

    (d)下载完成后提示下载完毕


    3.下载完成后执行安装

    (a)提示下载完毕后一秒钟的timeout,执行安装;

    (b)wgt一般不大,所以安装过程中不用监听进度。只需改变文本为“下载完毕,正在安装中...”即可;


    4.安装完成后重启

    (a)安装完成后给一个500ms的安装成功提醒显示,然后timeout执行重启


    四.例子

    /*获取版本*/
    getVersion(){
    var that=this;
    this.$safe('system.getVersionNew',{},'cid','channel').then((res)=>{
    if(res.statusCode==200){
    that.varsionData=res.data;
    plus.runtime.getProperty(plus.runtime.appid,(info)=>{
    var currentVersions=info.version.split('.');
    var resultVersions=res.data.version_num.split('.');
    if(currentVersions[0]<resultVersions[0]){
    that.show=true;
    }else{
    if(currentVersions[1]!=resultVersions[1]||currentVersions[2]!=resultVersions[2]){
    that.show=true;
    }
    }
    });
    }
    });
    },
    /*版本更新*/
    update(){
    var that=this;
    if(this.varsionData){
    plus.runtime.getProperty(plus.runtime.appid,(info)=>{
    var currentVersions=info.version.split('.');
    var resultVersions=that.varsionData.version_num.split('.');
    if(currentVersions[0]<resultVersions[0]){
    //大版本冷更新apk
    if(plus.os.name=='Android'){
    plus.runtime.openURL(that.varsionData.path);
    }
    }else{
    //小版本热更新wgt包
    if(currentVersions[1]!=resultVersions[1]||currentVersions[2]!=resultVersions[2]){
    var dtask=plus.downloader.createDownload(that.varsionData.path,{method:"GET"},(d,status)=>{
    if(status==200){
    that.loadOver=true;
    that.title="下载完成";
    that.notice="准备完成,等待安装...";
    plus.runtime.install(d.filename,{force:true},()=>{
    that.title="安装完成";
    that.notice="安装完成,准备重启...";
    setTimeout(() => {
    that.installOver=true;
    plus.runtime.restart();
    },1000);
    }
    ,(e)=>{
    uni.showToast({
    icon:"error",
    title:"安装失败"
    });
    setTimeout(() => {
    that.show=false;
    },1000);
    });
    }else{
    uni.showToast({
    icon:"error",
    title:"下载失败"
    });
    setTimeout(() => {
    that.show=false;
    },1000);
    }
    });
    // 下载任务状态变化事件,计算进度条数值
    dtask.addEventListener('statechanged',(task)=>{
    if(task.state==3){
    let progress=dtask.downloadedSize/dtask.totalSize*100;
    that.progress=Math.trunc(progress);
    }
    });
    dtask.start();
    }
    }
    });
    }
    }




    风口下的猪2022-04-27uni-app

    阅读更多
  • uni-app HBuilder X 云打包:证书文件不是有效地keystore文件

    uni-app

    使用官网提供的命令生成证书

    keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
    在云打包时会提示证书文件不是有效地keystore文件



    解决方法


    第一步:生成正常证书(非官方命令,有差异,看下面)

    keytool -genkey -alias testalias -keyalg RSA -sigalg SHA1WithRSA -validity 20000 -keysize 1024 -keystore test.keystore -v

    差异:

    -sigalg SHA1WithRSA

    -keysize 1024


    第二步:更改秘钥库类型

    keytool -importkeystore -srckeystore ./test.keystore -destkeystore ./test.keystore -deststoretype JKS

    到这里,就可以使用新生成的证书进行云打包了




    导致这个问题的原因


    签名算法名称: SHA1withRSA

    主体公共密钥算法:1024 位 RSA 密钥

    密钥库类型:JKS




    风口下的猪2022-04-27uni-app

    阅读更多
  • JDK或JRE生成安卓APP证书

    uni-app

    Android平台打包发布apk应用,需要使用数字证书(.keystore文件)进行签名,用于表明开发者身份。

    Android证书的生成是自助和免费的,不需要审批或付费。

    可以使用JRE环境中的keytool命令生成。以下是windows平台生成证书的方法:


    一.找到JDK目录或JRE目录(当然要配置环境变量path),在该目录下执行cmd操作

    执行keytool命令

    keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore

    testalias是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字

    test.keystore是证书文件名称,可修改为自己想设置的文件名称,也可以指定完整文件路径

    36500是证书的有效期,表示100年有效期,单位天,建议时间设置长一点,避免证书过期


    根据提示一步步执行即可

    Enter keystore password:  //输入证书文件密码,输入完成回车  
    Re-enter new password:   //再次输入证书文件密码,输入完成回车  
    What is your first and last name?  
      [Unknown]:  //输入名字和姓氏,输入完成回车  
    What is the name of your organizational unit?  
      [Unknown]:  //输入组织单位名称,输入完成回车  
    What is the name of your organization?  
      [Unknown]:  //输入组织名称,输入完成回车  
    What is the name of your City or Locality?  
      [Unknown]:  //输入城市或区域名称,输入完成回车  
    What is the name of your State or Province?  
      [Unknown]:  //输入省/市/自治区名称,输入完成回车  
    What is the two-letter country code for this unit?  
      [Unknown]:  //输入国家/地区代号(两个字母),中国为CN,输入完成回车  
    Is CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=XX correct?  
      [no]:  //确认上面输入的内容是否正确,输入y,回车  
    Enter key password for <testalias>  

            (RETURN if same as keystore password):  //确认证书密码与证书文件密码一样(HBuilder|HBuilderX要求这两个密码一致),直接回车就可以



    风口下的猪2022-04-27uni-app

    阅读更多
  • Module 'fileinfo' already loaded in Unknown on line 0

    Linux

    定时任务今天突然报错,“Module ‘fileinfo’ already loaded in Unknown on line 0”翻译了一下,就是php两次加载了“fileinfo”。直接上图解决,原因就不说了。
    我这是linux内核 :find / -name php.ini


    找到php配置文件php.ini

    将extension = /www/server/php/73/lib/php/extensions/no-debug-non-zts-20180731/fileinfo.so注释掉



    风口下的猪2022-04-18Linux

    阅读更多
  • workerman 进程守护

    socket

    在window的cmd或者linux的ssh中执行socket-server开启命令

    php think worker:server

    退出cmd或者ssh都会让socket进程断开。要想进程守护,在指令后加 -d

    php think worker:server -d




    风口下的猪2022-04-14socket

    阅读更多
  • 软件开发
  • 素质要求
  • 计算机基础
  • 架构
  • 安全
  • 性能
  • 运维
  • 尾页
  • 数据库
  • 开发终端
  • 语言基础
  • 项目管理
  • 产品设计
  • 系统
  • 工作规范
  • 计算机网络
  • 前端技术栈
  • 数据结构
  • 计算机组成原理
  • 后端技术栈
  • 性能优化
  • 安全设计
  • 常见模块
  • 计算机操作系统
  • 服务器
  • python
  • MySQL
  • thinkphp
  • PHP
  • Java
  • JavaScript
  • Windows
  • Linux
  • 特效
  • indexedDB
  • vue
  • 淘宝联盟
  • Ionic
  • Angular
  • 微信小程序
  • 支付宝小程序
  • uni-app
  • css/sass/less
  • 支付
  • socket
  • 爬虫
  • web性能优化
  • 消息推送
  • CVM
  • sqlite
  • Redis
  • 前端基础
  • 基础
  • element
  • Nginx
  • yii2
  • /ponder/index/catelist/catelist/cateid/10.html

    我的名片

    网名:风口下的猪

    职业:软件开发、广告传媒

    现居:重庆渝北

    Email:kamoneyte@qq.com

    标签云

    站点信息

    • 文章统计:528篇
    • 移动端访问:扫码进入SQ3R