首页
留言
友链
架子鼓
更多
壁纸
直播
时光机
关于
Search
1
谷豆电视直播代理源码,谷豆代理原理解析
45,241 阅读
2
华为鸿蒙系统无法安装 xapk APP 闪退 ( youtube vanced ) 的解决办法
27,125 阅读
3
[转载]青龙面板+Ninja从零安装教程
19,172 阅读
4
docker 之 typecho 镜像-不推荐
13,143 阅读
5
typecho插件 - 在线下载主题到服务器 - addTheme 发布
8,911 阅读
技术
php
linux
mysql
redis
typecho
nginx
go
python
dnmp
工具
日记
理财日记
生活日记
生活
kindle 资源
公告
虚拟机
登录
Search
标签搜索
msyql
主从
华为
鸿蒙
xapk
闪退
APP 闪退
kindle
mobi
docker
pip
alpine
梦浪的小虾米
累计撰写
147
篇文章
累计收到
588
条评论
首页
栏目
技术
php
linux
mysql
redis
typecho
nginx
go
python
dnmp
工具
日记
理财日记
生活日记
生活
kindle 资源
公告
虚拟机
页面
留言
友链
架子鼓
壁纸
直播
时光机
关于
搜索到
147
篇与
的结果
2021-11-11
快速开发一个微信发送文字到 typecho 的工具-时光机
前言最近公众号 Type时光机 挂了。而我又是那种偶尔会发散思考一下的人,总会把看到技术文章或者自身感悟发送到一个地方保存起来,所以 那个公众号挂了后,对我的生活产生了较大的影响(其实屁事没有,就是想搞一个工具),花了差不多30分钟的时间,搞了一个简易版的接收器用来接收微信发送的消息并且按照以前的格式发送到我的博客地址,自动更新内容到我的博客。技术栈LNMP php7.4 + laravel 8 + easywechat 5.8 + 微信测试号虽说只是简单的实现了接收和转发功能,但总代码行数不足 30 行,laravel 是真的强大,真的优雅。技术实现前的准备工作请确认自己有一个 https 的域名请确保自己有一个可以搭建网站的服务器或者 vps 或者虚拟主机nginx 或者 apache 上配置的 root 访问路径请指向: /您的网站目录/public微信测试号上申请好 app_id 和 secret技术实现逻辑温馨提示:下列所有的操作属于是搭建了一个新的网站,所以不要在 typecho 代码目录下进行注意:操作代码前,请先配置好网站相关的目录,然后在网站目录里面进行下列操作安装 最新的 laravel 框架,我这里是 8.6# laravel 的方式安装 laravel new 你的网站目录 #composer 的方式安装 composer create-project laravel/laravel 你的网站目录安装 laravel 的 easywechat# overtrue/wechat 5.x composer require "overtrue/laravel-wechat:^6.0"安装 http 客户端, laravel 默认自带composer require guzzlehttp/guzzle在 config/app.php 注册 ServiceProvider 和 Facade (Laravel 5.5 + 无需手动注册)'providers' => [ // ... Overtrue\LaravelWeChat\ServiceProvider::class, ], 'aliases' => [ // ... 'EasyWeChat' => Overtrue\LaravelWeChat\Facade::class, ],创建配置文件(你的网站目录进行下列操作):php artisan vendor:publish --provider="Overtrue\LaravelWeChat\ServiceProvider"修改应用根目录下的 config/wechat.php 中对应的参数即可(从微信测试号中获取如下参数即可)。更多可以参阅:https://github.com/overtrue/laravel-wechat执行命令 php artisan make:controller WxController 该命令会自动生成\app\Http\Controllers\WxController.php在 WxController.php 中写入如下代码。 请修改代码中的 这里填写您的博客地址 修改为您的博客接口地址即可,具体地址填写方式可以参考https://maomao.ink/index.php/web/438.html <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use EasyWeChat\Factory; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Http; class WxController extends Controller { public function index(Request $Request) { $config = config('wechat'); $app = Factory::officialAccount($config); $app->server->push(function ($message) { Log::info($message); switch ($message['MsgType']) { case 'event': return '收到事件消息'; break; case 'text': return $this->pushText($message); // return '收到文字消息'; break; case 'image': return '收到图片消息'; break; case 'voice': return '收到语音消息'; break; case 'video': return '收到视频消息'; break; case 'location': return '收到坐标消息'; break; case 'link': return '收到链接消息'; break; case 'file': return '收到文件消息'; // ... 其它消息 default: return '收到其它消息'; break; } }); $response = $app->server->serve(); return $response; } //推送文字消息 private function pushText($message) { //向我的博客发送消息 $response = Http::asForm()->post('这里填写您的博客地址', [ 'time'=>time(), 'content'=>$message['Content'], ]); // $response->successful(); return '已经发送到您的博客'; } }在中间件 App\Http\Middleware\VerifyCsrfToken 排除微信相关的路由,如:protected $except = [ // ... 'wechat', ];下面以接收普通消息为例写一个例子:假设您的域名为 overtrue.me 那么请登录微信公众平台 “开发者中心” 修改 “URL(服务器配置)” 为: http://overtrue.me/wechat。修改 app\wx\routes\web.php 文件 -- 修改后的文件如下所示,如果不懂,可以直接复制并覆盖<?php use Illuminate\Support\Facades\Route; /* |-------------------------------------------------------------------------- | Web Routes |-------------------------------------------------------------------------- | | Here is where you can register web routes for your application. These | routes are loaded by the RouteServiceProvider within a group which | contains the "web" middleware group. Now create something great! | */ //接收微信发来的消息 Route::any('/wechat', [\App\Http\Controllers\WxController::class, 'index'])->name('wechat');注意:一定是 Route::any, 因为微信服务端认证的时候是 GET, 接收用户消息时是 POST !在微信测试号后台绑定您的域名,绑定成功后,就可以开始愉快的玩耍了。效果图end至此,您就可以进行下一步的开发与调整了鸣谢您可以前往以下地址获取更多的帮助!easywechat:https://github.com/overtrue/laravel-wechat时光机详细使用方法:https://maomao.ink/index.php/web/438.html
2021年11月11日
2,323 阅读
1 评论
0 点赞
2021-11-06
月记
写日记确实可以,但是太顶了,有时间就在月记里面补充当天的日记-自己思维的发散,一些思考,没有时间就在月计里面补充当天干了嘛日记|# 2021/11/5早上去面试了一家 和智能硬件相关的职位,本来满心欢喜,以为能找到一个感兴趣的公司,并且适合自己的公司。结果去了才知道公司是一个孵化项目,说不定哪天就没了。然后整个团队10个人,6个人都是老板,还有3个是兼职,最后工资给不到位,加班10-11, 大小周,特么的,典型的钱少事多福利差离家远。下午,前同事在私密小群里面问我们有没有空,这周末聚一下,其实我心里没有太多想去的想法。原因是:现在混的差,不想去听他们幸福的吐槽,为啥叫幸福的吐槽:公司的下午茶贼拉稀,喝起来怪怪的。公司的加班贼鸡多,多的人很烦。简直就是在拿命换钱(各位,这是有加班费的,不是耍流氓的加班)。唉,老大要让我负责整个新人培训,搞好以后直接升项目主管。我现在还看不到影子,只是现在给我一个导师身份汝人言否?真是没有对比就没有伤害。也不考虑考虑我这个无业游民的感受,我该怎么办呢?我也很绝望。最后时间定于周日,因为周六某个同事的室友的女朋友要过来聚餐,我们也可以选择周六过去一起聚餐,虽然同事的室友和我们的关系看起来很复杂,但是对于我们来说:没戏,别想着周六和人家的室友的女朋友一起干点有意思的事。我当然义正言辞的拒绝了这次友好的聚会,理由也很简单:我周日要去帮朋友搬家(我也确实是在周二就已经确定好的,所以您来晚了,下次赶早儿)看了一会儿小说,困了,睡觉,睡了半个小时,还困,强行让自己起床。起床第一件事看看手机,看看这个世界是不是缺了我就运行不下去了,嘿,还真有,收到一个未知来电。还是固话,心中猜测可能是银行的人,毕竟像我信用这么好的优质客户,所有的银行都巴不得我使劲消费,好让我没钱找他们贷款。休想,我是你们这些声音怪得不到的男人。虽然得不到我,但是这不妨碍我来撩拨你的心弦,反正又不犯法,还能听听声优对我撒娇,嗯,我要拨打回去,坚决的拨打回去,我才不是要听声音,我就是要看看有没有适合我贷款的途径。电话接通了,我飞速的按下了关闭麦克风按键,嘿嘿,我先听听是不是软妹,如果不是,抱歉,你不应该出现在我的人生中。电话那头,一个妹子的声音缓缓传了出来,不是特别软,但是是女的:“您好,我是xx公司的hr,我收到你的简历了,请问您的学历是什么?我看到您的学历是大专,请问是统招吗?” 赶紧打开麦克风并回答:"不是"。对面:“那不好意思,我们本次只招收统招本科,谢谢您对我司的关注,以后有机会在进行合作,再见” 瞧瞧,有文化的人就是不一样,连说辞都那么好听,我虽然别的本事没有,但是挂断电话的先机还是要把握在手里的,毕竟这是我一个男人应该担起的责任。 听她说完后,我第一时间挂断了电话,仿佛就是我甩了她一样。然后我小说瘾又犯了,我又想看小说了,我打开阅读,继续看起了小说。晚上,我的头脑突然灵光了,我开始反思下午的遭遇:大环境下受疫情影响,本人高中毕业,成考大专,技术上实力划水,所以就是一个菜鸡。说菜鸡都高估我了,因为鸡好歹还有点肉,个头很大,而我充其量就是菜蚁。我脑海中突然迸发出一个念头:想要找到工作,短时间内,学历方面进无可进,只能从技术方面入手了,想办法提升技术能力,嗯,看视频看技术文档确实可以 ,但是没有实操过,不知道里面是不是有什么问题,所以面试不容易通过,那么我是不是可以自己搞一套高并发的东西,自己通过技术手段模拟高并发,大数据呢?操蛋,怎么模拟高并发,怎么大数据呢?终于懒癌占了上风,我选择了躺平,选择了继续看《逆袭1988》日记|# 2021/11/6早上,和老余确定了下午去塘朗山溜达一下。然后就开始逛各种博客了。发现了 “烟城听雨”这个博客写的日志很对我的胃口,于是我也开始写起了这种流水日志。也算是一种另类的复盘了吧。今天和老余去塘朗山转一圈,嘿嘿,爬一次山又可以强迫自己锻炼一次身体了。下午 去塘朗山爬山,地铁上遇到各种靓丽妹子,我终究没有像那个博主那样,正大光明的看妹子,正大光明的欣赏妹子,我看了一眼后,只感觉很好看,就没有然后了,我没有不知所谓的去要微信,去做进一步的 yy,可能我知道自己几斤几两吧,知道自己是什么货色。不过不得不说深圳的妹子质量真高,深圳 yyds日记|# 2021/11/7上午去帮好友的好友===我的好友搬家,搬完之后,我就又去了前同事的那个聚会了。为啥要去呢?我想了想原因:因为我是一个懒人,能一次性干完的事情,决不搞两次,反正现在精力还算充足。干就完了,不然下周他们再约的话,又要影响我的其它安排。日记|# 2021/11/8果然是不作死就不会死,起床后,发现大腿根酸痛,小胳膊酸痛,屁股酸痛,浑身上下没几个地方是好的。不过此时回想起来,满是自豪感,因为拒绝拖延从昨天做起。我也知道明天后天,我又会开始拖延了,但是至少在昨天我没有拖延,嘿嘿日记|# 2021/11/9今天又面试了一家公司,看起来应该是不差钱的那种,整层楼都是他家的。面试的也很简单,然而并没有什么卵用,没有面试通过。各种福利待遇离我远去。。。我进行了一波自我技能审查,发现除了大数据、高并发外,好像也就是这个作用了,那么我是不是可以进行突击训练呢?模拟进行高并发,通过高并发生成海量数据(100w),以及海量数据缓存过期,某个值过期。我是不是可以这样处理一下呢。通过海量数据来进行数据库读操作,然后根据读操作判断是否需要进行分库分表,索引优化分析。好吧,我又想咸鱼了,唉,我的自律能力太差了,我又想看小说了。继续《逆袭1988》日记|# 2021/11/10目前想搭建一个能够通过微信公众号发送日记到博客的工具,尝试着把这个工具的开发周期分解出来,也是自我实现的一种方式。今天玩了几把刨幺游戏有所感悟:刨幺不是一个人的游戏,也不是先跑就完事的游戏,而是要团队配合,你手上的牌再好。也要计算一下,收的分是否够,比如当计算得知:只能得到90分时,你的牌贼好,队友的牌拉稀的时候,那就果断得到90并且跑,如果队友和你的牌都很拉稀的时候,那就 小分小分的上,让牌好的人上大牌觉得不划算,不上大牌又眼睁睁的看着分跑。适时让队友跑点小牌,而不是一味的要主动权。晚上开发了一个工具-时光机。它的作用是用户在微信里面发送相关文字后,微信会自动转发到这个工具里面,然后这个工具自动转发给 typecho 的后台。没错就是这个早上想的那个工具。然后顺带写了一篇这个工具的使用博客日记|# 2021/11/11又一次梦回高中时代,我再次沉浸在梦中不愿醒来。梦中数学老师再讲题,但是我当时的状态却是困的眼睛都睁不开,却又强制让自己睁开眼睛,于是就这样醒了刚刚看了那篇清华贫困生的文章,突然引发了自己的自责:我的家庭条件也很差,我自己也没有很努力,社会就业条件也不好,导致了我悲惨的现状-失业,找不到工作。我偶尔会在内心抱怨家庭不给力,和老父亲聊天的时候,态度不温和。此时回想起来,我简直是一个王八蛋!!!我要改变现状的话只能去突破,不要指望自己看看小说就能获取到想要获取的。日记 | 2021/11/12今天又是咸鱼的一天。突然看到一个远程工作者的播客,她的远程工作经历勾起了我对远程工作的向往。但是我也曾经参加过远程工作,所以我知道我目前不适合远程工作,因为远程工作是以结果为导向,而不是以过程为导向。而我目前只能做到以过程为导向。我在思考我如何改变才能进入远程工作。为啥突然想远程工作了?薪资到顶了,因为我是高中,技术也咋地,也没有重视过技术。想办法顾家了,最好是离家超级近的太内卷了,以前花一份精力拿高薪,现在花三份精力还找不到工作,真的是我菜?综上: 最好找个远程吧
2021年11月06日
1,239 阅读
0 评论
0 点赞
2021-11-06
失业了,碎语-发散思维
人生总是在最低谷的时候,在反思自己的当前待人人家比我聪明多了,那里需要我来为他们分享我的观点这不是小说,所以谁也不是谁的中心-对待朋友之道别人的冷淡与我何关?我不能因为别人的冷淡就忽视自己真的值得吗?分享自己的看法,分享自己的想法自我为什么我总是集中不了注意力?总是在看10分钟视频后就分神?因为没有找到目标,没有找到兴趣所在。我需要培养一个自己的兴趣爱好,户外的兴趣爱好和室内的兴趣爱好。我其实并没有时间去社交,我更多的应该是读书充实自己,做一些自己想要做的事情来满足自己,而不是为了打发时间而看无脑网文,而不是为了打发时间进行的无聊的聊天。
2021年11月06日
1,425 阅读
1 评论
1 点赞
2021-11-04
最佳实践:怎样评估软件开发时间
2021-08-06 13:30作者 | DDI Development 团队译者 | 王强策划 | 王一鹏据统计,有差不多 70% 的项目都没能准时完成,你的项目也可能是其中之一。总是 delay 是不是很烦人?你也希望在满足市场需求的同时,还能按时交付项目,对不对?正因如此,软件开发时间的估算,应该是构建研发流程时优先考虑的事项。我们编制了一份清单,列出了为获得贴近实际情况的软件开发时间,你需要做的一些基本动作和步骤。下面我们就来具体谈谈,如何估算开发时间。1为什么你需要预估软件开发时间这当然是很必要的,有了这个数据,你才能知道完成项目需要多久(以小时为单位来估算)。这可以比作装修房子……哦不对,那太复杂了。算了,我们可以把它比作一家花店,这样的比喻更合理一些。假设你想开一家花店,要提前做预算和时间估算:你计算了从准备到开张需要多长时间;在这个过程中,你发现原本想要的花进不到货。你需要用另一个产品替换原计划的品种,这需要时间;然后你又发现,鲜花储存需要更多条件,你的设备需要更换;花店还没有开张,但你已经意识到店里应该卖咖啡和书籍。你意识到发生了什么吗?嗯,是的,业务需求以及最初估计的时间和预算都可能会发生变化。这个例子同样可以适用于你的软件解决方案。2你从开发时间估算中获得的好处作为客户,你将获得的收益:你将清楚地知道何时可以拿到交付的产品。如果不久会有产品展示或重大公司活动,这一点尤其重要;你知道自己能赶上截止日期,可以放心了;你可以完全控制流程,并及时了解时间估算或预算的变化及其影响。软件开发团队获得的优势:我们可以提前智能地分配任务 / 资源,并管理截止日期和工作量;我们可以了解哪些专家应该在哪些阶段参与进来。3为什么很难获得真正可靠的时间估算结果?尽管时间估算有很多明显的好处,但它和预测还是没有太大区别,因为它主要是凭直觉完成的。软件开发人员基于他们自己的经验来判断哪些东西很难实现,哪些比较容易。程序员越优秀,估算的时间就越准确。但是这种估算开发时间的方法也是有一些小差异的。当开发人员面对的是不熟悉的问题时,他们以往的经验、曾经行之有效的方法都可能不再灵光。任何开发人员都无法避免架构、框架、库访问和技术社区支持方面的潜在问题。那么人为因素呢?程序员——没错,就算是高级程序员——也可能会生病或请一天假。当然,如果程序员不能在明天早上完成任务,那并不是你的错。但是客户这边可能会带来计划外的额外任务,这些任务会打乱原来的时间估算结果。综上所述,开发时间估算结果是可能会出错的,原因如下:经验不再适用;不可预测的技术侧问题;人为因素。那么该怎么办呢?——你可能会问这个问题。答案是用深思熟虑的方法和行之有效的手段来把事情做好。4如何估算开发时间:要考虑的各个阶段要计算出总体的软件开发时间,我们应将预期的开发过程划分为多个阶段。然后估计每个阶段需要多长时间并汇总数据。发现阶段在这个阶段,参与项目的开发人员需要获得尽可能多的项目信息。这一阶段还需要准备原型和框架。如果实践中有的工作需要使用复杂的技术来完成,我们必须为此分配足够的时间。在估算开发时间时,发现阶段应该安排深入的需求讨论环节。具体做法:开发人员从客户那里收到需求,并仔细检查它们是否存在逻辑漏洞;如果出现任何问题,大家要进一步讨论;开发人员起草一份详细说明需求的通用文件,并与客户达成一致。准备一份有着明确定义的规范的文档,每个人都拿它当作指南,因为它可以防止“我们不是说好了应用程序要有这一特性吗?”之类的情况。让我们面对现实吧,在计划阶段解决问题,比在产品完成时解决问题要便宜得多。软件架构设计阶段产品的可扩展性受系统架构规划和设计的一致性影响。在估算软件开发时间时应考虑到这一点。这一阶段需要选择技术栈、类图、数据库、库、API 和细分的阶段。开发阶段为了提高效率,需要将这一阶段分解为几个单独的逻辑阶段,方便你监控团队的进度和绩效。产品开发过程可能需要 2 到 12 个月。在估算软件开发时间时应考虑到这一点。测试阶段如果没有经过彻底的测试,任何产品都不能被认为是完整的。此外,软件解决方案必须从一开始就进行测试。为什么?因为解决潜在错误的成本会低不少,毕竟它们会更快被发现和修复。测试阶段也需要包含在时间估算中。额外的时间:缓冲时间和时间吞噬者还需要考虑可能影响时间表的计划外工作,或很难预估的任务耗时。它们约占总开发时间的 5% 到 25%:技术的不可预测性;集成或扩展问题;团队内部的利益冲突;会议、电话、批准;生产力损失,等等。5如何估算软件项目的工时工时估算通常是将一个个任务汇总起来完成的,这样可以简化工作并让结果更加透明。估算开发时间的一种方法是估算每位专家可以在项目上花费多长时间。这种方法关注的是一位平均水平的 IT 专业人员在一小时内能够完成的工作量。平均水平的 IT 专家意味着他 / 她是中级技术专家(开发人员、设计师、QA 工程师)。他们执行的是与他们专业相关的任务。这意味着完成测试任务所需的时间应该根据 QA 工程师,而不是前端开发人员的表现来估算。中级工程师的工作速度可能不如高级程序员,但他或她的工作效率可能比初级技术人员更高。一个小时的工作意味着连续工作 60 分钟。这里的重点是要了解这位专家的工作是否依赖其他专家的产出,他或她是否需要等待其他人才能完成自己的工作量。让我们看看可以应用哪些方法和实践来估算软件开发时间。最常见的方法是敏捷方法。先来看一看这个主题涉及的关键术语:用户故事:用 1-2 句话描述系统应该做什么;故事描述:衡量完成用户故事所需的工作量(不是以小时为单位);待办事项:为实现目标而需要完成的任务列表。现在我们继续来估算软件开发时间。6软件开发时间估算方法通过开发时间估算,一切似乎都足够清楚了。但是……你不觉得少了点什么吗?这个估算具体是怎么做的?下面介绍基本方法。自下而上的方法或坚持参照里程碑当提前了解总开发时间后,技术人员可能会高估他们的生产力,结果会让估计的开发时间偏低。我们可以将所有任务划分为各个阶段,并分别估算每个阶段来避免超时问题。也就是说,遵循“自下而上”的原则。通常需要有两位专家参与时间估算:开发人员。他 / 她准备了一份描述所有任务的规范;将它们分成各个组或子任务并估计开发时间;一位公司的独立专家(例如高级项目经理)。他 / 她会检查开发人员提供的时间估算结果,评估它们的现实性。如有必要,再进行调整。规划扑克这种估算软件开发时间的方法所涉及的一些原则,很像敏捷方法论和打扑克。它是怎样做的呢?客户表达了团队需要面对的任务;该信息在团队内进行讨论,后续问题与客户一起解决;创建一个包含细分任务的待办事项列表(积压,backlog);团队成员聚在一起,从积压中找出执行这些任务需要多长时间。使用规划扑克估算软件开发时间的具体做法如下所示。每位开发人员都会给出他或她对手头任务的时间估计。为此,他们使用带有数字的卡片。每位团队成员都有一组卡片,其值为 1、2、3、5、8、13 以及 21、34、55(斐波那契数列)或用 20、40、100 换掉最后三个。此外还有三张没有数字的牌,它们分别画一个无穷大符号、一个问号和一个咖啡杯。每个用户故事都用一张卡片评分,其值等于估计的工作量(故事点数)。带有数字 1 的卡片表示用户故事很容易完成。比 1 越大,用户故事似乎就越困难。无限卡片代表最高级别的难度。如果每位开发人员选择的数字都相同,则意味着对所需工作量的估计是正确的。如有分歧,最终分数经过团队讨论确定下来。这一步并不是单纯地以小时为单位估算软件开发时间。到目前为止我们只定义了故事点。要了解如何以小时为单位表示这些故事点,你需要知道故事点对应的小时值。要注意扑克计划的关键在于讨论。试想一下——很多真正的专家会参与你的项目。他们每个人都对自己的选择给出了理由,并对项目的细节进行了彻底的讨论。这样一来,你很可能会得到准确的时间估算结果。基于经验的方法这种方法需要将新项目与以前的类似项目进行比较。在这种情况下,你需要从实现旧项目所花费的时间开始估算。还需要找出两者的难度级别差异。将旧项目使用的小时数乘以项目的难度差异系数,你就可以估计即将开始的新项目所需的开发时间。7项目估算数字下面我们来看以下示例,把上面的内容转成数字表示。总时间估算结果(OE)+ OE ✖️ 缓冲时间 + OE ✖️ 时间吞噬者 = 软件开发时间我们输入一些数字(数字是近似值):5000(OE)+ 5000 ✖️ 20%+5000 ✖️ 20% = 7000 小时我们来更进一步。想象一下,我们需要在 Instagram 上实现“多账户”选项。为此,我们需要考虑用户可以采取的所有可能的操作:他 / 她想添加一个帐户;他 / 她可以选择“登录现有帐户”选项,这需要他 / 她输入用户名和密码或通过 Facebook 登录;用户可能会忘记他 / 她的访问权限或发现他 / 她没有在 Facebook 上获得授权;用户可以选择“创建新帐户”选项,之后系统将要求他或她完成注册步骤。鉴于用户行为的差异,你可以定义开发人员需要完成的任务列表,以便用户可以添加新的 Instagram 帐户。将上述信息转化为任务、技术人员和时间估算:设计一个包含所有必要字段和易于理解的用户场景的页面;查明系统是否允许用户访问请求的页面,确保用户通过身份验证;根据鉴权结果进行重定向:跳转到请求的 Instagram 页面;跳转到 Facebook 页面通过 Facebook 完成鉴权;跳转到鉴权错误页面,等等。任务描述开发人员QA工程师为“多账户”选项设计页面41通过数据库进行用户认证21针对身份验证失败和成功的重定向21Facebook登录11总工时94因此,需要花费 13 个小时的技术人员工时才能让用户在多个 Instagram 帐户之间切换。还要记得算上协调和管理流程的项目管理工时(例如 3 小时)。8小结乍一看,软件开发时间似乎是很容易估算的。然而,它需要时间和技术人才的充分参与才能做到位。为了确保你和你的 IT 服务提供商都对结果感到满意,你需要从一开始就正确估算开发时间。让整个开发团队都参与进来是很有帮助的。他们的经验会让时间估算结果最贴近实际。他们还会根据自己的能力估算项目工时。如果到头来时间估算结果不符实际,并且团队比计划落后了,他们不太可能愿意加班来赶工。所以为你提供尽可能准确的数据符合这些开发人员的自身利益。说到这里,我们希望你现在知道了,为什么你们需要一个明确的时间估算结果。有了它,你就能够更好地控制预算和流程,避免令人不快的意外情况。原文链接:https://ddi-dev.com/blog/it-news/how-to-estimate-software-development-time/
2021年11月04日
553 阅读
0 评论
0 点赞
2021-11-04
[转载] 如何评估开发所需要的时间?
一个程序员能否精确评估开发时间,是一件非常重要的事情。如果你掌握了这项技能,你在别人的眼里就会是这样:靠谱经验十足对需求很了解延期风险小合格的软件工程师正规军,不是野路子评估开发时间的重要性首先,在一个项目中,所有的环节都是承上启下的,上一个环节结束的时间节点正是下一个环节开始的节点。那么在一个项目或者一次迭代正式启动前,所有的环节都应该有个时间评估。以一次APP需求迭代为例,项目计划像这样:UI设计图 11.01 - 11.03(3工作日)API接口讨论与设计 11.04(1工作日)移动端开发 11.05 - 11.15(8工作日)后端具备联调条件:11.11产品体验 11.16 - 11.17(2工作日)测试11.18 - 11.25(5工作日)发布11.26根据项目计划,各个部门自己要分配人员和时间。如果其中一个环节延期了,那么后面的各个环节都要顺延,就会造成损失。其次,对于程序员来说,一个清晰的开发计划有助于自己有条不紊地开展工作,也能避免疏漏某个功能点。评估时间的过程,也是对需求详细拆分的过程,了解要做什么,做成什么样子。在评估的过程中,根据专业知识和经验,充分预估会遇到的风险,怎样的解决方案,预留多少时间?都想好了的话,项目也就没啥风险了。然而,开发时间评估,最大的好处是程序员受益。认真地评估开发时间,会让你在开始动手写代码之前搞清楚要怎么写,每个模块的设计心理得有个谱。从宏观上拆分模块,然后详细地分解任务,具体到一个很小的功能点。这样你就能清晰地设计代码,而不是堆代码。也避免了很多时候写着写着发现不对,然后拉到重来的境地。就是要让你动手写代码之前胸有成竹!初学者为什么评估不准?如果你的项目经常delay,那么八成是时间评估不准。刚毕业的学生被问到什么时候可以完成的时候,脑门一拍:“三天”,实际上两个星期过去了还没完成。这里有一张表,看看你是不是这样子,对号入座:越是老程序员越是“胆小”,评估时间越准。如何精确评估开发时间最近几年,我都是以小时为单位进行时间评估的,有没有觉得有点恐怖?长期以来这样的习惯让我收获颇多。这得感谢我之前的领导,三年前强迫我们这样做,刚开始很抵触,后来才体会到其中的甜头。任务拆分拿到新需求后,对其进行充分了解,不清楚的就去问清楚,然后对其进行模块化。之后,再进行技术上的拆分。由大到小,再到细节。细到什么程度呢?细到一个按钮的实现,细到一个点击动作是要用按钮还是要用手势的定夺,最好能细到代码块的划分。这个能力是需要锻炼的,做好拆分,然后在实际开发过程中根据实际时间花销,回顾时间评估的准确性,以便让下次更准确。慢慢地,就会越来越精确,评估时间有依有据,不再是拍脑门给出的时间。下面看一个例子:合理认知时间一天工作八小时,但你不可能专注地连续八小时在编写代码。一天的工作中,有开会、讨论、阶段性休息(刷新闻、喝咖啡、发呆)的时间开销,真正有效时间其实不足六小时,杂事多的话可能是四五个小时。预留buffer(缓冲区)首先明确,预留buffer不是让你随便增加预估量,而是要明确知道buffer是给那些事情用的。要考虑到一下几点:首先是沟通时间,你开发的时候不可能是闷着头一直写代码。要和UI设计师沟通,要和产品经理沟通,有可能还需要和组内的人沟通技术上的事情,以及和别的技术小组对接的问题。等待时间。如果牵扯多部门协作,会有很多等待时间,因为你不能保证别的部门就能准确按照计划时间完成的。虽然等待过程中你可以安排其他任务,但你不能保证其他任务就能刚好填充等待时间,更何况任务切换也需要时间成本。突发状况。例如,bug修改、需求微调、对接人请假。不确定时间。和其他部门有交集的工作,最好多预留buffer。比如移动端和后台联调。后端信誓旦旦给你说11.11号可以进行联调,这次联调总共5个接口。如果你简单地认为他们给你提供的接口没问题,并且能顺利请求回来数据,预计一天联调时间足以,那你就等着delay吧。11.10号你已经准备好了所有联调准备,如果数据能正确返回,你的解析功能都是OK的,因为你之前用假数据已经处理的好好的。到了11号,你请求第一个接口就报错了,然后在即时通讯软件上问他们怎么回事,半个小时后给你回了“不好意思,地址变了,你用这个试试”。又错了……。终于回来数据了,然后发现缺少两个字段……。就这样,第一个接口调通已经快下班了。(当然很多后端技术人员也是很靠谱的,举这个例子只是为了让多考虑)以上是可能会出现的状况,实际中有可能只是出现了一部分,这要根据实际情况而定。并不是让你能多预留buffer就多留,毕竟每个项目的时间都是很紧张的。一般buffer留在15%-25%。回头看在实际开发过程中,测量实际花费时间,并与估算相比较。如果有些地方相差较大,就要看差在哪里,然后在下次预估中避免相同的差错。总结编程经验不等同于估算经验。一个不被包含在估算流程中的开发者将不会擅长估算。同样,如果实际的时间花费不被测量和用于与估算比较,那么将没有反馈来学习。最后,每个程序员都应该具备估算的技能。为磨练这个技能,接手每个任务时,先决定你要做什么。然后在开始之前估算任务所需时间。最后测量实际花费时间,并与估算相比较。同样比较你实际完成的与计划完成的。这样你将会既提高你对一个任务包含细节的理解,同样也提高了你的估算技能。尽管进行了精确估算,也不能保证每个项目都会100%精确。偶尔会遇到一些突发情况和没预估到的风险是不可避免的。那么面对风险,有一些原则可以帮助你:报风险时间置前,如果开发开始或者任何过程有可能导致项目延期或者需求无法实现的时候就报警,不要等加班能实现或者存在侥幸心理;对于不确定的需求,一定要沟通到位;涉及到交互细节,必须提前沟通好,充分明确细节;技术可行性方案提前调查清楚。完结~~~最后,欢迎讨论交流!来源:https://blog.csdn.net/gang544043963/article/details/83934015
2021年11月04日
432 阅读
0 评论
0 点赞
1
...
16
17
18
...
30