比特币的原理
哈喽大家好!我是小麦。最近想装一台电脑,然后看了眼显卡价格……嗯,还是很高。想到了导致今天这个局面的“罪魁祸首”——加密货币。今天看了李永乐老师两年前讲解比特币原理的视频,现在来做个笔记。 老规矩,视频链接: 李永乐老师Youtube:https://www.youtube.com/watch?v=g_fSistU3MQ 李永乐老师BiliBili:https://www.bilibili.com/video/av45247943 老高与小茉比特币:https://www.youtube.com/watch?v=7B-1vDFuYRk 老高与小茉区块链:https://www.youtube.com/watch?v=sjx_rpay9rk 以下文章可能有点深奥,读者可以在文章下方讨论,我会尝试给你们解答。 比特币是什么比特币也叫电子货币、数字货币,它由一名化名为中本聪的网络极客于2008年11月1日在网络上写的一篇文章《比特币:一种点对点的电子现金系统》所提出。这篇文这里提出一种构思:去中心化的电子记账系统。 去中心化的电子记账系统我们在和别人进行交易之后,需要检查我还有多...
日记加密思路总结
日记加密的思路总结哈喽大家好,这是我们的第一篇文章。喜欢这类文章的小伙伴可以点击这里注册我们官网的账号,一起讨论哦! 也期待你们加入我们的Discord服务器一起聊天! 刚刚看了一下李永乐老师的日记加密算法,现在对视频所介绍的思路进行回忆并做总结。什么?你问视频链接在哪里?Okay,在这里: Youtube链接:https://youtu.be/32xToL3JdU0 BiliBili链接:https://www.bilibili.com/video/BV11X4y1w77c 这篇文章不会涉及代码实现,纯粹讨论思路。后面我会在 Coding Challenge 里面尝试去吧这个加密功能写出来。所以现在我会根据老师所说,用我们生活中能用到的工具(白纸、美工刀)去演示这个加密过程。 制作密码盘现在来简单的用图文叙述加密及解密过程。首先,我们准备一张白纸,在纸上划分四个区域,然后在左上方划出 4 × 4 同样大小的方框 将小方框同样画在其余 3 个区域,然后在第一个区域上写上 1 ~ 16 个号码 然后用镜像的方法去填满其他三个区域。镜像的意思是以中间分割线用镜子的方式将左边...
JavaWeb 数据库应不应该取别名
除了查询的数据表可以取别名来方便操作外,对数据列也是可以取别名的。 我先来说我的观点:对于数据列,是不建议取别名的。假设有以下两张表 -- 部门表CREATE TABLE department( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50));-- 员工信息表CREATE TABLE employee( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), dept_id INT, CONSTRAINT fk_dept_id FOREIGN KEY(dept_id) REFERENCES department(id));INSERT INTO department(name) VALUES('教学部'),('研发部'),('产品部');INSERT INTO employee(name, dept_id) VALUES('张三', 1),('李四', 3),('...
JavaWeb 解决数据库中文乱码 详细版
检查前端页面编码<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 修改Eclipse字符集Window > Preferences > General > Workspace,修改Text file encoding项。 选择 Other,下拉框选择UTF-8 原先项目乱码解决然后你就会发现你的项目里的汉字全是乱码,这时候随便在某个地方创建一个Java文件,命名为Main.java // A code blockimport java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;impor...
JavaWeb 总结性介绍
前言:次文章乃个人理解,如与实际知识点有出入,欢迎讨论指教,谢谢各位——作者:小麦 8/3/2021 - 对Ajax获取数据之前讲的不严谨,对其增加案例讲解;补充SQL语句的介绍 JavaJava是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 Java是干前端还是后端的这个嘛,都有,只是Java设计后端的知识点更多,前端Java的代表就是安卓开发。后端的话,就是接下来我们要讲的。 为什么要学JavaJava语言是目前中国市场需求量最高的编程语言,就冲这一点——赚钱! 生涩难懂的概念 以下知识点都是个人理解,用最基本的方式去搞清楚这些概念。可能和专业认知有出入,欢迎指正 什么是JavaWeb?用Java技术来解决相关web互联网领域的技术栈。web包括:web服务端和web客户端两部分。Java在客户端的应用有Java Applet,不过使用得很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP、第三方框架等等。Java技术对Web领域的发展注入了强大的动力。 前端Internet上被人访问...
JavaWeb 航空管理系统后端笔记
解决中文乱码Response.setContentType(text/html;charset=utf-8); 将浏览器编码设置为utf-8,使其出现中文时不会乱码 404报错servlet 名称没有更改成和 api 文档中一致,或者是文件夹包名命名错误,解决方法就是将其改为一致。 500报错空指针异常代码中数据定义出错,缺少定义或者代码本身错误,解决方案是检查代码的数据定义,以及代码本身问题。 Size > 1sql语句出现问题,在返回数据时参数位置写反,以及sql语句中,应该为’?’的地方写出了具体数据,解决方案是将其修正过来。 在sql条件为两个时,需要用and连接,如果没有连接则会报错。在部分接口startDate和endDate的获取是根据departureDate时,引号中间有空格。
JavaWeb 解决后端中文乱码
修改数据库可以保存中文 以下方法适用于 MySQL 5.0 和 8.0。 首先打开 MySQL Command Line Client(就是 MySQL 的终端程序),输入数据库密码。 在第一行输入 show variables like '%char%';,它会返回一张表。上面是数据库编码。 +--------------------------+--------------------------------------+| Variable_name | Value |+--------------------------+--------------------------------------+| character_set_client | gbk || character_set_connection | gbk || cha...
JavaWeb 笔记 12 三层 JDBC
回顾步骤回顾要进行一次完整的数据库增删改查,我们需要执行以下的步骤: 获得 URL 的参数 将参数拼接成 SQL 语句 访问数据库(省略 MySqlHelper 所做的操作) 处理数据 Servlet 界面显示返回值 一层 JDBC MySqlHelper + Servlet(界面) Servlet 负责接收 URL 参数 然后将 SQL 语句和参数传递给 MySqlHelper 的方法 MySqlHelper 查询数据库之后处理返回值对象,并合并为 List 对象返回给 Servlet Servlet 将其转换成 JSON 字符串,输出。 注: 这个版本的 JSON 也不是我们想要输出的样子,因为它没有 data 和 flag 键。 两层 JDBC MySqlHelper + DAO + Servlet,外加一个 pojo.Result 实体类 DAO = Data Access Object 数据访问层 DAO 保存了 SQL 语句 Servlet 负责接收 URL 参数 将参数传给对应的 DAO DAO 拼接参数,调用 MySqlHelper 得到 List ...
JavaWeb 笔记 10 MySqlHelper 类第 3 版
目标引入 HashMap,让返回值变为哈希表,而不是 ResultSet。因为 ResultSet 不能直接转为 JSON 字符串。 HashMap 是键值对,键是唯一的,值是不唯一的。所以可以通过键来找到对应的值。 修改函数的返回值为:HashMap<String, Object>。意味着我们需要的键值对为字符串和 Object 类型 然后再将数据通过 Servlet 返回 仅仅通过 HashMap 返回是不行的。因为我们需要返回的数据可能是多条,而 HashMap 只能是一条记录。下面我们会一步一步的去升级它,看着! 准备首先,我们最后要返回的是 JSON 字符串。所以需要下载阿里巴巴的 FastJson 包。到 Central Repository: com/alibaba/fastjson/1.2.78 (maven.org) 下载 fastjson-1.2.78.jar。然后拖入项目的 src/main/webapp/WEB-INF/lib 文件夹下。 第一次升级修改 executeQuery: 这里我省略了 中间一大段,改为注释。 public sta...
JavaWeb 笔记 9 MySqlHelper 类第 2 版
目标之前的 MySqlHelper 在调用的时候是这样的 String sql = "SELECT * FROM [table] WHERE [col1] = [value1] AND [col2] = [value2]";ResultSet rs = MySqlHelper.executeQuery(sql); 可以发现,我们之前的 SQL 语句已经写死了所有的数据。这样在后续开发的时候非常不方便,且不安全。容易出现 SQL 注入等情况。 现在,我们要优化我们的 MySqlHelper 类,让它的函数定义为: public static ResultSet executeQuery(String sql, Object[] param) {}public static ResultSet executeUpdate(String sql, Object[] param) {} 解释一下,Object[] param 是 SQL 语句的参数。为什么是 Object 类型?因为我们的参数可能是 String 也可能是 In...






