当前位置: 首页 > news >正文

ASP.NETWeb开发(C#版)-day1-C#基础+实操

目录

  • .NET
  • 实操:创建项目
    • 执行
  • C#基础语法
    • 数据类型
    • 变量
    • 实操001_变量
    • 如何在一个解决方案 中创建另一个项目
    • 实操002
    • 结构
    • 实操003-if else
    • 实操004-多分支
    • 多行注释按钮
    • 实操:循环
  • 面向对象基础
    • 如何在同一个项目下创建新的.cs文件
    • 实操-类的定义与访问
    • 实操-练习
    • 实操-方法
    • 实操:计算器
  • 综合实例

.NET

.NET简介

dotnet5(.NET)合并了.NET Framework、.NET Core(可以跨平台)

实操:创建项目

开发环境

我用的Visual Studio2022 先创建新项目

创建新项目
注意第一步和第二步

再点击下一步后

注意框选的部分

注意打钩的地方
成功

说明(了解即可):在找到相应文件位置后,点击 “生成” 下方会出现 成功 之后 Debug 下会生成很多文件其中 xxx.exe 是生成的可执行文件,在.NET平台是一种通用文件

说明
生成
在VS下方输出的-成功

执行

执行
成功执行

C#基础语法

C#基础语法

数据类型

  • 简单数据类型(值类型)
  • 引用类型(值存储在堆里面,地址存储在栈里面)
    简单数据类型(值类型)

变量

变量
变量

实操001_变量

namespace Demo001_变量
{internal class Program{   //"///"是注释 解释说明的作用/// <summary>/// 主方法,程序的入口/// </summary>/// <param name="args"></param>static void Main(string[] args){//声明变量存储数据string message;//给变量赋值message = "欢迎来到C#的世界";//使用变量Console.WriteLine(message);//存储员工的信息:工号,姓名,性别,入职日期,基本工资,部门,岗位string emplyeeNo, name;bool gender;DateTime jobInDateTime;double salary;string departmentName;string job;Console.Write("请输入工号:");emplyeeNo = Console.ReadLine();Console.Write("请输入姓名:");name = Console.ReadLine();Console.Write("请输入性别:");gender = Convert.ToBoolean(Console.ReadLine());Console.Write("请输入入职日期(yyyy-mm-dd):");jobInDateTime = Convert.ToDateTime(Console.ReadLine());Console.Write("请输入基本工资:");salary = Convert.ToDouble(Console.ReadLine());Console.Write("请输入部门:");departmentName = Console.ReadLine();Console.Write("请输入岗位:");job = Console.ReadLine();//输出个人信息Console.WriteLine($"工号:{emplyeeNo}\n" +$"姓名:{name}\n" +$"性别:{gender}\n" +$"入职日期:{jobInDateTime}\n" +$"基本工资:{salary}\n" +$"部门:{departmentName}\n" +$"岗位:{job}");}}
}

实例1

如何在一个解决方案 中创建另一个项目

如图
后面的步骤前面有讲过。

完成图

注意:点击 配置启动项 , 勾选 当前项目

启动项设置
![启动项设置]](https://img-blog.csdnimg.cn/fd028c9cac10418a891dfc2ab073013b.png)

在这里插入图片描述
三元运算符
比较运算符

运算符
运算符优先级

实操002

namespace Demo002_算术运算符
{internal class Program{static void Main(string[] args){DateTime dateOfBirth= Convert.ToDateTime("1995-10-2");int age = DateTime.Now.Year - dateOfBirth.Year;Console.WriteLine("年龄:"+age);//age++ 和 ++age 区别//先用再加  先加再用bool gender = true;gender = false;//string sex = gender == true ? "男" : "女";string sex = !gender ? "男" : "女";Console.WriteLine($"性别:{sex}");Console.WriteLine();Console.Write("请输入账号:");string loginId = Console.ReadLine();Console.Write("请输入密码:");string loginPassword = Console.ReadLine();string loginMsg = loginId == "admin" && loginPassword =="123456" ? "登录成功" : "用户名或密码错误,登录失败";Console.WriteLine(loginMsg);}}
}

成功
失败

结构

选择结构
选择结构
选择结构

实操003-if else

namespace Demo003_选择结构
{internal class Program{static void Main(string[] args){Console.WriteLine("请问是否进行C#学习:(y/n):");string input = Console.ReadLine().ToLower();//输入转换为小写     .ToUpper()转化为大写if (input != "y" && input != "n") {Console.WriteLine("输入有误");}else{if (input == "y"){Console.WriteLine("继续阅读");}else{Console.WriteLine("停止阅读");}}}}
}

输入y
输入n
随便输入

实操004-多分支

namespace Demo004_多分支
{internal class Program{static void Main(string[] args){Console.WriteLine("*******年终奖判定程序**********");Console.WriteLine("请输入基本工资:");double salary = Convert.ToDouble(Console.ReadLine());Console.WriteLine("请输入考核等级(ABCD):");char level = Convert.ToChar(Console.ReadLine().ToUpper());double reward;//奖金if (level < 'A' || level > 'D')Console.WriteLine("等级输入有误");//多分支else{//if (level == 'A')//reward = salary * 6;//else if (level == 'B')//reward = salary * 3;//else if (level == 'C')//reward = salary * 2;//else//reward = salary;//只能写等值判断switch (level){case 'A':reward = salary * 6;break;case 'B':reward = salary * 3;break;case 'C':reward = salary * 2;break;default:reward = salary;break;}Console.WriteLine($"年终奖是{reward}");}}}
}

A等级
B等级
C等级
D等级
输入有误

多行注释按钮

多行注释

循环结构
while循环
do while循环

在这里插入图片描述
在这里插入图片描述

实操:循环

namespace Demo005_循环结构
{internal class Program{static void Main(string[] args){//forint i;//定义在外面比较好for(i = 0; i < 3; i++) {Console.WriteLine("重要的事情说三遍");}//登录系统,输入用户名和密码,三次有效string userName, password;for(i = 0;i < 3; i++){Console.WriteLine($"第{i + 1}次登录开始......");Console.Write("请输入用户名:");userName= Console.ReadLine();Console.Write("请输入密码:");password = Console.ReadLine();if(userName == "admin" && password == "admin") {Console.WriteLine("登录成功");break;//强制退出循环}else if (i < 2) {Console.WriteLine("用户名或密码错误,登录失败");}else{Console.WriteLine("三次机会已用完,账号已锁定");}}}}
}

成功
三次全错
有错

面向对象基础

面向对象基础
类

如何在同一个项目下创建新的.cs文件

类

实操-类的定义与访问

Employee.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Demo006_类的定义和访问
{/*** 类名:Employee* 功能:模拟所有的职员对象* */public class Employee{//internal 去掉也不会报错 internal只能在这里访问到 public是都可以访问到//成员变量(字段):特征//string employeeNo;//这是私有的privatepublic string employeeNo;public string name;public bool gender;public double salary;//构造方法:在实例化对象时调用//构造方法名称必须与类名一致public Employee(){//默认存在,但是调用了带参构造,在没有定义无参构造的时候,调用无参会报错,建议带上无参构造//Console.WriteLine("正在实例化员工对象...");}/// <summary>/// 带参数构造方法/// </summary>/// <param name="employeeNo">员工号</param>/// <param name="name">姓名</param>/// <param name="gender">性别</param>/// <param name="salary">工资</param>public Employee(string employeeNo, string name, bool gender, double salary){//this关键字:正在实例化的对象this.employeeNo = employeeNo;this.name = name;this.gender = gender;this.salary = salary;}//方法:对象的行为能力public void ShowEmployeeMsg(){Console.WriteLine($"{this.employeeNo}\t{this.name}\t{(this.gender == true ? "男" : "女")}\t{this.salary}");}}
}

Program.cs

namespace Demo006_类的定义和访问
{internal class Program{static void Main(string[] args){//实例化对象Employee emp01 = new Employee();//访问变量:对象名.变量名emp01.employeeNo = "1234";emp01.name = "张三";emp01.gender = true;emp01.salary = 6589;Employee emp02 = new Employee();emp01.employeeNo = "1235";emp01.name = "王小二";emp01.gender = false;emp01.salary = 7800;Employee emp03 = new Employee("1236", "rose", false, 6500);//Console.WriteLine($"{emp01.employeeNo}\t{emp01.name}\t{(emp01.gender == true? "男":"女")}\t{emp01.salary}");//Console.WriteLine($"{emp02.employeeNo}\t{emp02.name}\t{(emp02.gender == true ? "男" : "女")}\t{emp02.salary}");//Console.WriteLine($"{emp03.employeeNo}\t{emp03.name}\t{(emp03.gender == true ? "男" : "女")}\t{emp03.salary}");//调用方法:对象名.方法名emp01.ShowEmployeeMsg();emp02.ShowEmployeeMsg();emp03.ShowEmployeeMsg();}}
}

实操-练习

使用OOP的思想模拟个人手机的信息,包含手机品牌,型号,价格和颜色
开机和关机的功能

Phone.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Demo007_练习
{/*** 类名:Phone* 功能:模拟手机对象* */public class Phone{public string brand;//品牌public string type;//型号public double price;//价格public string color;//颜色public Phone(){Console.WriteLine("正在实例化手机对象...");}public Phone(string brand, string type, double price, string color){this.brand = brand;this.type = type;this.price = price;this.color = color;}public void OpenPhone(){Console.WriteLine($"{this.brand}品牌{this.type}型号{this.price}{this.color}的手机正在开机......");}public void ClosePhone(){Console.WriteLine($"{this.brand},{this.type},{this.price},{this.color}" + "关机了");}}}

实现结果

实操-方法

Employee.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;namespace Demo006_类的定义和访问
{/*** 类名:Employee* 功能:模拟所有的职员对象* */public class Employee //internal 去掉也不会报错 internal只能在这里访问到 public是都可以访问到{//成员变量(字段):特征//string employeeNo;//这是私有的privatepublic string employeeNo;public string name;public bool gender;public double salary;//构造方法:在实例化对象时调用//构造方法名称必须与类名一致public Employee() {//默认存在,但是调用了带参构造,在没有定义无参构造的时候,调用无参会报错,建议带上无参构造Console.WriteLine("正在实例化员工对象...");}public Employee(string employeeNo, string name, bool gender, double salary){//this关键字:正在实例化的对象this.employeeNo = employeeNo;this.name = name;this.gender = gender;this.salary = salary;}//方法:对象的行为能力public void ShowEmployeeMsg(){Console.WriteLine($"{this.employeeNo}\t{this.name}\t{(this.gender == true ? "男" : "女")}\t{this.salary}");}//请假public void SendMsg(string type,DateTime beginDate,int days,string reason){Console.WriteLine($"{this.employeeNo}的员工申请{type}");Console.WriteLine($"开始日期:{beginDate}\n" +$"请假天数:{days}\n" +$"结束日期:{beginDate.AddDays(days)}\n" +$"请假事由:{reason}\n");}//年终奖public double GetReward(string level){double reward;switch (level){case "A":reward = this.salary * 6;break;case "B":reward = this.salary * 3;break;case "C":reward = this.salary * 2;break;default:reward = this.salary;break;}return reward;//返回语句}}
}

Program.cs

using Demo006_类的定义和访问;namespace Demo008_方法
{internal class Program{static void Main(string[] args){Employee employee1 = new Employee("1234","张三",true,5000);employee1.SendMsg("事假", Convert.ToDateTime("2023-11-10 09:00:00"), 2, "家里有事");Employee employee2 = new Employee("1235", "李四", true, 6000);employee2.SendMsg("婚假", DateTime.Now, 10, "回家结婚");Console.Write("请输入考核等级:");string inputLevel = Console.ReadLine();double money = employee1.GetReward(inputLevel);Console.WriteLine($"年终奖金是:{money}");}}
}

结果

实操:计算器

Calculator.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Demo009_Calculator
{public class Calculator{public int GetResult(int a, int b, string type){int c = 0;if (type == "+"){c = a + b;}else if (type == "-"){c = a - b;}else if (type == "*"){c = a * b;}else if (type == "/"){if (b == 0){Console.WriteLine("除数为0无法计算");}else{c = a / b;}}return c;}}}

Program.cs

namespace Demo009_Calculator
{internal class Program{static void Main(string[] args){//使用OOP思想实现两个数的加减乘除运算。Calculator calculator = new Calculator();Console.Write("请输入第一个数:");int a = Convert.ToInt32(Console.ReadLine());Console.Write("请输入第二个数:");int b = Convert.ToInt32(Console.ReadLine());Console.Write("请输入运算符(+/ - / * / /):");string type = Console.ReadLine();//计算int c = calculator.GetResult(a, b, type);Console.WriteLine($"{a}{type}{b}={c}");}}
}

结果

综合实例

*以OOP的思想实现猜拳游戏:
*计算机和用户实现猜拳,可以出剪刀、石头和布。
*剪刀用0表示,石头用1表示,布用2表示。
*程序启动,系统默认可以玩10局,用户玩完一局之后可以按任意键继续,按q退出,退出后需显示实际玩了几局,用户赢了几局,电脑赢了几局,平了几局,如果用户赢的局数大于电脑赢的局数,显示用户大获全胜;如果电脑赢的局数大于用户赢的局数,显示用户败给了电脑;如果赢的局数相同,显示打成了平手。*每一局游戏的游戏规则:
*先用户出拳,输入0 - 2为后显示用户出的拳是什么,如果用户出的不是0 - 2,提示用户输入错误,重新输入,直到用户输入正确为止,
*再由电脑随机出拳,电脑产生0 - 2之间的随机数,也要显示电脑出的拳是什么,然后判断电脑和用户的输赢关系,并给出适当的提示,比如本局是用户赢了,还是电脑赢了,还是平局

Player.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Channels;
using System.Threading.Tasks;namespace Demo010_综合案例
{ /// <summary>/// 玩家类/// </summary>public class Player{public string name;//玩家的昵称/// <summary>/// 玩家出拳/// </summary>/// <returns></returns>public int Throw(){while (true){try{Console.WriteLine($"请{this.name}出拳");int point = Convert.ToInt32(Console.ReadLine());if (point >= 0 && point < 3){return point;}elseConsole.WriteLine("输入有误,请输入0-2");}catch (Exception ex){Console.WriteLine ("输入有误,请输入数字");}}}}
}

Computer.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Demo010_综合案例
{public class Computer{public int CreateRandomNum(){Random r = new Random();return r.Next(3);}}
}

GuessGame.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;namespace Demo010_综合案例
{/// <summary>/// 猜拳游戏类/// </summary>public class GuessGame{Player player = new Player();Computer computer = new Computer();/// <summary>/// 输入玩家的昵称/// </summary>public void InputePlayName(){Console.Write("请输入昵称:");player.name = Console.ReadLine();}/// <summary>/// 欢迎界面/打印界面/// </summary>public void ShowMsg() {Console.WriteLine("*****************************");Console.WriteLine("******欢迎来到猜拳游戏*******");Console.WriteLine("*****************************");}/// <summary>/// 程序启动/// </summary>public void Start(){this.ShowMsg();InputePlayName();int p1 = player.Throw();int p2 = computer.CreateRandomNum();string quan1 = ConvertInToString(p1);string quan2 = ConvertInToString(p2);Console.WriteLine($"{player.name}出的拳是{quan1}");Console.WriteLine($"电脑出的拳是{quan2}");Judge(p1, p2);Console.WriteLine("是否继续下一局,按任意键继续,按q退出");string input = Console.ReadLine().ToLower();if(input == "q"){Console.WriteLine("游戏正在退出...");Console.ReadKey();//需要按一个键}Console.ReadKey();Console.Clear();}/// <summary>/// 数字的点数转换为字符串的拳/// </summary>/// <param name="point">点数</param>/// <returns>拳</returns>public string ConvertInToString(int point){if(point == 0) {return "剪刀";}if (point == 1){return "石头";}return "布";}/// <summary>/// 判断输赢/// </summary>/// <param name="playerPoint">玩家的点数</param>/// <param name="computerPoint">电脑的点数</param>public void Judge(int playerPoint, int computerPoint){//0(剪刀) 1(石头) 2(布)//用户赢:0(2)=-2,1(0)=1,2(1)=1int diff = playerPoint - computerPoint;if (diff == 0) {Console.WriteLine("平局");}else if (diff ==-2 || diff ==1) {Console.WriteLine($"用户{player.name}赢了一局");}else{Console.WriteLine("电脑赢了一局");}}}
}

Program.cs

namespace Demo010_综合案例
{internal class Program{static void Main(string[] args){//以OOP的思想实现猜拳游戏://计算机和用户实现猜拳,可以出剪刀、石头和布。//剪刀用0表示,石头用1表示,布用2表示。//程序启动,系统默认可以玩10局,用户玩完一局之后可以按任意键继续,按q退出,退出后需显示实际玩了几局,用户赢了几局,电脑赢了几局,平了几局,如果用户赢的局数大于电脑赢的局数,显示用户大获全胜;如果电脑赢的局数大于用户赢的局数,显示用户败给了电脑;如果赢的局数相同,显示打成了平手。//每一局游戏的游戏规则://先用户出拳,输入0 - 2为后显示用户出的拳是什么,如果用户出的不是0 - 2,提示用户输入错误,重新输入,直到用户输入正确为止,//再由电脑随机出拳,电脑产生0 - 2之间的随机数,也要显示电脑出的拳是什么,然后判断电脑和用户的输赢关系,并给出适当的提示,比如本局是用户赢了,还是电脑赢了,还是平局GuessGame guessGame = new GuessGame();guessGame.Start();Player p = new Player(); p.name = "张三";}}
}

结果

相关文章:

ASP.NETWeb开发(C#版)-day1-C#基础+实操

目录 .NET实操&#xff1a;创建项目执行 C#基础语法数据类型变量实操001_变量如何在一个解决方案 中创建另一个项目实操002结构实操003-if else实操004-多分支多行注释按钮实操&#xff1a;循环 面向对象基础如何在同一个项目下创建新的.cs文件实操-类的定义与访问实操-练习实操…...

LGSVL Python API 使用

1. References [1] LGSVL-python API使用方法 - 简书 [2] GitHub - lgsvl/PythonAPI: Python API for Simulator...

详解数据仓库之拉链表(原理、设计以及在Hive中的实现)

最近发现一本好书&#xff0c;读完感觉讲的非常好&#xff0c;首先安利给大家&#xff0c;国内第一本系统讲解数据血缘的书&#xff01;点赞&#xff01;近几天也会安排朋友圈点赞赠书活动(ง•̀_•́)ง 0x00 前言 本文将会谈一谈在数据仓库中拉链表相关的内容&#xff0c;包…...

使用Nodejs搭建简单的web网页并实现公网访问

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 使用Nodejs搭建简单的web网页并实现公网访问 前言 Node.js是建立在谷歌Chrome的JavaScript引擎…...

C++学习第三十七天----第十章--对象和类

10.2.2 C中的类 类是一种将抽象转换未用户定义类型的C工具&#xff0c;它将数据表示和操作数据的方法合成一个整洁的包。 接口&#xff1a;一个共享框架&#xff0c;供两个系统交互时使用。 1.访问控制 使用类对象的程序可以直接访问类的公有部分&#xff0c;但只能通过公有…...

TikTok影响力经济:解锁社交媒体的商业机遇

社交媒体平台的崛起改变了我们与世界互动的方式&#xff0c;而TikTok作为其中的一员&#xff0c;已经成为全球范围内的现象。这个短视频应用不仅让用户在几秒钟内分享创意和娱乐&#xff0c;还为企业和创作者提供了巨大的商业机会。本文将深入探讨TikTok的影响力经济&#xff0…...

燃气管网监测系统|全面保障燃气安全

根据新华日报的报道&#xff0c;2023年上半年&#xff0c;我国共发生了294起燃气事故&#xff0c;造成了57人死亡和190人受伤&#xff0c;燃气事故的发生原因有很多&#xff0c;其中涉及到燃气泄漏、设备故障等因素。因此&#xff0c;加强燃气安全管理&#xff0c;提高城市的安…...

第三章:人工智能深度学习教程-基础神经网络(第六节-ML深度学习层列表)

要指定所有层按顺序连接的神经网络的架构&#xff0c;请直接创建层数组。要指定层可以有多个输入或输出的网络架构&#xff0c;请使用 LayerGraph 对象。使用以下函数创建不同的图层类型。 输入层&#xff1a; 功能描述图像输入层 将图像输入网络应用数据标准化序列输入层 将…...

福建科立讯通信 指挥调度管理平台RCE漏洞复现

0x01 产品简介 福建科立讯通信指挥调度管理平台是一个专门针对通信行业的管理平台。该产品旨在提供高效的指挥调度和管理解决方案&#xff0c;以帮助通信运营商或相关机构实现更好的运营效率和服务质量。该平台提供强大的指挥调度功能&#xff0c;可以实时监控和管理通信网络设…...

性能测试:Jenkins+Ant+Jmeter自动化框架的搭建方法

前言 前面讲了Jmeter在性能测试中的应用及扩展。随着测试的深入&#xff0c;我们发现在性能测试中也会遇到不少的重复工作。 比如某新兴业务处于上升阶段&#xff0c;需要在每个版本中&#xff0c;对某些新增接口进行性能测试&#xff0c;有时还需要在一天中的不同时段分别进行…...

【开源项目】snakeflow流程引擎研究

项目地址 https://gitee.com/yuqs/snakerflow https://toscode.mulanos.cn/zc-libre/snakerflow-spring-boot-stater &#xff08;推荐&#xff09; https://github.com/snakerflow-starter/snakerflow-spring-boot-starter 常用API 部署流程 processId engine.process().de…...

11.10 知识总结(数据的增删改查、如何创建表关系、Django框架的请求生命周期流程图)

一、 数据的增删改查 1.1 用户列表的展示 把数据表中得用户数据都给查询出来展示在页面上 添加数据 id username password gender age action 修改 删除 1.2 修…...

AI脑控机器人应用前景如何?

脑控机器人应用前景可谓广阔无边。其轻松的风格不仅使我们能够享受更便捷、更舒适的生活&#xff0c;还为我们带来了无限的可能性。 首先&#xff0c;脑控机器人应用可以在医疗领域发挥重要作用。通过与人类大脑的直接连接&#xff0c;脑控机器人可以为残疾人士提供更高效的康…...

Apache和Nginx实现虚拟主机的3种方式

目录 首先介绍一下Apache和nginx&#xff1a; Nginx和Apache的不同之处&#xff1a; 虚拟主机 准备工作 Apache实现&#xff1a; 方法1&#xff1a;使用不同的ip来实现 方法2&#xff1a;使用相同的ip&#xff0c;不同的端口来实现 方法3&#xff1a;使用相同的ip&…...

【DP】背包问题全解

一.简介 DP&#xff08;动态规划&#xff09;背包问题是一个经典的组合优化问题&#xff0c;通常用来解决资源分配的问题&#xff0c;如货物装载、投资组合优化等。问题的核心思想是在有限的资源约束下&#xff0c;选择一组物品以最大化某种价值指标&#xff0c;通常是总价值或…...

04 jenkins中使用各种变量(Powershell、cmd)

批处理中使用jenkins内部和变量插件定义的环境变量&#xff1a;%WORKSPACE%Powershell插件中使用jenkins内部环境变量&#xff1a;${ENV:WORKSPRACE}Powershell函数内部使用函数入参&#xff1a;$($dllname)Powershell中定义变量&#xff1a;$DllNamePowershell中使用powershel…...

2023年云计算的发展趋势

随着互联网和信息技术的快速发展&#xff0c;云计算已经成为了企业和个人的重要工具&#xff0c;而在未来&#xff0c;云计算仍然会持续发展&#xff0c;并且发展趋势会更加迅猛。在本文中&#xff0c;我们将讨论2023年云计算的发展趋势。 一、混合云将成为主流 混合云是指将公…...

工作十年+的测试应该具备什么能力?

大概是2014年的时候&#xff0c;我开始接触面试工作&#xff0c;就是从应聘者转为面试官&#xff0c;记得印象深刻的是面试了一位做了8年的测试。对方气场很足&#xff0c;嗯&#xff0c;毕竟那时的我还只是一个3、4年经验的小测试&#xff0c;相反&#xff0c;印象深刻的并不是…...

区块链链游合约系统开发项目模式技术方案

​随着区块链技术的发展&#xff0c;链游合约系统开发逐渐成为了一个备受关注的项目。本文将探讨区块链链游合约系统开发项目的技术方案&#xff0c;包括项目背景、开发目标、技术架构、系统流程、安全措施等方面的内容。 一、项目背景 链游是一种基于区块链技术的游戏&#xf…...

业务出海之服务器探秘

这几年随着国内互联网市场的逐渐饱和&#xff0c;越来越多的公司加入到出海的行列&#xff0c;很多领域都取得了很不错的成就。虽然出海可以获得更加广阔的市场&#xff0c;但也需要面对很多之前在国内可能没有重视的一些问题。集中在海外服务器的选择维度上就有很大的变化。例…...

【kafka】Golang实现分布式Masscan任务调度系统

要求&#xff1a; 输出两个程序&#xff0c;一个命令行程序&#xff08;命令行参数用flag&#xff09;和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽&#xff0c;然后将消息推送到kafka里面。 服务端程序&#xff1a; 从kafka消费者接收…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...

人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent

安全大模型训练计划&#xff1a;基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标&#xff1a;为安全大模型创建高质量、去偏、符合伦理的训练数据集&#xff0c;涵盖安全相关任务&#xff08;如有害内容检测、隐私保护、道德推理等&#xff09;。 1.1 数据收集 描…...