- 博客(78)
- 资源 (9)
- 问答 (2)
- 收藏
- 关注
原创 electron 安装失败问题
安装electron失败,然后各种错误,搞了半天,最后解决了,重点是设置镜像,单独设置electron镜像npm config set registry https://registry.npm.taobao.org/npm config set ELECTRON_MIRROR http://npm.taobao.org/mirrors/electron/参考:正确设置 ELECTRON_MIRROR ,加速下载 electron 预编译文件...
2022-01-04 21:58:56 1080
原创 上海天文馆简要攻略
一、购入馆门票+球幕电影票周末人较多,票比较难抢,so决定工作日去的,可提前在公众号“上海天文馆”购买,门票9:30开放购买,电影票10点开放购买。门票和电影票都还好买,提前几天都有,只是电影票如果要好位置,需要提前买好,个人感觉位置区别不大。需要注意的是购买电影票需要提前购买门票,小孩子也需要进行“免费人群预约”。二、停车虹桥这边开车过去的,过去预计1个半小时,回来赶上了晚高峰,花了2小时。停车参考下图,我停的是上海中学停车场,大概800米的距离,蛮空的,就是当天风大。问了下天文馆
2021-12-19 18:10:49 2126
原创 前端开启本地服务
1、用node.js 的http-server开启本地服务前提:下载了node.js 然后在vs code终端或者在powershell窗口中输入命令1)假如用vs code编辑,在终端中输入命令 node -v 和npm -v检查已安装的版本信息加入没有安装就安装node.js官网地址: nodejs.org2)下载http-server输入命令 npm install http-server -g3)开启服务进入目标文件夹,然后在终端输入 npm http-serve
2021-12-16 18:03:51 1810 1
转载 div 添加滚动条
div 添加滚动条只需要指定overflow属性为auto即可,以下实例设置了 div 水平滚动条:实例<div style="height:300px;width:70px;overflow:auto;background:#EEEEEE;"> 菜鸟教程 -- 学的不仅是技术,更是梦想!!! 菜鸟教程 -- 学的不仅是技术,更是梦想!!! 菜鸟教程 -- 学的不仅是技术,更是梦想!!! 菜鸟教程 -- 学的不仅是技术,更是梦想!!! </div>宽度(wid...
2021-11-17 14:00:11 1494
转载 【转】div水平垂直居中的六种方法
在平时,我们经常会碰到让一个div框针对某个模块上下左右都居中(水平垂直居中),其实针对这种情况,我们有多种方法实现。方法一: 绝对定位方法:不确定当前div的宽度和高度,采用transform:translate(-50%,-50%); 当前div的父级添加相对定位(position: relative;) 图片展示: 代码如下: 1 2 3 4 5 6 7 div{ ba...
2021-11-17 13:53:46 427
原创 css 定位之 position
语法:position:static | relative | absolute | fixed默认值:static取值:static:无特殊定位,对象遵循正常文档流。top,right,bottom,left等属性不会被应用。relative:对象遵循正常文档流,但将依据top,right,bottom,left等属性在正常文档流中偏移位置。absolute:对象脱离正常文档流,使用top,right,bottom,left等属性进行绝对定位。而其层叠通过z-index
2021-11-05 15:40:18 121
转载 一次SocketException:Connection reset 异常排查
本次需求,并没有修改逻辑,为什么会出现这种情况呢?只是网络关系,还是跟代码有关呢。我有几个疑问:什么情况下会产生Connection reset? 长连接中,向server发请求,是先发送数据的,如果连接断开,应该是写数据异常,为什么是读数据异常呢?请求是否发送成功?发送之前有校验连接是否可用吗? http连接池defaultMaxPerRoute什么意思?每个并发都建立一个长连接吗? Connection reset之后,如何重新建立连接,继而继续进行业务交互? RestTemplate中配置
2021-09-28 18:46:04 2182
转载 【记录】Android WebSocket实现即时通讯功能
转载自:https://www.cnblogs.com/xch-yang/p/11726497.html最近做这个功能,分享一下。即时通讯(Instant Messaging)最重要的毫无疑问就是即时,不能有明显的延迟,要实现IM的功能其实并不难,目前有很多第三方,比如极光的JMessage,都比较容易实现。但是如果项目有特殊要求(如不能使用外网),那就得自己做了,所以我们需要使用WebSocket。WebSocketWebSocket协议就不细讲了,感兴趣的可以具体查阅资料,简而言之,
2021-08-06 17:05:43 387
原创 小程序上对接阿里的语音识别
通过查询阿里官方文档,《实时语音识别》需要通过服务器中转实现,这里希望简单一点,直接客户端搞定,然后确定使用《一句话识别》中的RESTful API的方式。实现语音识别分以下几个步骤:1、小程序录音生成临时录音文件(阿里识别要求pcm编码);音频格式:PCM编码、16bit采样位数、单声道(mono)。音频采样率:8000Hz/16000Hz。//参数format: 音频编码格式。支持格式:PCM/OPUS。默认:PCM。2、连接阿里服务器,把录音文件作为请求参数,返回识别的文
2021-07-30 19:16:31 1057
原创 rxjava2 的blockingAwait和blockingGet区别
blockingAwaitSubscribes to and awaits the termination of this Completable instance in a blocking manner and rethrows any exception emitted.blockingGetSubscribes to this Completable instance and blocks until it terminates, then returns null o..
2021-07-16 19:19:25 1417
原创 小记一次线上OutOfMemoryError导致crash事故排查(一)
前几天,客户反馈应用有自动退出的现象。确认清楚后,是crash闪退,顿时有点慌啊。因为终端是内网环境,于是联系客户把终端的日志用U盘拷贝出来,发给我。通过日志排查,发现是OOM导致的crash,应用消耗了512M的内存,我去,怎么这么高。这时感觉有2个问题(优先级排序):1、可能是出现内存泄露的问题。2、检查应用为什么占用这么高内存。首先要查泄露问题,想到了工具Profiler和LeakCanary。先打开Profiler,点击MEMORY->然后点击,然后回出
2021-06-23 17:52:52 682 1
转载 ExoPlayer在开启循环播放时 统计播放次数和索引
1. 应用场景视频播放要循环播放,另外要在视频第一遍播放结束时出现某种提示。循环播放:我们可以通过设置setRepeatMode() 进行设置。另外在Player.EventListener的onPlaybackStateChanged(int state) 对播放过程进行监听。具体过程如下: public void onPlaybackStateChanged(int state) { Log.d(TAG, "onPlaybackStateChanged 播放
2021-05-06 14:31:21 1590
原创 Android 在dimens中添加float配置资源
1、添加资源<resources> <item name="width_percent_login" type="dimen" format="float">0.35</item></resources>2、XML中引用资源app:layout_constraintWidth_percent="@dimen/width_percent_login"
2021-04-27 16:02:47 625
转载 android shape实现阴影或模糊边效果
android实现阴影的方式有很多,1. Android 在 API21(5.0)添加了 elevation,可以很方便的在 View 上实现阴影。但是这个只在 >= API21 的手机上可以看到阴影效果,低于这个版本的就没有阴影效果。2.CardView 也可以实现阴影效果,项目中一般都是使用这种方式实现卡片式的效果并带有阴影。使用 CardView 确实很不错,但是它在使用的时候也是需要有注意的地方: (1) CardView 实现阴影效果的布局,在 >= API 21 ...
2021-04-12 16:59:07 738
原创 Gradle productFlavors功能初体验
最近项目有个需求,项目分2个端,一个医生端,一个病人端,功能大概是医生端基本能覆盖病人端的功能,病人端会包含部分功能。需满足能同时安装、且医生端横屏、病人端竖屏。前一段时间复习了一下Gradle,所以想了下,Gradle可以轻松实现该需求。最初想到的是buildTypes,实际也可以实现,但后面看到 productFlavors更合适。于是加了两个flavorsproductFlavors{ doctor{ applicationId "com.lerou.
2021-03-17 12:12:36 175
转载 Android解惑 - 为什么要用Fragment.setArguments(Bundle bundle)来传递参数
https://blog.csdn.net/tu_bingbing/article/details/24143249
2021-03-10 14:07:00 133
转载 Rxjava2 Observable的错误处理操作详解及实例
转https://blog.csdn.net/ming_97y/article/details/103464318
2021-03-06 15:31:48 194
转载 上海中福会少年宫的前世今生
曾经在上海长大的孩子都知道上海有个中国福利会少年宫,它地处静安寺地区的延安西路64号。上世纪5,60年代,少年宫大门紧锁,给人以一种神秘且高大的感觉。少年儿童都很向往着可以去少年宫看看。去少年宫成为一种奖励。只有表现好的孩子才有这个资格可以进到里面去。我曾经进去过两次,其它印象已经很淡薄,唯有那勇敢者的道路给我留下了深刻的记忆。 少年宫原名嘉道理爵士公馆,俗称为大理石宫。始建于1924年,占地达14000平方米,建筑面积为4700平方米。曾是英籍犹太富商,香港上海大酒店有限公司及半岛酒店创...
2021-03-06 14:00:00 2377
转载 Android 资源命名规范整理
本文转载自:https://www.jianshu.com/p/868434805038参考结合官方、各厂、各博客标准命名规范,整理出的符合 Android 风格的资源命名规则。布局文件(Layout)命名<类型>_<位置>eg1.activity_homeeg2.item_countrylisteg3.layout_actionbar_backbutton类型选择activity | fragment | view | item | layout
2021-03-05 10:23:12 244 1
转载 合并多个清单文件(AndroidManifest.xml)
合并多个清单文件APK 文件只能包含一个AndroidManifest.xml文件,但 Android Studio 项目可以包含多个清单文件,这些清单文件由主源代码集、构建变体和导入的库提供。因此,在构建应用时,Gradle 构建系统会将所有清单文件合并到一个打包在 APK 中的清单文件中。清单合并工具通过遵循某些合并启发式算法,并遵守您使用特殊 XML 属性定义的合并偏好设置,将各个文件中的所有 XML 元素组合在一起。本页介绍清单合并的运作方式以及如何应用合并偏好设置解决合并冲突。提示..
2021-03-01 11:15:06 1611
转载 秒开率达90%:腾讯看点客户端 GIF 转视频优化方案
导语 |众所周知,在动图场景中, GIF 一直是应用得最广泛的技术,然而 GIF 文件体积太大的劣势,导致了一些诸如客户端 GIF 加载慢、服务器占用带宽大等问题。那么,在 GIF 占比如此高的今天,有没有一些更合适的动图格式,既能减小文件体积和服务器带宽,又能在客户端有不俗的性能表现?本文将介绍信息流场景下一套 GIF 体验提升的通用解决方案,该方案已经在腾讯看点内短内容场景中落地。问题背景看点短内容是看点信息流的重要内容,短内容有些类似微博段子,内容大多以娱乐、搞笑为主,因此有大量的 GIF 动
2021-02-26 17:10:00 662
转载 安装包瘦身-将资源图片转为WebP图片
WebP是 Google 的一种可以同时提供有损压缩(像 JPEG 一样)和透明度(像 PNG 一样)的图片文件格式,不过与 JPEG 或 PNG 相比,这种格式可以提供更好的压缩。Android 4.0(API 级别 14)及更高版本支持有损 WebP 图片,Android 4.3(API 级别 18)及更高版本支持无损且透明的 WebP 图片。此页面介绍了如何将图片转换为 WebP 格式,以及如何将 WebP 图片转换为 PNG 格式。注意:由于只有 Android 4.3 及更高版本支持无损和透.
2021-02-26 15:28:09 466
原创 简述虚拟机字节码执行-分派规则
静态类型多分派:典型-方法重载编译时,编译器会根据类型和方法参数来分派,属于多分派类型动态类型单分派:典型-方法重写运行阶段虚拟机的选择,即动态分派的过程:运行时,方法参数已经由编译时确定为特定类型,不会影响其选择,唯一影响虚拟机选择的因素只有该方法的实际接收者,具体是哪个类。只有一个宗量作为选择依据。属于单分派类型运行示例:总结如下:...
2021-02-24 15:18:30 122
转载 Android Studio ‘Run‘ 按钮后面的秘密(Grade学习【一】)
‘Run’ 按钮,一点下,Android Studio 就会开动,代码奇迹般地变成 APK,被安装到手机上,显示 APP 的界面。背后发生了什么?点击 Run 按钮依次执行了 3 部分内容检查项目和读取基本配置 Gradle Build APK Install & Launch Activity让我们继续,看看这个结论是怎么来的,以及一路上还发现了什么。Android Studio 留下的面包屑Android Studio 给我们留下了什么——日志 点击An...
2021-02-23 15:46:25 1707
原创 深入理解Java虚拟机--浅析class文件字节码【JVM虚拟机(二)】
代码示例如下:package com.demo;public class Test { int add() { int a = 3; int b = 8; return a + b; }}javap查看编译机制解析指令集:int add(); Code: 0: iconst_3 压入常量3到操作数栈顶 1: istore_1 将栈顶int型数值...
2021-02-22 19:43:04 82
转载 深入理解Java虚拟机--虚拟机字节码指令表
《深入理解Java虚拟机JVM高级特性与最佳实践》附录B 虚拟机字节码指令表字节码 助记符 指令含义 0x00 nop 什么都不做 0x01 aconst_null 将null推送至栈顶 0x02 iconst_m1 将int型-1推送至栈顶 0x03 iconst_0 将int型0推送至栈顶 0x04 iconst_1 将int型1推送至栈顶 0x05 iconst_2 将int型2推送至栈顶
2021-02-22 17:59:44 111
转载 什么是语法糖?
之所以叫「语法」糖,不只是因为加糖后的代码功能与加糖前保持一致,更重要的是,糖在不改变其所在位置的语法结构的前提下,实现了运行时等价。可以简单理解为,加糖后的代码编译后跟加糖前一毛一样。之所以叫语法「糖」,是因为加糖后的代码写起来很爽,包括但不限于:代码更简洁流畅,代码更语义自然... 写得爽,看着爽,就像吃了糖。效率高,错误少,老公回家早...PS: 据说还有一种叫做「语法盐」的东西,主要目的是通过反人类的语法,让你更痛苦的写代码。其实它同样能达到避免代码书写错误的效果,但编程效率应该是降低了,毕
2021-02-20 18:03:06 2524 1
原创 <init>构造器和<cinit>以及构造方法的关系
1、首先我们先来找到init和cinit方法。java源文件package com.demo;public class Test { private static int a = 1; protected void testMethod() { } public static void main(String[] args){ System.out.println(a); }}使用javap -verbose class.
2021-02-19 11:55:21 2256
原创 浅析class文件字节码【JVM虚拟机(一)】
前言分析之前的说明:1、一位十六进制的数等于四位二进制的数。一个字节等于8位二进制数,2位16进制为一个字节。2、这张图是一张java字节码的总览图,我们也就是按照上面的顺序来对字节码进行解读的。一共含有10部分,包含魔数,版本号,常量池等等,接下来我们按照顺序一步一步解读。3、了解一下常量池的项目类型表4、ASCII开始1、首先上一个测试的java代码。package com.demo;public class Demo { private int a
2021-02-08 14:40:20 144
原创 Android各种圆角的实现
1、普通的控件使用sharp corners,设置背景实现圆角<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:width="1dp" android:color="#F6F7FC".
2021-01-21 14:14:41 740 3
转载 GitHub clone慢问题最简单最有效的解决方法
把clone链接里面的github.com改为镜像网站的github.com.cnpmjs.org,例如:https://github.com/zhumj/RxEasyHttp.git改为https://github.com.cnpmjs.org/zhumj/RxEasyHttp.git修改前速度基本10kb/s左右:修改后轻松达到2M/s以上,我最高达到5M/s:...
2021-01-20 17:41:38 168 1
原创 提交file文件时 no multipart boundary param in Content-Type
上传图片时报错400.no multipart boundary param in Content-Type解决方法:把 headers 里的 content-type 清空Retrofit的注解也去掉。 @Headers("Content-Type: application/json")
2021-01-14 12:09:30 6599
原创 Xcode使用技巧
本文翻译自 Paul Hudson 的 Xcode Tips系列1 class成员构造函数生成★ Swift 可以为 struct 合成成员构造函数,但不能为 class 合成。Xcode 可以帮助生成代码,先选中类名,然后选择菜单 Editor —> Refactor —> Generate Memberwise Initializer。 2 设置App的“外观”★ 运行 App 到模拟器以后可以找到环境面板,点开它可以设置 Dynamic Type size, 暗..
2020-12-25 19:02:55 351
转载 OC调用Swift framework
在此记录下OC如何调Swift framework! 新建工程OCCallSwift,语言选择OC,如图: image.png 新建lib_swift module,语言选择Swift,如图: image.png 新建测试对象TestMethod.swfit,如下:import Foundationpublic typealias complete = (_ v1:Int,_ v2:Int)-> Intpublic class T...
2020-12-22 15:53:27 878
原创 兼容Android 11 存储权限适配框架
集成步骤dependencies { // 权限请求框架:https://github.com/getActivity/XXPermissions implementation 'com.hjq:xxpermissions:9.6'}一句代码搞定权限请求,从未如此简单XXPermissions.with(this) // 申请安装包权限 //.permission(Permission.REQUEST_INSTALL_PACKAGES)
2020-12-11 17:03:13 4066
转载 基于webrtc的多人连麦直播开源框架 Janus-gateway-iOS
低延时、地卡顿、高音画质是直播技术方向追求的方向,webrtc属于业内良心开源项目,绝大多数连麦直播技术基于此项目,连麦技术架构有Mesh、MCU、SFU三种技术架构。三种技术架构优缺点各异,大家可以自行查阅。但是基于目前的直播状况,现在最合适的,也是使用比较多的是SFU架构。但是SFU架构除了客户端的webrtc需要完成,更重要的服务器也需要搭建。如果你需要多人连麦直播 Janus-gateway-iOS是一个基于janus-gateway 服务器的sfu架构的连麦直播iOS客户端框架,封装了w
2020-12-08 09:41:29 1773
转载 macOS上,实现Wireshark手机抓包
1. 需要的硬件: Macbook Edimax EW-7822UAC无线网卡(如果买其他型号网卡,查看一下网卡的官网,确认有macOS的驱动) 需要的软件: Wireshark for macOS2. 安装网卡驱动,重启动后,设置外置无线网卡EW-7822UAC连接到wifi网络。3. 设置共享网络。注意,一定要把EW-7822UAC设置为“共享以下来源的连接”,把内置网卡用于“用以下端口共享给电脑”,如下图点击上图的“...
2020-12-02 17:17:42 1621 2
转载 ios 如何从 NSDictionary 获取一个整数值?
我有这个奇怪的问题。NSDictionary 没有返回正确的整数值。服务器的 JSON 响应代码。 { "status":"ok", "error_code":0, "data" : [], "msg":"everything is working!" } JSON 将被转换为 NSDictionary。 NSError *error = nil; NSDictionary *jsonDict = [NSJS..
2020-12-01 10:05:08 627
原创 iOS OC 中常用的占位符
常用的占位符记录一下:%@ 对象 %d, %i 整数 %u 无符整形 %f 浮点/双字 %x, %X 二进制整数 %o 八进制整数 %zu size_t %p 指针 %e 浮点/双字 (科学计算) %g 浮点/双字 %s C 字符串 %.*s Pascal字符串 %c 字符 %C unichar %lld 64位长整数(long long) %llu 无符64位长整数 %Lf 64位双字 %e 是实数,用科学计数法计的\a - Sound alert \b - 退格
2020-11-21 17:50:32 701
Webrtc视频黑屏问题 Android H264 硬解码支持更多的机型(cpu)-兼容源码下载
2020-03-26
Android Nsd服务和NsdDiscover demo(局域网通信方案)
2019-07-08
jad.exe反编译软件
2011-04-28
使用Google Map, 计算搜索到的两个点的距离~~ 思路
2012-03-13
画UML图用什么工具最好?
2010-10-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人