- 博客(54)
- 收藏
- 关注
原创 AndroidX Navigation 反复创建Fragment问题修复
解决 Android Navigation 反复创建 Fragment 的问题
2024-06-06 11:51:43 444
原创 Gradle变异异常汇总
androidx.compose 版本和 kotlin 版本对应不上或者未配置this version (1.0.0-rc01) of the Compose Compiler requires Kotlin version 1.5.10 but you appear to be using Kotlin version 1.4.31 which is not known to be compatible. Please fix your configuration (or `suppressKotli
2021-07-19 10:30:47 441
原创 Mybatis笔记
Mybatis 复杂对象场景应用//用伪代码表示这个 map 集合的内容class Bean { Map<String, Set<String>> inputs = { "chinese":[85,90,95], "math": [80,85,90], "english": [70,75,85] }}<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLI
2021-05-26 16:36:14 146
原创 Hive问题记录
Sqoop导入数据到Hive Orc表建表sqoop_import_db.bas_user_detail_country_newcreate table if not exists test.stu( name string,age int,score int,address string) stored as orc TBLPROPERTIES ('orc.compress'='SNAPPY');-- 覆盖导入参数无效,先清除再导入,或者采用分区表导入truncate table
2021-02-05 13:51:46 163
原创 OLAP神器介绍之Clickhouse
Clickhouse是一个用于联机分析处理(OLAP)的列式数据库管理系统(columnar DBMS)。一个字,快!安装安装部署CentOS 步骤梳理sudo yum install yum-utilssudo rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPGsudo yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/stable/x86_.
2021-01-15 14:40:15 261
原创 玩转Docker之Docker基础命令介绍
玩转Docker之Docker基础命令介绍Docker 是 PaaS 提供商 DotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于 Go 语言并遵从Apache2.0协议开源。文章目录玩转Docker之Docker基础命令介绍Docker三大要素安装启动服务验证镜像操作命令介绍容器操作命令介绍Docker三大要素镜像 Image类似Java类的代码文件 容器 Container类似Java类的实例对象 仓库 Repository类似存放代
2020-11-29 17:02:35 129
原创 常用Shell脚本小工具
日期循环#!/bin/shend="20201010"st="20200901"while [ $st -le $end ];dost_format=`date -d ${st} +%F`echo $st_format# 逻辑代码echo $stlet st=`date -d "${st} + 1days" +%Y%m%d`done
2020-09-18 15:02:54 325
原创 PySparkSQL 写入数据Option约束
代码def save_data(df: DataFrame): """ 保存数据 :param df: :return: """ ct = df.count() if ct == 0: print("无数据") return df.write.format("jdbc") \ .option("url", "jdbc:mysql://%s:%s/database?
2020-09-09 11:12:13 655
原创 Python小功能
邮件通知from email.mime.text import MIMETextimport smtplibdef send_email(msg): """ 发送邮件通知 :param msg: :return: """ # 输入Email地址和口令: from_addr = 'xxxx.com' password = 'xxxx' # 输入收件人地址: to_addr = ['xxx@qq.com'] # 输
2020-09-08 10:38:33 177
原创 Python一些比较少见的日期处理(持续更新)
# -*- coding: UTF-8 -*-import datetimefrom _datetime import datetime, timedeltadef recent_7_days(year, month, day): """ 获取最近七天时间段 :return: string """ end = datetime(year=year, month=month, day=day) st = end + timedelta(days=-6)
2020-09-02 09:35:23 154
原创 Airflow笔记
Airflow 已逐渐成为最流行的任务调度框架,加上本身由 Python 语言编写,对比 Azkaban 灵活性,可配置性更高Airflow官网配置参数介绍 default_args = { 'owner': 'Airflow', 'depends_on_past': False, 'email': ['airflow@example.com'], 'email_on_failure': False, 'email_on_retry': False, 'retries': 1, 'ret
2020-07-14 19:25:25 1161
原创 Spark问题记录
问题1问题描述项目中使用CDH 5.8,在测试环境上使用 spark-sql 将数据写到Mysql 时,一直报错如下java.lang.ClassNotFoundException: com.mysql.jdbc.Driver根据错误应该是Mysql 问题,两种可能存在节点上没有 MySQL驱动 JarJar 路径未指定对由于我对测试环境集群组件配置不了解,于是去 CM上看了一下Spark的配置,几乎都没有找到 驱动包,于是给每个节点下这两个路径放置了Jar/opt/cloudera/p
2020-07-03 19:11:46 154
原创 HQL动态传参与SQL对比
HQL与SQL动态传参方式对比MYSQL脚本传参# 设置变量sed -i "1 i\ set @name='$name';" file.sqlsed -i "1 i\ set @age='$age';" file.sqlsed -i "1 i\ set @db=$db_name;" file.sql# 执行 SQL 语句mysql -uroot -proot -hx.x.x.x -P3306 --database dbname --default-character-set=utf8 -
2020-05-26 17:34:13 375
原创 采坑笔记-GeoIP 库的坑
GeoIP库主要用来做 IP 地域解析,目前用的多的有淘宝 IP, IP2Region, GeoIP ,GeoIP 质量上乘,产品多语言支持,用起来很方便,目前 GeoLite免费,GeoIP2 收费,GeoLite 博主发现存在解析不精准的问题,还看到其他人吐槽 GeoLite 对国内地区支持不是很友好,反正博主要开始用了,因为项目定死了要用它。集成过程如下 pom.xml文件<dependencies> <dependency> &.
2020-05-17 20:02:03 1847 2
原创 Spark(V2.11)内核源码解析
Spark内核源码解析(V2.11)`Master`功能启动流程分析`Worker` [`RpcEndPoint`]功能启动流程分析`Submit`流程分析`ApplicationMaster``CoarseGrainedExecutorBackEnd``SparkContext``Driver``Executor``Master` `Worker` 通信Master功能进程 ,类似于 Re...
2020-04-17 21:15:20 320
原创 HBase配置及集群搭建
HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。安装部署首先保证Zookeeper集群的正常部署并启动Hadoop集群的正常部署并启动hbase-env.shexport JAVA_HOME=/opt/module/jdk1.8.0_144export HBASE_MANAGES_ZK=falsehbase-site.xml<con...
2020-02-05 18:57:44 301
原创 Kafka配置及集群搭建
Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。使用消息队列的好处解耦允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。可恢复性系统的一部分组件失效时,不会影响到整个系统。消息队列降低了进程间的耦合度,所以即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统恢复后被处理。缓冲有助于控制和...
2020-02-05 18:00:42 337
原创 Flume环境搭建及配置
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。1.flume-env.sh 配置JAVA_HOME export JAVA_HOME=/opt/module/jdk1.8.0_1442.Exec source适用于监控一个实时追加的文件,但不能保证数据不丢失;Spooldir Source能够保证数据...
2020-02-04 15:00:44 442
原创 Zookeeper部署与配置
1.打开zoo.cfg文件,修改dataDir路径 创建 zkData 目录 dataDir=/opt/module/zookeeper-3.4.10/zkData 2.相关命令 zkServer.sh start ----- 启动服务 status ---- 服务状态 stop ------ 停止服务 zkCli.sh ------...
2020-02-04 11:46:42 286
原创 Hive安装部署及配置
1.hive-env.sh 配置HADOOP_HOME路径 export HADOOP_HOME=/opt/module/hadoop-version 配置HIVE_CONF_DIR路径 export HIVE_CONF_DIR=/opt/module/hive/conf2.Metastore默认存储在自带的derby数据库中,推荐使用MySQL存储Metastore; 安装...
2020-02-01 19:08:54 244
原创 Hadoop集群配置
Hadoop集群配置1.hadoop-env.sh 配置 JAVA_HOME2.core-site.xml <!-- 指定HDFS中NameNode的地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop102:9000</value&...
2020-01-31 16:06:27 342
原创 HQL问题记录
HQL问题记录问题11**UDTF使用方法**1.直接放到select后面2.一种和lateral view一起使用用法1.直接 select 中使用 select function(value) as (c1,c2) from table;2.不可以添加其他字段使用:select a, function(value) as (col1,col2) from table...
2020-01-10 16:49:19 591
原创 Retrofit源码解析(Service转化成对象)
retrofit 2.0应该算是当前最火的网络请求框架之一,Retrofit更确切的说是对请求参数作了一层封装,通过注解的方式设置一些列的请求参数,添加了各种支持,如Gson解析,Rxjava的支持,其底层是通过Okhttp去执行网络请求任务,这篇文章主要分析retrofit 如何通过Api接口创建出具体的Api对象,以及如何将Call 转换成Observeable,Flowable等事件流...
2018-07-06 10:40:33 292
原创 面试总结
面试总结篇Java数据结构用数组实现栈用链表实现栈Android面试总结篇做个总结,也算是有所收获,人不能在一个坎上绊倒两次。总结的不对的,希望大家能留言指正。Java数据结构用数组实现栈/** * 用数组实现栈 */public class StackArray { //先初始化一个数组 private ...
2018-07-04 22:43:36 163
原创 Android经典问题-Handler消息机制(源码解析)
Android经典问题-Handler消息机制(源码解析)Android经典问题-Handler消息机制(源码解析)流程图MessageMessageQueneThreadLocalLooperHandlerHandler消息机制基本上已成为Android面试环节的必出题,本人也是在多次被问到之后觉得有必要对这个问题进行梳理一遍,面试的时候拿出来看看,可以省下不少...
2018-06-26 13:46:13 604
原创 React Native 初体验问题日志
1.最新版的RN库根目录下没有index.android.js 和 index.ios.js 这两个文件(这是旧版本的RN库),取而代之的是index.js 和 App.js 这两个文件,我本人是做Android开发的,创建一个RN工程,在 AndroidStudio 上运行Android项目,运行完毕后还报错,unable to load script from assets 'index.an...
2018-06-17 12:50:33 355
原创 百度地图显示用户网络头像并调整用户头像大小
因项目需求,需要在百度地图上显示显示出用户头像,实现的大致思路是将百度地图的marker 标注物换成用户的网络头像,通过联网加载显示出来;然而刚开始我试了很多次,都没有成功,后来通过摸索,总算实现了,大致效果入下;实现方法:方法一、一次性将所有图片加载好再设置上去,但是这样不好控制加载时机,不太好方法二、在图片加载成功后的回调里面设置到地图上,这样便于控制,虽然会慢一点,但是值得一...
2018-03-02 17:49:28 2158 2
原创 Android适配-FileUriExposedException解决方案
Android 7.0系统对文件Uri的传递作出了严格的控制,以往咱们都是直接 Uri uri = Uri.fromFile(file);通过intent的进行隐示跳转,但现在如果在 Android 7.0及以上系统还这样写,就会报出 文件Uri暴露异常,为此, 谷歌建议咱们通过 v4 包里的 FileProvider 来进行Uri跳转传递;近期项目里要做适配,也遇到这个问题,通过网上查资料,发现...
2018-02-11 15:26:29 294
原创 Bugly接入小结
近期因项目需要,准备接入热修复功能,热修复技术在Android里面算是比较牛叉的技术,之前找工作,也是经常问道热修复技术的原理,反正都是瞎说. 目前腾讯bugly热修复功能是免费的,结合我自己的实践,感觉对文档的理解很重要,自己开始也是文档没理解透彻,走了不少弯路,这里就做个小结;第一步: 工程的gradle dependence classpath 'com.tencent.tinker:tin...
2018-02-09 15:26:06 6180
原创 项目BUG日志-Recyclerview篇
时间:2018年2月4日bug描述 : 因项目需要,需要做一个带有头的列表视图,我采用的recycleview,将第一个条目当头,然后获取列表数据,将数据装入集合后,调用了 notifyItemRangeInserted(position, collection.size());当列表没有数据,只显示头的时候,这个时候是没有bug的,当列表有数据程序就崩溃了,并报了错:于是我查
2018-02-04 15:42:58 293
原创 学习笔记-Android webview和JS交互
本文主要介绍一下Android 原生控件webview和JavaScript 的交互方式,原生App 不够灵活,而通过webview 载入js 这种混合式开发可以弥补 原生app 不够灵活的缺陷;现在采用混合式开发的app也越来越多,因此掌握这项技术能为你个人技术加分不少。这里我会通过 Android 调用JS代码和 JS代码调用Android代码来实现 Android 与JS的交互;一.准备
2017-09-12 11:25:00 293
原创 学习笔记-Android AIDL传递对象数据
AIDL (Android Interface definition language)是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口ICP :interprocess communication :内部进程通信;AIDL 其实大家并不陌生,应用里面应用场景很多,如一键分享功能,将数据分享到第三方平台,这都需要用到跨进程通信,这里我主要介绍如何用
2017-09-10 11:58:39 752 1
原创 学习笔记-图片处理技术
图片处理是APP里面一个重要的环节,内存优化,卡顿现象,图片压缩处理关系到APP的性能和用户体验,这方面的博客文章,网上有很多,这里博主主要把最近的这方面学习心得分享一下;一,高效加载大图们可以通过下面的代码看出每个应用程序最高可用内存是多少:int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024); 先获取图
2017-08-24 13:24:41 690
原创 学习笔记-Constraint_layout(约束布局)
谷歌推出constraint_layout 虽然还没流行开来,但是早已听闻这个布局的牛B之处,流行只是早晚的事,再加上下个项目里面,项目经理提到用这个布局,我就顺便分享一下这个学习过程;参考文章:ConstraintLayout (这到底是什么)ConstraintLayout ( 这到底是什么 ) (小贴士及小技巧) 第二部分Constraint Layout 动画 |动态
2017-08-23 15:09:24 392
转载 学习笔记-Android屏幕适配最棒的解决方案
朋友推荐的一篇文章,很值得一看! 链接.public static float applyDimension(int unit, float value,DisplayMetrics metrics){ switch (unit) { case COMPLEX_UNIT_PX: return value; cas
2017-08-11 16:20:17 237
原创 学习笔记-自定义密码输入框和自定义数字密码软键盘
最近项目里面有一个支付功能,考虑到安全因素,需要自定义数字软键盘,我在网上搜了几个控件,发现一个和符合项目需求,直接贴代码了;XNumberKeyboardView.javaimport android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;impor
2017-08-10 15:32:19 1507
原创 学习笔记-微信支付
昨天写了篇接入支付宝支付的 博客,相信看完以后 大家都会觉得很简单, 今天就写一下, 接入微信支付的流程 ,分享给大家.和上一篇一样,也不过多赘述 申请APPID 和 KEY 的过程,大家可以去微信开放平台看看参考文档,微信支付Android接入指南;这里还是需要 依赖微信的SDKcompile 'com.tencent.mm.opensdk:wechat-sdk-android-
2017-08-09 14:37:35 269
原创 学习笔记-简单自定义ProgressBar
在APP联网请求数据或者进行一些耗时的操作时,为了不让界面显的那么呆板,一般会选择用progressbar来进行过度,然而native 往往不符合大家的要求,说白了就是丑,这里,教大家一个简单的自定义progressBar的方法,就几行代码,轻松搞定;直接上代码了....ProgressDialog.javaimport android.app.Activity;import a
2017-08-09 07:42:23 290
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人