- 博客(37)
- 收藏
- 关注
原创 gitlab-ci部署Android自动生成APK
1.在目标机器上安装Java1.8,这里用的ubantu2.安装sdkmanagerwget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip3.安装编译环境sdkmanager "platforms;android-29" "build-tools;29.0.3"4.安装自己适合的gradle5....
2020-03-17 15:11:55 1393
原创 kafka数据通过flume进hdfs
之前本想用下面这种架构搭建一个集群来学习大数据但是发现这种情况下,flume到sparkstreaming的数据并不是实时过去,都是嗝了一个很长很长的间隔突然过来一堆,很玄学。这里并不是我设置Spark的采集周期的问题。后来改变架构为kafka直接把数据推到sparkStreaming里面,是下面这种架构这里我在HDFS采集的flume上面挂了一个拦截器,把日志分为启动日志和...
2019-12-04 17:36:53 316
原创 kafka连接flume把数据分别推到HDFS和SparkStreaming
kafka没有办法多个消费者重复消费同一个topic,所以就在kafka后面挂载flume,然后利用replicating的selector把数据分别发往HDFS做存储和sparkstreaming中实时分析。下面我贴一下flume的配置文件a1.sources = r1a1.sinks = k1 k2a1.channels = c1 c2a1.sources.r1.selector....
2019-12-02 18:12:18 328
原创 把hive的元数据都保存在mysql里面(hive连接mysql)
1.下载mysql-connector-java-bin.jar并放置在xxx/apache-hive-1.2.1-bin/lib文件夹下mysql-connector和mysql的版本对照2.在mysql中创建metastore数据库,并且创建用户给这个数据库赋权3.编写hive-site.xml并放置在xxx/hive/conf下<?xml version="1...
2019-11-28 12:16:26 901
原创 SparkStreaming 遇到LZ4BlockInputStream报错
今天在学习Spark的流式处理的时候,执行map算子和其他算子都正常,但是唯独执行groupbykey算子的时候回报如下错误Caused by: java.lang.NoSuchMethodError: net.jpountz.lz4.LZ4BlockInputStream.<init>(Ljava/io/InputStream;Z)V at org.apache.spark....
2019-11-05 15:59:48 711
原创 学习spring boot2的一些记录1
最近接了个私活.....emmmmmm, 我一个Android工程师现在写上了后台代码,也是贫穷限制呀。不过话说spring boot还是挺好玩的。接下来会更新一些学到的东西。spring boot版本:2.1.1.RELEASE今天记录一下关于application.yml配置文件在多 环境下切换的小技巧。开发一开始都在release上开发,现在系统交付推上线了,就不敢乱玩了,用配置文件区...
2019-01-31 15:36:26 207
原创 关于Android的Databinding在RecyclerView上使用的记录
首先我是 不太喜欢Databinding这玩意的,虽然用着还是蛮爽的,一绑定所有的控件直接拿到,也不用findViewbyid了,但是这东西出错误了巨难差。你要是在xml里面写错了,AndroidStudio不报错的那种错误,那你就头疼吧。Databinding对象死活就不会生成,纠结到死。 算了,不吐槽了,说不上AndroidStudio以后会对Databinding支持的特别好 ...
2018-11-17 20:58:37 2412 2
原创 在centos6上安装python3.7以及一大堆垃圾问题安装
一.安装1.wget下载python3.7。wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz2.配置 && 编译安装python./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl/make &...
2018-11-07 12:33:00 885
原创 记录一下在centos6.4上安装mysql8.0的过程
感谢作者:原文:https://blog.csdn.net/liyanwei1007/article/details/80728800 搞得我研究了一下午,头疼啊。记录一下1.去下载编译好的mysql8.0,直接执行wget就行。下载:https://dev.mysql.com/downloads/mysql/2. 卸载系统自带的mysql(这步很重要,参考一下) rpm...
2018-11-07 01:50:25 554
原创 记录一下头条面试的惨败题(遍历回形数组)
之前找工作的时候去头条碰碰运气,然后结果一面就惨败回家。不得不说头条的面试很有分量。一面小哥开场看了一下我的简历,然后直接就说那你做个题吧。然后现场写了个回形数组,让我写个算法遍历下。说实话本人算法 真的很水。也没有 刻意去研究过。所以当场就凉凉,尽然给面试官很猥琐的说,我能不能给你用快排排个序输出不就有序了。然后面试官笑而不语摇摇头。当时紧张加上思维混乱,总觉得用for循环加上递归能...
2018-10-09 14:39:15 464
原创 Android NDK学习起航之路之先买一艘船
感觉Android写了这么久了, 也该学点装逼的技能了。所以我把目光放在了NDK和C++上,只要玩转了这两个, 我就能去玩OpenCV和TensorFlow了,想想就美滋滋。今天先来基础配置一个最简单的NDK环境。基于AndroidStudio 3.2,使用Cmake第一步,先安装环境吧。把这三个都先安装好第二步,给工程配置好NDK环境File----Project S...
2018-10-05 17:08:06 183
原创 在Fragment中沉浸菜单栏失效问题的记录和处理
使用了QMUI的toolbar封装了一下,然后include在每一个Fragment上,点击切换后发现沉浸式菜单栏失效。在stackoverflow上面发现大佬的解答,然后一知半解,然后又看到了一位小哥哥写的解决办法。试了一下好用,所以记录一下大佬的解答是这样的。Your FrameLayout is not aware of window inset sizes, because it'...
2018-09-28 14:23:00 1062
原创 Java链式调用记录
最近看Rxjava觉得那个链式调用好神奇啊,一路上.....就可以各种赋值了。嗯,突然想到Java里面的StringBuffer也是这样的,大致研究了下发现就是不停返回当前类对象对象就行了。嗯,这个很强势。我在这记录下这东西怎么玩。talk is cheap,show me code.首先是一个狗的类(这里的set方法全部返回当前this对象)public class Dog { pr...
2018-09-25 10:34:01 415
原创 Rxjava+RecyclerView+lrucache+disklrucache实现一个蠢蠢的瀑布流
最近在强化Android的技术,准备换个坑吃饭了。最近面试了几家公司,都 特别喜欢考两个点。RecycleView和Rxjava,嗯,那我就索性用这两个结合上缓存机制实现一下瀑布流。废话少说,先看效果加载逻辑其实用上Rxjava就很简单了。利用concat操作符就很容易完成了。一.先贴上布局,这个 很简单。主activity布局<?xml version="1.0" e...
2018-08-25 18:58:06 557
原创 记录下pycharm+pyqt环境的部署
公司小demo用tkinter写实在是恶心到家了,弄了我一天实在受不了了。百度后发现pyqt这个东西很厉害,可以用qt,早就听说过qt大名了。就来使用看看。但是关联qt和pycharm遇到一些小小的坑。记录一下1.首先需要安装QT,这个就是qt的主程序了。逃不掉的。下载地址:http://download.qt.io/official_releases/qt/5.8/5.8.0/qt-openso...
2018-05-08 11:28:49 387
原创 python学习小记录一(装饰器)
今天学习python发现了一个很屌的知识点叫什么装饰器。这玩意很屌啊,很像Java里面的注解框架功能,但是感觉又比注解好理解一些,我感觉最适合用来打日志了。咩哈哈哈。来来来,看代码。# -*- coding: utf-8 -*-# code by xiaonanimport datetimeimport timeimport functoolsdef log(func): @f...
2018-04-17 18:03:24 193
原创 更新pip安装源到国内镜像点
没啥技术含量,就记录下。pip安装插件各种坑爹,一劳永逸就直接把pip的源设置到国内镜像点。清华大学这个就不错。(mac OS下)创建文件:~/.pip/pip.conf输入内容wq保存:[global]index-url = https://pypi.tuna.tsinghua.edu.cn/simple然后就可以美滋滋使用了
2018-04-12 11:59:47 595
原创 迁移Eclipse代码至AndroidStudio3.0一点点记录
由于公司游戏有需要迁移至AndroidStudio中,我就跑来研究这一块的东西。C的东西好头疼。我在这里记录一下我踩到的坑,其他的就不写了。我用的是AndroidStudio3.0.1,gradle是4.1版本首先对于纯java的Android应用,直接使用Import project功能直接导入Android标准工程就可以了。这个很简单。对于程序用使用了JNI的程序,我们需要调整编译方式。And...
2018-02-27 14:48:39 1845 1
原创 关于函数Vector3.Lerp差值函数的理解记录
本人是U3D的小菜鸟一枚。之前经常看到很多代码里都用到Lerp函数,去百度了下发下叫差值函数。但是确实不明白是什么意思。这两天着实研究了下才懂了一点点皮毛。希望对同样迷惑的小伙伴一点帮助。 言归正传,目前我只看到用Vector2和Vector3做插值的比较多。我看了文档,说两个Color,或者两个Material也可以做插值计算。那么什么是差值。我理解的插值就是在两个向量之间插入一个
2016-12-02 16:10:29 4761 1
原创 Android对于AsyncTask任务的封装
无意间在公司代码中看到前任同事对于AsyncTask类的封装很漂亮。所以自己就尝试模仿了一版。毕竟AsyncTask写起来要好多行,看着并不漂亮。索性封装起来在使用的时候调用一下就可以了。精简代码。 对于AsyncTask我就不多说了,做Android开发的人对于这个类应该是太熟悉不过了。这个类在异步程序使用时简单便捷,过程也可控。但是缺点就是多个异步操作如果对UI有修改时候,就会变得
2016-10-25 15:23:06 1167
原创 关于Android上识别手势画圆的实现
之前无聊同事和我讨论关于手机上如何实现手势画圆这个功能。我就也突然来了兴趣。今天上班正好闲着,就实现一下嘛。改天就研究下三角形怎么实现。嘿嘿。 我的思路主要是这样:首先记录下开始点的坐标A,然后计算这个点距离所有手指移动过的点的距离(当然是利用距离公式啦)。距离A点最远的当然是直径了。然后记录距离A点最远的点C,利用中点公式计算出中心点B。这样确定了原点和半径radius,只需要取手势
2016-10-21 17:55:24 4234 1
原创 学习Android利用反射获取资源文件
公司需要开发一款SDK,代码部分要做成jar文件,那么R文件就没办法引用啦。再也没办法愉快的使用findviewbyid(R.id.XX);获取控件了。去google了一下,发现大神们都可以用反射拿到res里面想要的一切资源。我就学来试用下。把下面的方法封装成一个类,直接用静态方法调用就可以拿到int型的资源引用了。
2016-09-29 18:36:23 5069
原创 利用脚本快速更换apk中的资源并且完成重签名
本人就职于游戏公司SDK研发部门,但是经常出现修改几行java层的SDK代码就要重新打游戏包的痛苦。因为手游动辄上百M,如果只更新这几行java层代码或者更换了里面一个图片资源,再重新上打包机部署打包就要几十分钟为了测试下效果,还要联系游戏主程序合并代码,十分麻烦觉得十分没有必要,只是测试下效果嘛。本着能自己解决就不麻烦别人的原则。我就想了一个笨笨的办法来加速这种小修补的过程,完全可以自行搞定。
2016-09-08 15:18:21 6360
原创 用gradle加入依赖工程手动编译(gradle学习之路三)
上一回说到编译单个APK文件,这个就是一个开始而已。现在哪个写代码的会把所有文件写在一个工程里面呢,对吧。这次我加入了另外一个library工程,作用和以前一样,但是就是把弹Toast的功能移动到这个library中去了,点击按钮会调用library中的弹框的函数。这样就模拟符合了用gradle编译带有依赖工程的APK项目的需求了。好了,那我就记录一下怎么搞这个APK。 首先保证目录结
2016-08-22 10:46:22 4489
原创 用gradle手动编译出android的简单的apk文件(gradle学习之路二)
随着gradle和AS占据了一大片江山,ADT和ant已经被排挤到角落了有木有,去github上搜索个开源代码都是清一色的xx.gradle,最头疼的是集成Google的功能的时候,还得先用AS下载编译依赖jar,然后拖动到eclipse里面去用,还会出奇奇怪怪得问题。索性这两天手头的工作忙完了。一鼓作气把gradle编译apk的套路玩一玩,谁怕谁啊。放马过来。把学习下的东西都记录一下,愿能帮到同
2016-08-17 18:12:48 13387
原创 gradle环境变量的配置3.0版(gradle学习之路一)
转载请附上原文地址: 现在gradle这么热火朝天呢,我们怎么能不捯饬一下呢。在这里记录一下gradle的配置过程。我们用到是gradle最新的3.0版本。首先去下载吧。传送门在这里:gradle-3.0. 这个地址可能要爬墙啊。说实话国内折腾这个gradle要是没有个爬墙的环境,后面的下载插件和依赖相关工程的时候真的就蛋碎一地了。 下载完毕后直接解压到你喜欢的路径下。然后
2016-08-17 17:45:12 1988
原创 关于Android 6.0的权限问题这个大坑记录
今天公司的游戏上线了,刚上线一会就有反馈说Facebook分享直接失效。统计了一下原因是因为6.0权限获取方式变更导致无法读到Bitmap数据。特此记录,如果需要适配6.0以上的系统,在需要获取权限的地方需要加入以下代码: //6.0权限申请 if(Build.VERSION.SDK_INT >= 23){ in
2016-08-08 15:35:18 985
原创 google firebase推送之大坑记录
当firebase推送的时候,是分当前应用在前后台两种情况的。当应用在前台的时候,消息到来的时候会响应onMessageReceived函数,你就可以在里面想怎么处理就怎么处理了。当应用在后台或者被杀掉的时候,这个函数是不会响应的,它会直接吧参数发送到启动的Activity中,以下是google的文档说明:Handle messages in a backgrounded appWhen
2016-07-30 11:12:52 14405 24
原创 关于在git学习中的ssh相关问题的记录
如何生成ssh公钥你可以按如下命令来生成sshkeyssh-keygen -t rsa -C "xxxxx@xxxxx.com"# Creates a new ssh key using the provided email# Generating public/private rsa key pair...查看你的public key,并把他添加到 Git @ OSC http:
2016-07-08 14:00:53 1445
原创 Google FCM推送服务在eclipse上跑起来!!
由于公司现在有需求去集成GCM推送服务,当我集成了一半的时候,google开了个大会,然后就上了个听说很厉害(sha bi)的FCM来替代GCM推送服务,然后老大要求改FCM,我就泪奔了。。。坑爹一,搜遍全网参考资料只有API文档。。。坑爹二,人家用的gradle集成,你在eclipse上接入不了。搞了快一周终于搞定,本着服务大众的心态,本菜鸟将心得一步一步写出来给后面的同志,你们别再入坑啦!!
2016-05-25 16:28:06 14539 9
原创 Cocos2d-x学习之路(二)
例行废话 我感觉我好像走了弯路了。上一节跟着极客学院的大牛捯饬的是C++的环境,我还跟着大牛学了一周的C++,我已经快要吐了。我不喜欢C,也不喜欢C++。上一节配置好的XCode的环境就那么先扔着吧。说不上以后用得到。因为一个很重要的问题,我发现我们公司开发游戏用的Cocos2dx+lua的配置,所以我又跑来折腾lua的配置开发。这样呢,我就必须要去下载 quick-cocos2d-x这
2016-05-12 18:00:03 597
原创 GoogleCloudMessage推送的使用三(整个服务器玩)
Google的推送流程应该是,先由你自己的服务器推送至Google的服务器,然后Google服务器再推送至注册的手机。所以这个操蛋的流程和操蛋的墙,国内的用户你就别想了,太麻烦,还要登录Google账号才能使用。言归正传,搭建一个Tomcat的服务器,这个我就不说了,网上一搜一大堆。搭建好以后访问localhost:8080如果显示可爱的小猫,我们的第一步就完成了。接下来。。。。
2016-05-12 12:33:06 2389
原创 GoogleCloudMessage推送的使用二(正式使用走起)
上一期记录了申请过程,就这个申请过程很恶心啊,卡了我好久。两个Key傻傻分不清楚,导致最后推送一直失败失败失败。让我们继续,ADT升级最新版后,打开SDK Manager,下载这些,有些人会在Extra下面直接有那个Google Cloud message,我是死活没有,后来好像就是这么折腾上的。安装完以后就会在自己的sdk的路径的extra下面有gcm的项目,到这里去copy那个
2016-05-12 12:13:26 3005
原创 GoogleCloudMessage推送的使用一(申请)
今天老大给安排一个任务,在项目中用GCM推送,好难用有木有,根本和极光推送没得比啊。难用要死。但是没办法,耐心研究API吧,搜索了好多大牛的文章,发现都是以前的,Google console都更新几代了。害得我走了不少弯路。我在这里Mark一下,希望看到的童鞋不用再走弯路。 首先要翻墙啦。你不翻墙根本就上不去GooglePlatform。链接在这里:点击打开链接,进去后注册啥的。然
2016-05-12 12:00:37 2884
原创 Cocos2d-x学习之路(一)
前文 我呢,现在在一家手游公司上班,但是我之前一直学习的是做Android应用的,来这家公司后就在做SDK渠道接入的工作,工作好清闲啊,但是感觉自己来了一个多月了也没什么提高的机会,每天看着游戏研发部门的小伙伴热血沸腾的做游戏,我们部门冷冷清清各玩各玩的,我就觉得这生活忒没劲了。工资少吧,还不好玩,这不是我的做事风格啊。索性上班清闲时间开始自学Cocos2dx开发,争取早日加入研发部门
2016-05-05 15:04:10 1672
转载 Mac OS上常用环境变量配置
JAVA_HOME配置环境变量# 使用vim打开.bash_profile文件,加入java环境变量$ vim .bash_profileexport JAVA_HOME=$(/usr/libexec/java_home)检查是否成功$ source .bash_profile$ echo $JAVA_HOME $ java -version
2016-03-16 17:51:07 480
原创 学习设计模式笔记之工厂模式1
本文系个人的笔记,是总结大神的讲解,不是本人原创,重要的事情说三遍。1、工厂方法模式(Factory Method)工厂方法模式分为三种:1.1、普通工厂模式 就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。简单理解就是将必须用到的方法做成接口,然后需要实现方法的类都去实现这一个接口,通过一个factory的大工厂类对外交互,所有需要使用这些实现接口的类的
2016-03-08 17:47:01 462
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人