[置顶] [Typecho] 代码高亮插件 TypechoHighlight

TypeCho代码高亮插件,核心来自:highlightjs.org

  • 默认为MAC主题,支持主题切换
  • 支持核心引用CDN资源
  • 支持一键复制
  • 支持行号显示
  • 支持滚动条
  • 支持一键下载代码图
  • 语言支持列表:CDN:[apache,bash,c-like,c,coffeescript,cpp,csharp,css,diff,go,http,ini,java,javascript,json,kotlin,less,lua,makefile,xml,markdown,nginx,objectivec,perl,php,php-template,plaintext,properties,python,python-repl,ruby,rust,scss,shell,sql,swift,typescript,yaml]

- 阅读剩余部分 -

我的编程13年

一路走来,颇多遗憾,也颇多感慨

作为一个不怎么样本科学院的毕业生

现在在某券商工作,已经是很多人艳羡的对象了

我却没有丝毫觉得能够吹嘘的地方

我大概属于底子薄弱,自信心不足的人

公司优秀的人才很多,海龟,211,985,一抓一大把

我在这些人中间犹如一只不合时宜的“蟑螂”

暂时还没人发现,但迟早会发现

所以,为了不让人觉得我不合时宜,抓紧时间动起来,抓紧时间改变起来!!!

[typecho]批量插入的做法

前言

最近想起写推特删除的插件,就往下做了点,结果发现,批量插入推文ID的时候,速度很慢,翻了下TYPECHO 关于DB的代码,发现都是自动提交事务的模式。必须得改,涉及到底层的修改(只是返回了两个私有的对象),修改之后,速度提升了不是一点半点,基本上毫秒级就能插入完成,原先要十几秒。

调整

修改home/var/Typecho/Db/Adapter/Pdo.php,增加


 public function getObject(){
        return $this->_object;
    }

修改home/var/Typecho/Db.php,增加

public function getAdapter(){
        return $this->_adapter;
}

使用

因为是pdo,抽象了具体的数据库实现,事务直接启动,最后提交,都是一样的操作,比如下面的代码:

        $sql = "INSERT INTO ".$prefix."tabletable(id_str,stete)  VALUES(?,?)";
        //改了两个文件就为了取到这个
        $stmt = $this->db->getAdapter()->getobject()->prepare($sql);
        $stmt->bindParam(1, $id_str);
        $stmt->bindParam(2, $state);
        //开启事务
        $this->db->getAdapter()->getobject()->beginTransaction();
        for ($x=0;$x<sizeof($ids);$x++) {
            $id_str=$ids[$x];
            $state=$st[$x];
            $stmt->execute();
        }
        //提交事务
        $this->db->getAdapter()->getobject()->commit();

[typecho]做了一个书架插件

前言

之前用的插件是熊猫小A写的一个同步豆瓣的插件,但现在不能用了,提示豆瓣的api接口过期。网上搜索了很久都没有找到能用的api。于是,就参考他的插件代码,改了一份本地化版的插件。

因为换工作了,时间多起来,现在做运维方面的工作,开发倒是生疏了很多,这个插件前端大量使用了熊猫小A的代码,后端的代码,参考了一些方法。有兴趣的可以自己翻阅。

特性

  1. 采用api.jike.xyz 提供的书籍接口
  2. 目前只能单个提交ISBN编码,加入书架
  3. 书籍信息落地到数据库中存储
  4. 后台管理书籍
  5. 后台管理支持按书籍状态筛选
  6. 缓存生成cache/book.json,移除了缓存到期配置,每次添加书籍,修改书籍等操作都会自动刷新缓存。
  7. 移除了单本书节点
  8. [熊猫小A]支持单个节点的方式插入HTML代码
  9. 移除了豆瓣电影(这只是书架插件,无关电影类)
  10. [熊猫小A]使用wordpress缓存豆瓣图片
  11. 书籍分页

- 阅读剩余部分 -

[vscode]升级到1.59版本后, vscode-sftp 插件无法使用的问题

前言

vscode自动升级到1.59的版本后,其中的插件vscode-sftp不能上传文件了。

提示:No Such file

排查

我先排查了自己最近是否有调整过sftp的配置文件,发现最后修改还是几个月前,而几个月前还是用的好好的。

然后排除了网络,因为download能够把文件同步下来。

发现原因

找到sftp的插件目录,按照提示的信息找到对应的代码,发现用的是sftp-stream这个库,于是上去找,究竟是被我找到了:Fix error "No such file" when using SFTP extension on vscode > v1.55.2. #174

解决

按照Fix error "No such file" when using SFTP extension on vscode > v1.55.2. #174上面的方式去修改即可,修改玩重启vscode,不然不生效哦

[PHP]修改upload_max_filesize无效的问题

前言

PHP做插件的过程中,发现上传的zip文件,大于8M的会直接中断传输,印象中我已经改过了upload_max_filesize设置为300M了呀。

解决

修改php.ini中的upload_max_filesize为300M后,还要检查下:post_max_size,这玩意儿一般会忘记,也将这个设置为300M后解决问题。

附加配置

file_uploads = On

upload_max_filesize = 300M
post_max_size=300M

max_file_uploads = 20

附加phperror.log

[13-May-2021 09:17:02] NOTICE: fpm is running, pid 1
[13-May-2021 09:17:02] NOTICE: ready to handle connections
NOTICE: PHP message: PHP Warning:  POST Content-Length of 8630132 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
NOTICE: PHP message: PHP Warning:  POST Content-Length of 8630132 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
NOTICE: PHP message: PHP Warning:  POST Content-Length of 8630132 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
NOTICE: PHP message: PHP Warning:  POST Content-Length of 8630132 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
NOTICE: PHP message: PHP Warning:  POST Content-Length of 8630132 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
NOTICE: PHP message: PHP Warning:  POST Content-Length of 8630132 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
[13-May-2021 09:39:11] NOTICE: Finishing ...
[13-May-2021 09:39:11] NOTICE: exiting, bye-bye!
[13-May-2021 09:39:14 UTC] PHP Warning:  Module "redis" is already loaded in Unknown on line 0
[13-May-2021 09:39:14] NOTICE: fpm is running, pid 1
[13-May-2021 09:39:14] NOTICE: ready to handle connections

[docker]PHP8开启zip支持

前言

最近在整理推特的推文批量删除的功能,就是支持删除所有推文的功能,其中有用到压缩解压的类,综合考虑,打算使用linux中的libzip-dev依赖,为此搜索了好多地方,网上的介绍不尽相同,我这里将我真实能用的配置方式发出来,以供后续如果要继续操作的时候,可以用的上。

安装

因为我是在php4docker中使用的,所以我首先就是要查对应的extension怎么装,查看官方文档Installation
很简单,有个老哥已经说了要怎么操作了

首先是安装zlib1g-dev,libzip-dev,zip,其中zlib1g需要指定稍低一点的版本,我这里指定了1:1.2.8.dfsg-5,否则则会无法通过依赖。

之后是安装docker-php-ext,看下面代码
docker-php-ext-install mysqli pdo pdo_mysql zip

配置

这样镜像就整理好了,接下来修改php配置文件,如果不修改的话,还是会提示zipArchive找不到
php.ini增加extension = zip.so,之后重启php即可。

docker-compose中重新编译运行

直接使用build命令:docker-compose build;

测试

    private function unzip($filepath){
        if (empty($filepath)) {
            return false;
        }
        $zip = new ZipArchive();
        if ($zip->open($filepath) === true) {
            $zip->extractTo("/tmp/".$this->widget('Widget_User')->uid,"twitter.js");
            $zip->close();
            return true;
        }
        else{
            return false;
        }
    }

参考:

  1. install
  2. Docker image build with PHP zip extension shows “bundled libzip is deprecated” warning

好久没有写博客了

因为考试最近都没怎么写博客

每天的时间,精力都花费在考试的准备上,当然是一边工作一边准备。

现在考试终于结束了,我又有了时间。

之前打算做的推特批量删除推文的工具,已经一拖再拖了,这也是没办法的事情,时间实在不够,接下来节前又是有系统要升级之类的,想来时间也不太充裕,不过已经提上日程。

我其实上网搜索过,网上已经有老哥们提供了在线的办法,不过推特一向只能删除前3000个推文,多了,也需要下载历史存档然后在跑(一般删除历史的他们都会做收费的方式)

这段时间看书看的也少了,昨天从杭州回来,找到一本小说:《童年的终结》是阿瑟克拉克的中篇小说,看了一半,终于想起来,这才是共产主义社会的模样啊。

目前进度是55%,这本书的确让人感觉是《三体》的母书,也就是启蒙书。三体应该就是模仿了《童年的终结》中的超主降临片段。

印象最深刻的就是人类的某个政权对超主发起的攻击,一颗原子弹发射过去,最后一片白光闪过,超主的飞船毫发无伤,原子弹也不见踪影。

超主花了50年改造了整个地球,让地球真正意义成为了,“地球村”。

我的博客,我一般不会写这些大局大观的东西,但这本小说让我惊呆了,那美好的共产主义社会,那人人平等,人人都不需要当心吃饭问题的社会,那科技高度发达,自动化工厂成片成片的美好向往,那随心所欲,能到地球任何一个地方居住的生活。

继续努力吧筒子们,虽然现式社会不会有超主,但超主一直在我们心中。

---更新下
今天查成绩,考试通过了。终于可以放心了。
---更新下
看完了《童年的终结》,没想到人类最终还是消失了,我以为超主会拯救人类,没想到超主也只是工具,按翻译过来,最终宇宙的统治者是“超智”,宇宙将不会有人类,不会有地球。