首页
关于
留言
壁纸
更多
直播
统计
友链
Search
1
好用的软件分享
453 阅读
2
最新Navicat 15 for MySQL破解+教程 正确破解步骤
278 阅读
3
面试常见问题100问
247 阅读
4
一个人要走的时候,千万别问原因
194 阅读
5
直击心灵的唯美句子
163 阅读
日常记录
后端
PHP
NodeJs
Python
Java
前端
JavaScript
数据库
MySQL
服务器
美文
微信开发
微信公众号
微信小程序
编程
登录
Search
标签搜索
mysql
面试
python
django
express
axios
thinkphp
PHP
励志
哲理
九九乘法表
node
cors
跨域
唯美句子
美文
文件上传
ajax
算法
jwt
公子初心
累计撰写
79
篇文章
累计收到
12
条评论
首页
栏目
日常记录
后端
PHP
NodeJs
Python
Java
前端
JavaScript
数据库
MySQL
服务器
美文
微信开发
微信公众号
微信小程序
编程
页面
关于
留言
壁纸
直播
统计
友链
搜索到
79
篇与
的结果
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日
63 阅读
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日
21 阅读
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日
51 阅读
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日
83 阅读
0 评论
0 点赞
2023-06-19
Python设计之禅~Python的设计哲学
一、Python之禅翻译Python之禅,即Python Zen,是由Python社区创造的一种简洁哲学理念,它强调了面向对象、简洁、明确、可读性和美学等方面的设计思想。Python之禅的翻译在不同的版本中略有不同,下面是最流行的一种翻译版本:优美胜于丑陋明了胜于晦涩简洁胜过复杂复杂胜过凌乱扁平胜过嵌套间隔胜过紧凑可读性很重要特殊情况并不特殊到足以违反常规尽管实用性胜过纯粹性,但特例也并不可豁免除非明确沉默面对模棱两可,拒绝猜测的诱惑应该拥有一个,最好只有一个,显而易见的解决方案虽然这个方案一开始可能并不是那么显而易见,除非你是莫名其妙现在总比永远不好虽然永远不比现在好这些原则有效地促进了Python代码的创作和开源精神,使得Python代码不仅易于编写和阅读,而且具有模块化、可重用性和易于维护的优点。二、Python之禅命令在Python中,我们可以直接运行Python之禅,只需要在终端输入import this,即可得到Python之禅的内容输出:import this优美胜于丑陋明了胜于晦涩简洁胜过复杂复杂胜过凌乱扁平胜过嵌套间隔胜过紧凑可读性很重要……三、Python之禅怎么打如果你想手动输入Python之禅的所有内容,你可以按照下面的代码示例来打印Python之禅:import this四、Python之禅什么意思Python之禅是一种关于Python编程哲学的概括,它描述了Python代码应该具备的特点,比如简洁、明了、可读性等方面。Python之禅不仅有助于程序员编写易于阅读和维护的Python代码,还鼓励程序员尊重编程的美学,并倡导开源精神和文化。
2023年06月19日
42 阅读
0 评论
0 点赞
2023-03-17
给毕业学生的一点个人中肯的十条面试建议
1.首先大家要明确的是,在面试的过程中遇到不会的问题纯属正常现象.既然是面试题,肯定也是公司精挑细选出来的题目,每道题都会针对性的考察一些你对Php/前端/python的理解和掌握,从基础语法知识,到逻辑,算法,框架,数据库,优化,服务器等等.所以,在面试的过程中,遇到任何一个问题,无论是笔试,还是面试,都应该深思熟虑,认真思考,认真对待,认真作答.要尽可能详细的阐述你的答案,要有理有据,可以适当举例来解释清楚答案,并且让面试官知道你知道.2.心态一定要摆正,遇到会的问题可以认真回答,遇到不会的问题,认真回忆下,之前是否讲过,或者说之前老师是否提到过...如果有印象,或者印象不深刻,可以适当说点自己的理解和了解的知识,不妨告诉对方,这些东西原理都知道,只是在开发的过程中是由别人来完成的,毕竟开发都是分模块开发的,所以,这个东西是别人负责的,你没做,也属于正常现象.3.对于实在不会的,也不要东拼西凑,建议老实作答,不会就是不会,没搞过就是没搞过,也不要欺骗,应付,毕竟坐在你对面的可是专业人员,你糊弄不了他的.所以,不妨给人家留下一个谦虚,诚实的好印象,如果对方觉得你技术不强,可以培养,那即使你不会也是不影响的.4.面试感觉不好,很多答不上来,不代表就没有offer了,要根据实际情况对待,比如:公司只是急需用人的时候,当迫切需要人的时候,他明知你技术一般,也是很有可能把你招进去,破格录取的,毕竟,你实力在差,相比很多压根不懂程序的人来说还是还强的,毕竟再简单的功能,再简单的需求,也得需要有"人"来干的.所以,只要心态好,态度端正,谦虚,礼貌,跟人留个好印象,都是有机会的.5.面试找工作跟谈恋爱差不多,一是靠运气,二是靠努力.比如,你现在谈的对象,你是在什么机缘巧合下认识ta的?如果你在北京上的大学,是不是很有可能认识ta?如果你在上海上的大学,是不是就认识了另一个ta?也许,无论你在哪上大学你都会谈恋爱的.但是,你所在的地方不同,位置不同,那你的人生轨迹也就不同,认识的人自然也就不同,不变的是你一定会有对象,变化的是你的对象会另有其人.所以,找工作也是,要不急不躁,没有面试机会的时候,要尽可能的多投简历(毕竟面试机会还是很多),面试机会越多,自己的概率就越大,其实想开了,找工作也就没有那么难了,毕竟再多公司招聘,对我而言,我只需要拿到一个offer就好.毕竟,弱水三千只取一瓢饮嘛!一方面在等待面试的机会,一方面去网上找寻面试题,善于利用百度,百度可以解决百分之九十的问题.毕竟,他们遇到的问题,你也会遇到,你遇到的问题,今后的他们也会遇到.所以,在等待面试机会的时候不要不做任何准备,要时刻补充自己,时刻准备好.6.面试结束后,回到地方,要认真回忆每一道面试题,然后整理成文档,然后去百度,去尝试努力解决每一个问题,这样随着面试机会的增多,遇到的面试题整理的越多,这样,越往后面面试,通过的概率就越大,毕竟经验积累越来越丰富,而且,常见的面试题也是千篇一律的.不但要总结,整理自己的每一道面试题,而且要多跟同学互动,整理别人的面试题,也许人家现在遇到的面试题,你下个公司也会遇到,提前做好准备,面试就会一帆风顺了.有条件的话,大家建个面试讨论群,共同整理维护所遇到的每个面试题,大家都把自己的问题贡献出来,资源共享...这样每个人都可以受益.7.面试过程中,时刻准备面试题的同时,要多复习之前的讲课知识,不能遗忘,毕竟随着面试时间的推移,时间长了总会忘的,为了保证大家更快就业,所以,讲课的知识点覆盖面比较广,但是大家就业后,入职后,可以选择性的朝一个方向再去深入研究,发展.8.从来不打无准备的仗,同样,面试的话,提前查看面试公司官网,了解公司到底是做什么产品的,公司在招聘什么职位,有可能用到哪方面的知识,那就赶紧补充或者了解自己在这方面的知识,面试的时候往你要求职的岗位上去靠拢,让对方觉得你跟岗位比较吻合,这样通过的概率就比较大了,而不是,去了之后连公司名称都不知道,公司是做什么的也不知道,你要面试的职位用到什么技术也不知道,一点准备都不做,能面试通过吗?换位思考下,如果你是面试官,你会怎么想?面试被问到问题的时候,不妨设身处地,换位思考,想一想,如果你是面试官,你想听到什么样的答案,投其所好(谈恋爱的时候,给你喜欢的人买ta喜欢的东西,聊她感兴趣的话题,同样投其所好,ta自然愿意和你聊天,和你沟通了,想方设法的去找ta也感兴趣的东西,这不就是共同语言吗?)去回答,让他满意了,offer自然有了...9.如果不幸面试失败那也没有关系,心态不要受到任何影响,难得表白被拒一次,此生就不在谈恋爱了吗?你被拒绝,不代表你能力不行,也许是因为公司觉得你不太适合他们公司,好多同学会说,公司很好,很想进去,真的很想很想,但是人家不要你,你能怎么办呢?难得你喜欢的人,就一定也要喜欢你吗?你喜欢ta是你的权力,ta不喜欢你也是ta的权力,你可以表白,ta可以拒绝,对吧?所以,即使面试失利,再接再厉下个面试依然全力对待,用心对待,总会有公司因为你的技术,你的实力,你的态度录取你...10.如果条件允许的话,建议面试的时候手机录音,面试结束后不妨自己听听录音,揣摩下面试官到底想听到怎样的答案,自己到底怎么回答才能让他满意,不断反思总结.去网上找答案,然后求职同学,老师,都是可以的.但是,一定要养成自己主动解决问题的能力,因为老师不可能一直帮你,老师也忙,不可能第一时间及时回复的,所以还要靠自己,因为很多时候你反应的问题,老师只能给你提供思路,想法,具体还得你自己来实现,毕竟,老师也没有你那边的源码,也没有你那边的环境,如果环境不一致也是没办法解决的.也许解决方案已经告诉你了,可是你在编写代码的过程中,某个函数名写错了,字母写错了...然后说效果出不来,老师也不可能逐行检查你的代码是否有语法,拼写等错误...你们面试的公司种类繁多,也许做的某个新兴技术,也是老师之前没有接触过的...所以,这个时候老师也只能根据以往的经验来给你相应的建议.最后:总结一点,心态一定要摆正,不急不躁,不卑不亢,我是想找一份工作,同样我也是为公司创造价值的,所以.不要觉得你是在求别人施舍给你一份工作.双方都是平等的,是双向选择的.此处不留爷,自有留爷处.认真对待每一次面试,每一个机会.找工作,谈薪资,都是一个双方互相博弈的过程...要充满自信,浑身散发自信,但是不要自大,自负...希望各位同学能够认真阅读...如果能够帮到大家,我也就心满意足了.
2023年03月17日
78 阅读
0 评论
5 点赞
2023-02-01
节后上班最好的开启方式:善待你所在的单位
春节假期正式结束,大多数公司都已经复工。刚开工,许多人就开始抱怨假期太短,一点也不想上班。但你不知道的是,在最近短短几天内,有些人就已经在睡梦中被裁员。据外媒报道,微软宣布将在 3 月底前裁员 1 万名员工,约占员工总数的 5%。1 月 20 日,Google 突然宣布裁员 12000 人,占员工总数 6%。《华尔街日报》1 月 26 日报道,IBM 加入了裁员大军,将裁员约 3900 人… 在这个你永远不知道黑天鹅从哪个方向飞来的时代。不是工作需要我们,是我们需要工作。有工可复,有班可上,才是成年人最大的安全感。节后上班请时刻记住: 珍惜现有的工作,善待你所在的单位 。善待1. 善待工作知乎上有个话题:“失业了是一种什么体验?” 有网友分享了自己的故事。前段时间觉得工作累,他没告诉家人就裸辞了。网友觉得以自己的资历一定能找一份更好的工作,没想到一连投了几十份简历都石沉大海。后来他每天准点起床出门“假装上班”,还装出一副很忙碌的样子。他一直不敢告诉家人自己失业了。“因为 每个 月要 交房 贷, 孩子 太小 ,如 果告 诉妻 子, 妻子 内心 的安 全感 会瞬 间崩 塌;因为 父母 年纪 大了 ,身 体有 各种 毛病 ,如 果他 们知 道了 ,不 知道 会担 心成 什么 样。 ” 工作时我们总是抱怨累,失去工作才知道:人最该善待的是工作。不上班,不仅颗粒无收,受的苦还一点不比上班少。在这个一睁眼就要为一大家子奔波的年龄,我们不敢,也不能停下赚钱的脚步。家庭需要我们,而我们需要工作去养活家庭。善待工作,我们才不至于在房贷还款日,四处低三下四地借钱;善待工作,我们才能在给孩子买奶粉,给老人看病花钱时不皱起眉头;善待工作,我们才能发挥自己的价值,不至于整夜无眠,不知路在何方…2. 善待单位1 月 13 日每日经济新闻报道,2022 年港股收官,最牛港股新东方在线以近9 倍的年度涨幅夺冠。从跌落谷底到股市夺冠,新东方创造了业界神话。而这个神话背后,离不开一个人:董宇辉。去年 6 月份,董宇辉一夜爆火,并凭一己之力让东方甄选火出了圈。新东方股价,在短短 5 天内暴涨 500%。为了奖励董宇辉,俞敏洪在直播间宣布:给董宇辉发股票。有人说,新东方运气好遇上了好员工。有人说,董宇辉运气好,遇到这么大气的公司。但这其实是一个公司和个人互相成就的故事。双减后,在新东方最难的时刻,几万人离职时,董宇辉选择留了下来。新东方被迫转型,董宇辉就勤勤恳恳做直播带货。董宇辉和新东方一起,默默地撑,苦苦地熬,才有了后来的一切。善待单位,其实就是善待自己。寒冬来临无处落脚时,和单位众人一起抱团取暖才不至于被冻僵。新的一年,寒意尚未褪去。和单位一起,扛住压力,做出成绩,我们才能脚下有路,兜里有钱,前程无忧。3. 善待同事有人的地方,就有江湖。初入职场时,我们总会因为一点小事和同事闹得不可开交。年纪渐长,我们慢慢懂得,同事之间和和睦睦比什么都重要。很认可一个观点:“我们工作的意义, 是为了服务于生活 ,而不是给生活添堵。所以永远不要因为一点小事就和人翻脸, 因为不值,不智,不该 。” 同事是盟友,是老师,不是亲人更胜亲人。新的一年,请善待你的同事:管好嘴,能好好沟通的,就不要说话夹枪带棒;搭好台,能彼此互助互惠的,就不要互相拆台;放宽心,能退一步的,就不要去争论谁对谁错了。常换位,多理解,懂包容,同事关系顺了,工作自然完成得更出色。改变作家连岳说:上帝的规则,是先给痛苦,然后给出路。而魔鬼的规则,是制造麻烦,然后把麻烦合理化。没有谁的工作,不是麻烦叠着麻烦。 弱者都在给自己找借口,而强者在痛苦中找出路。 新的一年,想要在工作中取得成绩,先改变自己。1. 不抱怨作家阿尔伯特,曾询问一家著名企业的高管如何考察应聘者?那位高管说:“我招聘员工时,着重看对方如何评价自己刚刚离开的那家公司和以前的工作岗位。如果只会一直抱怨,那么这种人无论如何也不会加以考虑的。”任何一家公司,都不会欢迎一个爱抱怨的员工。遇到一点不如意的事情就抱怨,这不是直率,是情商不够。苦是工作的原味,累是工作的常态。当你想要开口发牢骚的时候,永远记住一句话:当你什么都不是时,你的抱怨,没人在乎,没人关心,甚至也毫无任何价值和意义。新的一年,闭上抱怨的嘴,迈开实干的腿。当你还不是珍珠的时候,那就努力让自己成为珍珠。当你把自己打磨成一颗珍珠,自会得到最好的周全。2. 不情绪化花瓶和皮球同时掉到地上谁先碎?很显然,是花瓶。花瓶,是由很薄的瓷片构成的,而瓷片这种材质一受力就被破坏。这就是企业顾问刘润说的“脆性”。在工作中,我们不知不觉就活成了一个“脆性”的人:老板的一句否定,同事的一个眼神,就能让我们玻璃心碎了一地,不开心一整天。职场需要的是成年人。人人都希望你为他提供价值,却唯独没人愿意为你的情绪买单。工作中,你会沟通,会合作,会开拓资源,都是加分项。但如果你无法控制自己的情绪,不好意思,一票否决。从今天起,学会在心灵上脱敏,顿感一点,皮实一点。戒掉你的玻璃心,没人愿意惯着你;收起你的委屈,没人会理解你。学会把自己的玻璃心炼成不锈钢的,温柔坚定地做好眼前的事,就没有什么能伤害到你。3. 不拖延你是不是经常把今天的事情拖到明天?你是不是总以准备的名义迟迟不肯行动?我们常说,拖延等于死亡。事情一拖再拖,时间一走再走,拖延只会让你的生活陷入恶性循环。问题不会自动被解决,事情越积越多,而你每天都要在焦虑中度过,还会因此错过大好的机会。新的一年,改变自己,从戒掉拖延开始。你不妨试试卡尔顿大学的心理学研究小组发明的“5 分钟起步法”。当你在脑海里计划好一件事时,先过滤掉乱七八糟的借口,立刻投入地去做 5 分钟。当你开始干起来,你已经把 80%的人甩在了身后。4. 不敷衍有人把员工常见的心态总结成以下三种:打工心态 :为别人干, 多干不如少干 ,少干尽量别干;职业心态 :我是职业的 ,给多少钱, 干多少活 ;老板心态 :这也是我的事业 ,我是为自己的事业和使命而做 。这三种人,到底谁更聪明?第三种。因为,为自己打工的人,把时间出售了两次。一次出售给老板,换来了薪水;一次卖给了给自己,获得了成长。从现在起,不敷衍,不懈怠,把事情做精,做专。每件小事都做到无可挑剔,持之以恒,你就可能享受到苟且红利;凡事有交代,件件有着落,事事有回音。让人放心,你就可能因此得到命运的垂青。作家刘同说的:“真正的工作,不是让你用自己的生命,去交换每个月的月薪,而是让你用犯过的错误去纠正你的人生。” 工作,是最佳的修行场所。新的一年,在工作中遇事修性,遇人修心。当你我修炼成更好的自己,世间所有美好都将向你奔赴而来
2023年02月01日
39 阅读
0 评论
0 点赞
2022-12-15
thinkphp框架之Excel导入导出,jwt使用
1.Excel 上传(thinkPHP6)public function upload(){ $file = request()->file(request()->post("file")); // // 上传到本地服务器 $savename = \think\facade\Filesystem::disk('public')->putFile(request()->post("path"), $file); // // 将上传后的文件位置返回给前端 return json(['code' => 0,"savename"=>$savename]); }2.Excel 导入(thinkPHP6)public function readExcel(){ $filename = "upload/".request()->get("savename"); $obj = PHPExcel_IOFactory::load($filename); $data['major_id'] = Db::name("major")->where("major_name",$obj->getSheetNames()[0])->value("id"); $data['create_time'] = date("Y-m-d H:i:s"); // 导入时间 $sheet = $obj->getSheet(0);// 获取第0个sheet $lesson_list = $sheet->toArray();//把表格的数据转换为数组,注意:这里转换是以行号为数组的外层下标,列号会转成数字为数组内层下标,坐标对应的值只会取字符串保留在这里,图片或链接不会出现在这里。 /* * 0 => array:5 [ 0 => "序号" 1 => "课程阶段" 2 => "课程名称" 3 => "课程编号" 4 => "课程内容" ] 1 => array:5 [ 0 => "第1周" 1 => "第一阶段" 2 => "Logic JAVA" 3 => "LogicJAVA-1" 4 => "课程架构分析,java发展史,java特性,java平台版本,dos命令,jdk下载与安装,开发环境搭建,第一个HelloWorld程序" ] * */ for($i=1;$i<count($lesson_list);$i++){ $data['lesson_stage'] = $lesson_list[$i][1]; // 课程阶段 $data['lesson_name'] = $lesson_list[$i][2]; // 课程名称 $data['lesson_number'] = $lesson_list[$i][3];// 课程编号 $data['lesson_content'] = $lesson_list[$i][4];// 课程内容 Db::name("normal_lesson")->insertGetId($data); } }3.Excel导出(thinkPHP6)//导出功能 public function export(){ // 获取班级名称 $class_name = request()->get("class_name"); // 根据班级名称查询此班级对应的专业名称 $major_name = Db::name("class_name") ->alias("cn") ->field("m.major_name") ->join("major m","cn.major_id=m.id") ->where("cn.class_name",$class_name) ->value("m.major_name"); // 根据班级名称获取所有属于这个班级的数据 $excel_name = $class_name.".xlsx"; //实例化PHPExcel类,类似于在桌面上新建一个Excel表格 $PHPExcel = new PHPExcel(); //获得当前活动sheet的操作对象 $PHPSheet = $PHPExcel->getActiveSheet(); //给当前活动sheet设置名称 $PHPSheet->setTitle($excel_name); // 1.逐个单元格去填充数据,适合数据量较大的情况 //给当前活动sheet填充数据,数据填充是按顺序一行一行填充的,假如想给A1留空,可以直接setCellValue('A1',''); // $PHPSheet->setCellValue('A1','姓名')->setCellValue('B1','分数'); // $PHPSheet->setCellValue('A2','张三')->setCellValue('B2','50'); // 2.一次性填充数据,适合数据量较小的情况 // 根据当前考场的id 查询当前考场的所有考生信息 $title = ["编号","日期","星期","班级","教室","计划进度","讲师进度","讲师姓名","课时","讲师提交时间","备注"]; $normal_teacher_lesson = Db::name("normal_teacher_lesson") ->field("id,progress_date,progress_week,class_name,room_name,lesson_number,teacher_progress,teacher_name,class_hour,teacher_create_time,remark") ->where("class_name",$class_name) ->order("id asc") ->select() ->toArray(); // 添加表头 array_unshift($normal_teacher_lesson,$title); $PHPSheet->fromArray($normal_teacher_lesson); // //按照指定格式生成Excel文件,'Excel2007'表示生成2007版本的xlsx, $PHPWriter = PHPExcel_IOFactory::createWriter($PHPExcel,'Excel2007'); // header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');//告诉浏览器输出07Excel文件 // //header('Content-Type:application/vnd.ms-excel');//告诉浏览器将要输出Excel03版本文件 // //告诉浏览器输出excel名称 header("Content-Disposition: attachment;filename=$excel_name"); header('Cache-Control: max-age=0');//禁止缓存 $PHPWriter->save("php://output"); dd(); }4.jwt thinkphpcomposer require firebase/php-jwt use Firebase\JWT\ExpiredException; use Firebase\JWT\JWT AS JWTUtil; use Firebase\JWT\Key;5.jwt 生成token// jwt生成token function createToken($user=[],$exptime=0){ $key = md5(Config::get('app.jwt_secret_key')); // jwt 的签发秘钥 $time = time(); // 签发时间 $expire = $time + $exptime; // 过期时间 $token = array( $user, "iss"=>"yunhedata", //签发组织 "aud"=>"zhangxuhui",//签发作者 "iat"=>$time, "nbf"=>$time, "exp"=>$expire ); $jwt = JWTUtil::encode($token,$key,'HS256'); return $jwt; }6.jwt校验token//jwt校验 function verifyToken($token){ // jwt 的密钥 $key = md5(Config::get('app.jwt_secret_key')); // jwt 的签发秘钥 try{ $jwtAuth = json_encode(JWTUtil::decode($token,new Key($key, 'HS256'))); $authInfo =json_decode($jwtAuth,true); return ['code'=>0,'msg'=>'token正常','data'=>$authInfo[0]]; }catch (ExpiredException $e){ return ['code'=>1,'msg'=>'token过期','data'=>[]]; }catch (\Exception $e){ return ['code'=>2,'msg'=>'token错误','data'=>[]]; } }
2022年12月15日
46 阅读
0 评论
0 点赞
2022-12-15
关于fetch,axios提交数据的一些问题
1.fetch的get请求1.1 fetch发起get请求。方式默认就是get请求,如果不指定请求方式那就是getfetch("http://localhost/test/action.php").then(function(data){ // console.log(data); return data.text() }).then(function(data){ console.log(typeof data) console.log(data) })● 通过data.text()获取的数据为字符串类型,也就是说还需要自己手动转成对象● 通过data = JSON.parse(data)fetch("http://localhost/test/action.php").then(function(data){ // console.log(data); return data.text() }).then(function(data){ data = JSON.parse(data); // 将json形式字符串转成对象 console.log(typeof data) console.log(data) })● 也可以通过 返回 data.json() 直接返回json对象fetch("http://localhost/test/action.php?id=2&name=daming").then(function(data){ // console.log(data); return data.json(); //直接返回对象 }).then(function(data){ console.log(typeof data) console.log(data) })1.2 fetch发起get请求传递数据fetch("http://localhost/test/action.php?id=2&name=daming").then(function(data){ // console.log(data); return data.text() }).then(function(data){ data = JSON.parse(data); console.log(typeof data) console.log(data) })2.fetch 发起post请求fetch("http://localhost/test/action.php",{ method:"post", body:"id=3&name=laowang", headers:{"Content-Type":"application/x-www-form-urlencoded"} }).then(function(data){ // console.log(data); return data.json() }).then(function(data){ console.log(typeof data) console.log(data) })axios发起get请求3.1 不传递数据axios.get("http://localhost/test/action.php").then(function(res){ console.log(res); });3.2 传递数据axios.get("http://localhost/test/action.php",{ params:{ id:123, name:'hello' } }).then(res=>{ console.log(res.data); });4.axios发起post请求4.1 方法一 保持默认 请求头信息application/jsonaxios.post('http://localhost/test/action.php', {id:1,name:"laobai"}) .then(function(ret){ console.log(ret.data) })● 在后台代码不变的情况下,axios发起post请求 默认的请求类型是 headers:{"Content-Type":"json"} ● PHP代码header("Access-Control-Allow-Origin: *"); // 允许任意域名发起的跨域请求 header("Access-Control-Allow-Methods:PUT,GET,POST,DELETE,OPTIONS"); // 允许这些常见的请求方式 header('Access-Control-Allow-Headers:x-requested-with,content-type'); // echo file_get_contents('php://input');4.2 方法二,设置头信息为 application/x-www-form-urlencoded前端代码axios.defaults.headers["content-type"] = "application/x-www-form-urlencoded"; axios.post("http://localhost/test/action.php",{id:123,name:'hello'} ).then(res=>{ console.log(res.data); });后台代码:<?php header("Access-Control-Allow-Origin: *"); // 允许任意域名发起的跨域请求 header("Access-Control-Allow-Methods:PUT,GET,POST,DELETE,OPTIONS"); // 允许这些常见的请求方式 echo file_get_contents('php://input'); ?>4.3 方法三 ,修改传递的参数,就自动修改了请求头信息为 application/x-www-form-urlencoded前端代码: var params = new URLSearchParams(); params.append('uname', 'zhangsan'); params.append('pwd', '111'); axios.post('http://localhost/test/action.php', params).then(function(ret){ console.log(ret.data) })后台代码<?php header("Access-Control-Allow-Origin: *"); // 允许任意域名发起的跨域请求 header("Access-Control-Allow-Methods:PUT,GET,POST,DELETE,OPTIONS"); // 允许这些常见的请求方式 header('Access-Control-Allow-Headers:x-requested-with,content-type'); // echo file_get_contents('php://input'); ?>
2022年12月15日
50 阅读
0 评论
0 点赞
2022-09-22
原生ajax封装,原生跨域请求jsonp封装
原生ajax封装代码 function ajax(options) { var defaults = { type:'get', url:'', data:{}, headers:{ 'Content-type':'application/x-www/form-urlencoded' }, success:function(){}, error:function(){} } // 使用options对象中的属性覆盖defaults对象中的属性 Object.assign(defaults,options); var xhr = new XMLHttpRequest(); // get 请求 url = "http://localhost:3000?a=1&b=2;" var params = ''; for(var i in options.data){ params+=i+'='+defaults.data[i]+'&'; } // 去掉多余的&符号 params = params.substr(0,params.length-1); if(defaults.type == 'get'){ defaults.url = defaults.url + '?' + params; } // console.log(params); xhr.open(defaults.type,defaults.url) if(defaults.type == 'get'){ xhr.send(); }else{ var contentType = defaults.headers['Content-type']; xhr.setRequestHeader('Content-Type',contentType); if(contentType == 'application/json'){ xhr.send(JSON.stringify(defaults.data)); }else{ xhr.send(params); } } xhr.onload = function(){ // text/html; charset=utf-8 application/json; charset=utf-8 console.log(xhr.getResponseHeader('Content-Type')); var contentType = xhr.getResponseHeader('Content-Type'); var responseText = xhr.responseText; if(contentType.includes('application/json')){ responseText = JSON.parse(responseText) } // 当http状态码为200的时候,调用对用成功失败的情况 if(xhr.status == 200){ options.success(responseText,xhr); }else{ options.error(responseText,xhr); } } }原生jsonp跨域请求代码 var btn = document.querySelector("button"); btn.onclick = function(){ jsonp({ url:'http://localhost:3000/jsonp', data:{ name:'xiaoming', age:18 }, success:function(data){ console.log(data); } }); } // 封装jsonp函数 function jsonp(options){ // 1.创建script节点 var script = document.createElement('script'); var fn = 'fn'+Math.random().toString().replace('.',''); // 局部变量函数赋值给全局变量函数fn window[fn] = options.success; var params = ''; for(var i in options.data){ params +='&'+i+'='+options.data[i]; } // 2.为script标签设置属性 script.src = options.url + "?callback="+fn+params; document.body.appendChild(script) // 3.节点加载完毕删除节点 script.onload = function(){ script.remove(); } }
2022年09月22日
39 阅读
0 评论
0 点赞
1
...
6
7
8