在mac上使用wine运行win版本的为知笔记

用了快半年mac版本的为知笔记,快被这残废逼疯了,没有最近历史,没有tab,甚至连笔记都只能单开,没有插件系统,还时不时崩溃,__要多垃圾就有多垃圾,真心无力吐槽__,这残废的为知笔记让我从为知的脑残粉变成了黑粉。直到最近我遇到了wine!!!!
wine是一款非常强大的,能在mac、linux平台直接运行windows平台的软件,只需要简单的几个步骤,就可以用上win版本的为知笔记了,现在终于可以放弃mac上这残废的为知了!!!!

阅读更多

java 内部类、文件类

最近写代码时,遇到了一些类使用错误的问题,重新研究了下java的各种类,发现细节还是很多的。
在java中主要有两种类类型:文件类、内部类。

阅读更多

Clang编译FFmpeg常见问题

最近闲来无事,就开始研究下和ffmpeg相关都知识,看了网上关于ndk编译ffmpeg的教程,基本上都是使用gcc来编译,而ndk从r18b开始就正式移除gcc来,因此很有必要研究下clang编译ffmpeg,在此过程中遇到了不少奇怪的问题。

系统:macos
ffmpeg版本:4.1.3
ndk版本:r19c
编译器:clang

阅读更多

android jni 动态注册

最近在研究ffmpeg这个视频库,需要使用到jni的接口,官网看了一遍jni函数注册的方法,感觉特别繁琐,每当新增一个native方法时都要手动编写一个对应的cpp函数,并且cpp函数还要有命名约束,实在不方便。
并且静态注册还有以下弊端:

  • 后期类名、文件名改动,头文件所有函数将失效,需要手动改,超级麻烦易出错
  • 代码编写不方便,由于 JNI 层函数的名字必须遵循特定的格式,且名字特别长;
  • 会导致程序员的工作量很大,因为必须为所有声明了 native 函数的 java 类编写 JNI 头文件;
  • 程序运行效率低,因为初次调用 native 函数时需要根据根据函数名在 JNI 层中搜索对应的本地函数,然后建立对应关系,这个过程比较耗时。
阅读更多

docker 容器中cron服务无法设置开机启动

最近弄了一个数据库自动备份的脚本,打算在docker容器中使用它,过程一直很顺利,直到在设置定时任务时,跳进了docker容器埋藏的大坑。不知道官方是处于什么样的考虑,在mariadb这个镜像中竟然移除了cron这个定时服务,导致只能手动安装。
所以:

  • 我们在 Dockefiles 里面首先要安装 cron:apt-get install -y cron
  • 执行任务的脚本需要写入:echo "*/1 * * * * ./backup_db.sh" >> /etc/crontab
  • 启动 cron 的自启动:update-rc.d cron defaults 99

但是,这个 update-rc.d 并没有生效!!

阅读更多

crontab 定时任务

无论是做开发还是做运维的程序猿,crontab 命令是必须用到的命令,简而言之呢,crontab 就是一个自定义定时器。

一、安装

一般来说cron无需我们手动安装,但是对于某些系统来说,cron有可能会被阉割,比如docker中的容器。

apt-get install cron
sudo service cron start #启动服务
# 其他命令
sudo service cron stop #关闭服务
sudo service cron restart #重启服务
sudo service cron reload #重新载入配置
sudo service cron status #查看服务状态
阅读更多

mariadb自动备份

Mariabackup 是 MariaDB 提供的一个开源工具,用于对 InnoDB,Aria 和 MyISAM 表进行物理在线备份。这个工具是基于 Percona 的 XtraBackup(版本 2.3.8)的解决方案。
这里有一点需要注意,在 MariaDB10.3.x 及以上的版本用 Percona XtraBackup 工具会有问题。原因可能是 MariaDB10.3 以上版本的 redo 日志格式和之前不同了。
Percona 的官方文档:https://www.percona.com/doc/percona-xtrabackup/2.4/index.html
Mariabackup 的官方文档:https://mariadb.com/kb/en/library/mariabackup-overview/
Percona XtraBackup: https://blog.csdn.net/L835311324/article/details/83628339

阅读更多

vim教程(一)--快捷键

用了一段时间的VIM,感觉越来越离不开了。在使用VIM的过程中,从生存->适应->顺畅过程中走了不少的坑,现在正好有时间,打算整理下vim的爬坑过程。
接触VIM首先第一件事就是熟悉VIM的快捷将,本文将整理VIM常用的快捷键,有了这些基本上也够用了~~
vim_log

阅读更多

mybatis 学习

继续学习java后端开发,了解了spring的开发框架后,就需要学习java另外一个重量型的数据库框架。
mybatis-logo

阅读更多

spring-mvc 学习

2019了,感觉经济越发不好,房价却还在持续高涨,最近公司砍了几个项目,打算让我们几个搞android开发的转到服务器端。由于以前有做过python服务端开发的经验,又有写了4年android的经验,接手服务端代码没什么难度,主要障碍还是对spring全家桶的学习。

框架模型

阅读更多

centos安装sftp

最近在keepass官网看到sftp插件,便想利用sftp来同步keepass的数据库,毕竟密码数据库关系重大,放在别人的服务器上总归不安全。

sftp

阅读更多