腾讯云COS文档的一些基本操作

本文只是对腾讯云COS文档的基本操作做了简单的介绍,具体的更详细的内容参考腾讯云官方链接

其实还有一点,腾讯云文档中可能也有一些错误的地方,本文中对其做了调整。比如下边代码中的region,应该是ap-加上地域的拼音,但是文档中给的却是COS_REGION,容易让人误解。

安装SDK依赖,其他安装方式见腾讯云官方链接

1
pip install -U cos-python-sdk-v5

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# -*- coding=utf-8
#参考 https://cloud.tencent.com/document/product/436/12269

# appid 已在配置中移除,请在参数 Bucket 中带上 appid。Bucket 由 BucketName-APPID 组成
# 1. 设置用户配置, 包括 secretId,secretKey 以及 Region
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
logging.basicConfig(level=logging.INFO, stream=sys.stdout)

client = None
new_bucket='test123-125313601'

default_bucket = "test-125313601"
secret_id = 'AKID1qPhjUyB6nEOHuGL8JKDrFMvEG3Z' # 替换为用户的 secretId(登录访问管理控制台获取)
secret_key = 'HGyPaT5RWR7XhbEKDLF7yZuy' # 替换为用户的 secretKey(登录访问管理控制台获取)
region = 'ap-beijing' # 替换为用户的 Region ,腾讯云"存储痛管理"中的"所属地区"中为中文,在这里需要改写为拼音的形式,并且使用ap-前缀
token = None # 使用临时密钥需要传入 Token,默认为空,可不填
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填

def init():
global client
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
# 2. 获取客户端对象
client = CosS3Client(config)

init()

def create_bucket():
print("创建存储桶")
response = client.create_bucket(
Bucket=new_bucket
)
print(response)


def upload_file():
print("上传文件")
with open('/Users/bill/Desktop/23.png', 'rb') as fp:
response = client.put_object(
Bucket=default_bucket,
Body=fp,
Key='desktop.jpg',
StorageClass='STANDARD',
EnableMD5=False
)
print(response['ETag'])


#查询存储桶列表
def look_buckets():
print("查询存储桶列表")
response = client.list_buckets()
print(response)
buckets = response['Buckets']['Bucket']
#遍历对象列表
for bucket in buckets:
response = client.list_objects(
Bucket=bucket['Name'],
Prefix=''
)
print(response)


def download_object(bucket,local_path):
print("获取文件到本地")
response = client.get_object(
Bucket=bucket,
Key='desktop.jpg',
)
response['Body'].get_stream_to_file(local_path)


def delete_object(bucket,filename):
# 删除object
response = client.delete_object(
Bucket=bucket,
Key=filename
)
print("已经将腾讯上的{}/{}删除".format(bucket,filename))


# download_object(default_bucket,'/Users/bill/Desktop/img_downloaded2.jpg')
# delete_object(default_bucket,'icon2.png')

查看腾讯云COS中的appid、Secretld、SecretKey、所属地域

1 所属地区

腾讯云”存储痛管理”中的”所属地区”中为中文,在程序里可能需要改写为拼音的大写形式
所属地区
比如

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# -*- coding=utf-8
# appid 已在配置中移除,请在参数 Bucket 中带上 appid。Bucket 由 BucketName-APPID 组成
# 1. 设置用户配置, 包括 secretId,secretKey 以及 Region
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
secret_id = 'dsddOHuGL8fwwCFDFSMvEG3Z' # 替换为用户的 secretId(登录访问管理控制台获取)
secret_key = 'xxxEZfU2JL8etrYy7yZuy' # 替换为用户的 secretKey(登录访问管理控制台获取)
region = 'ap-beijing' # 替换为用户的 Region ,腾讯云"存储痛管理"中的"所属地区"中为中文,在这里需要改写为拼音的形式,并且使用ap-前缀
token = None # 使用临时密钥需要传入 Token,默认为空,可不填
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
# 2. 获取客户端对象
client = CosS3Client(config)
# 参照下文的描述。或者参照 Demo 程序,详见 https://github.com/tencentyun/cos-python-sdk-v5/blob/master/qcloud_cos/demo.py

2 查看秘钥

查看秘钥

Read More

HTML热图技术调研

heatmap.js

有一种比较成熟的热图技术heatmap.js,通过不同的颜色来标记不同位置(页面上的坐标点)的访问频率,但是不能够标识出页面上某个元素,比如链接,图片的点击次数。
官网地址https://www.patrick-wied.at/static/heatmapjs/
git地址https://github.com/pa7/heatmap.js
使用demo参考 https://blog.csdn.net/Jermyo/article/details/110561098

事件监听

给当前页面的window对象添加一个事件监听器。
在用户点击的时候,上报被点击元素的信息(主要包括url和element path等)。
在展示的时候,计算每个节点的点击PV和UV,并通过元素outline的宽度展示元素的点击量,当鼠标移动到某个元素上时,会出现tip提示框,显示具体的PV和UV数据。

1
2
3
window.addEventListener("click", function(e){
console.log(e.target.tagName);
});

参考 https://segmentfault.com/q/1010000005686667

在Linux上安装ClickHouse可视化工具tabix

1 先安装好nginx, 可以参考

http://www.hohode.com/2018/02/13/Nginx%E7%9A%84%E5%AE%89%E8%A3%85/

2 从GitHub上下载tabix

从GitHub上下载tabix

3 解压并查看tabix目录结构

1
2
tar -zxvf tabix-18.07.1.tar.gz
ll tabix-18.07.1

4 配置nginx

1
vim conf/nginx.conf

替换成以下内容,注意要更改root地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
worker_processes  1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
listen 80;
server_name ui.tabix.io;
charset utf-8;
#替换成自己tabix的build目录地址
root /opt/tabix-18.07.1/build;
location / {
if (!-f $request_filename) {
rewrite ^(.*)$ /index.html last;
}
index index.html index.htm;
}
}
}

5 启动Nginx

1
sbin/nginx

6 访问http://126.21.18.61

注意将126.21.18.61替换为自己服务器的ip地址

tabix home page

tabix index page

下载地址 https://github.com/tabixio/tabix/releases
参考文档 https://blog.csdn.net/qq_28603127/article/details/109281086

Mysql Incorrect String Value: \xF0 for Column 'nickName

获取微信的昵称在存储到mysql中的的时候,总是报mysql Incorrect string value: \\xF0 for column 'nickName错误, 今天研究了一下。
先参考链接 中的内容。

其实就是将nickName的字符集调成 utf8mb4,排序规则调成 utf8mb4_general_ci。

然后链接mysql的时候字符集设置成utf8mb4。如下

upload successful

java.lang.NoSuchMethodError: 'com.intellij.ide.plugins.IdeaPluginDescriptorImpl

在Mac上安装最新的社区版IDEA的时候,出现以下报错

1
2
3
4
5
6
7
8
9
10
11
12
Internal error. Please refer to https://jb.gg/ide/critical-startup-errors
java.lang.NoSuchMethodError: 'com.intellij.ide.plugins.IdeaPluginDescriptorImpl[] com.intellij.ide.plugins.PluginManagerCore.loadDescriptors()'
at com.a.a.b.b.ar.a(ar.java:121)
at com.a.a.b.b.ar.a(ar.java:71)
at com.intellij.idea.MainImpl.start(MainImpl.java:19)
at com.intellij.idea.StartupUtil.startApp(StartupUtil.java:302)
at com.intellij.idea.StartupUtil.prepareApp(StartupUtil.java:242)
at com.intellij.ide.plugins.MainRunner.lambda$start$1(MainRunner.java:41)
at java.base/java.lang.Thread.run(Thread.java:834)
-----
Your JRE: 11.0.9.1+11-b1145.63 x86_64 (JetBrains s.r.o.)
/Applications/IntelliJ IDEA CE.app/Contents/jbr/Contents/Home

试了好几种解决办法,下边的一种办法倒是可以

I hit this same issue with OSX Catalina 10.14.6 when I upgraded from PycharmCE2019.3 to 2020.1. The fix was to remove the ~/Library/Application Support/JetBrains/PyCharmCE2020.1/plugins/marketplace directory and start Pycharm again. Works fine now.

参考链接 https://intellij-support.jetbrains.com/hc/en-us/community/posts/360008088579-intellij-dose-not-start-and-shows-start-error-

错误: 找不到或无法加载主类 com.hohode.bigdata.sem.Report

每次看到类似的错误总会有一种莫名的恐慌,不是因为解决不了,而是刚开始的不知所措,真像是吃了苍蝇一样的难受。
遇到过很多次,每次解决完,都没有留下笔记可能错误比较低级,也完全忽略了,真是很无语啊。

今天又遇到这个错误,终于痛下决心记录下来,虽然错误很低级,解决很简单,但是不能保证又会神经错乱啊。

Read More