网站换了新的主题 (Littlehands) 全站 pjax 作者: Chuwen 时间: 2020-11-02 分类: 谈天说地 评论 # 概述 由于博客被我魔改的不成样子,现打算重新安装,从头再来 # 主题 一些老朋友可能知道,我的主题一直是 Typecho 的默认主题,两三年了为更换过,其实我想过去更换,但是找到一些好看的主题,又不太符合文章的排版(也就是在 Typecho 默认主题好看,换上新的就不好看) 最近找到一款基于 Typecho 改造的主题——Littlehands,我觉得挺很好看的就换上了
【教程】如何在电脑端(Win10)播放杜比视界(转载) 作者: Chuwen 时间: 2020-11-02 分类: Windows 评论 转自:https://tieba.baidu.com/p/6673493559 方法:理论上非HDR显示器也可颜色正确的播放,当然显示器支持HDR效果会更好,但必须是windows 10的操作系统,在链接附件中有个DolbyVision+HDR.AppxBundle的文件,解压后右键用应用安装器打开,然后打开win10应用商店查找更新更新即可。然后用电影和电视应用打开杜比视界的视频(附件中有一小片段视频)即可发现颜色正确播放。 附件:https://nowtime.lanzous.com/iBvHVhyvehi
(Android 笔记) Java 输出一页日历(以周一为一周的开始) 以及实现思路概况 作者: Chuwen 时间: 2020-11-01 分类: Android 评论 # 实现思路概述 > 由于我学 `Java` 是**半路出家,所以一些东西讲的并不标准**,请见谅,很愿意接受大家的批评建议 1. 用一个集合(`List`) 储存本页日历的日期信息(年、月、日、是否为本月<用以着色>) 2. 实例化日历类 `Calendar` ``` Calendar calendar = Calendar.getInstance(); ``` 3. 设置要显示哪年哪月的日历信息 ``` calendar.set(Calendar.YEAR, 2020);//设置哪年 calendar.set(Calendar.MONTH, 11);//设置哪个月 ``` 4. 将日历信息设置为本月1号 ``` calendar.set(Calendar.DAY_OF_MONTH, 1);//将日期推到本月1号 ``` 5. 获取本月1号是星期几,**由于我们需要设置从 周一 为一周的开始**,所以就有以下代码 > 如果是星期一,变量 `currentDayOfWeek` 应该输出 1; > ... > 如果是星期日,变量 `currentDayOfWeek` 应该输出 7. ``` int currentDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); currentDayOfWeek = currentDayOfWeek == 1 ? 7 : currentDayOfWeek - 1;//获取当前星期几(星期一就是1 ... 星期天是 7) ``` 6. 按照习惯,除了显示本月日历,一般还会显示上个月或下个月来填充 **剩余的格子**,所以我们在绘制前,将日期再往前推(减去) **当前星期几+1 的天数** > ![按照习惯,除了显示本月日历,一般还会显示上个月或下个月来填充 **剩余的格子**,所以我们在绘制前,将日期再往前推(减去) 当前星期几+1 的天数][1] ``` calendar.add(Calendar.DATE, -currentDayOfWeek + 1);//将日期倒退 当前星期几+1 的天数 ``` 7. 然后 **for 循环**,基础的日历格子有 **35** 个 ``` for (int i = 0; i < 35; i++) { Log.i("日期", calendar.get(Calendar.YEAR)+"年" +calendar.get(Calendar.MONTH) + 1+"月"+calendar.get(Calendar.DAY_OF_MONTH)+"日"; calendar.add(Calendar.DATE, +1);//日期+1 获取明天的 } ``` 8. **但是有特殊情况**,当该月1号是 **星期日**,那么我们还应该再增加 `7个格子`,不然日历显示不完整。所以我们需要额外判断下 ``` //绘制的格子数,如果恰好本月1号是星期天,那么就还要再加7个格子以显示完整日历 int gridNum = (currentDayOfWeek < 7) ? 35 : 42; for (int i = 0; i < gridNum; i++) { Log.i("日期", calendar.get(Calendar.YEAR)+"年" +calendar.get(Calendar.MONTH) + 1+"月"+calendar.get(Calendar.DAY_OF_MONTH)+"日"; calendar.add(Calendar.DATE, +1);//日期+1 获取明天的 } ``` 9. 大概日历的思路就是这样,要用其它语言实现也并不难 # `CalendarBean.java` ```java public class CalendarBean { private int year; private int month; private int day; private boolean currentMonth; private boolean isChecked = false; public CalendarBean() { } public CalendarBean(int year, int month, int day, boolean currentMonth) { this.year = year; this.month = month; this.day = day; this.currentMonth = currentMonth; } public int getYear() { return year; } public void setYear(int year) { this.year = year; } public int getMonth() { return month; } public void setMonth(int month) { this.month = month; } public int getDay() { return day; } public void setDay(int day) { this.day = day; } public boolean isCurrentMonth() { return currentMonth; } public void setCurrentMonth(boolean currentMonth) { this.currentMonth = currentMonth; } @NonNull @Override public String toString() { return getYear() + "年" + getMonth() + "月" + getDay() + "日"; } public boolean isChecked() { return isChecked; } public void setChecked(boolean checked) { isChecked = checked; } } ``` # CalendarCreate.java ```java public class CalendarCreate{ private Calendar calendar; private List calendarBeanList = new ArrayList<>(); public static void main(String[] args){ printCalendar(2020, 11);//输出2020年11月日历 } public void printCalendar(int year, int month) { month -= 1;//减去1,因为 java 日历,月份从 0 开始 int currentDayOfWeek; calendarBeanList.clear(); calendar.set(Calendar.YEAR, year);//设置哪年 calendar.set(Calendar.MONTH, month);//设置哪个月 calendar.set(Calendar.DAY_OF_MONTH, 1);//将日期推到本月1号 currentDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); currentDayOfWeek = currentDayOfWeek == 1 ? 7 : currentDayOfWeek - 1;//获取当前星期几(星期一就是1 ... 星期天是 7) calendar.add(Calendar.DATE, -currentDayOfWeek + 1);//将日期倒退 当前星期几+1 的天数 int gridNum = (currentDayOfWeek < 7) ? 35 : 42;//绘制的格子数,如果恰好本月1号是星期天,那么就还要再加57个格子以显示完整日历 for (int i = 0; i < gridNum; i++) { calendarBeanList.add(i, new CalendarBean( calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1,//一年中的哪个月。月份 calendar.get(Calendar.DAY_OF_MONTH),//一个月中的第几天。几号 calendar.get(Calendar.MONTH) == month//判断是否为本月 )); calendar.add(Calendar.DATE, +1);//日期+1 获取明天的 } Log.i("打印日历数组", calendarBeanList.toString()); } } ``` # 运行结果 ``` I/打印日历数组: [2020年10月26日, 2020年10月27日, 2020年10月28日, 2020年10月29日, 2020年10月30日, 2020年10月31日, 2020年11月1日, 2020年11月2日, 2020年11月3日, 2020年11月4日, 2020年11月5日, 2020年11月6日, 2020年11月7日, 2020年11月8日, 2020年11月9日, 2020年11月10日, 2020年11月11日, 2020年11月12日, 2020年11月13日, 2020年11月14日, 2020年11月15日, 2020年11月16日, 2020年11月17日, 2020年11月18日, 2020年11月19日, 2020年11月20日, 2020年11月21日, 2020年11月22日, 2020年11月23日, 2020年11月24日, 2020年11月25日, 2020年11月26日, 2020年11月27日, 2020年11月28日, 2020年11月29日, 2020年11月30日, 2020年12月1日, 2020年12月2日, 2020年12月3日, 2020年12月4日, 2020年12月5日, 2020年12月6日] ``` # 实际应用效果 > 橘黄色方框是实际应用效果 > 如果想要看完整的项目代码,可以查看 **糖疯子** 的代码 https://www.jianshu.com/p/4ae8f56f3bcb ![1604206482003.png][2] [1]: https://cdn.nowtime.cc/2020/11/01/2694057533.jpg [2]: https://cdn.nowtime.cc/2020/11/01/2390028636.png
MPAndroidChart 设置图标两边间距(偏移量)防止文字过长遮挡住 作者: Chuwen 时间: 2020-10-30 分类: Android 1 条评论 # 代码 ``` LineChart linechart2=(LineChart)findViewById(R.id.linechart2); linechart2.setExtraLeftOffset(100f);//左间距 linechart2.setExtraRightOffset(80f);//右间距 ``` ![未命名图片.png][1] [1]: https://cdn.nowtime.cc/2020/10/30/2262053361.png
Linux 相关练习题 作者: Chuwen 时间: 2020-10-30 分类: Linux 评论 # 以#开头的那一行是注释,不需要运行 # 以#开头的那一行是注释,不需要运行 # 以#开头的那一行是注释,不需要运行 1. ## 创建云服务器,提供能够进行有效连接的公网IP。 --5分 (如果未建立则考试没有成绩) 2. ## 创建 `jjcpxp` 用户,并设置密码为 `12345678` --5分 (如果未建立则考试不能及格) ```bash # 指定 -M 参数时不在 /home 下创建目录 useradd jjcpxp -p 12345678 #小扩展,删除用户可以使用 userdel -r 用户名 ``` 3. ## 创建 `test` 用户,并将用户目录设置为 `/home/jjcpxp` 设置密码为 `123456`. --5分 ```bash # -d /home/jjcpxp # -m useradd test -p 123456 # 修改目录 chown -R test.test /home/jjcpxp ``` 4. ## 用 `test` 用户在 `/home/jjcpxp` 目录下建立 `TXT.sh` 文件,文件内容为批处理建立 `TXT1.txt`、`TXT2.txt`、`TXT3.txt` 文件。 再建立 `del_TXT.sh` 文件文件内容为删除以上建立的3个txt文件,`jjcpxp` 用户可以操作执行。 --10分 ```bash # 登录 test 账户 su - test # 进入 /home/jjcpxp 目录 cd /home/jjcpxp # 创建 TXT.sh 文件 touch TXT.sh # 设置 TXT.sh 文件内容:创建 TXT1.txt、TXT2.txt、TXT3.txt 文件 echo touch TXT1.txt >> TXT.sh echo touch TXT2.txt >> TXT.sh echo touch TXT3.txt >> TXT.sh #################################################### # 再建立 del_TXT.sh 文件 touch del_TXT.sh # 文件内容为删除以上建立3个txt文件 echo rm -rf TXT1.txt >> del_TXT.sh echo rm -rf TXT2.txt >> del_TXT.sh echo rm -rf TXT3.txt >> del_TXT.sh # 设置执行权限 ## 首先切换成 root 用户 su - root cd /home/jjcpxp # 然后再设置文件权限 (jjcpxp 用户可以操作执行) chown jjcpxp del_TXT.sh ``` 5. ## 用 `jjcpxp` 用户在 `/home/jjcpxp` 目录下建立 `Dir.sh` 文件 ,文件内容为建立 `dir1`、`dir2`,`dir3` 的3个文件夹,同时建立 `del_Dir.sh` 文件,文件内容为同时删除上述建立的文件目录。 --10分 ```bash su - jjcpxp touch Dir.sh echo mkdir dir1 >> Dir.sh echo mkdir dir2 >> Dir.sh echo mkdir dir3 >> Dir.sh touch del_Dir.sh echo rm -rf dir1 >> del_Dir.sh echo rm -rf dir2 >> del_Dir.sh echo rm -rf dir3 >> del_Dir.sh ``` 6. ## 建立内容为“!!!欢迎来到[自己姓名]CentOS服务器!!!”登录显示。--5分 ```bash su - root vi /etc/motd # 按键盘上 i 键进入编辑 # 然后删除文 # 然后按 Esc 键,输入 :wq # 然后按回车保存并关闭文件 ``` 7. ## 在 `/home/jjcpxp` 建立一个属主为 `root` 的 `xuehao` 文件,文件内容为`自己的姓名 /学号`:同时在 `/tmp` 目录下建立相同 的文件 且 `jjcpxp` 用户可读 --8分 ```bash su - root touch /home/jjcpxp/xuehao echo 陈文洲/10086 > /home/jjcpxp/xuehao cp /home/jjcpxp/xuehao /tmp # 参考 https://blog.51cto.com/qingmiao/2069603 setfacl -m u:jjcpxp:r /tmp/xuehao ``` 8. ## 统计 `/tmp/linux_test.txt` 文件的前10行文件内容并把内容结果输出到 `/home/jjcpxp` 目录下的 `grep` 文件中 --8分 ```bash touch /tmp/linux_test.txt # 按键盘上 i 键进入编辑 # 自己在里面写15行内容 # 然后按 Esc 键,输入 :wq # 然后按回车保存并关闭文件 vi /tmp/linux_test.txt head -10 /tmp/linux_test.txt > /home/jjcpxp/grep ``` 9. ## 统计云服务器在正在运行的 `.service` 服务结果并将结果输出到 `/home/jjcpxp` 目录下 `service` 文件中 --8分 ```bash ps auxw > /home/jjcpxp/service ``` 10. ## 将 `/etc/sysconfig/` 目录下的树结构结果输出到 `/home/jjcpxp` 目录下的 `tree` 文件中去 -8分 ```bash # 安装 tree 命令 yum install -y tree tree /etc/sysconfig/ > /home/jjcpxp/tree ``` 11. ## 统计 `/etc/sysconfig/network-scripts/ifcfg-eth0` 的文件文件行数并输出到 `/home/jjcpxp/` 目前的 `wc` 中。 再将上述文件的内容输出到 `ifcfg-eth0` 文件中 --8分 ```bash wc -l /etc/sysconfig/network-scripts/ifcfg-eth0 > /home/jjcpxp/wc cat /home/jjcpxp/wc > /home/jjcpxp/ifcfg-eth0 ``` 12. ## 将关机命令、重启命令的3种形式 写入到 `/home/jjcpxp` 目录中的 `shut` 文件中 --5分 ```bash # 关机命令 echo shutdown -h now >> /home/jjcpxp/shut # ## 重启命令 echo shutdown -r now >> /home/jjcpxp/shut ``` 13. ## 测试 www.163.com 网站的联通性并测试10个IMCP包将结果输出到 `/home/jjcpxp` 目录中的 `ping`文件中 --10分 ```bash # -c 参数,指定次数 # > /home/jjcpxp/ping 将结果重定向至 /home/jjcpxp/ping 并覆盖写入文件 ping -c 10 www.163.com > /home/jjcpxp/ping ``` 14. ## 将 `/home/jjcpxp` 目录中的所有文件拷贝到 `/tmp` 目录中 `test` 目录下,所有文件设为 `test` **只读** 属性 --10分 ```bash mkdir /tmp/test cp /home/jjcpxp/* /tmp/test setfacl -m u:jjcpxp:r /tmp/test/* ```