Welcome to Xenolies Blog !
什么是JAVA 什么是JAVA?不就是杯咖啡吗(○` 3′○)( 谁说的,有可能还是个妹子╰( ̄ω ̄o)(((
java是纯面向对象编程的语言。亲身经历:学JAVA无法解决单身问题
如何理解面向对象编程? 以下转自博客园的这个帖子。
例如我们设计一个桌球游戏(略过开球,只考虑中间过程)
A:面向过程方式思考:
把下述的步骤通过函数一步一步实现,这个需求就完成了。(只为演示概念,不细究逻辑问题)。
① palyer1 击球 —— ② 实现画面击球效果 —— ③ 判断是否进球及有效 —— ④ palyer2击球
⑤ 实现画面击球效果 —— ⑥ 判断是否进球及有效 —— ⑦ 返回步骤 1—— ⑧ 输出游戏结果
B:面向对象方式思考:
经过观察我们可以看到,其实在上面的流程中存在很多共性的地方,所以我们将这些共性部分全集中起来,做成一个通用的结构
玩家系统:包括 palyer1 和 palyer2 击球效果系统:负责展示给用户游戏时的画面 规则系统:判断是否犯规,输赢等 我个人结合博客园帖子的理解:
面向对象更像是做一个锤子,一个普遍性工具,一个实现循环显示数字的代码可以到多个地方应用,比如显示数字,让小灯循环亮起。需要这个功能调用这个类就可以了,方便快捷。但是缺点显而易见的,锤子不可能适合砸所有东西,这样面向对象也是,需要对应的库来实现。
面向过程更像是定制化,效率高,但是添加新东西,需要写代码,相当于造一个专用的扳手。
向世界问好 代码 1 2 3 4 5 6 7 public class HelloWorld{ //JAVA系统的类,文件名必须和类名相同 public static void main(String[]args){ //定义main方法(函数), //一个 java 程序运行必须而且有且仅有一个 main 方法。 //JAVA程序开始,String(str)表明数据类型,args表示数组 System.out.println("hello,world"); //显示HelloWorld } //注意:方法必须用大括号括起来 } 注意: Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的
Xenolies 发布于 收录于 笔记 假期闲来无事,与其虚度,不如做点事干 你信吗?我不信 ( ̄ε(# ̄)☆╰╮o( ̄皿 ̄///)。于是就买了个开发板,正好借此学一学C语言。
于是,就立马买了需要的东西,清单如下:
物品 价格 数量 备注 Esp32 DevKit v1 30pin开发板 21.5 1 有30pin和36pin的版本 40P彩排杜邦线 2.81 1 母对母 1.8寸 彩色TFT屏幕 20 1 不带触摸 开发板连接线 0 0 家里找的 *注意:我买的屏幕型号是MSP1803,需要连接背光才能显示 *
一共44.31块,还行吧。
之后就找了个做小电视的视频就开始学了。
然后我懵了,我没学过单片机,大一只学过Python和HTML入门,我看不懂商家给的资料,也看不懂UP给的教程。
然后鼓捣了好久。玩了好久,才想起来有个单片机。
现在才整的有些样子,现在基本完成了,那么我就把我一路上踩过的坑说一下。
获取Chip ID报错 报错显示 “ exec: ‘cmd’: executable file not found in %PATH% 为开发板 ESP32 Dev Module 编译时出错。”
提示没有配置环境变量,配置完成,问题解决。
屏幕显示问题 屏幕不显示 检查自己的屏幕,教程里面是不接背光的,可以烧录进去,然后接背光试试。我今天(2022.2.12)才发现我的屏幕是一定要接背光的,我还搞了好久。
图片显示不正常,且有小部分花屏 有的人可能烧录进去以后发现屏幕是这个样子:
图片显示非常不正常,还有花屏的情况。
根据这个帖子的说法,是设计问题,可以通过切换配置文件的参数解决 。解决方法来自这个帖子。
按照这样的路径(.\arduino\arduino-nightly\hardware\espressif\esp32\libraries\TFT_eSPI)打开TFT_eSPI,找到User_Setup.h,打开。
找到这样的地方,并且把原来的#define ST7735_GREENTAB2注释掉,把#define ST7735_REDTAB解除注释,就显示正常了。
此方法选择的参数有可能其他屏幕无效,可以在几个参数切换试试看
然后重新烧录进去程序。
这样就显示正常了。
色彩显示错误 烧录进去了程序,有可能出现这样的情况:本该显示蓝色的地方显示了黄色。这是因为UP的程序里使用的是BGR,而你的屏幕是RGB,这样导致的色彩问题。
Xenolies 发布于 收录于 笔记 Pyinstaller是可以把Python工程打包成为exe的一个Python模块。网上教程有很多,但是我在使用的时候会遇到很多问题,进而搜索大量网页,非常麻烦。所以准备写一篇文章把我碰到的一些问题整合起来,这样的话免去去查找大量网站的烦恼。
1.如何安装Pyinstaller 最简单的方法就是打开Win+R输入cmd,打开cmd窗口输入
1 pip install pyinstaller 但是,
有的时候你安装好了Python,用pip安装的时候会出现这个问题:
这个就说明Python的环境变量没有配置好,需要配置下,这时候需要找到Python安装目录下的Scripts文件夹,像我的就是C:\Users\111\AppData\Local\Programs\Python\Python311\Scripts
确认文件夹下有没有pip.exe,如下图:
如果有的话,把文件夹路径复制下来,然后就去“环境变量”那里找到path变量,添加地址保存即可
配置完成后记得重新打开CMD安装窗
如何找到环境变量,请在这个帖子查看。
如果出现这个了,说明正在安装了
最后显示这个,就说明成功安装了
如果出现这个了,说明要升级pip
直接输入下面这个就可以了。
1 python -m pip install --upgrade pip 2.用Pyinstaller打包 Pyinstaller主要语法就是:Pyinstaller +指令+Python文件
下面就是些常用的指令:
-F,-onefile 产生单个的可执行文件 -D,–onedir 产生一个目录(包含多个文件)作为可执行程序 -a,–ascii 不包含 Unicode 字符集支持 -d,–debug 产生 debug 版本的可执行文件 -w,–windowed,–noconsolc 指定程序运行时不显示命令行窗口(仅对 Windows 有效) -c,–nowindowed,–console 指定使用命令行窗口运行程序(仅对 Windows 有效) 上表来源
然后就可以在cmd窗口输入指令来打包了,打包的时候记得转到文件所在的文件夹
转到要打包的Python所在的文件夹,可以使用cd+空格+文件夹地址来实现
这样就说明打包成功了
其中这个
是最后exe文件输出的地址
还要这个
说明已经打包成为exe文件了
之后就可以使用了,不需要再搭建Python环境了
如果打包完成发现窗口一闪而过,可以试试在代码末尾加一个input()
像这样
还有个缺少一些文件产生的问题,我自己重新打包的时候发现并没有碰到,测试了下发现无法复现,只好作罢。只记得那个要在Pyinstaller -F后面加一串来着。
3.日后谈 有些问题我当时使用的时候碰到了,现在没法复现,我自己也无法找到当时找的帖子了,有不少疏忽非常抱歉。(之后要是接着更新也说不定)
如有建议,欢迎留言,本人必洗耳恭听。
本人是根据这个帖子找到的方法,还有这个帖子提供的代码做出来的。
代码如下:
在”页尾信息“可输入这段代码
1 网站运行:<span id="htmer_time" style="color: red;"></span> 这个设置出来文字是红色,可以根据需要修改
需要什么颜色就可以在上方代码中的color后修改成自己想要的颜色(英文名称或者 十六进制颜色表都可以)。
我设置的是#5e5e5e,仅供参考
其中”网站运行“可以需改成需要的文字。
后面的”页尾附加代码“部分则输入下面这段代码;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 <script> function secondToDate(second) { if (!second) { return 0; } var time = new Array(0, 0, 0, 0, 0); if (second >= 365 * 24 * 3600) { time[0] = parseInt(second / (365 * 24 * 3600)); second %= 365 * 24 * 3600; } if (second >= 24 * 3600) { time[1] = parseInt(second / (24 * 3600)); second %= 24 * 3600; } if (second >= 3600) { time[2] = parseInt(second / 3600); second %= 3600; } if (second >= 60) { time[3] = parseInt(second / 60); second %= 60; } if (second > 0) { time[4] = second; } return time; } </script> <script type="text/javascript" language="javascript"> function setTime() { // 博客创建时间秒数,时间格式中,月比较特殊,是从 0 开始的,所以想要显示 5 月,得写 4 才行,如下 var create_time = Math.
这几天再整这个主题的时候 发现了个问题,就是设置的分类,点击会404报错,如下图:
最初以为是我的Nginx的问题,就查了下,发现没有作用,之后就找到主题的GitHub反馈页找了下才找到解决办法。
在这个帖子里找到的解决办法
伪静态的话,我用的是宝塔Linux面板,就直接很容易找到:
在站点的设置界面就可以找到了
就是这段代码:
1 2 3 4 5 6 location / { try_files $uri $uri/ /index.php?$args; } rewrite /wp-admin$ $scheme://$host$uri/ permanent; 尽量不要用网上找到的代码,
否则进入后台的时候会有如下错误:
让我折腾到了半夜
设置好以后就可以舒舒服服的写文章啦╰( ̄ω ̄o)