首页
友情链接
精美壁纸
给我留言
更多
关于我
Search
1
uniapp Click点击事件冲突解决
4,587 阅读
2
【插件】UNI APP 实现商米打印机功能支持T1,T2,V2机型
4,004 阅读
3
【测试可用】个人码免签支付系统源码/免签支付系统/微信支付平台
2,044 阅读
4
windows10下docker:给已存在的容器添加端口映射的方法
1,254 阅读
5
Java Validation参数校验注解使用
1,236 阅读
Java
Spring Boot
Spring Mvc
Java基础
进阶知识
前端
uniapp
小程序/公众号
JavaScript
HTML/CSS
Vue
PHP
开源软件
商城
营销工具
开发工具
视频/教程
Discuz主题/插件
typecho主题/插件
SEO杂谈
数据库
MongoDB
MySQL
Redis
单片机
概念说明
电路相关
Python
devops
docker
k8s
linux
职场杂谈
登录
/
注册
Search
标签搜索
python
mysql
人人商城
php
java
docker
typecho
插件
微擎
seo
spring boot
discuz
队列
uni-app
phpcms
教程视频
开源系统
源码
工具
css
哈根达斯
累计撰写
108
篇文章
累计收到
161
条评论
首页
栏目
Java
Spring Boot
Spring Mvc
Java基础
进阶知识
前端
uniapp
小程序/公众号
JavaScript
HTML/CSS
Vue
PHP
开源软件
商城
营销工具
开发工具
视频/教程
Discuz主题/插件
typecho主题/插件
SEO杂谈
数据库
MongoDB
MySQL
Redis
单片机
概念说明
电路相关
Python
devops
docker
k8s
linux
职场杂谈
页面
友情链接
精美壁纸
给我留言
关于我
搜索到
108
篇与
哈根达斯
的结果
2021-07-16
【转载】决定公司生死的前18个月,创始人该做哪些
1、创业公司的前18个月。2019年,我开办第二家公司后,决定写下我一路走来学到或重新理解的有用的经验。有些是来之不易的,有些则需要长期的关注。我希望这些建议可以帮助其他初创企业的创始人。2、明确你的计划:我做的第一件事是写下一个7页的埃隆·马斯克式的总计划。写下你打算解决什么问题,你将如何解决,以及为什么它很重要。然后找你聪明的朋友们提建议,不要遗漏任何正当的问题。3、在你与行业专家的每一次谈话中,都要问: “你为什么认为我会失败?”以深入了解你需要降低低风险的地方。4、想办法让你的用户参与进来,足以直接向你反馈,使你的产品变得更好。等待你的产品 “足够好”才行动会减少你每天的学习量。5、偶尔你尊敬的人会给你一些不请自来的建议,这些建议可能会让你不高兴。首先,吸收这些建议。然后,试着把他们的建议用你自己想的方式来表达。这样就可以消除不太中听的部分,让你以一种你可以从中受益的方式来听取建议。6、穿着睡衣从床上滚下来,带着东西回到工作岗位上。快速切换工作和休息状态,这是最被低估的超能力,给我带来了快乐、专注和速度,我已经忘记了曾经为了工作做好准备要付出多少努力。7、向用户学习是一种需要实践的技能,就像编程一样。如果你没有经验,就制定一个计划。从简单的问题开始,然后逐步深入了解。8、专注于解决问题,而不是专注于技术。如果你过于关心技术,你可能会因为挫折或无聊引起的压力而轻易放弃。聚焦在解决问题上,会促使你有毅力继续度过困难时期或乏味的工作。9、随着你与联合创始人的关系发生变化,会有紧张的时候。尽早面对问题,明确你们将如何分工与协作。依靠双方的激情,不要把工作风格的差异与公司应该如何运作混为一谈,找一个导师。10、我认为初创企业在早期往往会采取一半的pivot(关键转折)。我的公司就是这样,第一个想法可能是错误的,但如果你坚持更长的时间,你往往会发现一个人们关心的深刻问题。阻止你的只是你是否想经营这个公司来实现这个特定的任务。11、有时聪明人不喜欢我的想法。你不需要说服每一个人! 相反,我把这作为了解他们反对意见的机会,并努力看到他们意见的价值。我把它作为一个从聪明的批评家那里加强我的理解的机会。12、在我创业的前6个月里,我主要关注的是消除风险的问题。人们会想要这个吗?人们会付钱吗?这能赚到钱吗?有一天能不能扩大规模?技术是否可行?所有这些都是为了弄清楚什么会让我失败,你需要知道解决方案。13、如果你担心一件事会不可避免的导致失败,请使用我的专利 “担忧阈值”:1.为令人担忧的问题设定一个量化的数值。 2.如果它超过了这个值,那就担心吧! 3. 如果它低于这个值,就把注意力放在其他风险上,不要理会。14、每个月我都会让其他公司的一位创始人来研究我目前的目标/计划。这往往会节省你的时间,或者使你的思考方式不同,足以突破局部的最大值。我发现最好是假设我目前的思维有一个我看不到的致命缺陷。15、在早期,每个员工在加入前都可能有点犹豫,而不是只被热情地劝说。每个初创企业都会有挫折,都会犯错,都有可能转型,都必须克服不可预见的障碍。早期的团队必须有足够的乐观精神和快速恢复的能力。16、“势头”(momentum)是创业公司的氧气。没有势头,你会恐惧、会怀疑,最终会导致失败。17、在建立一个初创企业时。如果你恐惧,就通过与用户交谈来降低风险。如果你感到不确定性,建立一个原型,迅速重建你的信念。如果你有突然的自我怀疑,就去睡觉。明天再试试。18、我为公司设定的第一个目标很狭窄:让10个用户快乐地使用我们的产品。其中一个用户快乐地使用它,愿意付费,并可能发表好评。专注于几个快乐用户是一个更好的留住用户的秘诀。从10→100→1K→10K→100K。19、我无情地确保我有尽可能多的深度工作时间。住在无聊的地方,消除会议,如果你不融资,就不要去见投资人。每天建立一个节奏,用最大块的时间来完成最杰出的工作。用户会注意到你的节奏。20、 如果你是第二次创业,请抵制将一切都搞定的冲动。这是一个陷阱,让你以为自己在做有意义的工作。第一次创业的时候,这种幸福的无知帮助我专注于最重要的事情:打造一个伟大的产品。21、公司的文化不需要在第一天就定下来并写在手册上。我认为文化最好是有机地形成,需要时间与一个小团队进行磨合。从那里,你可以发现什么是有效的,什么是没用的。一个公司的价值观不需要保持不变,它们会不断发展。22、最后但同样重要的是:与用户交谈,与用户交谈,一定要与用户交谈。
2021年07月16日
137 阅读
0 评论
0 点赞
2021-07-13
JS身份证校验代码实现
开发中我们经常需要校验数据信息,其中包含身份证与手机号等,校验数据合法性我们需要使用正则的方法进行校验文章目录索引身份证校验1. 简单校验校验15位纯数字或18位字符或以X结尾身份证,缺点该方法校验不完整//数据匹配合法返回true function checkIdNo(num){ if (!(/(^\d{15}$)|(^\d{17}([0-9]|X|x)$)/.test(num))) { return false; } return true }方法调用checkIdNo('4521266');//false checkIdNo('530124197312202026');//true2. 完整校验校验区域前缀及出身年月及性别等//数据匹配合法返回true const validateIdent = { aIdentityCode_City: { // 城市代码列表 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江 ", 31: "上海", 32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南", 42: "湖北 ", 43: "湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆", 51: "四川", 52: "贵州", 53: "云南", 54: "西藏 ", 61: "陕西", 62: "甘肃", 63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外 " }, IdentityCode_isCardNo(card) {//检查号码是否符合规范,包括长度,类型 var reg = /(^\d{15}$)|(^\d{17}(\d|X)$)/; //身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X if (reg.test(card) === false) { return false; } return true; }, IdentityCode_checkProvince(card) { //取身份证前两位,校验省份 var province = card.substr(0, 2); if (validateIdent.aIdentityCode_City[province] == undefined) { return false; } return true; }, IdentityCode_checkBirthday(card) { //检查生日是否正确,15位以'19'年份来进行补齐。 var len = card.length; //身份证15位时,次序为省(3位)市(3位)年(2位)月(2位)日(2位)校验位(3位),皆为数字 if (len == '15') { var re_fifteen = /^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/; var arr_data = card.match(re_fifteen); // 正则取号码内所含出年月日数据 var year = arr_data[2]; var month = arr_data[3]; var day = arr_data[4]; var birthday = new Date('19' + year + '/' + month + '/' + day); return validateIdent.IdentityCode_verifyBirthday('19' + year, month, day, birthday); } //身份证18位时,次序为省(3位)市(3位)年(4位)月(2位)日(2位)校验位(4位),校验位末尾可能为X if (len == '18') { var re_eighteen = /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/; var arr_data = card.match(re_eighteen); // 正则取号码内所含出年月日数据 var year = arr_data[2]; var month = arr_data[3]; var day = arr_data[4]; var birthday = new Date(year + '/' + month + '/' + day); return validateIdent.IdentityCode_verifyBirthday(year, month, day, birthday); } return false; }, IdentityCode_verifyBirthday(year, month, day, birthday) {//校验日期 ,15位以'19'年份来进行补齐。 var now = new Date(); var now_year = now.getFullYear(); //年月日是否合理 if (birthday.getFullYear() == year && (birthday.getMonth() + 1) == month && birthday.getDate() == day) { //判断年份的范围(3岁到150岁之间) var time = now_year - year; if (time >= 3 && time <= 150) { return true; } return false; } return false; }, IdentityCode_checkParity(card) { //校验位的检测 card = validateIdent.IdentityCode_changeFivteenToEighteen(card); // 15位转18位 var len = card.length; if (len == '18') { var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); var cardTemp = 0, i, valnum; for (i = 0; i < 17; i++) { cardTemp += card.substr(i, 1) * arrInt[i]; } valnum = arrCh[cardTemp % 11]; if (valnum == card.substr(17, 1)) { return true; } return false; } return false; }, IdentityCode_changeFivteenToEighteen(card) { //15位转18位身份证号 if (card.length == '15') { var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); var cardTemp = 0, i; card = card.substr(0, 6) + '19' + card.substr(6, card.length - 6); for (i = 0; i < 17; i++) { cardTemp += card.substr(i, 1) * arrInt[i]; } card += arrCh[cardTemp % 11]; return card; } return card; }, } function IdentityCodeValid(card) {// 身份证号码检验主入口 let pass = true; let sex = '' //是否为空 if (pass && card === '') pass = false; //校验长度,类型 if (pass && validateIdent.IdentityCode_isCardNo(card) === false) pass = false; //检查省份 if (pass && validateIdent.IdentityCode_checkProvince(card) === false) pass = false; //校验生日 if (pass && validateIdent.IdentityCode_checkBirthday(card) === false) pass = false; //检验位的检测 if (pass && validateIdent.IdentityCode_checkParity(card) === false) pass = false; if (pass) { var iCard = validateIdent.IdentityCode_changeFivteenToEighteen(card); if (parseInt(iCard.charAt(16)) % 2 == 0) { sex = "0"; // 女生 } else { sex = "1"; // 男生 } return true } else { return false } } 方法调用IdentityCodeValid('4521266');//false IdentityCodeValid('530124197312202026');//true3. 联网校验或人工校验则需要调用第三方api接口,一般需要付费使用,费用较高,可校验名字与身份证是否匹配并返回用户的基础信息。一般项目中,正常情况下情况下选择代码校验即可,推荐使用方法2:完整校验
2021年07月13日
125 阅读
0 评论
0 点赞
2021-07-12
Linux下实现Mysql数据库定时备份
数据库数据作为生产环境的重要资产需要做定时的备份,建议每天凌晨进行整库备份文章目录索引开发中常见的备份方式:整库数据备份,使用mysqldump 进行数据备份mysql数据库主从配置实现备份本文中介绍常用的脚步备份,当前脚步备份仅备份到数据库,后续将脚本实现备份后上传至七牛云或邮件发送步骤一:编写备份脚本#!/bin/bash # 备份放置的目录文件需要提前创建文件夹 backupdir=/home/back/db time=` date +%Y%m%d%H ` # dbname:换成你要备份的数据库名。root账号和密码换成对应的数据库名与密码 mysqldump dbname -uroot -p123456 | gzip > $backupdir/db_$time.sql.gz # 保留最近5天的文件 +5,根据实际情况调整,+30为最近30天 find $backupdir -name "db_*.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1 echo "备份成功"保存文件/home/back/backup.sh,并给backup.sh脚本文件设置可执行权限chomd +x backup.sh.步骤二:linux定时任务执行定时任务使用linux自带Crontab 任务管理器,具体使用可 查看crontab教程 。本定时任务举例:每天凌晨3点执行备份编辑/etc/crontab文件。0 3 * * * /home/back/backup.sh保存后重启 crond 执行service crond restart教程到此结束,本教程在centos系统中使用有效
2021年07月12日
117 阅读
0 评论
0 点赞
2021-07-12
MongoDB 字符串日期格式查询
MongoDB 下关于日期查询根据create_date时间字段,查询大于等于2020-07-01,小于等于2021-07-11的数据db.getCollection('try_car_log').find({"create_date":{$gte:"2020-07-01",$lte:"2021-07-11"},'car_no':'EH512'})
2021年07月12日
270 阅读
0 评论
0 点赞
2021-07-10
进制转换速记表 物联网开发编码常用
分享记录一个我自己在物联网硬件设备调试中常用的编码转换表使用本表可以快速的对二进制和十六进制进行快速转换,十六进制中常用x0,H来进行标识例如x003,3H等速记转换表如下十进制二进制十六进制000000100011200102300113401004501015601106701117810008910019101010A111011B121100C131101D141110E151111F或者可以用线上工具进行转换
2021年07月10日
382 阅读
0 评论
0 点赞
1
...
16
17
18
...
22