- 博客(1024)
- 资源 (44)
- 问答 (6)
- 收藏
- 关注
原创 iOS开发进阶(六):Xcode14 使用信号量造成线程优先级反转问题修复
应用Xcode 14.1进行项目编译时,遇到以下错误提示,导致APP线程暂停。以上问题是由于iOS信号量造成线程优先级反转,在并发队列使用信号量会可能会造成线程优先级反转。经过查询资料,发现是在XCode14XCode14上默认开启的),这个工具会让APP在运行的时候,发现有例如线程优先级反转和非UI工作在主线程上运行等问题的时候,就会在XCode问题导航栏中提示该卡顿风险警告,可以帮助我们在开发初期就能发现并解决隐含的卡顿风险问题;这个不是崩溃,如果不想要,可以在 “的中去掉勾选”。XCode14。
2024-01-12 16:46:45 1498
原创 跨平台应用开发进阶(二十二) :Android 应用安全机制实现方案
应用开发完成应用后,上线前进行安全检测,发现APP Android版存在反编译高危漏洞,iOS版并没有爆出此类问题。当我们开发的 App 准备做上架应用市场时,应用市场会要求上架的 App 做加固处理,这是为什么呢 ?首先,来看下腾讯开放平台官方的解释说明当然,除了应用加固外,还有其它的安全解决方案如:安全检测(漏洞扫描)、**渠道监控(正盗版分发情况监控)和安全 SDK(专业场景下的安全解决方案)**等。简单来说就是,如果你不希望自己参与开发的 App 出现以下问题,是免费为别人写的,那就加固吧。目前市面
2022-06-17 15:30:56 2660 1
原创 跨平台应用开发进阶(十七) :uni-app 内嵌 H5 应用并实现双端通信
uni-app应用开发过程中,需要应用内嵌H5页面,H5分为html、Vue两种。现如今,各大APP平台都拥有属于自己的小程序体系,各种各样的应用都可直接内嵌在APP中实现一站式体验。使用uniapp开发的APP如何实现这样的功能呢?答案就是内嵌web-view。
2022-05-27 11:48:59 8285 7
原创 产品经理进阶(一)Web APP UI一致性设计
前言做前端开发一段时间后,你会不会发现自己在持续的做着页面重复开发的工作,后面甚至干脆是Ctrl+C、Ctrl+V操作。你可能会说,那就使用组件啊!的确,通过抽取公用视图,创建子组件的方式确实可以提升代码复用度。上面是回答是基于你做程序员开发某个产品模块功能点的时候做出的。当你的问题思考提升一个层次,从前端框架设计角度思考的时候,会不会思考这样的问题:对于交互样式比较固定的业务系统,能否基于UI一致性、UI设计规范进行规范的交互方式、页面及组件样式设计,简易高效的进行界面搭建?通过搭建可视化、所见即所得的
2020-12-23 09:57:03 3742 1
原创 Vue进阶(幺零二):面试必备:2024 Vue经典面试题整理(含答案)
组件之间的数据传递ES6 Promise 用法自定义组件VUE输入框事件监听blur与change的差异Vuex之理解Mutations与 Vuex 的第一次接触【ES6】var、let、const三者的区别vue中created、mounted等方法整理vue store存储commit 和dispatchvue项目结构启动原理详解Vue项目中的单元测试和E2E测试Es6...
2020-03-17 16:04:10 14421 1
原创 跨平台应用开发进阶(五十二):安全合规之Android APP完整性校验机制探究
Android系统开放免费,开发者和用户都趋之若鹜。用户已经习惯了Android应用的这种免费午餐,但背后却隐藏着巨大的安全隐患。在对APP进行渗透测试时,要求提供APP是否具备完整性校验机制,防止被重签名和二次打包(采用混淆、验证签名、服务器端验证等技术防范二次打包等;)注⚠️:APK的唯一标识取决于包名和签名。
2018-09-08 16:18:19 3574 3
原创 ReactNative进阶(五):React Native与原生通信
用Android Studio打开一个已经创建好的RN项目,选择文件。创建一个类MyNativeModule继承,暴露出一些让RN调用的方法,封装成一个原生模块。实现getName方法,用于返回RN代码需要寻找的类的名称。//RN代码要通过名字来调用该类的方法@Override实现类的构造方法,将传入的上下文赋值给类内部私有的上下文。// 创建一个上下文,放到构造函数中,得到reactContext创建暴露给RN调用的方法,需要用注释符号修饰。//方法不能返回值。
2024-03-08 14:39:08 1030
原创 iOS开发进阶(八):ipa应用唤起并跳转至指定页面
可通过命令查看控制台日志信息。添加版本标识可通过实现。APP间互相唤起是常用场景,android中通过IntentFilter实现APP唤起。
2024-03-07 14:13:41 1102
原创 ReactNative进阶(四十三)iOS项目Xcode本地联调
项目组应用RN技术栈开发ios应用后,应用jenkins实现ipa组包及功能验证,过程耗时。故迫切需要实现iOS应用本地热部署,为此离开不了Xcode。作为非原生开发,特梳理此文。Xcode14.2Xcode 15.2 无法真机联调0.60.3。
2024-02-28 09:11:11 514
原创 ReactNative进阶(二十三)error: no type or protocol named ‘RCTBridgeModule’问题修复
初步怀疑是依赖包确实导致,通过将之前的备份依赖包替换至现有项目中,问题得以解决😂。
2024-02-22 10:44:53 380
原创 Android进阶(二十九) 走近 IntentFilter
翻译成中文就是“意图过滤器”,主要用来过滤隐式意图。当用户进行一项操作的时候,Android系统会根据配置的 “意图过滤器” 来寻找可以响应该操作的组件,服务。例如:当用户点击PDF文件的时候,Android系统就会通过设定好的意图过滤器,进行匹配测试。找到能够打开PDF文件的APP程序。
2024-02-21 09:37:44 782
原创 ReactNative进阶(三十六):iPad 横屏适配
应用RN技术栈实现APP上线后,业务部门领导会上反馈未实现ipad横屏全屏展示,用户体验较差。由此,一场pad横屏全屏展示的APP调优工作由此开展。
2024-01-23 16:08:50 661
原创 ReactNative进阶(四十三)ios组包报错getaddrinfo ENOTFOUND static.realm.io问题修复
前期对此问题已经折腾一阵,并得以修复,没想到今天再次遇到此问题,故记录之。
2024-01-04 14:54:52 614
原创 ReactNative进阶(四十五)自定义主题色
互联网应用需要能够根据实事情况做出相应调整,例如主题置灰效果。比较简单的实施方案是在样式中添加滤镜效果,例如:把替换成即可。核心代码就是,意思是「把当前元素及其后代元素设置成100%的灰度模式// 现代浏览器.gray {// 远古浏览器.gray {/* 现代浏览器标准 *//* IE */鉴于RN不支持filter设置滤镜属性。故需通过原生层面实现。
2023-12-15 10:20:34 595
原创 ReactNative进阶(四十九)project.pbxproj 配置文件详解
在Xcode中能看见所有的公共配置信息都存在于中。主要包含跟文件相关的BuildFileGroup和;跟编译相关的BuildPhase和(List);以及一些列Target和。开发者比较关键的信息是配置应用PP文件、包名及APP 版本号。
2023-12-13 17:39:38 1080
原创 ReactNative进阶(五十)React Native报Cannot initialize a parameter of type‘NSArray<id<RCTBridgeModule>>解决方案
网上给出的解释是由于升级Xcode12.5之后导致的问题,但是通过查看项目jenkins构建记录,发现上一次构建成功的Xcode版本与此次构建失败的Xcode版本一致,均为,故以上说法不成立。
2023-12-09 10:29:36 801 2
转载 Vue进阶(贰幺幺)前端开发需知悉的浏览器及其内核
只是用户看到仅仅只是浏览器本身,却很少能看到浏览器最核心的部分—浏览器内核。从第一款libwww(Library WorldWideWeb)浏览器发展至今已经经历了无数竞争与淘汰了。现在国内常见的浏览器有:IE、Firefox、QQ浏览器、Safari、Opera、Google Chrome、百度浏览器、搜狗浏览器、猎豹浏览器、360浏览器、UC浏览器、遨游浏览器、世界之窗浏览器等。但目前最为主流浏览器有五大款,分别是IE、Firefox、Google Chrome、Safari、Opera。
2023-11-28 11:09:02 213
原创 Vue进阶(幺柒零)项目部署后IE报 SCRIPT1002:语法错误 解决方案探讨
Vue项目改造升级后,原本本地热部署后IE可正常打开的项目出现页面白屏且控制台给出SCRIPT1002:语法错误的提示信息。经过代码排查,发现项目中新引入了一些依赖包导致系统无法正常启动。出现以上错误,可从以下几个方面查找原因:可能与IE的某些插件冲突。把所有无关的IE加载项全部禁用后尝试;引用了不存在的 js 文件;页面的某些文件在文档模型还没建立时就已经开始引用相关的节点;令人感到疑惑的是:其他原本可以本地IE热部署的项目在进行同样的升级改造后,依旧可以实现本地IE部署,且没有任何错误信息。
2023-10-26 15:19:36 1420 2
原创 JavaScript进阶(二十九): 走近 es6 之 new.target
源码阅读过程中,发现以下语句鉴于该语法为es6所有,项目在编译过程中,控制台报错误。按照常规处理,应用即可解决此类问题。在.babelrc的["es2015"]经过实践发现,build阶段依旧报错。故采用第二套解决方案,使用es5语法重写es6。
2023-10-26 09:37:10 464 1
原创 Vue进阶(幺陆伍)PhantomJS 实战讲解
在前期博文《Vue进阶(五十六):vue-cli 脚手架 karma.conf.js 配置文件详解》中讲解了文件用于配置前端项目自动化测试信息。// 这里使用的是PhantomJS作为浏览器测试环境,这个插件支持 DOM, CSS, JSON, Canvas, and SVG 的解析其中,使用了PhantomJS作为无头浏览器测试环境。PhantomJS具体作用是什么呢?本篇博文带你一探究竟。
2023-10-16 17:28:06 373
原创 JavaScript进阶(二十六):ES各版本特性详解
ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,European Computer Manufacturers Association)通过ECMA-262标准化的脚本程序设计语言。这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,所以它可以理解为是JavaScript的一个标准,但实际上后两者是ECMA-262标准的实现和扩展。
2023-10-13 14:36:20 2087 2
原创 JavaScript进阶(二十三):立即执行函数(匿名函数)( ( ) { } ( ) )含义解析
return x*x;}(10));这是赋值语句;这是一个匿名函数;所谓的匿名函数是指它没有自己的名字,既不是拥有一个函数名,也不是将函数赋给一个变量地址用于日后的调用;为什么会有这样的函数呢,因为有时候只是临时地一次性地使用一个函数,用过了这个函数也就再没用了,那么这个时候就用到了匿名函数(当然,并不一定说只有一次性的才会用到匿名函数,还有其它的情况,不一一举例了。函数()这样的语句我们都知道是让一个函数运行,而括号中的值表示传值,比如:那么,程序执行到name();
2023-10-09 15:17:53 346
原创 Vue进阶(幺陆肆)babel.config.js配置文件详解
项目开发阶段,使用可选链操作符?出现以下编译报错问题:分析:由于可选链操作符?是ES2020(即ES11)中推出的新语法,允许我们不需要校验当前属性的类型就可去尝试访问子属性。.b?.c;以上错误正是由于项目中无法解析可选链操作符等新的ES属性方法,如上图所示, 这时需要安装babel依赖,并添加到中。
2023-10-01 09:13:40 1509 1
原创 Vue进阶(幺陆玖)信创终端适配改造
随着外部监管对国产化的要求越来越高,所在产品团队信创专项改造工作开始实施,需求如下:信创平台控件只能使用在信创终端使用,不能应用在Windows上,存量系统运行过程中需要能够识别业务人员当前使用的终端操作系统,若终端操作系统为Windows,则使用旧版本Windows控制,若信创平台为麒麟ARM64、通信UOS中的其中一个,则切换为信创平台。
2023-09-18 17:28:25 773 3
原创 跨平台应用开发进阶(二十七)安卓应用加固签名后应用无法打开问题分析及解决
在应用RN改造好系统功能进行功能验证阶段,发现使用梆梆加固对APP进行加固、签名后点击APP图标无法打开应用,且移动设备处于卡死状态。应用未进行加固签名的APP,应用可正常打开,且功能正常。故问题出在加固或签名环节。加固阶段,更换不同加固策略,发现应用策略A加固、签名后的应用图标无法正常打开,应用策略B加固、签名后的应用功能正常,故可将问题定位在加固环节中的加固策略A,签名环节应该无问题。继续深究下2个加固策略之间的差异性。
2023-09-15 10:10:43 337
原创 ReactNative进阶(二十一)开源插件 react-native-device-info 获取设备信息
项目开发过程中,需要获取设备信息,例如获取设备名称。可通过使用开源的第三方组件,该组件适用于iOS和Android双平台。在项目中可通过npm命令下载android需要在配置文件添加权限具体应用示例如下,有关更多获取设备属性方法详参。注⚠️:官方文档指出,在调用方法获取设备名称时,当版本号低于v3时,android需要在配置文件添加权限,若版本号不低于v3,权限可不添加。});总结:作者曾经调用方法获取设备名称,但获取值一直为undefined。
2023-09-12 15:07:13 871
原创 安全生产:内存溢出和内存泄漏
内存(Memory)是计算机用于存储和访问数据和指令的设备。它是计算机系统中的一个重要组成部分,用于临时存储和处理数据。内存可以被看作是计算机的”大脑”,用于存储正在执行的程序和数据,以及中间结果和临时变量。计算机内存由一系列存储单元组成,每个存储单元都有一个少数的地址。这些存储单元可以存储二进制数据,包括程序指令和运行时数据。内存的主要特点是可以读取和写入数据,以及较快的访问速度。内存分为几个不同的层次。非常快速但最小容量的是处理器内部的寄存器,用于存储指令和数据的中间结果。其次是高速缓存Cache。
2023-09-08 17:25:50 337
原创 安全生产:CVE-2020-11022/CVE-2020-11023漏洞解析
代码安全扫描阶段,前端资源审计发现jQuery版本过低导致生产系统存在类风险。该类风险为应用安全缺陷类DXSS攻击,攻击者可以利用该漏洞注入恶意脚本代码,并在受害者的浏览器上执行。将导致受害者的个人信息泄露、账户被劫持、会话被劫持等安全问题。科运中心给出的解决方案是升级jQuery版本至3.5.0或更高版本。
2023-09-07 09:01:05 1904
原创 Vue进阶(三十三)Content-Security-Policy(CSP)详解
跨域脚本攻击(XSS)是最常见、危害最大的网页安全漏洞。XSS 攻击利用了浏览器对于从服务器所获取的内容的信任。恶意脚本在受害者的浏览器中得以运行,因为浏览器信任其内容来源,即使有的时候这些脚本并非来自于它本该来的地方。为了防止它,要采取很多编程措施(比如大多数人都知道的转义、过滤HTML)。很多人提出,能不能根本上解决问题,即浏览器自动禁止外部注入恶意脚本?这就是"内容安全策略"(,缩写CSP)的由来。CSP。
2023-09-05 17:25:30 4034
原创 Vue进阶(六十七)页面刷新路由传参丢失问题分析及解决
问题描述:Vue项目上线后,从A页面跳转至B页面,B页面通过data中接收来自A页面的参数信息,并在created页面生命周期调用服务接口serviceA,返回数据后进行B页面数据渲染展示。B页面刷新后,serviceA接口入参丢失且未做入参非空校验,导致serviceA全表查询,导致内存溢出。
2023-09-01 17:28:42 1412
原创 Vue进阶(幺捌柒)浏览器缓存问题解决
vue 项目打包部署上线之后,每一次都会有浏览器缓存问题,导致系统用户访问上个迭代批次的旧资源(css/js资源),若当前迭代批次项目包中不存在旧资源,系统就是出现404错误信息,需要系统用户手动清除缓存才能解决以上问题,导致用户体验非常不好。浏览器缓存(Browser Caching)机制是为了节约网络资源提升页面渲染性能,浏览器在用户磁盘上会对最近请求过的文档进行存储,当访问者再次请求这个页面时,浏览器就可以从本地磁盘显示文档,进而提升页面性能。
2023-08-24 17:29:31 4186
原创 ReactNative进阶(三十四):Jenkins 流水线 组包 iOS 应用包 ipa Archive 阶段报错error: Multiple commands produce问题修复及思考
在应用RN开发跨平台APP阶段,从git中拉取项目,应用Jenkins进行组包时,发现最终生成的ipa安装包版本号始终与项目中设置的版本号不一致。
2023-08-16 10:44:24 1945
原创 专利进阶(三):专利撰写资料汇总
在专利撰写前,需要首先了解专利撰写所需遵守的基本规则。可以借助的撰写工具是什么。文献检索在哪里?注意事项是什么?本篇博文会就以上问题进行逐一解答。专利撰写基本原则专利本身需遵循新颖性、创造性要求。应用什么技术方案,解决了什么技术问题,取得了怎样的技术效果。技术问题->技术方案->技术效果。专利撰写内容基本要求术语名称一致,步骤清晰,上下文连贯。
2023-08-12 16:19:56 270
原创 Vue进阶(幺叁陆): transition标签实现页面跳转动画
在Vue项目开发过程中,应用全家桶vue-router实现路由跳转,且页面前进、后退跳转过程中,分别对应不同的切换动画。vue-router切换页面时怎么设置过渡动画?如何判断切换路由时是前进还是后退?每次切换时向左向右切换动画如何实现?可通过以下解决方案实现:给各个页面定义层级,在切换路由时判断用户是进入哪一层页面。如果用户进入更高层级路由那么做前进动画,如果用户退到低层级路由那么做后退动画。
2023-08-02 09:05:23 619
原创 iOS开发进阶(二):走近iOS原生开发
在应用uni-app进行跨平台APP开发过程中,发现并不支持视频播放小窗功能,且插件市场提供的插件用户体验不好,遂决定自行开发uni-app原生插件。uni-app原生插件指的是将原生开发的功能按照规范封装成插件包,然后即可在uni-app前端项目中通过js调用开发的原生能力。有关iOS原生开发环境搭建步骤,详参博文《跨平台应用开发进阶(二十七) iOS原生开发环境搭建步骤详解。
2023-06-28 10:56:27 1931
原创 如何应对APP开发过程中客户灵活多变的需求变更
另一方面,开发团队因手握专业知识的储备,对实际开发的阻碍和可行性有更好的见解和标准,在交流时应本着严谨理性的态度给予客户专业知识的意见,而不是一味的顺着客户的思路走,导致app最终开发上出现各种各样的漏洞和新的问题,影响app产品的质量走向。总而言之,在企业APP软件开发过程中需求变更并不可怕,最重要的是需要合理的控制和应对,小修改,满足客户,提升客户满意度,大修改,重新评估,客户也是可以理解自己的需求变更的。首先应明确的是app开发过程中较小的、可以接受的需求,应帮助客户实现,提高客户满意度;
2023-06-13 11:28:48 11
原创 跨平台应用开发进阶(六十五):小程序分包策略及实战讲解
微信小程序开发过程中,随着业务不断迭代,程序包的体积越来越大,使用分包加载是开发者必须面对的问题。正常情况下,小程序首次启动时,会将整个代码包下载下来,所以如果代码包过大,会影响小程序首次启动时间,因此微信官方对小程序代码包做了大小限制。
2023-05-20 20:27:34 975
原创 跨平台应用开发进阶(六十四):微信小程序开发技术栈原生开发 VS 跨平台开发
说到前端开发,就不得不说到跨端开发,因为它可以提高应用程序的效率并降低开发成本。uni-app是一种跨平台开发框架,基于Vue.js,并且可以在多个平台如微信小程序、支付宝小程序、H5等上运行。对于开发人员来说,这意味着他们可以使用同一个代码库来构建多个平台的应用,而不需要开发不同的代码库。
2023-05-18 10:55:02 1061
原创 跨平台应用开发进阶(六十三):微信小程序开发
随着微信小程序越来越普及,开发人员们也在不断地寻求更高效且方便的开发方式。uni-app是一款由DCloud开发的跨平台工具,可以同时支持小程序、H5、App等多种平台的开发。那么,当使用uni-app开发微信小程序时,怎么进行调试呢?下面就来详细介绍一下。小程序的运行环境分成渲染层和逻辑层,其中WXML模板和WXSS样式工作在渲染层,JS 脚本工作在逻辑层。小程序的渲染层和逻辑层分别由2个线程管理:渲染层的界面使用了WebView进行渲染;逻辑层采用JsCore线程运行JS脚本。
2023-05-18 09:54:31 838
Vue下textarea文本框根据内容自适应改变高度
2020-10-20
BackToTop.zip
2019-11-05
dubbo-admin-2.5.4 Web管理平台.zip
2018-04-29
dubbo-monitor-simple-2.5.3.zip
2018-04-29
w3c标准html5手册
2017-08-28
Chart.js实现饼状图添加文字
2017-08-28
Icon制作神奇-Greenfish Icon Editor3.31官方中文版
2017-04-25
iOS集成听云uni-app插件JS资源文件
2022-10-12
基调听云App移动应用性能管理产品采用SDK方式实现对App的**崩溃、卡顿、超时**等性能问题进行采集,并能对真实用户体验数据
2022-10-11
react-native实现ios横屏全屏展示
2024-03-13
react-native实现ios横屏全屏展示
2024-03-05
谁是第3w [face]monkey2:012.png[/face]
2021-03-24
学无止境[face]monkey2:005.png[/face]
2021-03-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人