501JOY

  • 首页

  • 归档

Vim 命令

发表于 2019-05-20

行号

零时显示行号
:set number :set nu
永久显示行号
vim ~/.vimrc
在打开的vimrc文件中最后一行输入:set number ,然后保存退出。再次用vim打开文件时,就会显示行号了。
取消行号
:set nonumber :set nonu

TypeScript -- ==、===、!=、!==

发表于 2019-05-20

经常遇到使用===的情况,明明==就能表达了,为什么还用===呢,下面给出Js对应符号的意义。

JavaScript中的=、== 、!==、===的用法和区别。

  1. var num = 11;
  1. var str = ‘11’;
  1. var test = 11;
  1. test == num //true 相同类型 相同值
  1. test === num //true 相同类型 相同值
  1. test !== num //false test与num类型相同,其值也相同, 非运算肯定是false
  1. num == str //true  把str转换为数字,检查其是否相等。
  1. num != str //false == 的 非运算
  1. num === str //false 类型不同,直接返回false
  1. num !== str //true num 与 str类型不同 意味着其两者不等 非运算自然是true啦

== 和 != 比较若类型不同,先偿试转换类型,再作值比较,最后返回值比较结果 。

而
=== 和 !== 只有在相同类型下,才会比较其值。

unity接入头条sdk遇到的坑

发表于 2019-05-12

unity接入头条sdk遇到的坑

从官网下载的Android版本的sdk,导入unity出现在Android9.0的手机黑屏问题总结:

  1. 从官网下载的sdk只有android-query-full.0.26.7.jar和open-ad-sdk.aar两个包,
    如果项目中没有v4包,还需要把suppor-v4-compat.jar和support-v4-utils.jar加入项目中,这两个包在官方demo里面有,否则程序运行会找不到依赖··········

  2. 在 build.gradle中targetSdkVersion要调到27,因为26为Anadroid8.X的,避免影响Andorid9.0及以上的用户。

  3. 按照官方文档,配置AndroidManifest文件对应权限,还有一条官方没有提到的权限要加上,否则在Android9.0手机上加载不了广告–会黑屏,在application中加入

    1
    android:usesCleartextTraffic="true"

原因是sdk的广告是通过http加载的,而android9.0是通过https加载的

获取AndroidManifest元素为空的坑

发表于 2019-05-02

Android 获取application应用元素

比如通过name获取vaule的值

1
<meta-data android:value="123456" android:name="data_Name"></meta-data>

java代码段:

1
2
3
4
ApplicationInfo appInfo = this.getPackageManager()
.getApplicationInfo(getPackageName(),
                          PackageManager.GET_META_DATA);
    String msg=appInfo.metaData.getString("data_Name");
  • 如果使用getString获取的话,value的值就为空,需要把value=“123456”改成value=“\ 123456”即可。(注意“\”后面有空格)

  • 也可以直接使用gitInt获取。

  1. 字符串 使用getString()获取

  2. 整数 如“100” 使用getInt()获取

  3. 布尔值:“true”,”false” 使用getBoolean()获取

  4. 颜色值: “#rgb”, “#argb”, “#rrggbb”, 或者 “#aarrggbb” 使用getInt()获取

  5. 浮点值 :“1.2” 使用getFloat()

git使用日记

发表于 2019-04-29

这里记录使用git的一些日志


  • git file mode
1
2
old mode 100644
new mode 100755

从Mac系统的项目移动到U盘中,出现里大量的diff,主要是这个filemode的变化,可以通过

1
git config core.fileMode false

关闭这个

MySQL导出csv格式

发表于 2019-04-29

今天需要用mysql导出CSV格式,给数据团队,发现其中有几个坑,记录一下

  • SQL语句
1
2
SELECT * 
INTO OUTFILE "/tmp/tes.csv" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' FROM TBL1

  • 提示SQL错误
1
ERROR 1045 (28000): Access denied for user 'usr'@'%'

这个不是因为数据库账号的密码有问题,而是该用户没有FILE权限,这个权限在腾讯云MySQL中默认没有,所有我只能导出到本地测试


  • 另一个错误提示
1
The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

默认情况下,MySQL 导出文件时,只能使用安全目录,可以通过

1
SHOW VARIABLES LIKE "secure_file_priv";

查看情况。这里的修改方案

修改my.cnf 或则my.ini中mysqld中的字段secure-file-priv

1
2
3
4
5
6
[mysqld]
secure_file_prive=null #限制mysqld 不允许导入导出

secure_file_priv=/tmp/ #限制mysqld的导入导出只能发生在/tmp/目录下

secure_file_priv='' #关闭,不对mysqld的导入导出做限制

并重启mysql服务


遗留问题

在导出CSV的时候,只能导出数据,不能带有表的字段名。虽然通过网上的方法

1
select * into outfile '/tmp/xxxx.csv' fields terminated by ',' lines terminated by '\n' from (select 'col1','col2','col3','col4' union select column1,column2,column3,column4 from table_name) b

依然没有效果,回头继续尝试一下

crontab不执行的坑

发表于 2019-04-28 | 更新于 2019-09-12

在部署一个自动更新的命令,但是crontab一直不执行。刚刚开始以为是权限的问题,后来发现不是这个,是因为路径的问题。总结一下crontab中容易出现的问题

  • crontab执行的脚本需要是决定路径

  • crontab中执行的shell,需要主动cd到shell脚本的目录下,比如:(cd $(dirname $0)

  • crontab执行脚本的权限问题

  • 脚本的环境变量问题

1
2
# 加载环境变量
source /etc/profile

在排查crontab问题的时候,可以采用打印日志的方式,比如

1
* * * * * /home/web/Blog/auto.sh &> /tmp/cron.log

使用说明

发表于 2019-04-28 | 更新于 2019-04-29

这是公司用hexo搭建的博客。所有的博客采用markdown格式书写。

clone项目

1
git clone git@bitbucket.org:501joy/blog.git Blog

阅读README.md

README.md文档中有介绍搭建环境

创建新的文章

1
$ hexo new "文章标题"

More info: Writing

提交git

1
2
$ git commit -am '[+]add post'
$ git push

这里在push之后,会trigger部署的hooks,进而触发部署的脚本

手动发布

1
$ hexo deploy

仁畅题目

发表于 2017-10-26 | 更新于 2020-11-18

1. 打印

题目描述

输入一个整数打印字符图形

输入

一个整数(0<N<10)

输出

一个字符图形

样例输入

1
3

样例输出

1
2
3
×××
□×××
□□×××
提示

□表示一个空格×表示一个”*”号


2. 排序

题目描述

将一列数从小到大排序,并输出重复最多的数以及其次数。每个数是都大于等于零且小于等于2000 的整数。

输入

两行数据

  • 第一行: 表示数的个数(n<= 1500)
  • 第二行: n个用空格隔开的整数。

输出

三行数据

  • 第一行:重复次数最多的数
  • 第二行:最大重复次数
  • 第三行:从小到大排列好的n个数,每个数之间一个空格隔开。

样例输入

1
2
8
1 2 4 9 4 6 4 6

样例输出

1
2
3
4
3
1 2 4 4 4 6 6 9

3. 插入

题目描述

给你一个整数n和一个数列,这个数列保证从小到大排列,现要求将这个整数n插入到数列中,使新的数列仍然从小到大排列。

输入

第一行一个整数n :等待插入的数

第二行一个整数m :数列中数的个数

第三行m个整数(空格隔开)

输出

一行整数:新的数列(空格隔开)

样例输入

1
2
3
2
4
1 3 4 5

样例输出

1
1 2 3 4 5

4. 双塔

题目描述

给定A,B,C三根足够长的细柱,在A柱上放有2n个中间有孔的圆盘,共有n个不同的尺寸,每个尺寸都有两个相同的圆盘,注意这两个圆盘是不加区分的。现要将这些圆盘移到C柱上,在移动过程中可放在B柱上暂存。要求:
p4

  • (1)每次只能移动一个圆盘;
  • (2) A、B、C三根细柱上的圆盘都要保持上小下大的顺序;
  • 任务: 设An为2n个圆盘完成上述任务所需的最少移动次数,对于输入的n,输出An。

输入

输入为一个正整数n,表示在A柱上放有2n个圆盘。

输出

输出文件renchang.out仅一行,包含一个正整数,为完成上述任务所需的最少移动次数An。

样例输入

1

样例输出

2

12

501joy

19 日志
© 2021 501joy
由 Hexo 强力驱动 v3.8.0
|
主题 – NexT.Muse v7.1.0