虾丸派

烂笔头


  • 首页

  • 标签

  • 分类

  • 归档

  • 关于

  • 书籍

  • 指南

  • 搜索

使用 Java 代码迁移微博图床到 GitHub 图床

发表于 2019-05-02 | 分类于 建站
字数统计 2,532字 | 阅读时长 ≈ 11分钟

由于微博图床开启了防盗链,导致我的博客里面的图片全部不可见,因此要切换图床。当然,一开始我使用的是极其简单的方法,直接设置博客页面的 referer 属性即可【设置为 noreferrer】,这样微博图床就检测不到引用来源,也就不会拒绝访问了。但是后续又遇到了其它问题,这些内容我在前几天的博客里面都记录了:解决微博图床防盗链的问题 。后来我实在找不到更为恰当的解决方案,于是决定直接迁移图床。本来一开始准备使用 PicGo 这个工具,但是发现有问题,在我比较着急的情况下,决定自己写一写代码,完成迁移操作。本文就记录这些代码的逻辑。

阅读全文 »

解决微博图床防盗链的问题

发表于 2019-04-27 | 分类于 建站
字数统计 4,185字 | 阅读时长 ≈ 15分钟

对于不少自己搭建博客的人来说,图床的选择可真是一个大难点,以前还有各种免费好用的图床工具,例如七牛云、又拍云、SM.MS、Imgur、GitHub、微博图床等,当然还有腾讯云、阿里云的云存储服务,但是免费的意味着不稳定,说不定哪天图片就没有了,有一些国外的访问速度又不行,国内的云存储服务商收费又比较高,还有的必须绑定认证的域名才能使用。本来搭建一个小小的博客,只为了记录知识,传播技术,遇到耗财或者耗精力的这种问题,都比较头疼。

后来纠结了好几天,最终决定使用免费的 微博图床 ,一是因为新浪微博这家厂商体量大,微博图床短期内应该不会出问题,二是看到好多网友说他们已经稳定使用微博图床 3-5 年了,没有出过问题。我大概使用的时间还没有一年,以前都是本地化的,没有整理成完整的文章,后来开始慢慢整理并部署上线。没想到最近【2019 年 4 月 24 日左右发现】微博图床出问题了,访问图片链接全部是返回 403 状态码,表示拒绝访问,其实是微博图床开启了防盗链,本文就记录这个现象以及可行的解决方案。

阅读全文 »

mapreduce 错误之 bin bash-line 0-fg-no job control

发表于 2019-04-24 | 分类于 踩坑系列
字数统计 533字 | 阅读时长 ≈ 3分钟

今天在开发 mapreduce 程序的过程中,为了快速开发,程序的整体框架是从别的业务复制过来的,自己增加一些数据处理逻辑以及环境的参数配置。接着就遇到问题,在本地本机测试的时候,Job 作业无法启动,总是抛出异常,然后进程退出。本机系统为 Windows 7 X64。

异常错误信息简略如下:

1
2
Exit code: 1
Exception message: /bin/bash: line 0: fg: no job control

本文记录这个现象以及解决方案。

阅读全文 »

关于 httpcore 的 Maven 依赖冲突问题解决

发表于 2019-04-22 | 分类于 踩坑系列
字数统计 3,151字 | 阅读时长 ≈ 13分钟

今天,又遇到一个 Maven 冲突的问题,这种问题我遇到的多了,每次都是因为项目依赖管理混乱或者为新功能增加依赖之后影响了旧功能,这次就是因为后者,新增加的依赖的传递依赖覆盖了原有的依赖,导致了问题的产生。大家如果搜索我的博客,搜索关键词 maven 或者 mvn,应该可以看到好几篇类似的文章,每次的情况都略有不同,每次解决问题的过程也是很崩溃。不过,每次崩溃之后都是一阵喜悦,毕竟感觉自己的经验又扩充了一些,以后遇到此类问题可以迅速解决。

阅读全文 »

Linux 之 kill 命令入门实践

发表于 2019-04-21 | 分类于 Linux 命令系列
字数统计 4,612字 | 阅读时长 ≈ 17分钟

最近在实际应用场景中,需要使用 Linux 系统的 kill 命令来控制程序的生命周期,例如 ctrl + c、ctrl + z、kill -9 pid 等,而这些命令在日常的工作当中也是非常常见的并且很好用。为了多了解一些 Linux 中信号常量的知识点,以及 kill 命令的基本原理,我整理了这一篇博客。

本文中涉及的 c 语言脚本已经被我上传至 GitHub,读者可以提前下载查看:signal 相关脚本 ,脚本命名与下文中描述一致。

阅读全文 »

JNI 字段描述符基础知识

发表于 2019-04-13 | 分类于 基础技术知识
字数统计 635字 | 阅读时长 ≈ 3分钟

平时在做 Java 开发的时候,难免遇到异常信息中包含一种特殊的表达字符串,例如:

1
method: createWorker signature: (Ljava/util/concurrent/Executor;) Lorg/jboss/netty/channel/socket/nio/AbstractNioWorker;

或者

1
java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.JavaType.isReferenceType () Z

可以看到,异常信息中有一种特殊的字符串出现了:L 后面跟着类名 、 方法后面跟了一个 Z。其实,这就是 JNI 字段描述符【Java Native Interface FieldDescriptors】,它是一种对 Java 数据类型、数组、方法的编码。此外,在 Android 逆向分析中,通过反汇编得到的 smali 文件,里面的代码也会遵循这种方式,即 Dalvik 字节码。本文就记录一些数据类型、数组、方法的编码方式以及解释说明,方便以后查阅。

阅读全文 »

预估 Mysql 数据表的数据大小和索引大小

发表于 2019-04-10 | 分类于 基础技术知识
字数统计 811字 | 阅读时长 ≈ 3分钟

最近接到一个小的新需求,需求很容易实现,就是定时把一些分析得出的指标从 Elasticsearch 中离线存储到 Mysql 数据库中,方便以后查询。离线存储的原因是因为资源不足,Elasticsearch 会自动删除 15 天以前的原始数据,而且 Elasticsearch 每天都会新产生数十万到数百万的数据,依据这些原始数据只会产生几十条分析结果,显然离线存储到 Mysql 中更为合理。在处理这个需求时,接着就遇到了一个小问题,当前业务组没有数据库资源,需要申请,而且由于资源不足,不能随便申请,要给出合理的预估值。这样,就涉及到数据库占用空间大小的预估了,本文记录一种简单的方法。

阅读全文 »

使用 JDK 命令行工具分析内存泄漏或内存溢出问题

发表于 2019-04-03 | 分类于 基础技术知识
字数统计 990字 | 阅读时长 ≈ 4分钟

最近遇到一个棘手的问题,有业务方在调用存储系统封装的 SDK 取数的过程中,遇到了 OOM 问题,但是数据量很小,只有 12000 条。同时进程启动时申请的内存高达 12g,使用 Xmx、Xms 参数控制,实际指定参数取值为:-Xms12g -Xmx12g。但是如果只看报错日志信息,抛出异常的代码位置指向了 SDK 的内部代码。根据这个现象,我猜测可能是业务方的处理逻辑问题、SDK 内部处理逻辑问题、申请的内存过小问题,这些问题归根结底,要么是内存不够【内存溢出】,要么是内存不当使用【内存泄漏】。所以,我要在 Java 虚拟机参数方面或者业务方代码逻辑方面入手,一步一步测试,找出问题的元凶。本文就记录这一过程,以及适当引申一些关于 JVM 的知识。

解释说明一下,上述中的 SDK 表示存储系统独立封装的取数、查询接口,它屏蔽了 Elasticsearch 自带的接口,并封装成公共组件,提供给各个业务方使用。各个业务方在使用前,需要申请开通 token 验证码,存储系统会根据业务方的使用量分配合适的资源,业务方在调用时需要传入 token 验证。这样做的好处,一是可以监控所有的业务方的取数、查询情况,收集所有的请求日志,统计一些常用的指标,然后反过来指导存储系统的改进,例如根据业务方的调用情况进行资源分配的伸缩、针对常用的数据类型进行索引优化。二是可以保障整个数据库集群的正常运行,由于屏蔽了 Elasticsearch 自带的接口,业务方不能随意操作超大额的数据量,SDK 会做限制,因此不会产生某些不合理的查询、取数请求,从而不对数据库造成巨大的压力。三是限制了一些不需要的查询、取数方式,在保障业务方基本需求的情况下又可以保障数据库集群的稳定,例如多层聚合、日期聚合等操作,这些操作不合理,而且会对数据库集群造成压力【无论数据量大小都可能会出事】。

阅读全文 »

使用 IDEA 调试程序命令过长

发表于 2019-04-02 | 分类于 踩坑系列
字数统计 416字 | 阅读时长 ≈ 2分钟

在日常工作学习中,离不开使用 IDEA 调试 Java 程序,这次突然出现异常:Command line is too long.,本文记录分析过程、解决方案,以下内容开发环境基于 Windows10 x64、JDK v1.8、IDEA ULTIMATE 2017.2。

阅读全文 »

青椒炒蛋做法总结

发表于 2019-03-31 | 分类于 菜谱
字数统计 923字 | 阅读时长 ≈ 3分钟

青椒炒蛋,是一道非常普通的家常菜,基本家家户户都会做。有的家庭喜欢吃辣,放的是稍微辣一点的辣椒,有的家庭不喜欢吃辣,就放菜椒或者甜椒,总之,对于辣椒的选择非常多。对于辣椒的处理方式,有的人喜欢切小块,有的人喜欢斜切小段,还有的人直接剁碎,做法也多种多样。本文记录青椒炒蛋的做法总结,使用的是菜椒【不辣微甜】,由于故意多放了生抽,做出来的口味是咸香的。

阅读全文 »
1…456…15
虾丸派

虾丸派

记录知识 | 分享技术

144 日志
13 分类
294 标签
RSS
GitHub 微博 E-Mail
Creative Commons
友情链接
  • GitHub
  • Weibo
  • 虾丸派
  • playpi
  • 廖雪峰
  • 阮一峰
  • travis-ci
  • Vultr
© 2016–2021 | 虾丸派 | 全站字数统计 326.3k 字
由 Hexo 强力驱动
|
主题 NexT.Mist| 总访问量 次 | 总访客 人
0%