编程日志 | nohup.net

实践是检验真理的唯一标准

正解:Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.

UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.

matplotlib与networkx结合绘图的时候,出现如上报错:

关于像素的几个概念-前端

如果概念都不知道,玩蛇?


python监听文件/文件夹变化自动更新MySQL数据库

文件名:

 7f3b239c296387748925deeee5d72d5f.demo.sql 

前面的字符串,是文件的md5,为了加载的时候判断完整了没有。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
import hashlib


class MyHandler(FileSystemEventHandler):
    def on_created(self, event):
        if event.is_directory:
            print(event.event_type, event.src_path)
        else:
            print(event.event_type, event.src_path)

    def on_deleted(self, event):
        if event.is_directory:
            print(event.event_type, event.src_path)
        else:
            print(event.event_type, event.src_path)

    def on_modified(self, event):
        if not event.is_directory:
            print(event.event_type, event.src_path)
            with open(event.src_path, 'r') as fp:
                data = fp.read()
            file_md5= hashlib.md5(data).hexdigest()
            print(file_md5)
            if file_md5 == event.src_path.split('/')[-1].split('.')[0]:
                print("file OK, begin loading sql")
                # mysql load to db op

                # print("drop table geoip_street done")
                # print("create new table geoip_street done")
                # print("loaded sql data done")

                print("all done")
            else:
                print("continue copying...")

    def on_moved(self, event):
        print("move", event.src_path, event.dest_path)


if __name__ == "__main__":
    event_handler = MyHandler()
    observer = Observer()
    observer.schedule(event_handler, path="./data_dir", recursive=True)
    observer.start()
    print("started myWatch")
    observer.join()

python命令行操作:Click包

这个包确实方便开发python命令行工具。就算不开发,如果真碰到命令行工具是用这个写的,也可以有所积累。

https://blog.csdn.net/liuweiyuxiang/article/details/106872954

关于递归

前言

递归是算法中一种非常重要的思想,应用也很广,小到阶乘,再在工作中用到的比如统计文件夹大小,大到 Google 的 PageRank 算法都能看到,也是面试官很喜欢的考点

最近看了不少递归的文章,收获不小,不过我发现大部分网上的讲递归的文章都不太全面,主要的问题在于解题后大部分都没有给出相应的时间/空间复杂度,而时间/空间复杂度是算法的重要考量!递归算法的时间复杂度普遍比较难(需要用到归纳法等),换句话说,如果能解决递归的算法复杂度,其他算法题题的时间复杂度也基本不在话下。另外,递归算法的时间复杂度不少是不能接受的,如果发现算出的时间复杂度过大,则需要转换思路,看下是否有更好的解法 ,这才是根本目的,不要为了递归而递归!

js纯前端下载网页内容提取后的csv

results = []
$(".site-main .site-list .list").each(function(){
	if($(this).attr("data-url") && $(this).find("a").attr("title")){
		results.push($(this).attr("data-url") + ',"' + $(this).find("a").attr("title")+'"');
	}
})

var uri = 'data:text/csv;charset=utf-8,%EF%BB%BF' + encodeURIComponent(results.join("\n"));
var downloadLink = document.createElement("a");
downloadLink.href = uri;
downloadLink.download = "bookmark.csv";
document.body.appendChild(downloadLink);
downloadLink.click();
document.body.removeChild(downloadLink);

编程基础知识之浏览器缓存机制(转)

npm更换为国内源

1、输入 npm get registry 查看当前镜像源:

浏览器user-agent即UA的前世今生

浏览器的user-agent五花八门, 来龙去脉是什么样的, 以下的这篇文章总结的很好

https://zhuanlan.zhihu.com/p/499478515?utm_id=0

至于chrome浏览器为何写了苹果的safari, 这里也有一篇文章

如何发布自己的项目到Maven中央仓库?

https://developer.aliyun.com/article/844214


<< < 2 3 4 5 6 > >>

Powered By Z-BlogPHP 1.7.2

© 2013-2022 nohup.net , All Rights Reserved. 豫ICP备20020372号-1