Xcode Failed to Create Provisioning Profile.

在使用xcode创建新项目时,有可能会出现以下的错误

1
2
3
4
5
Failed to create provisioning profile.
The app ID "com.hohode.Cal" cannot be registered to your development team. Change your bundle identifier to a unique string to try again.

No profiles for 'com.hohode.Cal' were found
Xcode couldn't find any iOS App Development provisioning profiles matching 'com.hohode.Calculator'.

这个时候,可能是因为包名用了大写的缘故,改为小写就可以了,比如改成com.hohode.cal

ClickHouse JDBC Bridge的使用

参考文档 https://github.com/alex-krash/clickhouse-jdbc-bridge

1.先把项目下载到本地,解压到目录比如/data/clickhouse-jdbc-bridge-master

2.使用如下命令打包

1
mvn clean package

生成的最终jar包如下
upload successful

3.上传到目标服务器上

比如我要把 10.0.0.1 上Clickhouse上的数据复制到10.0.0.2的Clickhouse服务器上,那么将clickhouse-jdbc-bridge-1.0.jar上传到10.0.0.2上,

4.启动clickhouse-jdbc-bridge

之后使用如下命令启动

1
java -jar clickhouse-jdbc-bridge-1.0.jar

5.在目标服务器10.0.0.2上执行命令

upload successful

Kafka数据切换磁盘目录

查看所有磁盘 fdisk -l
查看现有磁盘信息 df -hT
格式话磁盘
mkfs.xfs /dev/vdd
创建目录
mkdir /data2
挂载磁盘
mount /dev/vdd /data2

查看原来kafka数据文件目录的大小
du -sh /data/kafka/data

在新挂载的磁盘上创建目录
mkdir -p /data2/kafka/data

为了减少kafka数据的大小,可以先动态改变kafka数据的保留时间,默认为7天,先改为12个小时
kafka-topics –zookeeper hadoop005:2181 -topic raw_log –alter –config retention.ms=43200000
等重启kafka之后,可以将此配置参数改过来

停掉这台机器上的kafka broker

将原来kafka数据拷贝到新的目录
cp -r /data/kafka/data/* /data2/kafka/data/

对新目录的kafka数据授权
chown -R kafka:kafka /data2/kafka/data

将原来目录中的kafka数据备份
mv /data/kafka/data /data/kafka/data.bak

将这台机器上的kafka的数据目录(log.dirs)改为/data2/kafka/data

启动这台机器上的kafka broker

过3分钟,观察yarn上的任务,大部分已经恢复正常工作。

Mac中用Excel导入csv文件出现乱码

Windows用户在使用Excel处理数据文件时都不会关心文件的编码,因为Excel支持Windows上默认使用的简体中文编码GB2312。但是,使用MAC的用户就没有那么省心了,一不小心就会碰到中文乱码的问题。

在Mac上的Excel中为什么会出现中文乱码的情况呢?这是就需要了解一些文件编码的背景知识。

文件在计算内部采用的是二进制(0和1)的形式存放,那么给定一个0和1组成的串,计算机怎么知道这个串代表的是英文中的’a’还是中文里面的’好’?这时就需要用到文件的编码,不同的编码告诉了计算机怎么去识别文件的内容,例如GB2312编码告诉计算机’001’代表的是中文里面的’好’,而UTF8编码告诉计算机’001’代表的是英文里面的’a’(这个例子只是为了简述文件编码的作用,实际上的编码比这个复杂得多)。

由于UTF-8编码同时支持中文、还是日文、韩文、阿拉伯文在类的各种语言,所以它在Mac中被广泛使用,而目前Mac上的Excel在导入CSV文件时虽然给出了UTF8的选项,但是导入以后的中文还是乱码,这是因为它实际上是不支持UTF8编码方式导致的,至少对于Excel 2011 for Mac是这样。

那么怎么解决这个问题呢,方法很简单:将文件的编码方式由UTF8转为Excel支持的中文编码方式,Mac上的iconv工具专门就可以用来干这个事情。例如,在Excel给出的中文编码方式中有GB18030,那么我们可以通过Mac上的iconv工具将文件编码由UTF8转为GB18030。只需要在命令行中键入如下的命令:

1
iconv -f UTF8 -t GB18030 源文件.csv >新文件.csv

就可以将“源文件.csv”文件的编码方式由UTF8 变为GB18030并写入到“新文件.csv”文件中,在Excel中导入“新文件.csv”文件中的内容,我们会发现烦人的中文乱码消失的无影无踪了!

差点忘了最重要的一个问题,使用iconv的前提是我们知道文件的编码,那么Mac上怎么知道文件的编码呢?其实很容易啦,首先用Mac自带的编辑器vim打开文件,然后使用命令

1
:set fileencoding

vim就会在屏幕的下方显示文件的编码。

from https://blog.csdn.net/v_love/article/details/7623957

Scala Error Overloaded Method Value

先声明一个mutable.HashMapString,Long个变量
var topicCountForIntervalMap = mutable.HashMapString,Long
使用如下语句,进行加减操作

1
val t:Long =  topicCountForIntervalMap.getOrElse(key,0) - TopicPartitionOffsetInfo.last.topicCountForIntervalMap.getOrElse(key,0)

得到如下错误

1
2
3
4
5
6
7
8
9
10
[ERROR] /xxxxx-java/src/main/scala/com/xxx/bigdata/kafka/monitor/TopicPartitionOffsetInfo.scala:86: error: overloaded method value - with alternatives:
[ERROR] (x: Long)Long <and>
[ERROR] (x: Int)Long <and>
[ERROR] (x: Char)Long <and>
[ERROR] (x: Short)Long <and>
[ERROR] (x: Byte)Long
[ERROR] cannot be applied to (AnyVal)
[ERROR] val t:Long = topicCountForIntervalMap.getOrElse(key,0L) - TopicPartitionOffsetInfo.last.topicCountForIntervalMap.getOrElse(key,0)
[ERROR] ^
[ERROR] one error found

解决办法,在使用getOrElse的使用一定要保证数据类型一致,改成如下的语句

1
val t:Long =  topicCountForIntervalMap.getOrElse(key,0L) - TopicPartitionOffsetInfo.last.topicCountForIntervalMap.getOrElse(key,0L)

就可以了

Js判断页面是关闭还是刷新

  1. 根据页面关闭时的事件判断
    https://blog.csdn.net/u010175124/article/details/9092899
    页面加载时只执行onload
    页面关闭时只执行onunload
    页面刷新时先执行onbeforeunload,然后onunload,最后onload
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<html> 
<head>
<title>判断页面是关闭还是刷新</title>
</head>

<body onunload="fclose();" onload="fload();" onbeforeunload="bfunload();">
<script language="javascript">
var s = "test";
function fclose()
{
if(s=="no")
alert(’unload me!=’+s+’这是刷新页面!’);
else
alert(’这是关闭页面’);
}

function fload()
{
alert("load me!="+s);
}

function bfunload()
{
s = "no";
}
</script>
</body>
</html>
  1. 根据 performance.navigation.type判断
    https://www.zhihu.com/question/29036668
    0表示从链接进去,1表示刷新

  2. 根据window.name判断
    https://www.zhihu.com/question/29036668

    type
    1
    2
    3
    4
    5
    6
    7
          window.onload = function() {
    if (window.name == "") { // 直接进来才是空的
    alert('直接进来');
    }
    window.name = "test"; // 刷新当前页面,window.name并不会销毁
    };
    </script>