展开 层次号 标签

      笔记本
        1  笔记本封面
笔记是html格式的信息片段
笔记本是一组笔记和笔记本的集合。
笔记本形成一棵树。
        2  笔记示例
            2.1  网址   待补充
                2.1.1  搜索   待确定   喜欢   重要
                2.1.2  生活-中文   待确定   紧急
                2.1.3  论文和数据-英语   待补充   重要
                2.1.4  论文和数据-中文   待补充   重要
                2.1.5  学习-英语   待补充
                2.1.6  学习-中文   待补充   重要
                2.1.7  网文-中文   喜欢   待补充
                2.1.8  娱乐-中文   喜欢   待补充
            2.2  我的数据   待补充   重要
                2.2.1  我的视力

基弧:84

时间 左眼 右眼
2020.8 300 350
2019.7 300 350
2018.5 300 350
                2.2.2  我的体重
时间 体重(公斤)
2020.7 53.7
2019.3 55.2
2018.6 54.5
                2.2.3  我的身高
时间 身高(厘米)
2020.7 164
2019.3 165
2018.6 164
                2.2.4  我的月经
年/月 1 2 3 4 5 6 7 8 9 10 11 12
2021 2,30 2
2020 28 27 23 21 19 7,26 19 15 12 8 9
2019 10 7 7 2,30 26 25 23 17 14 12 19 26
                2.2.5  我的存款
时间 总计 中国银行 招商银行 工商银行
2020.1 300 100 100 100
2019.1 300 100 100 100
2018.1 300 100 100 100
            2.3  常识
                2.3.1  上衣的尺寸
尺码 衣长 肩宽 袖长 胸围 腰围
160/76A(0) 69 37 80 88 86
160/84A(2) 69 38 81 90 88
160/88A(4) 70 39 82 93 91
165/88A(6) 70 39 83 95 93
165/92A(8) 71 40 83 98 96
165/96A(10) 72 41 84 100 98
165/100A(12) 73 42 84 104 102
170/100A(14) 74 43 85 108 106
170/104A(16) 75 43 86 112 110
            2.4  通讯录   待补充
                2.4.1  亲友   重要
关系 手机 邮箱 地址 生日 备注
妈妈 123456789 123@aa.com 美丽岛 1960.1.1
爸爸 123456789 123@aa.com 美丽岛 1961.3.1
姐姐 123456789 123@aa.com 美丽岛 1984.3.8
                2.4.2  工作
关系 姓名 手机 邮箱 地址 备注
经理 A 123456789 123@aa.com 飘渺峰
同事 B 123456789 123@aa.com 飘渺峰
同事 C 123456789 123@aa.com 飘渺峰
            2.5  编程   待补充
                2.5.1  编程的网址   待确定
                2.5.2  sftp到sourceforge(上传大文件)

C:\Users\mara>sftp mararsh@frs.sourceforge.net
Password:
Connected to mararsh@frs.sourceforge.net.
sftp> cd /home/frs/project/mara-mybox
sftp> ls
sftp> cd v6.4.2
sftp> lcd  D:\releases\Mybox\2021-03-21-v6.4.2
sftp> put D:\releases\Mybox\2021-03-21-v6.4.2\MyBox-6.4.2-linux.tar.gz
访问文件: https://sourceforge.net/projects/mara-mybox/files/
                2.5.3  sftp到sourceforge(上传网站文件)

C:\Users\mara>sftp mararsh@frs.sourceforge.net
Password:
Connected to mararsh@frs.sourceforge.net.
sftp> cd /home/project-web/mara-mybox/htdocs
sftp> ls
sftp> lcd  D:\GitHub\MyBox\docs
sftp> put *.*
访问网站: https://mara-mybox.sourceforge.io/index.html
                2.5.4  javafx
                    2.5.4.1  关于javafx一句话事项   喜欢   待补充
  1. 总是假设用户对编程一无所知。
  2. 不要指望用户会看用户手册,一些人连屏幕上的提示都不会读或想(包括我)。
  3. 必要的提示信息可以帮助用户理解程序的意图。
  4. 二义性的提示不如没有提示。
  5. 总是响应用户的操作,如弹出信息、发出声音、或更新界面。
  6. 尽可能多地提供选择,并设置缺省选择。
  7. 记住用户的输入或选择,下次自动填写或设置。
  8. 保持界面干净的同时,减少用户的输入或选择。
  9. 只要有地方放单选钮/多选纽,就不用下拉框。
  10. 选择的层级不应超过3。
  11. 界面控件较多时,考虑目前流行的布局:左右幕布式收放、上下风箱式开闭、页签堆叠。
  12. 用户屏幕分辨率可能从1K到4K,所以MyBox多数界面的设计尺寸小于1100*720。
  13. 善用“会折行”的容器,如FlowPane,以兼顾小屏和大屏。
  14. 只能在JavaFx线程中修改界面控件。在控件的事件处理中若要修改控件本身,则应用Platform.runLater来执行。
  15. 对于耗时的操作应当显示进度信息。
  16. 耗时的操作不应在JavaFx线程中执行,否则会阻塞界面的更新。
  17. 后端线程要时时检查task是否已被取消,尤其在循环中或耗时操作前后。
  18. 鼠标事件监听时,event.getX()和event.getY()返回的是相对于event.getSource()(监听控件)的坐标。如:在ImageView上监听鼠标点击,则取到的是相对于图像的坐标。
  19. 以下场景可能触发多次迭代调用:同时监听onMouseEntered和 onMouseExited,然后在事件处理中改变鼠标的焦点(如弹出上下文菜单)或改变控件本身尺寸。
  20. 当双击鼠标时,总是先触发单击事件、然后继续触发双击事件,因此需要注意事件处理中可能重复或冲突的操作。
  21. 对于多选表格,用getSelectedIndices()监听变化。若用selectedItemProperty()监听则可能遗漏状态变化。
                    2.5.4.2  示例
                        2.5.4.2.1  ChangeListener

input.textProperty().addListener(new ChangeListener() {
     @Override
     public void changed(ObservableValue observable, String oldValue, String newValue) {
               checkInput();
     }
});
                        2.5.4.2.2  setOnMouseClicked

control.setOnMouseClicked(new EventHandler() {
     @Override
     public void handle(MouseEvent event) {
            controlPane();
     }
});
                        2.5.4.2.3  disableProperty().bind

startButton.disableProperty().bind(
       Bindings.isEmpty(targetPathInput.textProperty())
       .or(targetPathInput.styleProperty().isEqualTo(badStyle))
       .or(optionsValid.not())
);
                2.5.5  java
                    2.5.5.1  关于java一句话事项   喜欢   待补充
  1. 总是假设最极端的输入和最离奇的错误操作。
  2. 假设用户硬件配置(cpu/内存/硬盘)略低于平均水平。
  3. 文件读写用BufferedInputStream和BufferedOutputStream。
  4. 访问资源用try-with-resource语句。
  5. 读写文件或数据时始终考虑内存不够的情形。
  6. 读写文本文件时,注意字符集。
  7. 字符串与字节转换时,注意字符集。
  8. 读文件时判断结束的条件应是“len > 0”。如果用“len != -1”则在读取零字节时陷入死循环。
  9. 删除/移动/重命名文件前调用“System.gc()”,以免因缓存而失败。
  10. 处理树形信息(例如文件系统)时要避免无限循环:当操作会修改源节点时,目标节点不能是源节点或者其后代。
  11. 若按序号删除列表,则应从后向前删除。
  12. 当类的参数比较多时,不要写很多构造方法来初始化不同参数集,而是用静态方法创建、然后各个set方法返回this,来实现链式赋值。
  13. 匿名类非常适合以下场景:大量重复代码,只有少数方法的实现不同。
  14. 泛型非常适合以下场景:大量重复代码,只有数据类型不同。
  15. 需要大量实例化的类中尽可能少地定义实例变量和实例方法。
  16. 循环里尽可能不执行浮点计算。如果可以,把浮点计算转换为整型计算。
  17. 监听数据变化时,需要判断是否真的发生变化,可以设置最小变化阈值以避免频繁处理。
  18. 若修改JVM参数,或想粗暴清理应用环境时,需要重启应用。
  19. 注意索引参数是基于0(0-based)还是基于1(1-based),尤其是对第三方库。自己写的方法最好注明。一般默认基于0,若是基于1则必须注明。
  20. 一般地,用户界面上的索引起始于1,而代码数据的索引起始于0。
  21. 一般地,用户界面上的范围(开始-结束)包含结束值,而代码数据的范围(开始-结束)不包含结束值。
  22. Double.MIN_VALUE是最小正double(最接近于零的正数)。-Double.MAX_VALUE 是最小double。
  23. 若处理货币,应当用整型保存各个货币单位。
  24. BigDecimal比double慢很多。大多数情况下double的精度够用。
  25. 若是判断数字范围,应当用 if (abs(x - 7.3) < TOLERANCE) 而不是 if (x == 7.3)。
  26. final static常量必须在编译时刻可以确定。
  27. JDBC读取数值时,若数据库值为null,则ResultSet.getDouble/getFloat/getInt/getShort返回0。如果需要区分空值和零,则需用ResultSet.getObject。 ResultSet.html#getDouble
  28. 从Java18开始,Charset.defaultCharset()总是UTF-8。这会影响到ProcessBuilder的命令和结果的解析。 Process JDK-8266075

* 网页可编辑时,链接和控件可能不响应。