代码使我头疼之React初学习
前言 开始了,去年(2020)说要学的React,到现在2021年的12月底了,才来实施……(年底警告!~~年末总结还没开始写!~~) 不过前端为啥要学React呢?Vue不是很好用吗?Vue确实很好用,并且MVVM模式也更容易让人接受和理解,但大概是各种社区上都说react yyds啦,react一统江山啦什么的,加上我之前学Flutter做了很多项目,对声明式UI的思想已经基本掌握了,所以就想
配置Chrome支持网页内的frame跨域
前言 跨域限制可以保证安全,但是调试的时候关掉会更方便,然而现在网络上能找到的关闭跨域限制方法,在新版的Chrome浏览器上根本没用…… 经过一番摸索,发现用旧版的Chrome就可以绕过跨域限制,刚好我做的这个需要跨域内嵌frame的网页只是单纯展示的,所以这个正好符合我的需求,奥利给! 然后我找到了旧版的Chrome软件,解压出来是绿色版的可以直接运行,不过运行后发现直接把系统的Chrome给调
纯前端实现词云展示+附微博热搜词云Demo代码
前言 最近工作中做了几个数据可视化大屏项目,其中也有用到了词云展示,以前做词云都是用python库来生成图片显示的,这次用了纯前端的实现~~(Ctrl+V真好用)~~,同时顺手做个微博热搜的词云然后记录一下~ 依赖 echarts 4.x echarts-wordcloud 1.1.3 tips:echarts-wordcloud现在有2.0和1.x两个版本,2.0对应echarts 5.x版本
在网页中使用Material-Design图标
什么是Material Design图标 MD大家都听过的吧,就是谷歌的Material Design设计,Material Design图标就是符合 MD设计语言的图标。 本文通过字体的方法在网页中显示Material Design图标。 What are material icons Material design system icons are simple, modern, friend
使用微软官方的IE虚拟机测试上古网站
下载地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/ 虚拟机默认密码:Passw0rd!
使用JS模拟按键输入的踩坑记录
坑 一开始在Google搜索了一番,找到了用jQuery的方案,代码量很少,看起来很美好很不错,结果,根本没用…… 我反复试了这几个版本: var e = $.Event('keyup') e.keyCode = 49 $('#btn').trigger(e) // 就是把 keycode 换成 which $('#btn').trigger($.Event('keyup', { which: 4
配置pip国内镜像加快python第三方库安装速度~
现在这网络对于开发者来说有点不太友好,下载什么东西都慢慢,pip install慢,git clone也慢,难受…… 不过还好有各种代替的国内镜像源可以加速 临时配置 在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple 例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple d
自己动手开发简单消息队列(异步任务队列):Python实现
又是造轮子系列咯,Python上有很多成熟完善的异步任务队列框架可以用,比如Celery,或者RQ,不过这些都不自带消息队列服务,都需要使用Redis、RabbitMQ之类的消息队列才行,我用到小项目中又不需要附带这么多东西,于是自己动手来实现咯。 思路 将需要异步执行的任务添加到队列 自动从队列中取出任务,创建新线程执行 保存任务的执行结果和输出 任务完成,调用回调函数,处理返回的数据 使用输出
编写爬虫自动下载王者荣耀官网上好看的壁纸
前言 偶然间发现王者荣耀的官网上发布了这么多好看的壁纸。 地址:http://pvp.qq.com/web201605/wallpaper.shtml 看了一下,每一张都挺喜欢的,而且还有十多页,一张一张去慢慢下载肯定不是作为一个Geeker的正确姿势。 由于最近python用得比较多,所以看到什么好玩的就想爬虫下载下来,所以看到这么多好看图片,我又“熟练”地掏出了python。 分析 这个网站长
我用Qt和Python开发了一个视频合并工具
想合并视频,但是却找不到比较好用的工具,很多都要收费,我想着「这破功能还得收费?」,于是决定自己搞一个,一开始用Python做了一个,效果还不错,完美完成了我的视频合并任务,不过没有图形界面,想分享给朋友一起用也没办法,于是昨天用Qt写了个图形界面套上去,中间还是遇到一些问题的,通过这篇文章记录一下。 软件的界面就是这样啦,用Qt Designer随便拖出来的,和VS拖控件也差不了多少。 用起来挺
升级pip之后连pip都不能用了?简单解决方法
前言 最近在服务器上部署项目的时候,用pip安装库,结果提示可以升级,那我就按照提示升级了pip,结果pip就用不了了。 错误信息如下: Traceback (most recent call last): File /usr/bin/pip3, line 9, in module from pip import main ImportError: cannot import name
关于Python的异常处理
前言 异常处理在任何一门编程语言里都是值得关注的一个话题,良好的异常处理可以让你的程序更加健壮,清晰的错误信息更能帮助你快速修复问题。在Python中,和部分高级语言一样,使用了try/except/finally语句块来处理异常,如果你有其他编程语言的经验,实践起来并不难。 Python 中(至少)有两种错误:语法错误和异常( syntax errors 和 exceptions )。下面稍微介
使用Python3新特性类型注解提高代码可读性
先看代码 def add(x: int, y: int) - int: return x + y 没用过类型注解(Type Annotations)的同学可能咋一看有点迷糊,其实上面这段代码和下面这个代码是一样的。 def add(x, y): return x + y 类型注解介绍 我们知道 Python 是一种动态语言,变量以及函数的参数是不区分类型。 Python解释器会在运
使用Python+FFMPEG实现视频分割与合并
前言 日常中偶尔会遇到需要简单剪辑处理视频的场景,以前我可能会拿出PR来剪辑一下,(别跟我说国产那些软件,剪辑完视频强制加上广告片头片尾恶心的一批),但是PR毕竟太重量级,剪个简单的视频都要花不少时间,直到我发现了FFmpeg…… 这个FFmpeg真的是神器,免费开源功能强大,好像很多软件都是基于这个开发的,它本身提供了命令行接口就已经能满足我们日常的简单视频处理需求,我用来简单处理视频分割、合并
Python:使用logging模块记录日志
先看看基本用法例子 # -*- coding: utf-8 -*- import logging import sys # 获取logger实例,如果参数为空则返回root logger logger = logging.getLogger(AppName) # 指定logger输出格式 formatter = logging.Formatter('%(asctime)s %(levelna
Python踩坑:类与类对象类型参数传递与使用
前言 对初学者来说,Python确实简单好用,毕竟动态类型语言,不用定义就可以拿来用,类型之间随意转换简直不要太方便,因此Python用来写写小脚本,爬虫程序什么的,没什么问题。 不过,一旦用来开发稍微大型一点的项目,例如搭建一个Web应用,就会遇到一些问题,一般缺乏经验的人都会陷入某些坑中。= =... 坑 先说坑,函数参数类型是一坑,类与类的对象这又是一坑。 虽然之前用其他静态类型语言(例如C
python实现解析markdown文档中的图片,并且保存到本地~
背景 前阵子简书好像说是凉了,搞得我有点小慌,毕竟我的大部分博客都是放在简书上面的,虽然简书提供了打包导出功能,但是只能导出文字,图片的话还是存在简书服务器上面,再加上我一直想要重新做一个个人博客,于是就有了这篇文章。 思路 首先是要解析markdown文档,然后获取到其中的所有图片,再把图片按md文件分好目录保存。 解析markdown文档 这里我用了misaka模块,据说是python的mar
Python中的双端队列:collections-deque
关于deque 起因是我想做一个「手气不错」的功能,为了提高性能,打算用队列实现,偶然在Stack Overflow看到一个讨论「Efficiency of using a Python list as a queue」 python的list有pop方法,可以实现队列的取出功能,不过据说性能一般般,高赞回答说的 You won't run out of memory using the list
Python中的三元表达式
一般语言的三元表达式都是这种形式: result = statement ? true : false // For examle result = a b ? a : b Python中的三元表达式比较特殊,用下面这种形式 result = true if statement else false # For example result = a if a b else b
Python-缓存机制与-functools-lru_cache
缓存是一种将定量数据加以保存以备迎合后续获取需求的处理方式,旨在加快数据获取的速度。数据的生成过程可能需要经过计算,规整,远程获取等操作,如果是同一份数据需要多次使用,每次都重新生成会大大浪费时间。所以,如果将计算或者远程请求等操作获得的数据缓存下来,会加快后续的数据获取需求。 先来一个简单的例子以了解缓存机制的概念: # -*- coding: utf-8 -*- import random
Python-本地时间和UTC时间转换
代码 import time import datetime def utc2local(utc_st): UTC时间转本地时间(+8: 00) now_stamp = time.time() local_time = datetime.datetime.fromtimestamp(now_stamp) utc_time = datetime.datetime.ut
Jupyter-Notebook-简单配置
安装主题 默认主题太丑了,必须换个好看的主题,pip安装: pip install jupyterthemes 装完之后: # 列出所有主题 jt -l # 设置主题 # -T 启用工具栏 # -N 启用名称栏 jt -t 主题名称 -T -N 自动补全 安装nbextensions pip install jupyter_contrib_nbextensions jupyter contrib
数据分析必备技能!3分钟教会你如何在PyQt中画好看的图表
先看看我们要实现的效果: 这是一个基于机器学习的数据分析结果展示,可以看到元素包括了坐标轴标注,两条折线和图例。 为了实现在PyQt中画图,我们用到了pyqtgraph这个绘图库,它是完全python实现的,与PyQt程序可以完美融合,并且具备很多优势: 拥有丰富的图形种类; 能够快速地实时更新绘图数据; 能够进行交互式的操作; 多种标记功能; 接下来进入正题,开始使用pyqtgraph来实现我们
PyQt5开发实践(一、准备篇)
前言 近一年来我开发了不少PyQt小项目,因为之前没用过使用C++语言的Qt,所以可以算是从零基础开始边学边做的,这个过程中再一次体会到国内技术社区的匮乏…… 国内关于PyQt的资料说少不少,说多也不多,主要是比较零散,也没什么比较好用的系统的学习资料… 所以这个PyQt,全靠看文档和国外社区,还有一个最重要的:自己摸索…… 开发环境搭建 本文的开发环境搭建一部分是从书里学来的,一部分是实践中总
【开源】发布一个基于JavaFX的小游戏:CrazyAlpha
Features 基于JavaFX设计了游戏引擎XEngine 使用自行开发的游戏引擎XEngine实现完整游戏功能 游戏资源管理:字体、图片、音频管理 游戏地图管理,多地图切换 MVVM分层设计,代码解耦合,模块高内聚 Model模型系统设计,模块化设计 使用订阅者模式实现的消息系统和事件处理 使用Gradle构建 下载运行 首先,点击打开:CrazyAlpha下载页面 下载CrazyAlpha
【开源】发布一个Java课程设计BookManageSystem
JavaBookManageSystem Github主页:https://github.com/Deali-Axy/JavaBookManageSystem 介绍 使用Java编写的简易图书管理软件,Java课程的课设之一。 依赖 Mybatis 3.4.6 QFramework4J: About QFramework Sqlite-Jdbc 3.23.1 SwingSets3 数据库设计 Us
PHP7-0-新特性
变量类型 PHP7版本函数的参数和返回值增加了类型限定。 为什么PHP要加入类型呢?实际上此项特性是为了PHP7.1版本的JIT特性做准备,增加类型后PHP Jit可以准确判断变量类型,生成最佳的机器指令。 (针对密集运算的优化) 使用示例 function test(int $a, string $b, array $c) : int { //code } 错误异常 在过去,PHP程序出
PHP7-0-+-Swoole-环境配置
前言 Swoole是一个面向生产环境的 PHP 异步网络通信引擎。 使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升,
PHP-Ajax-跨域问题最佳解决方案
前言 Ajax跨域问题在开发中非常常见。 例如网页的域名是client.abc.com,而请求的域名是server.abc.com。 如果直接使用ajax访问,会有以下错误: XMLHttpRequest cannot load http://server.abc.com/server.php. No 'Access-Control-Allow-Origin' header is present
最好的Linux发行版:Ubuntu-18-04-深度使用体验
前言 经常看我博客和公众号的同学应该知道,我是狂热的Linuxer,对Linux系统有一种偏执的喜好,所以当你看到这篇文章的时候应该不会觉得奇怪,不过,真正应该疑惑的是,为什么说Ubuntu才是最好的Linux发行版呢?按照我的习惯和风格,不应该是大蜥蜴(OpenSUSE)或是Arch(Manjaro)么? 接下来本文将解答这些问题。 Why Ubuntu 是大蜥蜴不好看?还是Arch不好用?玩什
国产Linux发行版Deepin浅度体验
前言 昨天系统又重装了两次,所以没时间写推文了,今天刚刚搭完就来写了。 这几天电脑升级硬件之后系统还没配置好,只是装了个Win10,我还是更喜欢在Linux环境工作,又看到Deepin的界面设计得很好看,于是就装了一个试试效果。 但是用的时间还不长,所以只能是浅度体验。 系统截图 两种模式的桌面。 时尚模式(类似于Mac系统) 高校模式(类似与Windows系统) Dashboard(所有应用程序
关于系统的折腾-&-OpenSuSE养老
前言 最近python写得多了真的受不了Windows的开发环境了,于是又开始折腾系统,先是试了黑苹果,结果发现真的是难,问题一大堆 = = ... 于是果断选择回到我大蜥蜴的怀抱,用过那么多桌面环境,最喜欢的还是Gnome,所以就这样吧,在大蜥蜴养老就行了,好像这次安装完之后没什么大问题了,除了输入法暂时用不了搜狗,其他都ok,不折腾了,太浪费时间。 附上截图 欢迎与我交流 打代码直播间:htt
配置MariaDB数据库服务端远程访问
操作步骤 开启远程访问权限 连接MariaDB数据库,执行以下命令开启远程访问。 grant all privileges on *.* to 'root'@'192.168.248.248' identified by 'password'; flush privileges; 如果需要任意IP地址访问,就把IP地址换成%。 修改配置文件 在网络上能搜索到的资料都只说了第一点,然而亲测之后并没有
轻松解决Linux+Windows双系统时间不一致问题
前言 Linux用户很多都是使用双系统的吧,毕竟很多Linux下没有的软件还是需要打开Windows。 但是一直以来有个困扰,Linux下时间显示是正常的,但是回到Windows下时间就会慢了8个小时 = = 这是因为Windows默认使用硬件时钟,而Linux使用网络时间,现在只需要一条命令就能搞定这个问题。 解决 在Linux下打开终端,输入命令: timedatectl set-local-
设置Linux默认的文件管理器
搜索了半天,也试了很久。 用以下命令可以: 使用Xfce的文件管理器 xdg-mime default Thunar.desktop inode/directory thunar.desktop换成你想要的文件管理器名称 再不行就只能把原来的那个文件管理器卸载掉= =。 我比较喜欢用Gnome的文件管理器: xdg-mime default org.gnome.Nautilus.desktop i
给你的Deepin系统换主题~
我现在的桌面: 因为美国封锁然后华为电脑用上Deepin系统的事情,Deepin系统最近名声大噪,其实Deepin本来的界面就很好看,号称打造最适合国人的系统不是盖的。 不过Deepin有一个坏处,就是默认主题的标题栏太大了…… 太占空间。所以我们要换主题折腾一下。 Deepin的桌面是Qt写的,所以首先要换KDE主题,然后再安排一下GTK3的主题,在Deepin系统设置里面换的主题就是GTK的,
给VMware里的Linux虚拟机配置静态ip
前言 最近用VMware的时候是使用桥接方式,不知道是路由的问题还是其他,路由器里面没有显示虚拟机的连接,虽然虚拟机和主机都在路由器里分配了不同的IP地址,但是每次resume之后虚拟机的IP地址总是变,很麻烦。 VMware设置 把下面这个勾去掉。 然后点击Nat Settings。 记录网关。 虚拟机设置。把网络改成这个VMnet8。 Linux系统中配置静态IP Debian nano /e
某些软件中无法切换fcitx输入法的问题
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"
无需折腾的Linux发行版:Manjaro体验与配置笔记,开箱即用-真香!
本文的系统配置部分会持续更新,欢迎关注和交流~ 前段时间装了KDE版的Manjaro之后又换了黑苹果,不过没折腾好,这不又乖乖换回了Manjaro,这次我用了Gnome,很久没用Gnome,Manjaro的调教有点惊艳到我了~ 首先是开机的时候就弹出来Hello界面,以前没怎么注意它,这次发现居然已经预设了好几种布局,真的啥都有,连自己折腾都省得了。我果断选了最喜欢的unity布局(其实就是装了u
在Nginx上配置https加密服务器
前言 最近开发微信小程序需要使用Https,于是折腾了一番。 超简单步骤 1. 申请SSL证书 一般云服务器提供商就会提供这种服务,我在腾讯云上申请了,十分钟就完成了。 2. 上传证书 上传到一个文件夹里面 3. 配置nginx 网络上的资料都是直接修改 /etc/nginx/nginx.conf 这个文件。 不过我的服务器上这个文件里头没有 server 这个节点可以配置。 因此需要修改 /et
在Manjaro上配置国内源
前言 之前我一直用官方源的,但是最近发现官方源变慢了,于是想要切换国内源,顺手做个笔记。 操作 使用以下命令,生成可用中国镜像站列表: sudo pacman-mirrors -i -c China -m rank 刷新完列表之后会弹出来一个框让你选择软件源,这里的就都是国内源了,选择一个喜欢的就行(当然要选择两个以上也没问题。) 日常桌面截图
在Linux上安装Windows字体
前言 Linux系统下为安装WPS后,由于版权问题并没有自带字体,而这些字体又是平时必须使用的,下面介绍为Linux系统添加字体的方法。 操作 由于Windows系统自带了完善的字体,所以可以从安装的windows系统下拷贝。首先执行命令: mkdir /usr/share/fonts/wps_symbol_fonts/ //创建WPS的字体目录 然后到windows字体目录下,C:/Win
内存不够用?在Linux上使用swapfile配置交换空间
前言 几个月前我还兴高采烈写了篇文章说给笔记本升级了内存配置,从乞丐版的4G一跃成为16G高富帅,然而,这几个月来我备受电脑死机的折磨,我现在有理由怀疑我可能买了假的内存条,于是没有办法,只能换回原厂的4G内存条,~~(然后准备赚部台式机)~~,问题不大。 换上4G内存条之后效果显著,只开了一个谷歌浏览器,内存占用就已经到了80%了,JB家的IDE是决计不敢再用了,可是这样还是难以满足系统对内存空
关闭CentOS-6-防火墙,关闭Linux系统防火墙
前言 最近部署服务的时候需要临时关闭一下防火墙,所以记个笔记,如何关闭CentOS防火墙。 查看系统版本 输入:cat /etc/issue 查看版本 通过service关闭 service命令开启以及关闭防火墙为即时生效,下次重启机器的时候会自动复原。 查看防火墙状态: service iptables status 记得在CentOS6.9中是输入iptables,网上有些教程使用serv
关于uwsgi服务器的管理
前言 使用Django开发项目好是好,就是部署的时候太麻烦,使用Uwsgi服务器的话,每次修改了代码,都需要重新启动服务器才可以生效。然后uwsgi服务器的重启也挺麻烦。 看了一下官网的文档,最好是把uwsgi安装到venv虚拟环境里面,这样的话在 ps aux 的时候容易区分啦。 查看uwsgi进程 ps -aux | grep uwsgi 结束原uwsgi进程 kill -9 27543 结论
修改Linux系统的鼠标滚轮的速度
Linux默认的鼠标滚轮实在太慢了,总是让我有一种Linux很卡的错觉,而且还不像Windows那样可以直接修改所有程序中的鼠标滚轮速度,不过没事,可以用imwheel这个工具来修改~ 安装 Debian系: sudo apt install imwheel Arch: sudo pacman -S imwheel 配置 创建~/.imwheelrc文件 nano ~/.imwheelrc 编辑内
你可能不知道的Linux死机重启方法
前言 不管在工作或者学习中,都可能遇到电脑死机的情况,如果直接强制关机或者切断电源可能会带来硬件的损坏,严重的可能导致数据丢失。 在学习中使用Linux经常遇到死机的情况,而且无法通过Alt+Ctrl+F[1-7]登陆,也无法通过ssh登陆。 更安全、底层的方法 按下Alt+Ctrl+SysReq(PrintScr键)一秒钟,保持Alt+Ctrl按下状态,松开PrintScr键; 保持按下Alt+
为什么Ubuntu点了关机键变成注销?
最近发现一个奇怪的现象,就是点了关机键变成了注销,神烦,查了一下资料,找到了原因,原来是我安装的plank dock栏有个bug,会阻止系统关机,所以点了关机之后变成注销了,所以要在关机之前退出plank或者是docky这种dock工具。 然后我选择用回Unity的侧边栏了,告辞~ 参考资料 https://linux.cn/article-6265-1.html