Develop

👨‍💻‍记录自己在攻城狮的道路上狂奔的一些开发心得体会 😎

一套包含了社区匹配聊天以及语音互动直播相关的社交系统模板项目

社交模板项目 一套包含了社区匹配聊天语音以及直播相关的社交系统模板项目,包括服务器端以及 Android 客户端 项目资源均来自于互联网,如果有侵权请联系我 背景及选型 一直以来都是标榜自己是一个喜欢开源的程序猿,一直想做一款能够被大家认同的开源项目,也是想提供给广大的新手程序猿一个比较完整系统的社交系统以供参考,因此有了这一套社交系统模板项目, 当前模板项目主要功能可以看下边的 功能与TODO 在实现社交相关项目时,少不了 IM 及时聊天功能,这里选择了自己比较熟悉的环信三方 SDK,环信 IMSDK 能够比较方便的实现自定义扩展功能,比如会话扩展,消息扩展等,消息效果可以看下方 项目截图 通话方面这里选择了声网提供的服务,看了下他们提供的功能还是比较多的,这里主要用到了语音通话,以及变声效果处理,感觉集成还是比较方便的,之前没用过的情况下,

Ubuntu 安装配置 Mongodb

首先去官网下载对应的包,这里是针对 Ubuntu 系统的 mongodb-linux-x86_64-ubuntu1604-4.2.8.tgz 包 官网地址:https://www.mongodb.com/try/download/community 1.安装为了能做到全局控制,这里使用 tgz 包方式安装 # 解包 $ tar -zxvf mongodb-linux-x86_64-ubuntu1604-4.2.8.tgz # 移动到 /usr/

Nvm 管理 Nodejs

在经历过几次自己下载node安装包安装,卸载,重新安装之后,对如此麻烦的操作已经厌烦了,最终选择了nvm这个好用的工具,操作方便,可以管理node可以在任一版本间切换 安装 nvmnvm开源地址 https://github.com/creationix/nvm 可以使用以下命令进行安装: $ curl -o- <https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh> | bash # or $ wget

弄了个简洁优雅的选择小程序

简单介绍 易择 选择困难症助手,给选择困难症的小程序!硬币、石头剪刀布、骰子、选择题,一键给出选择,吃什么、穿什么、玩什么、买不买、做不做,易择 - 统统帮你选择! 很多时候有太多的选项摆在我们面前,我们不知道怎么选择,那就交给这个小工具吧,内容可以自由编辑,自由发挥,大家有什么号的建议或者意见,欢迎反馈,我会努力优化的 目前实现的功能 自定义动画模式 转盘动画 跑马灯动画 老虎机 自定义内容管理 添加 编辑

Android开发RecyclerView使用关于notifyDataSetChanged的坑

前言 这两天在做一个新需求:在一个列表界面,有两种特殊布局,一种是包含倒计时的,一种是展示一个网格布局的图片六宫格,这个六宫格内部实现是使用RecyclerView加GridLayoutManager实现,因为前期实现这个界面使用的是ListView,并没有做好局部刷新,所以当倒计时刷新时,六宫格布局也跟着刷新了,但是刷新时发现图片一直在闪烁,明明已经对图片做了缓存,并且对ImageView做了判断,加载过得不应该再次加载才对,后来经测试发现,只有六宫格数据充满六个才会在这样,五个一下完全没问题,我勒个去,这把我给坑的,各种查找资料,搜索社区…… 原因 为这事还加了一天班,后来终于找到元凶,怪自己知识储备不够: RecycleView是为了替代ListView和GridView而设计的,同时还能实现瀑布流的效果,内部管理ViewHolder,无需我们自己手动创建ViewHolder保存,为我们自动做好缓存和ItemView的复用; 但是在使用时需要注意RecyclerView内部默认只缓存5个Item,如果调用notifyDataSetChanged(

Android开发键盘遮挡布局的问题解决

嗨 大家 嗨 大家,对又是我,我又来了,这次整理一个自己在Android开发中遇到的小问题;虽说是小问题,但是这个小问题还是比较蛋疼的;折腾了我将近两个小时,原因在于自己之前实现的一个功能,导致系统的用法在这里无效,这里记录铭记 解决 其实要想输入法不遮挡布局很简单,只需要在项目的配置文件中加上一个属性就行,就是在AndroidManifest.xml文件的activity中添加下边这一条属性: android:windowSoftInputMode="adjustResize|stateHidden" 明明是很简单的一个方法,不过因为我之前有设置在api v19上让状态栏透明,并且内容可以显示在状态栏之后,从而导致布局不会根据系统的布局而变动(输入法算是系统布局),所以要为自己的布局设置一个属性: android:fitsSystemWindows=

Git版本控制常用命令总结

简单总结下使用 git 进行版本控制的时候一些常用命令,以及一些常用语 生成/添加SSH秘钥 使用一下命令生成公钥并输出公钥 # 使用 `ssh-keygen` 命令按照提示完成三次回车,即可在当前用户目录下生成一个`.ssh`目录 # 这包含两个文件`.id_rsa`私钥和`.id_rsa.pub`公钥 $ ssh-keygen -t rsa -C "xxx@xxx.com" ... # 使用 cat 命令输出公钥内容

终端相关命令总结Linux&Unix 通用

整理记录自己在开发折腾过程中常用的一些系统终端命令,这些命令一般在Linux&Unix都通用,不过一般在Mac上不很少用到,大多都是在Linux内核系统上使用,我也主要是在我的Ubuntu服务器上使用 打包压缩常用命令 # tar 打包/解包 # tar 只是打包 -z 参数是压缩,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识, 如果加 -z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar

Android有没有必要时刻去关闭后台程序

前言 今天折腾手机的时候发现昨天刷的系统有个bug,所以又去逛了论坛,找了个rom刷上了,在逛论坛的时候发现了一篇帖子,让我这个从事Android方面工作的新手也对Android有了一个新的认识! 摘录如下 不用在意剩余内存的大小,其实很多人都是把使用其他系统的习惯带过来来了,Android大多应用没有退出的设计其实是有道理的,这和系统对进程的调度机制有关系。如果你知道java,就能更清楚这机制了。其实和java的回收机制类似,系统有一个规则来回收内存。进行内存调度有个阀值,只有低于这个值系统才会按一个列表来关闭用户不需要的东西。当然这个值默认设置得很小,所以你会看到内存老在很少的数值徘徊。但事实上他并不影响速度。相反加快了下次启动使用的速度。这本来就是Android标榜的优势之一,如果人为关闭进程,没有太大必要。特别是使用自动关进程的软件。 到这里有人会说了,那为什么内存少的时候运行大型程序会慢呢? 其实很简单,在内存剩余不多时打开大型程序,会触发系统自身的调进程调度策略,这是十分消耗系统资源的操作,特别是在一个程序频繁向系统申请内存的时候。这种情况下系统并不会关闭所有打开的进程,