首页
关于
留言
壁纸
更多
直播
统计
友链
Search
1
好用的软件分享
354 阅读
2
最新Navicat 15 for MySQL破解+教程 正确破解步骤
261 阅读
3
面试常见问题100问
218 阅读
4
一个人要走的时候,千万别问原因
182 阅读
5
直击心灵的唯美句子
144 阅读
日常记录
后端
PHP
NodeJs
Python
Java
前端
JavaScript
数据库
MySQL
服务器
美文
微信开发
微信公众号
微信小程序
编程
登录
Search
标签搜索
mysql
python
django
express
面试
axios
thinkphp
PHP
励志
哲理
九九乘法表
node
cors
跨域
唯美句子
美文
文件上传
ajax
算法
jwt
公子初心
累计撰写
74
篇文章
累计收到
9
条评论
首页
栏目
日常记录
后端
PHP
NodeJs
Python
Java
前端
JavaScript
数据库
MySQL
服务器
美文
微信开发
微信公众号
微信小程序
编程
页面
关于
留言
壁纸
直播
统计
友链
搜索到
74
篇与
的结果
2023-09-28
宝塔面板安装过程
1. 打开宝塔面板官网https://www.bt.cn/new/product.html2. 根据当前操作系统选择对应的命令3. 选择立即免费安装4. 选择Linux面板8.0.25. 选择当前的系统yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec6. 执行命令7. 安装成功保持好面板的登录信息,可以另存到文件中8. 访问内网地址:https://172.16.35.132:10505/027d6919登录成功后需要绑定宝塔官网账号,如果没有的话,去官网注册一个9. 绑定成功后弹出框提示你安装软件10. 等待安装完成11. 安装完成后打开软件商店确保安装程序已经启动12. 打开网站,添加站点因为目前我们没有域名,所以网站先通过IP访问,如果没有购买域名买的阿里云的服务器也是默认提供IP点击提交13. 根据ip访问站点14. 创建数据库15. 上传项目源代码源代码以zip(zip格式windows,linux都能识别)压缩包的形式上传到/www/wwwroot/172.....16. 解压zip格式的文件 使用命令 unzip typecho.zip17.再次访问我们的ip,进入程序安装向导界面 宝塔面板官方文档
2023年09月28日
50 阅读
0 评论
0 点赞
2023-09-13
MySQL实现远程连接
1. 使用 CREATE USER 语句创建一个新用户,并指定其登录密码。CREATE USER 'xiaoming'@'%' IDENTIFIED BY 'admin000';这将创建一个名为 xiaoming 的用户,允许从任何远程主机连接,并设置登录密码为 admin000。查看mysql这个数据库的user表2. 使用 GRANT 语句授予用户适当的权限。例如,如果你希望用户拥有对所有数据库的读写权限,可以执行以下命令:-- 授予部分权限 GRANT SELECT, INSERT ON 数据库.数据表 TO 'xiaoming'@'%'; -- 授予全部权限 GRANT ALL PRIVILEGES ON 数据库.数据表 TO 'xiaoming'@'%'; GRANT ALL PRIVILEGES ON *.* TO 'xiaoming'@'%';这将授予xiaoming用户从任何远程主机连接到 MySQL 并对所有数据库拥有完全的读写权限。3. 完成授权后,使用以下命令刷新权限,使更改生效:FLUSH PRIVILEGES;4. 查看当前防火墙状态5. 关闭防火墙systemctl stop firewalld.service6. cmd 测试远程连接7. Navicat for mysql ,datagrip 正常连接即可8.删除用户DROP USER 'xiaoming'@'%';
2023年09月13日
40 阅读
0 评论
0 点赞
2023-08-15
程序员考试实操题源码
1.1 html部分<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JS Drum Kit</title> <link rel="stylesheet" href="style.css"> </head> <body> <div class="keys"> <div data-key="65" class="key"> <kbd>A</kbd> <span class="sound">clap</span> </div> <div data-key="83" class="key"> <kbd>S</kbd> <span class="sound">hihat</span> </div> <div data-key="68" class="key"> <kbd>D</kbd> <span class="sound">kick</span> </div> <div data-key="70" class="key"> <kbd>F</kbd> <span class="sound">openhat</span> </div> <div data-key="71" class="key"> <kbd>G</kbd> <span class="sound">boom</span> </div> <div data-key="72" class="key"> <kbd>H</kbd> <span class="sound">ride</span> </div> <div data-key="74" class="key"> <kbd>J</kbd> <span class="sound">snare</span> </div> <div data-key="75" class="key"> <kbd>K</kbd> <span class="sound">tom</span> </div> <div data-key="76" class="key"> <kbd>L</kbd> <span class="sound">tink</span> </div> </div> <audio data-key="65" src="sounds/clap.wav"></audio> <audio data-key="83" src="sounds/hihat.wav"></audio> <audio data-key="68" src="sounds/kick.wav"></audio> <audio data-key="70" src="sounds/openhat.wav"></audio> <audio data-key="71" src="sounds/boom.wav"></audio> <audio data-key="72" src="sounds/ride.wav"></audio> <audio data-key="74" src="sounds/snare.wav"></audio> <audio data-key="75" src="sounds/tom.wav"></audio> <audio data-key="76" src="sounds/tink.wav"></audio> </body> </html>1.2 css部分html { font-size: 10px; background-size: cover; /* background-image: url(http://i.imgur.com/b9r5sEL.jpg); */ } body, html { margin: 0; padding: 0; font-family: sans-serif; } .keys { display: flex; flex: 1; min-height: 100vh; align-items: center; justify-content: center; } .key { border: .4rem solid black; border-radius: .5rem; margin: 1rem; font-size: 1.5rem; padding: 1rem .5rem; transition: all .07s ease; width: 10rem; text-align: center; color: white; background: rgba(0, 0, 0, 0.4); text-shadow: 0 0 .5rem black; } .playing { transform: scale(1.1); border-color: #ffc600; box-shadow: 0 0 1rem #ffc600; } kbd { display: block; font-size: 4rem; } .sound { font-size: 1.2rem; text-transform: uppercase; letter-spacing: .1rem; color: #ffc600; } 1.3 js部分 <script> function removeTransition(e) { if (e.propertyName !== 'transform') return; e.target.classList.remove('playing'); } function playSound(e) { const audio = document.querySelector(`audio[data-key="${e.keyCode}"]`); const key = document.querySelector(`div[data-key="${e.keyCode}"]`); if (!audio) return; key.classList.add('playing'); audio.currentTime = 0; audio.play(); } const keys = Array.from(document.querySelectorAll('.key')); keys.forEach(key => key.addEventListener('transitionend', removeTransition)); /** * 监听页面的keydown事件,触发playAudio函数。 */ window.addEventListener('keydown', playSound); </script> 2.点名器<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .box { width: 200px; height: 40px; border: 1px solid red; text-align: center; line-height: 40px; } </style> </head> <body> <div class="box"> 随机点名 </div> <button>开始</button> <script> let names = ["赵艳","林明","郭秀英","马军","王艳","方娟","林勇","廖明","程敏","曾秀英","马平","陆强","张军","崔涛","石秀英","武丽","谭刚","蒋秀英","杨杰","陈秀兰"] let button = document.querySelector("button") let box = document.querySelector(".box") let n = 3 let timer = null let index = 0 button.addEventListener("click",()=>{ timer = setInterval(show,50) setTimeout(stop,3000) }) function show(){ index = Math.floor(Math.random()*names.length) box.innerHTML = names[index] } function stop(){ clearInterval(timer) names.splice(names.indexOf(names[index]),1) console.log(names); } </script> </body> </html>
2023年08月15日
67 阅读
0 评论
0 点赞
2023-07-19
express配合JWT身份验证
1. 什么是JWTJWT(英文全称:JSON Web Token)是目前最流行的跨域认证解决方案2. JWT的工作原理总结:用户的信息通过Token字符串的形式,保存在客户端浏览器中。服务器通过还原Token字符串的形式来认证用户的身份3. JWT的组成部分JWT 通常由三部分组成,分别是 Header(头部)、Payload(有效荷载)、Signature(签名)。三者之间使用英文的“.”分隔,格式如下:下面是 JWT 字符串的示例:4. JWT的三个部分各自代表的含义JWT 的三个组成部分,从前到后分别是 Header、Payload、Signature。其中:Payload 部分才是真正的用户信息,它是用户信息经过加密之后生成的字符串。Header 和 Signature 是安全性相关的部分,只是为了保证 Token 的安全性。5. JWT 的使用方式客户端收到服务器返回的 JWT 之后,通常会将它储存在 localStorage 或 sessionStorage 中。此后,客户端每次与服务器通信,都要带上这个 JWT 的字符串,从而进行身份认证。推荐的做法是把 JWT 放在 HTTP 请求头的 Authorization 字段中,格式如下:5.1 安装JWT相关的包jsonwebtoken 用于生成 JWT 字符串express-jwt 用于将 JWT 字符串解析还原成 JSON 对象5.2 创建jwt小项目 初始化基本的路由请求app.js// 主程序 const express = require("express") // 导入express // 解决跨域问题 const cors = require("cors") const app = express() // 实例化app对象 app.use(express.urlencoded({extended:false}))// 接收post表单数据 app.use(cors()) // 解决跨域问题 app.get('/',(req,res)=>{ res.send("ok") }) app.listen(80,()=>{ console.log("express service is running at http://127.0.0.1") })5.3 创建登录路由,请求方式为post,如果登录失败则返回router.post("/login",(req,res)=>{ // 将req.body 请求体中的数据转存为userinfo常量 const userinfo = req.body if(userinfo.username != 'admin' || userinfo.password != '000000'){ return res.send({ status:400, message:'登录失败' }) } })5.4 导入JWT相关的包使用 require() 函数,分别导入 JWT 相关的两个包:const jwt = require("jsonwebtoken") const expressJWT = require("express-jwt")5.5 定义secret密钥为了保证 JWT 字符串的安全性,防止 JWT 字符串在网络传输过程中被别人破解,我们需要专门定义一个用于加密和解密的 secret 密钥:当生成 JWT 字符串的时候,需要使用 secret 密钥对用户的信息进行加密,最终得到加密好的 JWT 字符串当把 JWT 字符串解析还原成 JSON 对象的时候,需要使用 secret 密钥进行解密// 定义secret密钥 本质就是一个字符串用于加密和解密 const secretKey = "itnan.cc"5.6 登录成功后的代码router.post("/login",(req,res)=>{ // 将req.body 请求体中的数据转存为userinfo常量 const userinfo = req.body if(userinfo.username != 'admin' || userinfo.password != '000000'){ return res.send({ status:400, message:'登录失败' }) } // 如果登录成功 调用jwt.sign()方法生成jwt字符串,通过token发送给客户端 // 参数1:用户的信息对象,你想存储的用户信息 // 参数2:加密的密钥 // 参数3:配置对象,可以配置当前token的有效期 const tokenStr = jwt.sign({username:userinfo.username},secretKey,{expiresIn:'60s'}) res.send({ status:200, message:"登录成功", token:tokenStr }) })5.7 发送请求测试token是否可以生成如果登录失败(用户名或者密码不正确)5.8 将 JWT 字符串还原为 JSON 对象客户端每次在访问那些有权限接口的时候,都需要主动通过请求头中的 Authorization 字段,将 Token 字符串发送到服务器进行身份认证。此时,服务器可以通过 express-jwt 这个中间件,自动将客户端发送过来的 Token 解析还原成 JSON 对象:// 使用app.use()注册中间件 // express.JWT({secret:secretKey}) //用来解析Token的中间件 // .unless({path:[/^\/api\//]}) 用来指定哪些接口不需要访问权限 app.use(expressJWT({"secret":secretKey})).unless({path:[/^\/api\//]}) )换种写法完美解决问题app.use(expressJWT.expressjwt({secret:secretKey,algorithms:["HS256"]}).unless({path:[/^\/api\//]}))5.9 定义登录成功后获取用户信息的路由// 获取用户信息 需要用户登录成功后才可以 app.post("/getinfo",(req,res)=>{ // 使用req.auth 获取用户信息,使用data属性将用户信息发送给客户端 res.send({ status:200, message:"获取用户信息成功", data:req.auth }) })5.10 postman测试登录成功后获取用户信息需要在header头信息中加上Authorization 值是 Bearer token信息5.11 捕获解析JWT失败后产生的错误(过期了)当使用 express-jwt 解析 Token 字符串时,如果客户端发送过来的 Token 字符串过期或不合法,会产生一个解析失败的错误,影响项目的正常运行。我们可以通过 Express 的错误中间件,捕获这个错误并进行相关的处理,示例代码如下:定义一个中间件 用于处理token过期的情况 这个中间件需要定义在所有路由之后其实捕获的就是UnauthorizedError这个错误类型// 捕获解析JWT失败后产生的错误 app.use((err,req,res,next)=>{ // token解析失败导致的错误 if(err.name === 'UnauthorizedError' ){ return res.send({status:401,message:'无效token'}) } // 其他原因导致错误 return res.send({status:500,message:'未知错误'}) })附源码: 源码下载
2023年07月19日
38 阅读
0 评论
0 点赞
2023-07-18
express操作mysql数据库实现增删改查
1. 引入mysql模块并连接数据库// 引入mysql模块 const mysql = require("mysql") // 连接数据库 const db = mysql.createPool({ host:'127.0.0.1', user:'root', password:'root', database:'test' })2.测试连接// 测试连接 db.query("select 1",(err,result)=>{ if(err) return console.log(err.message) console.log(result); })3.查询所有数据// 查询所有数据 let sql = "select * from stu " db.query(sql,(err,result)=>{ if(err) return console.log(err.message) console.log(result); })4. 根据条件查询数据// 根据条件查询数据 let sql = "select * from stu where id = ? " let params = {id:1} db.query(sql,[params.id],(err,result)=>{ if(err) return console.log(err.message) console.log(result); })5. 添加数据 (添加指定字段)根据受影响的行数来判断是否添加成功// 添加数据 let sql = "insert into stu (username,age) values(?,?) " let params = {username:"老李",age:21} db.query(sql,[params.username,params.age],(err,result)=>{ if(err) return console.log(err.message) if (result.affectedRows === 1) console.log("添加成功"); })6. 添加的便捷方式(如果添加的是所有字段)let sql = "insert into stu set ? " let params = {id:null,username:"老白",age:22} db.query(sql,params,(err,result)=>{ if(err) return console.log(err.message) if (result.affectedRows === 1) console.log("添加成功"); })7. 修改let sql = "update stu set username = '大明' where id = ? " let params = {id:1} db.query(sql,[params.id],(err,result)=>{ if(err) return console.log(err.message) if (result.affectedRows === 1) console.log("修改成功"); })8.修改的便捷方式 多个条件可以放到一个对象中let sql = "update stu set ? where id = ? " let params = {username:'小王'} db.query(sql,[params,2],(err,result)=>{ if(err) return console.log(err.message) if (result.affectedRows === 1) console.log("修改成功"); })9. 删除let sql = "delete from stu where id = ? " let params = {id:1} db.query(sql,[params.id],(err,result)=>{ if(err) return console.log(err.message) if (result.affectedRows === 1) console.log("删除成功"); })
2023年07月18日
23 阅读
0 评论
0 点赞
2023-07-18
JS,PHP,PYTHON,JAVA实现常见算法题
1. 超市为了促销,按购买货物的款数多少分别给予不同的优惠折扣,具体折扣情况如下: 购物不足100元的,没有折扣; 购物满100元(含100元,下同),不足500元的,减价5%; 购物满500元,不足1000元的,减价8%; 购物满1000元,不足3000元的,减价10%; 购物满3000元的,减价15%。 请设计一个程序根据根据输入的购物款计算出应付款。javascript let money =2900 if(money >=3000){ money*=0.85 }else if(money >=1000){ money*=0.9 }else if(money >=500){ money*=0.92 }else if (money >=100){ money *=0.95 } console.log("您需要支付",money,"元");php$money =90; if($money >=3000){ $money*=0.85; }else if($money >=1000){ $money*=0.9; }else if($money >=500){ $money*=0.92; }else if ($money >=100){ $money *=0.95; } echo "您需要支付",$money,"元";pythonmoney = float(input("请输入一个金额:")) if money>=3000: money*=0.85 elif money>=1000: money*=0.9 elif money>=500: money*=0.92 elif money>=100: money*=0.95 print(money)javaimport java.util.Scanner; public class Hello{ public static void main(String[] args){ // System.out.println("hello "); Scanner sc = new Scanner(System.in); // javac -encoding UTF-8 Hello.java System.out.println("请输入金额:"); int money = sc.nextInt(); // 接收用户输入 if(money >= 3000){ money*=0.85; }else if(money>=1000){ money*=0.9; }else if (money >=500){ money*=0.92; }else if(money >= 100){ money*=0.95; } System.out.println(money); } }2.某100人的公司举行年会,入场时为每名员随机分配1-100的号码。现需要设计一个抽奖程序,随机产生10个整数,整数的范围为1-100,作为幸运号码发放奖品,并从生成的整数中获取最大值,发放年终大礼包。JavaScript// 循环用于产生10个不重复随机数 let nums = [] // 用于存放随机生成的数字 let i = 0 while(true){ i++ // 判断数组中是否已经有了10个元素 if(nums.length == 30){ break // 退出 } // 产生随机数 // Math.floor(Math.random()*100) +1 let num = Math.ceil(Math.random()*100) // 将随机数写入到 数组中 , 返回值是-1 说明没有 才写 if(nums.indexOf(num) == -1){ nums.push(num) } } nums.sort() // 升序 排序 console.log(nums); console.log(nums[nums.length-1]);php $nums = []; $i = 0; while (true){ $i++; // 判断数组长度是否=10 if(count($nums) == 10){ break; } // 1. 生成随机数 范围1-100之间,不能重复 $num = mt_rand(1,100); // 大于等于1 小于等于100的随机数 //$nums.push($num); js的写法 if(!in_array($num,$nums)){ array_push($nums,$num); } } sort($nums); // 排序 echo $i; print_r($nums);pythonimport random # 10个不重复的随机数 # 定义一个空列表 nums = [] i = 0 while True: i+=1 if len(nums) == 50: break # 生成一个随机数 范围是1-100之间 rand = random.randint(1,100) # 把随机数添加到列表中 # 判断一下,如果列表中没有 才追加 if nums.count(rand) == 0: nums.append(rand) nums.sort() print(nums) print(i) ------------------------------------------ import random # 10个不重复的随机数 # 定义一个空列表 nums = [] i = 0 while len(nums) < 10: i+=1 # 生成一个随机数 范围是1-100之间 rand = random.randint(1,100) # 把随机数添加到列表中 # 判断一下,如果列表中没有 才追加 if nums.count(rand) == 0: nums.append(rand) nums.sort() print(nums) print(i) ------------------------------------------- nums = set() while len(nums) < 10: rand = random.randint(1,100) nums.add(rand) nums = list(nums) nums.sort() print(nums) print(num[nums.length-1])javapackage study; import java.util.HashSet; import java.util.Random; import java.util.Set; public class HelloWorld8 { public static void main(String[] args) { // 创建一个空集合 Set set1 = new HashSet(); // 创建随机数对象 Random rand = new Random(); while(set1.size()<10){ // 生成随机数 int randnum = rand.nextInt(100)+1; // 随机数追加到集合中 set1.add(randnum); } Object[] list1 = set1.toArray(); // 集合转数组 Arrays.sort(list1); // 排序 System.out.println(list1[list1.length-1]); // 集合 } } 3.输入某年某月某日,判断这一天是这一年的第几天 (要求用java语言开发控制台程序,要求:要考虑用户体验,如:程序启动时要有欢迎语,用户输入时要有提示,输入错误时要有错误提示等)JavaScript let year = Number(prompt("请输入年")) let month = Number(prompt("请输入月")) let day = Number(prompt("请输入日")) // let year = 1800 // let month = 5 // let day = 11 // 用于保存天数 daynum = 0 console.log("今天是",year,"年",month,"月",day,"日"); // 根据当前的年月日,判断在这个月之前所有月份的天数之和 + 当前的日期 switch(month){ case 12: // 当前是12月 + 11月 // daynum = daynum + 30 daynum +=30 // 11月的天数 console.log("我被穿透了 12"); case 11: console.log("我被穿透了 11"); daynum +=31 // 10月的天数 case 10: console.log("我被穿透了 10"); daynum +=30 // 9月的天数 case 9: console.log("我被穿透了 9"); daynum +=31 // 8月的天数 case 8: console.log("我被穿透了 8"); daynum +=31 // 7月的天数 case 7: console.log("我被穿透了 7"); daynum +=30 // 6月的天数 case 6: console.log("我被穿透了 6"); daynum +=31 // 5月的天数 case 5: console.log("我被穿透了 5"); daynum +=30 // 4月的天数 case 4: console.log("我被穿透了 4"); daynum +=31 // 3月的天数 case 3: console.log("我被穿透了 3"); // daynum +=31 // 2月的天数 28天 29天 // 1.能被4整除 却不能被100整除 闰年 // 2.能被400整除的 闰年 // 四年一闰,百年不闰,四百年在闰 if(year % 4 == 0 && year % 100 !=0){ daynum +=29 // console.log(year,"是闰年 1"); }else if (year % 400 ==0){ // console.log(year,"是闰年 2"); daynum +=29 }else{ // console.log(year,"是平年"); daynum +=28 } case 2: console.log("我被穿透了 2"); daynum +=31 // 1月的天数 case 1: console.log("我被穿透了 1"); daynum +=day // 当前月实际日期的天数 } document.write("当前的第",daynum,"天");php$year = 2023; $month = 12; $day = 13; $daynums = 0; while ($month>=1){ switch ($month){ case 12:case 10:case 7:case 5: $daynums +=30; // 上一个月的总天数 break; case 11:case 9:case 8:case 6:case 4:case 2: $daynums +=31; // 上一个月的总天数 break; case 3: // 判断平年闰年 if(($year % 4 == 0 && $year % 100 != 0) || ($year %400==0)){ $daynums += 29; }else{ $daynums += 28; } break; case 1: $daynums += $day; } $month--; // 11月 } echo $daynums;python# 百钱买百鸡 钱100 鸡100 公鸡5元 母鸡3元 小鸡 1元3只 求:鸡各几只 # 函数:根据年份返回当年2月份的总天数 def getTotalDaysByYear(year): return 29 if year % 4 == 0 and year % 100 !=0 or year % 400 ==0 else 28 # 判断一年中的第几天 year = int(input("请输入年:")) month = int(input("请输入月:")) day = int(input("请输入日:")) # 统计所有的天数 days = day month = month - 1 # 当前的月份-1 就是循环的次数 while month >=1: # 如果是1月 if month == 1 or month == 3 or month == 5 or month == 7 or month == 8 or month == 10: # 总天数31 days += 31 # 如果是2月 elif month == 2: # 2月的总天数 平年2月28 闰年2月29 # 合计 days += getTotalDaysByYear(year) pass elif month == 4 or month == 6 or month == 9 or month == 11: days += 30 month-=1 print(days)javapackage study; import java.util.Scanner; public class HelloWorld11 { // 根据当前年月日判断是一年第几天 public static void main(String[] args) { // 接收用户的键盘输入 Scanner sc = new Scanner(System.in); System.out.println("请输入年:"); short year = sc.nextShort(); System.out.println("请输入月:"); byte month = sc.nextByte(); System.out.println("请输入日:"); byte day = sc.nextByte(); short daynums = 0; while(month>=1){ switch(month){ case 12:case 10:case 7:case 5: daynums += 30; break; case 11:case 9:case 8:case 6:case 4: case 2: daynums += 31; break; case 3: if(year % 4 ==0 && year %100!=0 || year %400==0){ daynums += 29; }else{ daynums += 28; } break; case 1: daynums += day; break; } month--; } System.out.println(daynums); } } 4.打印所有的水仙花数 水仙花数:是指一个三位数,其各位数字立方和等于该数字本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。(要求用java语言开发控制台程序)JavaScript// 水仙花树 153 = 1(3) + 5 (3) + 3(3) // 百位三次方 + 十位三次方 + 个位三次方 = 这个数本身 // 需求:输出所有的三位数 let num = 100 while(num <1000){ // console.log(num); // 1.取百位 // console.log(Math.floor(num / 100)); let bai = Math.floor(num / 100) // 2.取十位 // console.log(Math.floor(num % 100/10) ); let shi = Math.floor(num % 100/10) // 3.取个位 // console.log(num % 10) let ge = num % 10 if(bai*bai*bai + shi*shi*shi + ge*ge*ge == num){ console.log(num,"是水仙花数"); } num++ }php$i = 100; echo "<br>"; while ($i<1000){ // echo $i,"<br>"; // 1.求百位 // echo floor($i/100),"<br>"; $bai = floor($i/100); // 2.求十位 // echo floor(($i % 100)/10) ,"<br>"; $shi = floor(($i % 100)/10); // 3.求个位 // echo $i % 10,"<br>"; $ge = $i % 10; if(pow($bai,3)+pow($shi,3)+pow($ge,3) == $i){ echo $i,"是水仙花数<br>"; } $i++; }pythonfor num in range(100, 1000): # 将数字拆分成各个位上的数字 bai= num // 100 # 百位 shi= (num // 10) % 10 # 十位 ge= num % 10 # 个位 # 计算立方和 判断是否是水仙花数 if bai**3 + shi**3 + ge**3 === num # 输出水仙花数 print(num) javapackage study; import java.util.Scanner; public class HelloWorld11 { // 根据当前年月日判断是一年第几天 public static void main(String[] args) { // System.out.print("a"); // System.out.print("b"); // 153 int i = 100; while(i<1000){ //百位 int bai = i/100; //十位 int shi = i%100/10; //个位 int ge = i%10; if(bai*bai*bai + shi*shi*shi + ge*ge*ge == i){ System.out.println(i); } i++; } } }
2023年07月18日
123 阅读
0 评论
1 点赞
2023-07-18
送给hr以及求职者的一段话
希望各位hr在发出招聘通知之前能够结合郑州地区的同行业薪资标准作为参考,不要既想让马儿跑,又不想让马儿吃草。毕竟对于IT从业人员来说,大家都有自己的圈子,都很清楚目前现在社会的IT从业薪资。所以,切不可把大家当成了傻子,毕竟重赏之下,必有勇夫。想要招到真正的人才,没有高福利高待遇是肯定不行的。所以,不要期望花少量的钱就可以招到满意的人才。也许你能招的到,但是也留不住人,在这个供不应求的社会,人才是很容易被挖走的。比如有的hr上来讲说,招3年经验的,薪资6k。每次看到这样的招聘,我都想笑。呵呵,3年经验北京能拿多少你知道不?你肯定会说了,北京消费多高啊,郑州消费多低啊!错,即使北京郑州之间有差距,我们也都知道郑州工资没法跟北京比,可是,差距也不能过大。一个不去了解市场行情就冒然招聘的hr不是好hr。也许你感觉郑州6k不低了,可你想过没有,IT行业虽然外表看来多么光鲜,实际多么苦逼,个中滋味,也许只有真正的从业者才能体会。遇到需求,在开发过程中,各种绞尽脑汁,各种耗费脑细胞。多少个夜晚,在你们安然入睡的时候,总有那么一群程序员依然坚守在电脑面前,努力敲打键盘!有的hr一来招聘就说了,招聘大牛,薪资3k-10k。对于这么大的跨度,他也总有自己的合理解释,我们公司注重人才,会根据个人情况,能力越大,工资越高。我想说的是,您说的很有道理,我也很想相信你,可是,你没有感觉这样解释很牵强吗?总听hr说,我们试用期1-3个月,但是,据我所知,我身边的朋友但凡听到1-3个月的,貌似都是3个月。虽然合同之前hr也在说,根据能力,能力高的1个月就可以转正了,在这里我就只能呵呵了!希望各位真心求取人才的hr能够多站在求职者身上考虑,不要一味的替领导省钱,就算你替领导省下来钱,招到人了,我相信也不会把省下的钱发给你吧,呵呵!企业的发展,没有人是不行的。没有人,企业无法正常的运转,何谈发展?毕竟,有朋友这样给我说过,当老板口口声声说这个需求简单,那个需求容易的时候,还不尊重程序员的人。根本就无法与之交好。毕竟在简单的活都得有人干吧?作为hr不要总觉得自己能用最少的薪资招到顶尖的人才是自己能力的体现,其实我觉得不然,你能为公司招到稳定的人才才应该是你能力的体现啊!招到了人,留不住人,到头来还得再次招人,永远是竹篮打水一场空啊!企业与求职者双方在博弈的过程中,往往是以一方妥协而告终的!企业妥协了,拿高工资招到了人,求职者妥协了,拿低工资进入了公司,若双方都不愿意妥协的话,往往双方的合作就以失败而告终!有魄力的大公司,更加看重的是个人的能力,以及此人能为公司创造的价值。目光短浅的小公司,只盯着眼前的利益,总想用最低的薪资招到合适的人才,这又怎么可能?求职者又不傻,自己几斤几两自己很清楚,往往要工资的时候是大于自己实际能力的,比如我值10k有可能我就要到11k,也不会说哪个求职者自己值10k往9k上要的,所以,往往是以企业的妥协而告终,如果企业不妥协,那么双方就不用玩了。细说了hr的种种事情,但不是针对所有hr,只是希望能够跟hr提个醒,毕竟如果您能听取我的建议了,对于招聘工作不是更好开展了么?如果相比其他的hr更具竞争优势,那对于您个人来说,也不失为一件好事了,真心希望hr能理解我的用心。如果有说的不到位的地方,还请多多包涵,多多见谅,毕竟我的观点代表不了任何人,只能代表我自己而已!说完了hr,在来说说各位从事IT的从业人员。我一直在说,我们这个行业不是像销售,业务那样靠嘴吃饭的,我们是实实在在靠技术吃饭的,技术越高,工资就越高,谈薪的时候就更有底气,更有筹码,说的难听一点,我有这个能力拿到这个工资,毕竟我是对的起我的工资的,我是值这个价的!随着IT行业的不断发展,各种前沿技术不断推陈出新。这就要求我们IT从业者能够不断学习,不断提高完善自己,毕竟活到老,学到老嘛!既然选择了从事这个行业,就要耐得住常人耐不住的寂寞,如果一个在电脑面前坐不住的人,是不适合从事这个行业的。一个不从兴趣出发,而只是看重了这个行业的高薪的人也是不适合长期在这个行业发展的。毕竟,从事IT行业,是要靠兴趣出发,兴趣来驱动的。只有能钻进去,对IT保持长久热情的人,才能走的更远!在这里提醒各位刚刚入行的新手程序员,能够保持空杯心态,谦虚做人,不要学了一点点技术及开始沾沾自喜,也不要因为自己是新手很多都不会将开始气馁,萎靡不振。所有老手都是从新手过来的,只要保持谦虚,不断学习。加上技术的不断积累,不断进步,相信水平也是很快就可以提高的,从菜鸟到老鸟指日可待!切不可,一入行,一毕业,就在郑州嚷嚷着要8k,要10k的。也不掂量自己的斤两,我始终认为付出是要跟收获成正比的,你只有那一点点的技术,就要脚踏实地慢慢进步的。切不可,一上来就要求高薪的,站在企业立场考虑,你还没为我创造什么价值呢,我凭什么给你高薪?相信,等你技术提高的时候,能力达到的时候,工资根本就不是什么问题的!作为求职者,企业为我们提供平台让我们成就自己,我们应该心怀感恩。同样,员工为企业创造价值,推动企业的发展,老板也应该善待员工!毕竟,一个不尊重程序员的老板,多高的工资我都不会去的!
2023年07月18日
52 阅读
0 评论
0 点赞
2023-07-17
express路由
1.简单路由示例const express = require('express') const app = express() app.get('/',(req,res)=>{ res.send("hello") }) app.listen(80,()=>{ console.log("http://127.0.0.1") })2.路由模块示例主程序const express = require('express') const router = require('./route') const app = express() app.use(router) app.listen(80,()=>{ console.log("http://127.0.0.1") })路由模块route.jsconst express = require("express") const router = express.Router() router.get('/',(req,res)=>{ res.send("hello router") }) module.exports = router
2023年07月17日
16 阅读
0 评论
0 点赞
2023-06-27
PHP九九乘法表,分支,循环小案例
九九乘法表echo "<table border='1'>"; for($i=1;$i<=9;$i++){ echo "<tr>"; for($j=1;$j<=$i;$j++){ echo "<td>".$j."*".$i."=".($i*$j)."</td>"; } echo "</tr>"; } echo "</table>"; ?> <table border="1"> <?php for($a=1;$a<=9;$a++){?> <tr> <?php for($b=1;$b<=$a;$b++){?> <td><?php echo $b."*".$a."=".($a*$b)?></td> <?php }?> </tr> <?php }?> </table>2.九九乘法表的四种变形echo "<table width='600' border='1'>"; for ($j = 1; $j <= 9; $j++) { echo "<tr>"; for ($i = 1; $i <= $j; $i++) { echo "<td>{$i}*{$j}=" . ($i * $j) . "</td>"; } echo "</tr>"; } echo "</table>"; echo "<table width='600' border='1'>"; for ($j = 9; $j >= 1; $j--) { echo "<tr>"; for ($i = 1; $i <= $j; $i++) { echo "<td>{$i}*{$j}=" . ($i * $j) . "</td>"; } echo "</tr>"; } echo "</table>";echo "<table width='600' border='1'>"; for ($j = 9; $j >= 1; $j--) { echo "<tr>"; for ($z = 0; $z < 9 - $j; $z++) { echo "<td> </td>"; } for ($i = 1; $i <= $j; $i++) { echo "<td>{$i}*{$j}=" . ($i * $j) . "</td>"; } echo "</tr>"; } echo "</table>";echo "<table width='600' border='1'>"; for ($j = 1; $j <= 9; $j++) { echo "<tr>"; for ($z = 0; $z < 9 - $j; $z++) { echo "<td> </td>"; } for ($i = $j; $i >= 1; $i--) { echo "<td>{$i}*{$j}=" . ($i * $j) . "</td>"; } echo "</tr>"; } echo "</table>";3.打印100以内的斐波那契数(迭代法)斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、$num1=1; //第一个数 $num2=1; //第二个数 echo $num1,' ',$num2,' '; while(true){ $num3=$num1+$num2; //第三个数是前面两个数的和 if($num3>100) //超过100就终止循环 break; echo $num3,' '; $num1=$num2; //将$num2移给$num1 $num2=$num3; //将$num3移给$num2 }4.打印水仙花数for($i=100;$i<=999;$i++){ $a=(int)($i/100); //百位数 $b=(int)(($i%100)/10); //十位数 $c=$i%10; //个位数 if($i==pow($a,3)+pow($b,3)+pow($c,3)) echo $i,'<br>'; }5.循环输出1-100,其中3的倍数输出A,5的倍数输出B,15输出Cfor($i=1; $i<=100; $i++) { if($i%15==0) //先写%15,,因为可以%15的值一定可以%3和%5 echo 'C'; elseif($i%3==0) echo 'A'; elseif($i%5==0) echo 'B'; else echo $i; echo ' '; }判断一个数是不是质数$n = 15; $i = 2; $bool = true; while ($i<$n){ if($n % $i == 0){ $bool = false; break; } $i++; } if($bool){ echo '质数'; }else{ echo '不是质数'; }7.输出100以内的所有质数for($i=2;$i<=100;$i++){ $flag = true; for($j=2;$j<$i;$j++){ if($i%$j == 0){ $flag = flase; break; } } if($flag){ echo "{$i}是质数" }else{ echo "{$i}不是质数" } }8.假设某个人有100000现金,每经过一个路口需要交过路费。规则是当他现金大于50000时每次需要交5%,如果现金少于等于50000时每次交5000请写出程序计算此人可以经过多少次这个路口$money = 100000; $m = 0; $x = 0; $y = 0; while ($money >=5000) { $m += 1; if ($money > 50000) { $money = $money * 0.95; $x += 1; echo "{$m}第{$x}次经过路口,我还剩{$money}元"; } else if ($money <= 50000) { $money = $money - 5000; $y += 1; echo "{$m}第{$y}次经过路口,我还剩{$money}元"; } } 9.金字塔for($i=1;$i<=10;$i++){ for($k=1;$k<=10-$i;$k++){ echo ' '; } for($j=1;$j<=$i*2-1;$j++){ echo '金'; } echo '<br>'; } //倒金字塔 for($i=5;$i>0;$i--){ for($z=1;$z<=5-$i;$z++){ echo " "; } for($j=1;$j<=$i*2-1;$j++){ echo "金"; } echo "<br>"; }10.百僧吃百馍for($i=1;$i<=33;$i++){ if($i*3 + (100-$i)/3 == 100 ){ echo '大和尚有'.$i."个"; echo '小和尚有'.(100-$i)."个"; break; } }11.百钱买百鸡for($i=1;$i<20;$i++){ for($j=1;$j<33;$j++){ if($i*5+$j*3+(100-$i-$j)/3 == 100){ print_r($i,$j,(100-$i-$j)); } } } 12.鸡兔同笼$i = 1; while ($i<35) { if(2 * $i + (35 - $i) * 4 == 94) { echo "鸡{$i},兔{35-$i}"; $i++; } }
2023年06月27日
46 阅读
0 评论
0 点赞
2023-06-25
python豆瓣,清华镜像源地址
由于pip是连接的国外的网站进行包的下载,所以有的时候会速度很慢。我们可以通过如下命令,让其连接国内的网站进行包的安装:pip install pygame -i https://pypi.douban.com/simple/pip install pygame -i https://pypi.tuna.tsinghua.edu.cn/simple
2023年06月25日
61 阅读
0 评论
0 点赞
1
...
5
6
7
8