rust入门-猜数游戏(2)
编写一个猜数游戏猜数游戏,它会首先生成一个1到100之间的随机整数,并紧接着请求玩家对这个数字进行猜测。假如玩家输入的数字与随机数不同,那么程序将给出数字偏大或偏小的提示。而假如玩家猜中了我们准备的数字,那么程序就会打印出一段祝贺信息并随之退出。
创建一个新的项目使用Cargo来开始一个新的项目:
12$ cargo new guessing_game $ cd guessing_game
处理一次猜测猜数游戏的第一部分会请求用户进行输入,并检查该输入是否满足预期的格式。
src/main.rs
123456789101112131415use std::io;fn main() { println!("猜数游戏!"); println!("请输入你猜测的数字:"); let mut guess = String::new(); io::stdin() .read_line(&mut guess) .expect("获取数字失败,请重新输入!&qu ...
rust入门-安装(1)
安装通过一个叫作rustup的命令行工具来完成Rust的下载与安装,这个工具还被用来管理不同的Rust发行版本及其附带的工具链。
在Linux或macOS环境中安装Rust命令行终端输入:
1$ curl https://sh.rustup.rs -sSf | sh
上面的安装过程会自动将Rust工具链添加到环境变量PATH中,并在下一次登录终端时生效。假如你想要立即开始使用Rust而不用重新启动终端,那么你可以在终端中运行如下所示的命令来让配置立即生效:
1$ source $HOME/.cargo/env
在Windows环境中安装Rust访问官网查看详细的安装方法。
更新与卸载更新:
1$ rustup update
卸载:
1$ rustup self uninstall
查看版本1$ rustc --version
本地文档安装工具在执行的过程中会在本地生成一份离线的文档,你可以通过命令rustup doc在网页浏览器中打开它。
1$ rustup doc
Hello, World!创建一个文件夹首先,创建一个文件夹来存储编写的Rust代码。通常而言,Rust不会 ...
React Hook
HookReact16.8以后才支持;
动机解决组件之间复用状态逻辑管理很难;
复杂组件变得难以理解;
Class难以理解, React Hook拥抱函数式编程思想;
简单案例使用create-react-app创建项目:
1234567891011import React, { useState } from "react";export default function Counter() { const [count, setCount] = useState(0); return ( <div> <p>{count}</p> <button onClick={()=>{setCount(count+1)}}>点击</button> </div> )};
Hook 使用的注意事项
只能在函数中使 ...
Electron开发MarkDown编辑器
项目环境搭建创建react项目1npx creat-react-app cloud-doc
安装electron123456789cd cloud-docnpm install electron --save-devnpm install electron-is-dev --save-dev## 如果卡死,用下面的命令安装npm install -g cnpm --registry=https://registry.npmmirror.comcnpm install --save-dev electroncnpm install electron-is-dev --save-dev
根目录下新建main.js
1234567891011121314151617const {app, BrowserWindow} = require('electron');const isDev = require('electron-is-dev');let mainWindow;app.on('ready', ()= ...
Node.js中操作文件系统
同步方法和异步方法在Node.js中,使用fs模块来实现所有文件及目录的创建、写入及删除操作。所有对文件及目录的操作都可以使用同步与异步这两种方法。例如,在执行读文件操作时,可以使用readFile方法与readFileSync方法。在这些方法中,所有方法名中具有Sync后缀的方法均为同步方法,而不具有Sync后缀的方法均为异步方法。这两者的区别是:同步方法立即返回操作结果,在使用同步方法执行的操作结束之前,不能执行后续代码,代码类似如下所示。
123var fs = require('fs');var data = fs.readFileSync('./index.html', 'utf8');// 等待操作返回结果,然后利用该结果console.log(data);
而异步方法将操作结果作为回调函数的参数进行返回,在方法调用之后,可以立即执行后续代码,代码类似如下所示。
1234var fs = require('fs');fs.readFile('./index.html', & ...
2023年最新珠峰React全家桶
学习目标独立完成React项目;
掌握淘系React解决方案;
掌握常见的面试题;
预计完成天数46天,共计七周;
笔记代码地址2023年最新珠峰React全家桶
课程视频链接:2023年最新珠峰React全家桶【基础-进阶-项目-源码-淘系-面试题】
Create-react-app基础操作当下以及未来的前端开发一定是组件化/模块化。
有助于团队协作开发
便于组件的复用:提高开发效率、方便后期维护、减少页面中的冗余代码
如何划分组件?业务组件:针对项目需求封装的
普通业务组件:复用性低,只是单独拆选出来的一个模块;
通用业务组件:具备复用性
功能组件:适用于多个项目(列如:UI组件库中的组件)
通用功能组件
组件话开发必然带来工程化,基于webpack/vite/turbopack等工具实现组件的合并、压缩、打包等。
安装Create-react-appReact官方提供的脚手架,便于创建React项目。
全局安装create-react-app脚手架:
1npm i create-react-app -g
检查 create-react ...
ChatGPT注册流程
科学上网科学上网是前提,启用全局代理。
访问官网访问https://openai.com/api/,点击SIGN UP。
打开注册页面,如果无法注册。则两种方式:
新打开隐身窗口
现有窗口,删除浏览器本地缓存
a. 打开 F2 呼出 Chrome 控制台 在 Conosle,输入一下代码:
1window.localStorage.removeItem(Object.keys(window.localStorage).find(i=>i.startsWith('@@auth0spajs')));
b. 再次强刷页面即可
强制刷新后,进入注册页面就好了。另外邮箱注册时,最好使用 gmail、outlook、iCloud 等邮箱。
轻松几步步注册使用 ChatGPT第一步:科学上网
全局代理
切到可用地区,比如美国
第二步:使用邮箱注册 GhatGPT
注册地址:https://chat.openai.com/
邮箱:使用 gmail、outlook、iCloud 等邮箱
第三步:使用手机验证通过验证码
手机号:第三方平台(推荐
https://sms ...
React进阶之路
初识ReactReact简介前端UI的本质问题是如何将来源于服务器端的动态数据和用户的交互行为高效地反映到复杂的用户界面上。React通过引入虚拟DOM、状态、单向数据流等设计理念,形成以组件为核心,用组件搭建UI的开发模式,理顺了UI的开发过程,完美地将数据、组件状态和UI映射到一起,极大地提高了开发大型Web应用的效率。
主要特点:
(1)声明式视图层
用JavaScript(JSX)语法来声明视图层,可以在视图层中随意使用各种状态数据。
(2)简单的更新流程
只需要定义UI状态,React会负责把它渲染成最终的UI。
(3)灵活的渲染实现
React先把视图渲染成虚拟DOM。虚拟DOM只是普通的JavaScript对象,结合其他依赖库可把这个对象渲染成不同终端上的UI。使用Node在服务器上渲染,使用React Native在手机上渲染。
(4)高效的DOM操作
基于React优异的差异比较算法,React可以尽量减少虚拟DOM到真实DOM的渲染次数,以及每次渲染需要改变的真实DOM节点数。
React基础JSXJSX简介JSX是一种用于描述UI的JavaScript扩展语法,R ...
MySQL数据库相关
my.iniMySQL8.0文件路径:
1C:\ProgramData\MySQL\MySQL Server 8.0
文件内容:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018 ...