React Native

nredis-proxy 高性能Redis 服务中间件

梦想的初衷 提交于 2019-12-12 18:17:52
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、 NRedis-Proxy 介绍 NRedis-Proxy 是一个Redis中间件服务,第一个Java 版本开源Redis中间件,无须修改业务应用程序任何代码与配置,与业务解耦;以Spring为基础开发自定义标签,让它可配置化,使其更加容易上手;以netty 作为通信传输工具,让它具有高性能,高并发,可分布式扩展部署等特点,单片性能损耗约5%左右。 二、 NRedis-Proxy 技术架构图 三、 NRedis-Proxy 优势以及缺点 a) 功能优势 1. 自带连接池,简单稳定且性能高效 2. 支持读写分离,从读按照权重算法 3. 支持灵活主从配置策略 4. 默认支持一致性哈希分片策略,扩展性强 5. 分片策略与从读取策略可自定义化 6. 支持主从自动切换,提供RedisServer监听服务 7. 支持HA 分布式部署,节点可随意扩展 b) 天然缺点 中间件的存在,会自带网络损耗,但是网络带宽足够,可以忽略不计。相比客户端分片等策略,中间件可以解决客户端应用过多,解决M*N 问题,Redis-Server连接数不够,造成机器CPU性能降低;如下图: 四、 NRedis-Proxy 类逻辑调用图 五、 NRedis-Proxy 配置标签 a) redisProxyNode 序号 名称 描述 1 id

ReactNative全面屏(Android)适配问题

╄→гoц情女王★ 提交于 2019-12-11 15:47:43
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 现在是全面屏的时代,Android手机现在也是各种全面屏,“刘海屏”,“弹出摄像头”,"水滴屏",“挖孔屏”,伴随着科技的飞速发展,各种提高屏占比的方案也是层出不穷,有点“百花齐放百家争鸣”的感觉,哈哈。但是对于开发者来说,Android的屏幕适配就是一个富有挑战性的工作了。 为了呈现更好的视觉效果,许多安卓OEM厂商都开始采用超大屏幕。三星刚刚发布了自己的新旗舰Samsung Galaxy S8,长宽比达到18.5:9。今年早些时候的全球移动大会上LG也亮相了 LG G6,屏幕长宽比达到了18:9。 (左图)18.5:9 设备上最大纵横比设置为 16:9 的应用(上下有黑边) (右图)18.5:9 设备上最大纵横比设置为 18.5:9 的应用 如果您的应用定位到 Android 8.0(API 级别 26)或更高版本,它会根据其布局填充整个屏幕。 如果您的应用定位到Android 7.1(API 级别 25)或更低版本,则系统会将应用界面的大小限制为长宽比为 16:9(约为 1.86)的窗口。 如果应用在具有较大屏幕长宽比的设备上运行,则该应用会在带黑边的 16:9 窗口中显示,从而使部分屏幕处于未占用状态。 为了支持尽可能多的设备,应用应动态调整其布局,以确保其内容和控件可见且结构清晰。 针对此问题

初始 ReactNative

会有一股神秘感。 提交于 2019-12-10 23:27:24
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> https://reactnative.cn/docs/getting-started.html 中文官方地址 来源: oschina 链接: https://my.oschina.net/u/3619392/blog/3141507

总结react-native在windows上的环境安装

北城以北 提交于 2019-12-10 17:09:54
原来都是在mac上运行的,现在换了windows7系统,安装react-native运行环境时遇到了不少问题,现记录如下。 1、node.js记得一定要安装 v12.10.0版本,否则会报错。在windows 64位安装文件: https : //nodejs.org/dist/v12.10.0/node -v12.10.0-x64.msi 2、利用真机调试时,adb devices如果不出现设备,有可能是android usb驱动没有安装好,可以在android studio的sdk manager->sdk tools下面安装Goole Usb Driver。完成后在sdk目录下找到 \extras\google\usb_driver\android_winusb.inf。然后在设备管理器中进行安装。 3、在mac上这时可以直接运行了,但是在windows上,还需要手动启动JS服务器,react-native start。注意要启动另一个cmd窗口去运行这个指令。 现在,在windows下开始愉快的rn之旅吧! 来源: oschina 链接: https://my.oschina.net/u/3194172/blog/3141305

关于ReactNative0.56版本Flatlist列表内容跳动的问题

て烟熏妆下的殇ゞ 提交于 2019-12-10 15:53:46
Reactnative的版本升级一直是一个工作量比较的大的事情,每次升级都可能伴随着很多的坑。 前段时间在升级到0.56版本的时候发现一个问题,在flatlist使用中,加载多页后,列表项内容开始进行上下抖动的乱跳,疯了一样。 于是开始上react-native的issues上寻找答案,有通过查看官方的版本升级日志找到了答案: react-native升级日志0.57 在其中看到如下bugFix描述: 因为Flatlist继承自VirtualizedList,所以就豁朗开朗了。 解决方案:将ReactNative Version升级到0.57以上版本就好了 官方升级方案 ,推荐第一种“基于 Git 的自动合并更新”的升级方案。 我的网站: https://wayne214.github.io 来源: oschina 链接: https://my.oschina.net/u/3468049/blog/2996847

iOS简单音乐实现、React-Native项目、仿闲鱼京东列表分页、语音识别、加载过度动画等源码

Deadly 提交于 2019-12-10 07:59:49
iOS精选源码 iOS快速入手语音识别、听写、评测、播报 网络加载数据的过渡动画(仿简书网页) iOS 封装跑马灯和轮播效果 crash防护组件,适用常见常用的数组,字典等crash保护 iOS:高仿闲鱼、京东等列表底部分页视图 React-Native 完整项目,同时支持IOS和安卓 功能丰富的WKWebView 简单音乐功能实现 下拉框,可自动识别向上向下展开 iOS优质博客 iOS关于时间的处理 做App避免不了要和时间打交道,关于时间的处理,里面有不少门道,远不是一行API调用,获取当前系统时间这么简单。我们需要了解与时间相关的各种API之间的差别,再因场景而异去设计相应的机制。时间的形式在开始深入讨论之前,我们需要确信一个前提:时间是线性的。即任意一个时刻,这个地球上只有一个绝对时间值存在... 阅读原文 iOS快速入手语音识别、评测 引言子弹短信,不仅支持语音输入、文本输入,同时还支持“语音输入、文字输出”。前言之前在讯飞人脸识别的基础上做了活体人脸识别,并在当时没有免费活体识别的大环境下,本着程序猿的互联网精神,在Git上第一个站出来开源出来,感谢大家的支持。后来也一直打算拿出来讯飞的语音识别,做些事情方便大家,初衷是想做一款读书软件,后来拖延症... 阅读原文 建立流畅的交互(Fluid Interfaces) 在WWDC2018上,苹果设计师提出了一个关于

Facebook发布全新JavaScript引擎:Hermes

我怕爱的太早我们不能终老 提交于 2019-12-10 02:58:46
摘要: JS引擎开始升级了... 原文: 技术栈中的爱马仕?Facebook发布全新JavaScript引擎:Hermes 作者:Carson_Ho Fundebug 经授权转载,版权归原作者所有。 前言 目前,用户的流畅体验是用户能长期使用某个移动客户端应用App的重要指标之一,因此,移动客户端应用App的性能问题备受关注。 最近,一个崭新的JavaScript引擎面世:Hermes,它是Facebook在Chain React 2019 大会上发布 & 用于在React Native应用提高性能的,今天,我将进行全面介绍。 1. 简介 Facebook在Chain React 2019 大会上发布的一个崭新JavaScript引擎 已开源 & 用于移动端React Native应用的集成 2. 作用 2.1 背景 用户的流畅体验是用户能长期使用某个移动客户端应用App的重要指标之一,因此,移动客户端应用App的性能问题备受关注 针对React Native应用,流畅度等性能问题一直被人诟病 2.2 问题 Facebook基于多方性能数据分析,发现JavaScript引擎本身就是影响React Native应用启动性能的重要因素 2.3 解决方案 构建一个全新的JavaScript引擎,针对React Native应用,去提高移动客户端应用App的性能 特别注意

react native 的 ble 蓝牙开发

梦想的初衷 提交于 2019-12-07 15:18:23
react native 的蓝牙开发基本还没有人介绍,经过摸索终于有了收获 这里介绍android平台下的蓝牙开发 在Android平台下创建BleManagerModule,BleManagerPackage,这个只是react native基础的交互说明,具体参考: http://facebook.github.io/react-native/docs/native-modules-android.html 把接口react native和android接口调用弄通,然后把蓝牙相关代码加入,这个就不介绍了,就是在加蓝牙的时候出现的bug,下面是解决方法 这里需要执行,在node.js下 react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --sourcemap-output android/app/src/main/assets/index.android.map --assets-dest android/app/src/main/res/ 不然会报错误,具体参考 http://blog.csdn.net/b992379702b

macOS 运行react项目

本秂侑毒 提交于 2019-12-07 01:13:19
安装基础环境,不赘述。主要包括nodejs、npm等工具 在Windows上建立的项目,在macOS打开,遇到的几个问题。 0.项目根目录下执行 npm install 1.node_modules目录权限问题,在项目根目录下执行 chmod -R 777 node_modules 2.Unrecognized font family 'Ionicons' 找不到字体文件问题,在Xcode里打开info.plist,新建一个 Fonts provided by application 的项,然后 npm install rnpm,回到项目根目录,执行 rnpm link 。 不需要把font目录复制到Xcode项目中。 3.不管3*7=21,执行 npm uninstall react-native-vector-icons ,再执行 npm install react-native-vector-icons --save 基本上以上三步,就可以解决问题。 来源: oschina 链接: https://my.oschina.net/u/228302/blog/1801773

react native关于自定义字体图标android和IOS的处理

南楼画角 提交于 2019-12-07 01:13:06
**``` icon处理:https://icomoon.io/app/#/select 主要是得到各种字体格式和section.json 具体步骤网址: https://www.cnblogs.com/xiaojun-zxj/p/6293450.html 基于插件:react-native-vector-icons 既可以用这个库本身的,又可以用自定义的 1.先在android和ios正常运行, 在ios chartCode里面使用xxx.ttf时,执行react-native link,add到item里面 android下面app/////font 添加xxx.ttf, 在react-native-vector-icons 下面分别添加下面三个文件 2,处理icon,得到ttf库和section.json 3 根据section.json 在app里面得到对应的code值 componentDidMount() { var allicon = {}; var data =Data.icons; data.forEach((icon) => { allicon[icon.properties.name]=icon.properties.code; }); console.log(JSON.stringify(allicon))} 4在node_modules/react