软件工程出来能做算法工程师 知乎吗 知乎

我理解的用户体验,是让用户付出最小成本满足需求。&br&用户体验无法用一个通用方法整体衡量,只能在理解产品全貌的前提下评测分解属性。我仅结合搜索领域经验提供些参考。&br&&br&1)用户体验是一个完整的过程&br&&br&2004年Google上市前夕,互联网女皇MaryMeeker访问中国路过百度,她说摩根斯坦利的同事们刚做过搜索引擎对比评测,评测结果是Yahoo最好。但奇怪的是,评测完之后,大家平时还是都用Google。后来,百度联合创始人徐勇帮我要来了她们评测的样本,我一看就明白了,原来是这样呀:&br&她们选了十几个关键词,在Google/Yahoo等六七个搜索引擎中搜索,打印出所有搜索结果页放在一起对比,每人拿一把硬币,认为哪个搜索结果页更好就投一个硬币。最后Yahoo获胜。&br&&br&为什么Yahoo会胜出?因为当时Yahoo使用的后台搜索引擎也是Google,但自己对一些热门关键词做了人工优化,这样,Yahoo的搜索结果不是跟Google一样,就是优于Google。&br&&br&为什么那些金融精英评测完后的日常生活工作中又都用Google了呢?因为这个貌似公正的用户体验评测是有问题的,用户体验不仅是搜索结果页的简单对比。 &br&
比如,桌上的打印页面都是所看即所得,但在电脑上,想要看到那些搜索结果页,需要用户付出一个操作过程:从输入域名开始,下载完大小相差十几倍的Yahoo/Google首页,移动鼠标定位到Yahoo的搜索框中(Google是自动定位到搜索框中),输入关键词,回车或点击搜索按钮,下载完Yahoo/Google相差几倍大小的搜索结果页。上述操作过程,用户需要付出的时间成本和操作成本是不同的,尤其那时平均带宽还很小。&br&
比如,桌上的打印页面一眼可看到全貌,而真实用户需要在一个电脑屏幕中浏览搜索结果页。用户如果在较低分辨率下浏览Yahoo搜索结果页,可能在越过大幅Banner广告和宽松设计后只看到一两条结果,而浏览Google搜索结果页,就能多看几条结果。当搜索结果第一条没有满足用户需求时(这种情况很常见),第一屏多几条结果看就是一个明显的用户体验差异了。我记得那时相同结果数的搜索结果页,Yahoo的页面比Google长得多,这又是增加用户成本的。&br&
比如,当第一页的搜索结果没有满足用户需求时(这种情况也很常见),用户可能/翻下一页/点击相关搜索词/换一个关键词搜索/换一个搜索引擎/。另一种常见情况是,用户需要使用各类垂直搜索。那么,翻页设计、搜索框大小(Google那时大一点)、结果页底部是否放搜索框、垂直搜索的种类和体验等等附加选项,貌似跟桌上的打印结果页无关,却会“常见”的影响用户体验。&br&&br&
所以,Yahoo当时的搜索结果页相关性虽然总是优于或等于Google,但用户体验其实是不如Google的。用户体验不是一个静态页面,而是一个过程,要结合用户的真实使用过程来评测。&br&&br&2)
用户体验因人而异&br&&br&&img src=&/c7f1fdf4fb_b.jpg& data-rawwidth=&551& data-rawheight=&172& class=&origin_image zh-lightbox-thumb& width=&551& data-original=&/c7f1fdf4fb_r.jpg&&上面是2006年cnnic做的搜索引擎市场调查,关于“半年用户数动态变化”的结果。数据准确性不必纠结,关键是理解“用户获得率”和“用户流失率”的正反一体和背后原因的因人而异。&br&&br&通常被认为领先的搜索引擎Google和百度,用户获得率反而是最低的(固然有基数大小的影响)。因为,那时候正是百度上市后中国搜索引擎市场最热闹的时间,雅虎搜狐新浪都在力推它们的搜索引擎,吸引了足够多的用户。&br&但是,用户获得率必须减去用户流失率才有意义。上述数据中,雅虎搜狐新浪Google的用户流失率都太高,结果是用户基数没增长。&br&愿意花钱做市场推广时,吸引新用户是最容易的事,你告诉他们你有哪些好,他们就来了。但来了不代表永远就是你的人了,他们早晚会知道和试用别的引擎,部分用户会发现你哪儿不好而离开,部分用户会发现别的引擎哪儿好而投奔。当然,反之,部分用户也会发现别的引擎哪儿不好又回来。&br&用户获得率的数字背后,每一个用户的获得原因各不相同。用户流失率的数字背后,每一个用户的流失原因也各不相同。所有用户的被获得和流失方向,是不一致的,是在五个搜索引擎中交叉进行的,这就是“用户体验因人而异”。其实,每个用户的生活和知识背景不同,他们心中的搜索引擎定义都可以是不同的,搜索需求是不同的,对用户体验的感受也不同。&br&&br&比如,会有用户因为Google搜英文资料好用而离不开Google,但也会有用户因为使用英文关键词在Google会搜出大堆英文页而弃用Google,改用针对这点进行优化的百度。&br&比如,会有用户因为反感百度的竞价排名而改用Google,但也会有用户因为hao123好用而默认长用百度。&br&比如,会有用户因为Google的高级搜索语法强大而爱用,但也会有用户因为经常下载MP3而爱死百度。&br&比如,会有用户因为Google像奢侈品一样高大上的品牌形象而选用Google,但也会有用户因为百度图片搜索支持本地翻阅原图(我学习的Fast)、不用逐一点开那时泛滥的骚扰和带毒网站而选用百度。&br&比如,熟练用户会发现Google上带空格组合词搜索效果好而选用Google,但更多用户常使用长关键词和疑问句搜索,贴吧和知道经常能对此提供帮助。&br&比如,会有用户因为Google能搜到外国的英文和中文新闻而喜爱,但也会有用户喜欢百度能搜到当天突发事件的新闻而选用(Google先上线daily更新,但早期Google每天半夜来抓取新浪新闻等网站,所以白天搜不到当天突发事件,而我让百度每天早晚等新闻编辑密集发布新闻后抓取更新)。&br&&br&总之,用户体验因人而异,公司能力也各有差异,即使某些方面的用户体验不如对手,依然可以扬长避短,在更多角度针对不同用户群针对性的改变用户体验。&br&&br&3)用户体验因时而变&br&&br&&img src=&/dbdb13bfe6896abdcaae77_b.jpg& data-rawwidth=&527& data-rawheight=&290& class=&origin_image zh-lightbox-thumb& width=&527& data-original=&/dbdb13bfe6896abdcaae77_r.jpg&&&br&&img src=&/27806d2dfcec05ff58fe5a40f71e4a0c_b.jpg& data-rawwidth=&573& data-rawheight=&300& class=&origin_image zh-lightbox-thumb& width=&573& data-original=&/27806d2dfcec05ff58fe5a40f71e4a0c_r.jpg&&&br&上图一是中国网页增长趋势,图二是中国网民增长趋势。两张图的时间不对应,但我们只看趋势变化。&br&与国外相似,中国互联网早期(2000年以前)的网民数量和背景有限,网页数量和类型也有限,那时的主流搜索需求只能是找网站了。所以Yahoo和搜狐那样的大网址站,用户体验就不错了,获得了多数市场份额。&br&不过短短的三四年后(2003年),网民数增长了近十倍(900万~8000万),网页数更是增长了百倍(几百万到几亿)。十倍新增用户的背景广泛和需求广泛,百倍的新增网页内容也为满足广泛需求提供了可能性。搜索引擎不过是个中间商,当上游内容和下游用户都已大变样,当主流需求已从找网站变成网页搜索,搜索引擎的用户体验标准就已经改变。这就是用户体验因时而变。&br&因为这个网民数和网页数的增长是每天渐变的,Yahoo们就像温水煮青蛙一样没有及时发现危机。无论是国外的Yahoo还是国内的雅虎搜狐新浪,它们默认的搜索结果都长期是网站搜索,很晚才改成网页搜索。在没改过来前,他们的用户体验其实每一天都在下降的,这也是用户体验因时而变。&br&后来,网民数又增长了近8倍(6亿),网页数又增长了几百倍(1500亿),在这个渐变过程中,用户的搜索引擎使用频率也在快速增长。早期的Yahoo搜狐新浪们自我定位是啥都有的综合门户,搜索引擎只是它们拥有的一个垂直频道,但是,我们知道用户去综合门户中搜索每次是要付出更高使用成本的,当用户的搜索引擎使用频率越来越高,去综合门户搜索的成本就越来越大,独立搜索引擎的相对用户体验就越来越好。这也是用户体验因时而变。&br&早期的互联网可以理解为由几万台服务器互联组成,用户主要是单向的获得网络内容,网络基础设施也不发达,用户需要“上”网。但随着网民数增长,随着宽带普及,随着社区类产品的爆发,用户在线时间变长,用户反哺给互联网的内容越来越多,互联网的定义也在变化,那些联网的个人电脑和电脑背后的用户与服务器们一起组成了互联网。贴吧知道等产品就是顺应互联网定义的变化,引导用户创造大量口语化的讨论和问答,满足用户关于冷僻内容、突发内容、问句搜索的需求。反过来,当用户这方面的搜索体验改善后,又会养成更多这样搜索的习惯。这是产品和用户互相适应又互相改变的过程,这也是用户体验因时而变。&br&进入移动时代,互联网的定义又已改变,人,物,服务和信息一起互联,搜索引擎的用户体验标准又将因时而变。&br&&br&拖拽至此处上传
我理解的用户体验,是让用户付出最小成本满足需求。 用户体验无法用一个通用方法整体衡量,只能在理解产品全貌的前提下评测分解属性。我仅结合搜索领域经验提供些参考。 1)用户体验是一个完整的过程 2004年Google上市前夕,互联网女皇MaryMeeker访问中国路…
H Game 。建模师请你 3D 模型建的要多细有多细, 私处纹理请用4096的贴图。&br&&br&动画师我有 2000 多种动作,每个角度都需要, 不要忘了女女的动作. &br&&br&场景设计师, 我们要的场景你平时都看过的, 打光一定要好, 白天阳光, 晚上灯光都要调得让人浴火焚神, 一进场景就有感觉.&br&&br&物理程序员, 乳摇总归要做的吧, 布料也别忘了, 还有浴室, 温泉场所的水. 水花什么的我们不要特效. 还有牛奶之类的效果我们也需要的. 毛发的效果我们另有用途.&br&&br&动画程序员, 我们需要有一些 procedural animation, 比如抓住床头, 桌子椅子头, 栏杆. 捆绑, 身体部分部位固定, 当然你得跟物理程序员商量一下, 因为绳系的固定需要做物理晃动.&br&&br&AI 程序员, 你不用紧张, 我们要求比较低, 只要根据策划对人物的身体敏感度配表, 来做反应即可. 我们又不寻路, 又不打敌人, 整天呆在屋里, 偶尔室外也是飞过去的. 但是不要忘了 多p 时候的互动, 路人场景有 NPC, 要有一些反应.&br&&br&算了, 太淫乱了, 不写了.
H Game 。建模师请你 3D 模型建的要多细有多细, 私处纹理请用4096的贴图。 动画师我有 2000 多种动作,每个角度都需要, 不要忘了女女的动作. 场景设计师, 我们要的场景你平时都看过的, 打光一定要好, 白天阳光, 晚上灯光都要调得让人浴火焚神, 一进场景就有…
&p&估计就是类似于这样的吧?战网点什么的换成QB咯。&/p&&p&来源贴吧&a href=&///?target=http%3A///p/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&完整版充钱系统&i class=&icon-external&&&/i&&/a&&br&&/p&&p&多图慎入&/p&&p&—————————————————分割线——————————————————————&/p&&p&卡包将分为3种,并且只能用战网点购买&br&&/p&&p&&br&普通包 9战网点(可能全是白卡)&br&&img src=&/e460cbb21ebdd_b.png& data-rawwidth=&296& data-rawheight=&393& class=&content_image& width=&296&&&br&&/p&&p&高级包15RMB(保底一蓝)&/p&&p&&img src=&/691a82acb0d4d65bebefe8efa2a2b1f4_b.png& data-rawwidth=&296& data-rawheight=&393& class=&content_image& width=&296&&&br&史诗包 36RMB (保底一紫)&br&&img src=&/ee198c2297_b.png& data-rawwidth=&296& data-rawheight=&393& class=&content_image& width=&296&&&br&另:10连开普通包仅需88战网点!保底1紫卡!&br&另:还有友情包,只会出各种碎片和材料,消耗友情点和金币购买。(观战可获得友情点)&/p&&p&开包将有几率开出橙卡或金卡碎片。&br&&img src=&/6aabb066be17c760f8f29dfe28307c1d_b.png& data-rawwidth=&371& data-rawheight=&583& class=&content_image& width=&371&&&br&&img src=&/25fdc074af6fb8af08421_b.png& data-rawwidth=&580& data-rawheight=&180& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&/25fdc074af6fb8af08421_r.png&&&br&&br&哇!传说(碎片)(30天)&/p&&br&&p&初次登陆游戏赠送大礼包!&br&每日签到可以抽奖,持续在线也可以获得在线时长礼包!&br&&br&&img src=&/199d29cdbffb85a9bdee_b.png& data-rawwidth=&448& data-rawheight=&284& class=&origin_image zh-lightbox-thumb& width=&448& data-original=&/199d29cdbffb85a9bdee_r.png&&&br&&/p&&br&&p&我们加入了体力值系统。打一局赢了消耗5体力,输了消耗10体力!&br&每5分钟恢复1体力值。&br&&img src=&/3afd1ba3e26e_b.png& data-rawwidth=&360& data-rawheight=&95& class=&content_image& width=&360&&&br&&br&&br&&br&&br&&br&什么?你说体力值不够用?那好办~&br&&br&&img src=&/0d3d58afefabe81a674603f_b.png& data-rawwidth=&580& data-rawheight=&179& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&/0d3d58afefabe81a674603f_r.png&&&br&&br&仅需9战网点哦~&/p&&p&&br&&br&&br&&br&&img src=&/e1b77ae1efaf_b.png& data-rawwidth=&580& data-rawheight=&191& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&/e1b77ae1efaf_r.png&&&br&仅需5战网点!会玩的人天天12胜~&/p&&img src=&/39c17d529eaa89f3de519ea_b.png& data-rawwidth=&491& data-rawheight=&442& class=&origin_image zh-lightbox-thumb& width=&491& data-original=&/39c17d529eaa89f3de519ea_r.png&&&br&&br&&br&&p&此处仅需3战网点就可在JJC中选择砰砰&/p&&p&&br&&img src=&/a841eb19e07da618a841e5_b.png& data-rawwidth=&580& data-rawheight=&199& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&/a841eb19e07da618a841e5_r.png&&&br&还有生命强化符等其他各种强化符~&br&&br&注意:&br&&br&·每张卡只能同时拥有最多三个个强化。&br&&br&·强化时有几率失败&/p&&img src=&/ad70b4bfdf_b.png& data-rawwidth=&580& data-rawheight=&435& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&/ad70b4bfdf_r.png&&&br&&p&新界面!上面是滚动消息,右下是世界聊天窗口&br&&/p&&p&&br&&img src=&/dde1508b5_b.png& data-rawwidth=&580& data-rawheight=&460& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&/dde1508b5_r.png&&&br&世界聊天窗口&/p&&br&&img src=&/1b2d363cdafcec35d256498d_b.png& data-rawwidth=&580& data-rawheight=&194& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&/1b2d363cdafcec35d256498d_r.png&&&img src=&/1cdc8c09fd6a9b10002b30a_b.png& data-rawwidth=&580& data-rawheight=&249& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&/1cdc8c09fd6a9b10002b30a_r.png&&&img src=&/1f529f325ef38ad0a62ec10a5c1d7c5b_b.png& data-rawwidth=&580& data-rawheight=&194& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&/1f529f325ef38ad0a62ec10a5c1d7c5b_r.png&&&img src=&/acbfd99f61c5743dcda3a9d5a0f9d143_b.png& data-rawwidth=&580& data-rawheight=&435& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&/acbfd99f61c5743dcda3a9d5a0f9d143_r.png&&&br&&br&&br&&br&&p&&img src=&/1ce7ea5eca824b378babfa_b.png& data-rawwidth=&350& data-rawheight=&498& class=&content_image& width=&350&&节日活动:今明两天,每天消费满728战网点,赠送战歌指挥官(绝版)(30天)两张!&br&&br&&/p&&p&&img src=&/fdbe2f36fc27bc98f2acf2_b.png& data-rawwidth=&185& data-rawheight=&285& class=&content_image& width=&185&&拍卖行:&br&玩家之间可以自由用金币、战网点、 等来交换卡牌、碎片或道具,每笔成交后我们将收取10%的手续费&/p&&img src=&/553bce56a0a23a81be65166e8efcda99_b.png& data-rawwidth=&465& data-rawheight=&495& class=&origin_image zh-lightbox-thumb& width=&465& data-original=&/553bce56a0a23a81be65166e8efcda99_r.png&&&br&&p&武器牌都会有卡牌耐久。武器每次出战后都会损失卡牌耐久,耐久到0就会彻底摧毁这张牌!&br&&br&&br&每次修理武器需要消耗一个修理工具。修理工具可以通过战网点购买。&/p&&br&&p&你的卡牌收藏初始收藏上限为50张,你可以扩充收藏上限~&/p&&p&每10战网点可购买5上限。&/p&&p&装备系统上线!&br&&br&&br&&br&&img src=&/82dee1cd7e060e043b577d3ad0333231_b.png& data-rawwidth=&580& data-rawheight=&317& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&/82dee1cd7e060e043b577d3ad0333231_r.png&&&br&&br&&br&想要装备?可以在商城中消耗战网点购买。&/p&
估计就是类似于这样的吧?战网点什么的换成QB咯。来源贴吧 多图慎入—————————————————分割线——————————————————————卡包将分为3种,并且只能用战网点购买 普通包 9战网点(可能全是白卡) 高级包15RMB(…
RTS游戏有很多,可能大家比较熟悉的有Warcraft III (dota)和 StarCraft,&br&早期西木的沙丘,红色警戒更是rts游戏的鼻祖,带给我们无限的欢乐和回忆。&br&还有当下比较流行lol与dota2,实际上都是孙子辈的游戏了。&br&&br&那么他们到底是怎么做到高频操作又同步的呢?&br&&br&&b&同步机制&/b&&br&&br&假设游戏中A,B两个玩家移动,并同时向对方发出射击指令&br&如果没有合适的同步机制&br&那么可能出现的情况有&br&1 A屏幕显示B已经被杀死,B屏幕显示A已经被杀死&br&2 或者在瞄准后确打不到对方&br&图中玩家Plyaer1,Plyaer2在两个不同的客户端,表现出不同效果&br&&img src=&/6acdc512a5f34613fcd8_b.png& data-rawwidth=&554& data-rawheight=&433& class=&origin_image zh-lightbox-thumb& width=&554& data-original=&/6acdc512a5f34613fcd8_r.png&&&br&&br&因为网络是有延时的,而每个玩家的网络情况都不尽相同。&br&还有每帧渲染的延迟(早期的计算机性能不够好的时候会出现这个问题)&br&同步机制最重要的作用就是解决延迟等可能发生不一致的情况。&br&&br&&b&同步机制的分类&/b&&br&&b&Peer-to-peer模式&/b&: 没有服务器,每个玩家互相连接,各自模拟整个流程.典型的lockstep模式&br&优点:减少主机带来的延时&br&缺点:容易作弊&br&&img src=&/77bb6f1cb5bea2cbaecd45_b.png& data-rawwidth=&495& data-rawheight=&286& class=&origin_image zh-lightbox-thumb& width=&495& data-original=&/77bb6f1cb5bea2cbaecd45_r.png&&&br&&b&Client-Server模式&/b&&br&所有的操作需经过服务器确认后才能进行客户端模拟,如arpg传奇类都是此架构,如果延时高就会有明显的卡顿。&br&优点:服务器是绝对的权威,可以防止作弊,可以做更多的管理与限制&br&缺点:服务器变的更复杂,服务器断线,所有玩家断线,属于服务器依赖型。&br&&br&&img src=&/a6f6fdbcac_b.png& data-rawwidth=&448& data-rawheight=&286& class=&origin_image zh-lightbox-thumb& width=&448& data-original=&/a6f6fdbcac_r.png&&&br&&br&早期的RTS游戏大多采用Lockstep方案来设计,像罗马帝国,沙丘之类。&br&Lockstep最早用于军队中&br&&img src=&/171d4c617b5a16f69928b76ace204374_b.png& data-rawwidth=&494& data-rawheight=&341& class=&origin_image zh-lightbox-thumb& width=&494& data-original=&/171d4c617b5a16f69928b76ace204374_r.png&&&br&就是说玩家的数据每个时间段同步一次,同步的走。&br&&br&&br&标准的lockstep模式&br&1 每个玩家互相连接,整个游戏过程划分成一组turn指令帧,由玩家自我模拟&br&2 游戏速度取决于网络最慢的那个玩家&br&3 一个玩家掉线不会影响到其他玩家&br&&br&&b&什么是Turn?&/b&&br&一个turn可以理解成1个回合,相信大家都玩过回合制游戏吧&br&只是这个turn非常短,大概100MS-200MS&br&玩家相互之间发送的指令在每个turn间隔发出&br&&br&&img src=&/ce391a087c4_b.png& data-rawwidth=&328& data-rawheight=&173& class=&content_image& width=&328&&每个玩家只需要接收指令,并在本地播放指令就可以啦&br&&br&War3如何运算伤害?&br&玩家到底是发送什么指令到主机,主机到底参与了什么计算呢?&br&实际上玩家都只需要发送基本的指令如选择单位,移动单位,使用技能1234,点击物品栏1-6,可以通过APM查看软件看到一些基本操作事件&br&&img src=&/2dbc77a4df380ebf6329b1_b.png& data-rawwidth=&540& data-rawheight=&566& class=&origin_image zh-lightbox-thumb& width=&540& data-original=&/2dbc77a4df380ebf6329b1_r.png&&&br&也就是说所有的一切伤害计算都是在本地计算完成的&br&包括伤害,暴击,命中,刷怪等,只要初始化好随机数种子就可以啦&br&玩家只是发送操作指令,如点击坐标(0,1, 0),左键框选(100,100,50,50)等&br&每个玩家都在模拟全部的流程&br&&br&那么War3到底算不算使用lockstep模式,或者是特殊的client-server?&br&其实可以通过几个问题判断出&br&1 非主机玩家卡是否可以影响到其他玩家,如果不会,那么更可能是client-server模式&br&2 可以通过抓包工具拦截网络数据包的流向,来判断是否是peer to peer的连接方式还是只连接到主机(或通过主机强制掉线方式判断)。&br&一个外国朋友的回答&br&&br&&img src=&/f2e3cd93ccbd85cabb8b_b.png& data-rawwidth=&728& data-rawheight=&221& class=&origin_image zh-lightbox-thumb& width=&728& data-original=&/f2e3cd93ccbd85cabb8b_r.png&&&br&个人也认为War3是基于Client-Server的一种的特殊模式,主机肯定需要验证一些逻辑。&br&主机负责广播每个client的指令&br&这存在两个问题&br&&ol&&li&本机(非主机)发出的指令,如果超时或者丢包,是否直接丢弃?&br&&/li&&li&其他玩家的指令,主机转发未成功确认,如何处理?&br&&/li&&/ol&&br&第一个问题&br&&ol&&li&如果是本机(非主机)发出的指令超时,可以直接丢弃.(如果不丢弃,其他玩家就必须等待结果,这样会导致挂起,而且会非常频繁,这里还有udp协议容易丢包的原因,但是war3好像并没有经常性的挂起)&/li&&/ol&&br& 还有一种可能,客户端得知之前的turn没有发送成功,把当前这轮的指令和上一轮的指令进行合并,然后一起发出,这样本地客户端就不会有任何的异样了。&br&&br&例如玩家移动到A后再移动到B&br&上个turn的指令是移动到A点,但是没有发成功,下个turn的指令先移动到A,再移动到B,这样在客户端就不会有丢失的感觉啦,还是可以正常的模拟而不会影响到其他玩家。&br&&br&2. 收其他玩家的指令超时,那么属于我们自身网络的问题,如果丢弃必将导致游戏进程不同步,所以服务器必须将他们的turn指令都缓存起来,&br&或者缓存一部分turn指令集,在我网络稳定的时候,把丢失的那一部分turn指令集发给我,而我只需要下载那个list加快gameupdate就好啦。&br&&br&有些朋友问到外挂的问题&br&相信玩过魔兽的人基本都用过,实际上像战争迷雾,显示单位等只会保存一个状态值在内存中,只要定位到内存地址,改一下变量值就好了,一般是服务器是不会检测这个的。&br&而攻击力,道具数量等,由于大家都需要模拟,你本地修改了,会影响到其他人,程序就会发生蝴蝶效应。&br&开图挂应该是这类游戏最常见的了。&br&&img src=&/a429d14114baeab904248_b.png& data-rawwidth=&794& data-rawheight=&385& class=&origin_image zh-lightbox-thumb& width=&794& data-original=&/a429d14114baeab904248_r.png&&&img src=&/056f8f323c8f_b.png& data-rawwidth=&823& data-rawheight=&353& class=&origin_image zh-lightbox-thumb& width=&823& data-original=&/056f8f323c8f_r.png&&&br&&br&至于现在非常流行的 Dota2 和 英雄联盟,会额外的加入更多服务器来验证和计算一些外部数据,&br&但内部原理是一致的,早期的游戏与现在的网游不可同日而语。&br&欢迎各游戏圈朋友加-Q群
RTS游戏有很多,可能大家比较熟悉的有Warcraft III (dota)和 StarCraft, 早期西木的沙丘,红色警戒更是rts游戏的鼻祖,带给我们无限的欢乐和回忆。 还有当下比较流行lol与dota2,实际上都是孙子辈的游戏了。 那么他们到底是怎么做到高频操作又同步的呢? …
程序员走进了一家C主题的餐馆&br&- 服务员,要一片牛排&br&- 服务员拿出了一片牛排,以及一把小刀&br&&br&程序员走进了一家Java主题的餐馆&br&- 服务员,要一片牛排&br&- 服务员拿出了一只牛,上面有一个叫“get牛排”的方法&br&&br&程序员走进了一家C#主题的餐馆&br&- 服务员,要一片牛排&br&- 服务员拿出了一只牛,上面有一个叫“Get牛排”的方法,同时盘子上加粗高亮写着“这只牛与隔壁Java餐馆的牛不同”&br&&br&程序员走进了一家C++主题的餐馆&br&- 服务员,要一片牛排&br&- 服务员拿出了一片牛排,一把小刀,一把剪刀,一把斧头,一把电锯,以及一个榨汁机,同时服务员表示本店还提供镰刀、锤子、离心机等等工具&br&&br&程序员走进了一家Javascript主题的餐馆&br&- 服务员,要一片牛排&br&- 服务员拿出了一片猪排,以及一张上面写有“牛排”两字的纸&br&&br&程序员走进了一家Python主题的餐馆&br&- 服务员,要一片牛排&br&- 服务员拿出了一片牛排,并附赠了一把游标卡尺&br&&br&程序员走进了一家Haskell主题的餐馆&br&- 服务员,要一片牛排&br&- 服务员拿出了一团真空中的球形牛排&br&&br&程序员走进了一家CUDA C主题的餐馆&br&- 服务员,要一片牛排&br&- 世界上升起了一朵蘑菇云&br&&br&=============&br&补充一些评论里提到的:&br&&br&程序员走进了一家PHP主题的餐馆( &a data-hash=&5c6d8e8b671ffabeafd1eff& href=&///people/5c6d8e8b671ffabeafd1eff& class=&member_mention& data-editable=&true& data-title=&@枯藤& data-hovercard=&p$b$5c6d8e8b671ffabeafd1eff&&@枯藤&/a& ) &br&- 服务员,要一片牛排&br&- 服务员的牛排还没上桌,程序员激动地说,这才是世界上最好的牛排。&br&&br&程序员走进了一家lisp主题的餐馆( &a data-hash=&2a593f68eec40dbb3d87& href=&///people/2a593f68eec40dbb3d87& class=&member_mention& data-editable=&true& data-title=&@墨然猫& data-hovercard=&p$b$2a593f68eec40dbb3d87&&@墨然猫&/a& ) &br&- 服务员,要一片牛排&br&- 服务员拿出了一片包了几十层包装纸的牛排&br&&br&程序员走进了一家swift主题的餐馆( &a data-hash=&602fecec90a063ac0c68b84& href=&///people/602fecec90a063ac0c68b84& class=&member_mention& data-hovercard=&p$b$602fecec90a063ac0c68b84&&@panzer&/a& ) &br&- 服务员,要一片牛排&br&- 服务员拿出了一片牛排,吃到一半,服务员又给你上了一块牛排,并说之前的那片已经过期了,我们免费提供新的,不过吃之前得先把之前那半片牛排吐出来。
程序员走进了一家C主题的餐馆 - 服务员,要一片牛排 - 服务员拿出了一片牛排,以及一把小刀 程序员走进了一家Java主题的餐馆 - 服务员,要一片牛排 - 服务员拿出了一只牛,上面有一个叫“get牛排”的方法 程序员走进了一家C#主题的餐馆 - 服务员,要一片牛…
&ul&&li&先找到一张原图:&img src=&/dab99dc4eab2b319f69a_b.jpg& data-rawwidth=&1532& data-rawheight=&1022& class=&origin_image zh-lightbox-thumb& width=&1532& data-original=&/dab99dc4eab2b319f69a_r.jpg&&&/li&&li&用Ps打开,ctrl+shift+U去色&img src=&/9c8507449eae453f7ebc065e85ad5c5a_b.png& data-rawwidth=&1026& data-rawheight=&700& class=&origin_image zh-lightbox-thumb& width=&1026& data-original=&/9c8507449eae453f7ebc065e85ad5c5a_r.png&&&/li&&li&ctrl+j复制图层,ctrl+i反色&img src=&/210ff68ceaeb_b.png& data-rawwidth=&1011& data-rawheight=&687& class=&origin_image zh-lightbox-thumb& width=&1011& data-original=&/210ff68ceaeb_r.png&&&/li&&li&将反色后的图层(在上层的图层)混合模式改为颜色减淡或线性减淡,然后会发现画布上是一片白&img src=&/b634b23dae8a3fe_b.png& data-rawwidth=&174& data-rawheight=&690& class=&content_image& width=&174&&&/li&&li&对上侧的图层,应用滤镜-其他-最小值&img src=&/b88b7b3c8fbf41aeb29994cdc58d7782_b.png& data-rawwidth=&625& data-rawheight=&624& class=&origin_image zh-lightbox-thumb& width=&625& data-original=&/b88b7b3c8fbf41aeb29994cdc58d7782_r.png&&&/li&&li&最小值的参数设置为大概2.0像素&br&&img src=&/60bbbd1357133dcf7f25a2f41cf0682d_b.png& data-rawwidth=&1216& data-rawheight=&717& class=&origin_image zh-lightbox-thumb& width=&1216& data-original=&/60bbbd1357133dcf7f25a2f41cf0682d_r.png&&&/li&&li&在图层面板新建一个色阶调整,深化描边,去除空白部分的杂色,参数大概如下&img src=&/cea3a344f31_b.png& data-rawwidth=&1231& data-rawheight=&815& class=&origin_image zh-lightbox-thumb& width=&1231& data-original=&/cea3a344f31_r.png&&&/li&&li&找一张稍带有褶皱的纸的素材,用同样的方法去色后,用正片叠底的混合模式叠在手机图的上方:&img src=&/f46e51c3894b3acd184e_b.png& data-rawwidth=&1196& data-rawheight=&810& class=&origin_image zh-lightbox-thumb& width=&1196& data-original=&/f46e51c3894b3acd184e_r.png&&&/li&&li&用画笔中的铅笔样式,画一些装哔的线条,画笔颜色其实随意了,(按住shift画能画直线,为了模仿手绘的不精细,可以再调节画笔大小自由画一些散乱的线):&img src=&/4a81e122e339e8427981ae_b.png& data-rawwidth=&1468& data-rawheight=&934& class=&origin_image zh-lightbox-thumb& width=&1468& data-original=&/4a81e122e339e8427981ae_r.png&&&/li&&li&下载一个手写字体,写一句貌似很装哔但毫无意义的话(鄙人用的造字工房情书,个人使用可免费):&img src=&/f3c6bebfa3b5e83d8fbd_b.png& data-rawwidth=&1198& data-rawheight=&819& class=&origin_image zh-lightbox-thumb& width=&1198& data-original=&/f3c6bebfa3b5e83d8fbd_r.png&&&/li&&li&然后再添加一层渐变映射的调整图层,渐变颜色改为蓝色到白色的渐变&img src=&/c_b.png& data-rawwidth=&1631& data-rawheight=&887& class=&origin_image zh-lightbox-thumb& width=&1631& data-original=&/c_r.png&&&/li&&li&出图:&img src=&/d8bfd8af5b_b.jpg& data-rawwidth=&1532& data-rawheight=&1022& class=&origin_image zh-lightbox-thumb& width=&1532& data-original=&/d8bfd8af5b_r.jpg&&&/li&&/ul&
先找到一张原图:用Ps打开,ctrl+shift+U去色ctrl+j复制图层,ctrl+i反色将反色后的图层(在上层的图层)混合模式改为颜色减淡或线性减淡,然后会发现画布上是一片白对上侧的图层,应用滤镜-其他-最小值最小值的参数设置为大概2.0像素 在图层面板新建一个色…
单纯就技术而言的话,我觉得若真的想深,后面你必须广才深的下去。&br&&br&譬如C++吧,最开始你会很自然的接触到语法层面,用简单的语法做一些比较简单的事情,如打印杨辉三角。&br&&br&随后你会接触到面向对象,会开始学会抽象、封装、多态等的思想,然后开始做一些更复杂的事情,可以将现实中的一些场景用面向对象的思想进行表达。然后,到这里的时候,你会更加频繁的使用STL了,然后开始觉得STL真是一个好东西,好多东西都有。&br&&br&然后你准备开始了解STL,发现STL是使用C++的模板技术,然后你发现你打开了一个新的世界,开始叹为观止,原来程序还可以这样玩啊!你开始如饥似渴的去探寻模板的技术,SFINAE,模板元编程,变长模板等等,这个时候有一部分人就在这里就地“走火入魔”了,完全不可自拔,业内人士一般亲切的称为“模板小王子”、“模板达人”、“模板狂魔”。&br&&br&还有一部分人并未那么的“痴迷”,欣赏《Modern C++ Design》里面的思想和设计,开始深入理解STL并且学习其中的妙处,然后发现这里面有了很多的设计模式,如策略模式,适配器模式等,发现必须要学习一下设计模式才能更好的理解这里面的东西。然后发现如Modern C++ Design说到的一样,发现STL还是有值得改善的地方,比如内存分配。然后开始理解内存的概念,这时候发现自己操作系统和计算机组织结构的欠缺的话,也不知道怎么弄,如要设计一个自动分配的智能指针,尤其是使用引用计数技术的话,这个时候有很多问题啊。如果一个线程在销毁,减少引用计数,另外一个线程在进行拷贝,增加引用计数,这个时候有点捉急了,觉得要了解一下并发和多线程,然而学操作系统的时候发现是这样的操作是要原子的,然后开始理解什么是原子,然后再回过头解决这个问题。然后,这个时候我又发现,有时候引用计数会出现环形引用,释放不掉,然后开始学习并且设计Weak语意,虽然走的很颤抖,但是心情是兴奋的。一个一个学习,并且解决,感觉自己异常的充实啊!然后,开始考虑支持自定义的删除器,逐步逐步的有了高潮般的感觉,发现自己好像有点强大了啊,设计完毕后又考虑自己内置的内存分配器是不是不够高效啊,于是开始去寻求操作系统书籍,乃至操作系统内核,看看别人的内存分配怎么做的,然后做完后发现自己是有点猛啊!&br&&br&然后继续向前,在设计智能指针的时候有了线程,然后知道了C++11有了thread,于是开始学习或者自己来设计thread,这个时候更加清楚的了解到了什么是线程,什么是锁等概念,再次感叹一下操作系统是重要啊,而要自己设计,自己就需要去了解UNIX的pthread,Windows的CreateThread的API,然后抽象出来。做完后,发现自己对线程和并发理解的更深入了,然后开始顺便就看看Java,golang的并发模型是怎么样的,然后发现golang里面的coroutine这样的是个好东西啊,能不能加入到C++来啊?少年真是机智啊,C++17正有此意啊,随后你自诩为“并发小王子”。&br&&br&然后继续向前,笑看其它STL库,随后发现了类似stack,queue,algorithm等是需要数据结构与算法的知识,然后去补数据结构与算法的知识,也发现了STL里面的算法和数据结构很多都没有,比如图论,KMP等,你就开始实现添加。在搜索资料的时候发现Boost也有,但是你忍住了没看,自己去实现了,再去和Boost比较。终于,你发现了一个更大的世界,感叹Boost的人真特么是模板狂魔啊,但是也发现了很多的东西,其中就有Boost ASIO,然后发现这个地方好像很活跃啊。随后,你开始使用,研究ASIO,感叹自己似乎也需要补足网络编程的知识啊,然后你扛起了Stevens的三大圣经,如饥似渴的啃。再回过头看ASIO,是有点厉害啊,你觉得自己也可以设计一个网络库嘛,然后开始撸了起来,虽然不如ASIO,也能自己搞搞么。弄完后,觉得自己好像功力又深了一层啊!&br&&br&随后,你开始不满足现状了,开始关注C++17等新语言的动态,尤其是STL,看有什么新东西加进来,自己也来实现以下。你开始发现了反射,发现了文件系统等,然后你按照提案以及例子,发现好像不用编译器的新语言特性也能弄?然后尝试着弄,失败,失败,失败、成功?然后觉得自己好像不知不觉学到了很多东西啊!&br&&br&随后,你再回过头看自己的代码,觉得好像可以再变的好一点,比如设计模式,比如重构,比如项目的组织,比如自动化构建,比如自动化测试,比如版本管理......&br&&br&&br&后来,你发现深入的时候,怎么需要这么多啊?不过好像感觉也不错啊...脑海中甚至偶尔冒出了这样的画面:&br&&img src=&/d330d7153fef5a6d7dd751e684ce2fad_b.png& data-rawwidth=&886& data-rawheight=&464& class=&origin_image zh-lightbox-thumb& width=&886& data-original=&/d330d7153fef5a6d7dd751e684ce2fad_r.png&&&img src=&/ff065e6007e3_b.png& data-rawwidth=&600& data-rawheight=&316& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&/ff065e6007e3_r.png&&&img src=&/c60e60eee8ac005c8e70_b.png& data-rawwidth=&600& data-rawheight=&311& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&/c60e60eee8ac005c8e70_r.png&&&br&然后,你会发现一切语言都好像蛮浮云的,其实就是因为除了语言外的东西,你基本上都会了,你开始如教育晚辈一样的说:“其实语言不重要。”&br&&br&然后你继续往后面走,开始接触到更加厉害的大牛,开始发现:“哈?这是啥?这又是啥?我怎么没有听说过?”然后你又开始潜心研究技术,向大牛学习,心也从爆棚变得安静下来,因为越深入,越学习,发现懂的好像越少,然后你又如以前一样,踏上了学习的新征程,只是这一次是更加深邃,更加神秘,更加复杂的世界,而自己也少了很多浮躁......
单纯就技术而言的话,我觉得若真的想深,后面你必须广才深的下去。 譬如C++吧,最开始你会很自然的接触到语法层面,用简单的语法做一些比较简单的事情,如打印杨辉三角。 随后你会接触到面向对象,会开始学会抽象、封装、多态等的思想,然后开始做一些更复…
曾有人拜访章太炎,问曰:“先生尊姓?” &br&他答:“敝姓章。” &br&“是弓长张,还是立早章?” &br&“立早章。” &br&那人离开后在场的朋友问他:“你为何不说音十章,而说立早章?” &br&他说:“一般人只知道立早章,懂得音十章的较少;何况对方问‘是弓长张还是立早章’,我不能卖弄文字功夫说音十章,让人难堪。”
曾有人拜访章太炎,问曰:“先生尊姓?” 他答:“敝姓章。” “是弓长张,还是立早章?” “立早章。” 那人离开后在场的朋友问他:“你为何不说音十章,而说立早章?” 他说:“一般人只知道立早章,懂得音十章的较少;何况对方问‘是弓长张还是立早章’…
&b&无内测邀请,1个小时快速搭建微信小程序&/b&&br&&br&&p&「小程序」这个划时代的产品发布快一周了,互联网技术人都在摩拳擦掌,跃跃欲试。可是小程序目前还在内测,首批只发放了 200 个内测资格(泪流满面)。本以为没有 AppID 这个月就与小程序无缘了,庆幸的是微信这两天发布了正式版开发者工具,&strong&无需内测邀请也可以尝鲜了&/strong&。&/p&&p&因此也就有了我与「小程序」的初体验,而我的感受只有一个字——爽!&/p&&br&&b&选择哪个「小程序」Demo?&/b&&p&在知名同性交友网站 Github 上,「小程序」的 Demo 不少,但是大多只是简单的 API 演示,有的甚至直接把页面数据写在了 json 文件里(分明有网络请求 API)。我想体验的是能够将服务端和小程序端无缝连接起来(体验够爽)的项目。最终,我选择了腾讯云官方推出的「&a href=&///?target=https%3A///act/event/yingyonghao.html%3Futm_source%3DCommunity%26utm_medium%3DCommunity%26utm_campaign%3DZhiHu& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&小相册&i class=&icon-external&&&/i&&/a&」&a href=&///?target=https%3A///act/event/yingyonghao.html%3Futm_source%3DCommunity%26utm_medium%3DCommunity%26utm_campaign%3DZhiHu& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Demo&i class=&icon-external&&&/i&&/a&。&/p&&p&「小相册」主要实现了以下功能:&/p&&ul&&li&列出对象存储 COS 中的图片列表。&/li&&li&点击左上角上传图片图标,可以调用相机拍照或从手机相册选择图片,并将选中的图片上传到 对象存储 COS 中。&/li&&li&轻按任意图片,可进入全屏图片预览模式,并可左右滑动切换预览图片。&/li&&li&长按任意图片,可将其保存到本地,或从 对象存储 COS 中删除。&/li&&/ul&&img src=&/v2-ecc12c1a7c6f8e373cff38_b.jpg& data-rawwidth=&921& data-rawheight=&635& class=&origin_image zh-lightbox-thumb& width=&921& data-original=&/v2-ecc12c1a7c6f8e373cff38_r.jpg&&&p&效果演示图(受开发工具的限制,部分功能尚未实现)&/p&&blockquote&&a href=&///?target=https%3A///act/event/yingyonghao.html%3Futm_source%3DCommunity%26utm_medium%3DCommunity%26utm_campaign%3DZhiHu& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&COS对象存储服务&i class=&icon-external&&&/i&&/a&(Cloud Object Service)是腾讯云推出的面向企业和个人开发者提供的高可用,高稳定,强安全的云端存储服务。可以将任意数量和形式的非结构化数据放入COS,并在其中实现数据的管理和处理。&/blockquote&&p&之所以选择腾讯云的 Demo,一是因为它是&strong&腾讯自家推出的,项目的质量有保障&/strong&;二是因为它是&strong&少有的既讲小程序开发,又介绍云端部署的项目&/strong&。&/p&&p&稍微有点经验的程序员都知道,架构要动静分离,静态文件最好不要放在自己的服务器上,要放在专门用来存储的对象存储服务器COS上,并且用CDN 加速。「小相册」后端采用的是 Node.js,Nginx作为反向代理。&/p&&br&&b&第一步:搭开发环境&/b&&p&首先,我们需要在本地搭建好微信「小程序」的开发环境。即下载开发者工具。微信官方已经推出了正式版 IDE,&strong&大家没有必要再去下载破解版了&/strong&。打开「&a href=&///?target=https%3A//mp./debug/wxadoc/dev/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&官方下载地址&i class=&icon-external&&&/i&&/a&」,根据自己的操作系统选择。我使用的是 Mac 版。&/p&&p&安装好之后打开运行,会要求微信扫码登陆。之后,就可以看到创建项目的页面了。&/p&&img src=&/v2-86b099e21ea4e034bdb9b83e1cdec906_b.jpg& data-rawwidth=&614& data-rawheight=&420& class=&origin_image zh-lightbox-thumb& width=&614& data-original=&/v2-86b099e21ea4e034bdb9b83e1cdec906_r.jpg&&&p&选择添加项目,没有 AppID 就选无(如果乱写会报错,到时可能无法进入项目)。如果你选择的项目目录为空,请如图所示勾选在“当前目录中创建quick start项目”。&/p&&img src=&/v2-84dc774c34ada80ffc9c8b88_b.jpg& data-rawwidth=&805& data-rawheight=&440& class=&origin_image zh-lightbox-thumb& width=&805& data-original=&/v2-84dc774c34ada80ffc9c8b88_r.jpg&&&p&点击“添加项目”之后,我们会进入开发工具的调试页面。&/p&&br&&b&第二步:下载「小相册」源码&/b&&p&接下来,我们下载「小相册」的源码。可以选择直接从&a href=&///?target=http%3A///qcloud/la/demo-source/qcloud-applet-album.zip& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/qcloud/&/span&&span class=&invisible&&la/demo-source/qcloud-applet-album.zip&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&下载,也可以从腾讯云团队的 Github 仓库拉取。我推荐从 Github 仓库拉取,这样可以及时获取最新的代码。&/p&&p&git clone &a href=&///?target=https%3A///CFETeam/weapp-demo-album.git& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/CFETeam/weap&/span&&span class=&invisible&&p-demo-album.git&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&最终,我们会得到类似这样的文件目录。&/p&&img src=&/v2-97f65def6a_b.jpg& data-rawwidth=&502& data-rawheight=&106& class=&origin_image zh-lightbox-thumb& width=&502& data-original=&/v2-97f65def6a_r.jpg&&&p&简单解释下目录结构:&/p&&ul&&li&applet(或app): 「小相册」应用包代码,可直接在微信开发者工具中作为项目打开。&/li&&li&server: 搭建的Node服务端代码,作为服务器和app通信,提供 CGI 接口示例,用于拉取图片资源、上传图片、删除图片。&/li&&li&assets:「小相册」的演示截图。&/li&&/ul&&p&源码下载完成之后,我们打开微信 web 开发者工具,新建项目「小相册」,选择目录applet(或app)。&/p&&img src=&/v2-635df88a8a_b.jpg& data-rawwidth=&543& data-rawheight=&285& class=&origin_image zh-lightbox-thumb& width=&543& data-original=&/v2-635df88a8a_r.jpg&&&br&&b&「小相册」源码分析&/b&&p&在进行部署之前,我们来简单分析一下「小相册」的具体代码。毕竟只看效果不是我们的目的,我们的目的是&strong&以「小相册」为例,了解如何开发小程序并与服务端进行交互&/strong&。&/p&&img src=&/v2-28db4a5b79c4d3c03d8ec7ad33b1ab51_b.png& data-rawwidth=&1074& data-rawheight=&1256& class=&origin_image zh-lightbox-thumb& width=&1074& data-original=&/v2-28db4a5b79c4d3c03d8ec7ad33b1ab51_r.png&&&p&「小相册」包含一个描述整体程序的 app 和多个描述各自页面的 page。主程序 app 主要由三个文件组成,分别是 app.js(小程序逻辑)、app.json(小程序公共设置)和 app.wxss(小程序公共样式表),其中前两个为必备文件。config.js 文件中包含了一些部署域名的设置,现在不用管。&/p&&p&在 pages 目录下,有两个 page 页面,分别是 index 和 album。页面结构算是比较简单的,其中 index 是小程序启动时默认进入的页面。每个页面下,至少要有 .js(页面逻辑)和 .wxml(页面结构)两个文件,.wxss(页面样式表)和 .json(页面配置)文件为选填。你可能注意到了,&strong&这些文件的文件名与父目录的名称相同&/strong&。这是微信官方的规定,目的是减少配置项,方便开发者。&/p&&p&接下来我们以 index 页面为例做简单的解释。index.wxml 是这个页面的表现层文件,其中的代码非常简单,可以分为上下两大部分。&/p&&br&&div class=&highlight&&&pre&&code class=&language-text&&&view&
&view class=&page-top&&
&text class=&username&&恭喜你&/text&
&text class=&text-info&&成功地搭建了一个微信小程序&/text&
&view class=&page-btn-wrap&&
&button class=&page-btn& bindtap=&gotoAlbum&&进入相册&/button&
&view class=&page-bottom&&
&text class=&qr-txt&&分享二维码邀请好友结伴一起写小程序!&/text&
&image src=&../../images/qr.png& class=&qr-img&&&/image&
&image src=&../../images/logo.png& class=&page-logo&&&/image&
&/code&&/pre&&/div&&p&页面的演示效果如下:&/p&&p&&a href=&///?target=https%3A///act/event/yingyonghao.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/act/event/yi&/span&&span class=&invisible&&ngyonghao.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a& (二维码自动识别)&/p&&p&我们看到,页面上有一个“进入相册”的按钮。正常理解,点击后该按钮后我们就可以进入相册了(这不废话嘛)。那小程序背后是怎样实现该操作的呢?&/p&&p&在 index.wxml 中,我们发现对应的 button 标签上定义了一个 bindtap 属性,绑定了一个叫做gotoAlbum 的方法。而这个方法可以在 index.js 文件中找到。事实上,文件中也只定义了这一个方法,执行的具体动作就是跳转到 album 页面。&/p&&br&&div class=&highlight&&&pre&&code class=&language-text&&Page({
// 前往相册页
gotoAlbum() {
wx.navigateTo({ url: '../album/album' });
&/code&&/pre&&/div&&p&album.js 页面中编写了程序的主要逻辑,包括选择或拍摄图片、图片预览、图片下载和图片删除;album.wxml 中三种视图容器 view、scroll-view、swiper均有使用,还提供了消息提示框 toast。具体方法和视图的实现请查看&a href=&///?target=https%3A///CFETeam/weapp-demo-album& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&项目源码&i class=&icon-external&&&/i&&/a&。所有的这些功能都写在 Page 类中。&/p&&p&lib 目录下提供了小程序会用的一些辅助函数,包括异步访问和对象存储 COS 的 API。&/p&&p&总的来说,和微信官方宣传的一样,在开发者工具下进行小程序的开发,效率确实提高了很多,而且有很多微信提高的组件和 API。所以,在开发速度这点上的体验还是非常爽的。&/p&&p&另外,由于「小相册」需要使用诸多云端能力,如图片的上传和下载,我们还需要进行服务器端的部署和设置。具体请看接下来的步骤。&/p&&br&&b&第三步:云端部署 server 代码&/b&&p&虽然服务端的开发不是本文的重点,但是为了全面地体验「小相册」的整个开发部署流程,我们还是有必要了解服务端的部署,这里我们使用的是腾讯云。&/p&&p&如果你想更爽一点,那么可以选择腾讯云官方提供的小程序云端镜像。「小相册」的服务器运行代码和配置已经打包成腾讯云 CVM 镜像,可以&a href=&///?target=https%3A///cvm%3FmarketImgId%3D370& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&直接使用&i class=&icon-external&&&/i&&/a&。可谓是一键部署好云端。&/p&&p&如果你以前没有使用过腾讯云,可以选择免费试用(我已经领取了 8 天的个人版服务器),或者&a href=&///?target=https%3A///act/event/yingyonghao.html%23section-voucher& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&领取礼包&i class=&icon-external&&&/i&&/a&以优惠的价格购买所需的服务。&/p&&img src=&/v2-dcef9e0eaf37dcb839a261_b.jpg& data-rawwidth=&1206& data-rawheight=&430& class=&origin_image zh-lightbox-thumb& width=&1206& data-original=&/v2-dcef9e0eaf37dcb839a261_r.jpg&&&p&你也可以选择将「小相册」源码中的server文件夹上传到自己的服务器。&/p&&br&&b&第四步:准备域名和配置证书&/b&&p&如果你已经有腾讯云的服务器和域名,并配置好了 https,那么可以跳过第 4-6 步。&/p&&p&在微信小程序中,所有的网络请求受到严格限制,不满足条件的域名和协议无法请求。简单来说,就是你的域名必须走 https 协议。所以你还需要为你的域名&a href=&///?target=https%3A///ssl& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&申请一个证书&i class=&icon-external&&&/i&&/a&。如果没有域名,&a href=&///?target=https%3A///product/dm.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&请先注册一个&i class=&icon-external&&&/i&&/a&。由于我们没有收到内测,也就暂时不用登录微信公众平台配置通信域名了。&/p&&br&&b&第五步:Nginx 配置 https&/b&&p&微信小程序云端示例镜像中,已经部署好了 Nginx,但是还需要在 /etc/nginx/conf.d 下修改配置中的域名、证书、私钥。&/p&&img src=&/v2-c006d14ae7c52a_b.jpg& data-rawwidth=&507& data-rawheight=&266& class=&origin_image zh-lightbox-thumb& width=&507& data-original=&/v2-c006d14ae7c52a_r.jpg&&&p&请将红框部分换成自己的域名和证书,并且将 proxy_pass 设置为 Node.js 监听的端口,我的是 9993。&/p&&p&配置完成后,重新加载配置文件并且重启 Nginx。&/p&&br&&div class=&highlight&&&pre&&code class=&language-text&&sudo service nginx reload
sudo service nginx restart
&/code&&/pre&&/div&&br&&b&第六步:域名解析&/b&&p&我们还需要添加域名记录,将域名解析到我们的云服务器上,这样才可以使用域名进行 https 服务。在腾讯云注册的域名,可以直接使用&a href=&///?target=https%3A///cns/domains& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&云解析控制台&i class=&icon-external&&&/i&&/a&来添加主机记录,直接选择上面购买的 CVM。&/p&&img src=&/v2-eb601ff1e39d94a71f945_b.jpg& data-rawwidth=&802& data-rawheight=&703& class=&origin_image zh-lightbox-thumb& width=&802& data-original=&/v2-eb601ff1e39d94a71f945_r.jpg&&&p&解析生效后,我们的域名就支持 https 访问了。&/p&&br&第七步:开通和配置 COS&p&由于我们希望实现动静分离的架构,所以选择把「小相册」的图片资源是存储在 COS 上的。要使用 COS 服务,需要登录 &a href=&///?target=https%3A///cos/overview%3Futm_source%3Djiaocheng%26utm_medium%3Dcos%26utm_campaign%3Dqcloud& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&COS 管理控制台&i class=&icon-external&&&/i&&/a&,然后在其中完成以下操作。&/p&&img src=&/v2-d4ab5da6a1c_b.jpg& data-rawwidth=&1270& data-rawheight=&752& class=&origin_image zh-lightbox-thumb& width=&1270& data-original=&/v2-d4ab5da6a1c_r.jpg&&&ol&&li&点击创建 Bucket。会要求选择所属项目,填写相应名称。这里,我们只需要填上自己喜欢的 Bucket 名称即可。&/li&&li&然后在 Bucket 列表中,点击刚刚创建的 Bucket。然后在新页面点击“获取API密钥”。 弹出的页面中包括了我们所需要的三个信息:唯一的 APP ID,一对SecretID和SecretKey(用于调用 COS API)。保管好这些信息,我们在稍后会用到。&/li&&li&&img src=&/v2-a1e5aea0ab29f3bfe883709_b.jpg& data-rawwidth=&1270& data-rawheight=&694& class=&origin_image zh-lightbox-thumb& width=&1270& data-original=&/v2-a1e5aea0ab29f3bfe883709_r.jpg&&最后,在新的 Bucket 容器中创建文件夹,命名为photos。这点后面我们也会提到。&/li&&/ol&第八步:启动「小相册」的服务端&p&在官方提供的镜像中,小相册示例的 Node 服务代码已部署在目录 /data/release/qcloud-applet-album下。进入该目录,如果是你自己的服务器,请进入相应的文件夹。&/p&&br&&div class=&highlight&&&pre&&code class=&language-text&&cd /data/release/qcloud-applet-album
&/code&&/pre&&/div&&p&在该目录下,有一个名为 config.js 的配置文件(如下所示),按注释修改对应的 COS 配置:&/p&&br&&div class=&highlight&&&pre&&code class=&language-text&&module.exports = {
// Node 监听的端口号
port: '9993',
ROUTE_BASE_PATH: '/applet',
cosAppId: '填写开通 COS 时分配的 APP ID',
cosSecretId: '填写密钥 SecretID',
cosSecretKey: '填写密钥 SecretKey',
cosFileBucket: '填写创建的公有读私有写的bucket名称',
&/code&&/pre&&/div&&p&另外,cd ./routes/album/handlers,修改 list.js,将 const listPath 的值修改为你的Bucket 下的图片存储路径。如果是根目录,则修改为 '/'。当前服务端的代码中将该值设置为了 '/photos' ,如果你在第七步中没有创建该目录,则无法调试成功。&/p&&p&小相册示例使用 pm2 管理 Node 进程,执行以下命令启动 node 服务:&/p&&br&&div class=&highlight&&&pre&&code class=&language-text&&pm2 start process.json
&/code&&/pre&&/div&&br&&b&第九步:配置「小相册」通信域名&/b&&p&接下来,在微信 web 开发者工具打开「小相册」项目,并把源文件config.js中的通讯域名 host 修改成你自己申请的域名。&/p&&img src=&/v2-b0b4be80d3b2cc22ef2ae_b.jpg& data-rawwidth=&659& data-rawheight=&339& class=&origin_image zh-lightbox-thumb& width=&659& data-original=&/v2-b0b4be80d3b2cc22ef2ae_r.jpg&&&p&将蓝色框内的内容修改为自己的域名&/p&&p&然后点击调试,即可打开小相册Demo开始体验。&/p&&img src=&/v2-ade1e1f7ab6c3dbf4222877f_b.jpg& data-rawwidth=&554& data-rawheight=&509& class=&origin_image zh-lightbox-thumb& width=&554& data-original=&/v2-ade1e1f7ab6c3dbf4222877f_r.jpg&&&br&&p&最后提示一点,截止目前为止,微信小程序提供的上传和下载 API 无法在调试工具中正常工作,需要用手机微信扫码预览体验。但是由于没有内测资格,我们暂时是没办法体验了。&/p&&br&&p&&strong&嗯,就这点不够爽,没有内测邀请。&/strong&&/p&&p&&strong&我的同事还写了另外3个demo的&/strong&「&b&&a href=&///?target=https%3A///act/event/yingyonghao.html%3Futm_source%3DCommunity%26utm_medium%3DCommunity%26utm_campaign%3DZhiHu& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&小程序教程&i class=&icon-external&&&/i&&/a&&/b&」&strong&,大家也可以看看。&/strong&&/p&&p&&a href=&///?target=http%3A///r/hXXk-BjESUU2rVyf9yCX& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/r/hXXk-Bj&/span&&span class=&invisible&&ESUU2rVyf9yCX&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a& (二维码自动识别)&/p&
无内测邀请,1个小时快速搭建微信小程序 「小程序」这个划时代的产品发布快一周了,互联网技术人都在摩拳擦掌,跃跃欲试。可是小程序目前还在内测,首批只发放了 200 个内测资格(泪流满面)。本以为没有 AppID 这个月就与小程序无缘了,庆幸的是微信这两天…
&img data-rawheight=&332& data-rawwidth=&640& src=&/5dca0bea3d5e544f1253281_b.jpg& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&/5dca0bea3d5e544f1253281_r.jpg&&&br&怎么能忘了我暨南大学招生时候的主页&br&简单!粗暴!重点突出!&br&———————————&br&谢各位抬爱啦~&br&被众多校友活捉真是有点不好意思……&br&回答这个问题的初衷就是想跟大家分享一下学校偶尔不着调的时候 真的挺可爱的&br&主页上说的都是真的哦 真的不军训的&br&欢迎各位学文科的小盆友报考暨大 但是理工科要慎重&br&&br&来各位兄贵 我们一起念一遍校训好了&br&&br&忠 信 笃 敬
怎么能忘了我暨南大学招生时候的主页 简单!粗暴!重点突出! ——————————— 谢各位抬爱啦~ 被众多校友活捉真是有点不好意思…… 回答这个问题的初衷就是想跟大家分享一下学校偶尔不着调的时候 真的挺可爱的 主页上说的都是真的哦 真的不军训的 …
&img src=&/1c62aac8eea77fe0bbe46c04e4ebf487_b.png& data-rawwidth=&880& data-rawheight=&398& class=&origin_image zh-lightbox-thumb& width=&880& data-original=&/1c62aac8eea77fe0bbe46c04e4ebf487_r.png&&&img src=&/7ee36d2cb3a07a3a0490afade28d2932_b.png& data-rawwidth=&1438& data-rawheight=&1182& class=&origin_image zh-lightbox-thumb& width=&1438& data-original=&/7ee36d2cb3a07a3a0490afade28d2932_r.png&&&br&&p&UX不等于原型图,很多人一上来就是画原型图也是醉了,前期的用户调研才是最重要。
我之前在国内互联网公司做过产品,后来在英国读HCI专业,下面总结在google找到各种知名公司lead给出的意见,主要分为两点:&u&&b&学习UX + UX设计实践 +建立UX人脉圈&/b&&/u&。 因为国外UX方面的内容比较多 ,部分资源可能需要楼主爬墙。
&u&&b&学习UX + UX设计实践 +建立UX人脉圈,学习UX + UX设计实践 +建立UX人脉圈,学习UX + UX设计实践 +建立UX人脉圈(重要的事情说3遍)&/b&&/u&&/p&&p&&b&&u&一、学习UX&/u&&/b&&/p&&p&a. 经典书籍推荐:&a href=&///?target=http%3A//jessicaivins.net/ux-resources-for-beginners/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Read my list of UX resources for beginners&i class=&icon-external&&&/i&&/a& (初学者必看的经典书籍,包含视频+书籍),先从看书开始吧。&/p&&p&b. 最新书籍推荐:&a href=&///?target=https%3A///great-books-for-designers-to-read-in-2016-d2ebea.u70w825mo& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Great books for designers to read in 2016&i class=&icon-external&&&/i&&/a&&/p&&p&c. UX广播: &a href=&///?target=http%3A//jessicaivins.net/5-of-my-favorite-ux-podcasts/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&my blog post about my favorite UX podcasts&i class=&icon-external&&&/i&&/a&&/p&&p&d. UX网站:UX网站实在太多了,质量不一,推荐几个干货:&a href=&///?target=https%3A///ux-ui-readings& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&UX — UI Readings&i class=&icon-external&&&/i&&/a&(Medium上UX/UI文章集合),&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Dribbble&i class=&icon-external&&&/i&&/a&, &a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&The Best Designs&i class=&icon-external&&&/i&&/a& and &a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Awwwards&i class=&icon-external&&&/i&&/a& (可以在上面关注一些大牛,看他们的设计,得到灵感), &a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&All You Can Learn&i class=&icon-external&&&/i&&/a&(这个网站集合了世界上最棒的UX专家的资源和文章,还有live seminar), &a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Inspiration and helpful links for User Experience Designers&i class=&icon-external&&&/i&&/a&(这个网站集合了所有的UX网站,果然你喜欢收藏各种网站,点这个)。&/p&&ul&&li&&b&**不想看英语的可以看:&a href=&///?target=https%3A///foru17/front-end-collect/issues/9& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&国内互联网企业UED博客集合 · Issue #9 · foru17/front-end-collect · GitHub&i class=&icon-external&&&/i&&/a&&/b&&/li&&/ul&&br&&p&e. 工具的学习:Adobe Photoshop & Illustrator 等,在学习阶段,用什么工具都是次要的, 我在英国的UX项目,老师从不care我们用什么工具,只要你能表现出交互过程即可,不过既然想往职业发展,还是掌握基础工具吧。&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Design tuts&i class=&icon-external&&&/i&&/a&, &a href=&///?target=http%3A///Photoshop-tutorials/279-0.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Lynda&i class=&icon-external&&&/i&&/a& and &a href=&///?target=http%3A///search%3Fquery%3Duser%2Bexperience%2Bdesign& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Skillshare&i class=&icon-external&&&/i&&/a&.(这3个网站可以教你如何学习工具)&/p&&p&&b&学习的时候要做笔记!做笔记!做笔记!重要的事情讲3遍&/b&&/p&&br&&p&&b&&u&二、UX设计实践(最重要!)&/u&&/b&&/p&&img src=&/3953bcc461aabfd9c17ca90bba39da12_b.png& data-rawwidth=&1024& data-rawheight=&764& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&/3953bcc461aabfd9c17ca90bba39da12_r.png&&&br&&p&重点还是要实践,光看不动手,那是纸上谈兵,而且很多UX工作招聘是要有作品集的,你不实践,哪来的作品集啊。&/p&&p&Q:我不是UX专业的,没有项目可以参与,怎么实践啊?&/p&&p&A:很多人一提到UX,就直接认为是画原型图,一上来就画原型图,这样是错误的,UX涉及到太多方面了,要搞清楚UX设计的过程啊,太懒了,贴一些课件吧。&/p&&img src=&/c5df8d60fdd_b.png& data-rawwidth=&1700& data-rawheight=&1188& class=&origin_image zh-lightbox-thumb& width=&1700& data-original=&/c5df8d60fdd_r.png&&&img src=&/aed109b9e99b6bb529d4a_b.png& data-rawwidth=&1118& data-rawheight=&1004& class=&origin_image zh-lightbox-thumb& width=&1118& data-original=&/aed109b9e99b6bb529d4a_r.png&&&br&&p&基于前面学习的基础上,你应该已经知道了UX设计的具体流程以及各个流程的要点, 要开始动手啦。实践主要分为几个阶段。&/p&&p&&b&&u&1、第一阶段:分析现有热门APP或者WEB&/u&&/b&&/p&&p&如果你没有如果的积累,没有体验过很多的APP或者WEB,一上来让你直接UX设计是很难的,所以第一阶段应该是分析现有热门APP或者WEB。&/p&&p&热门的产品在UX方面相对有考究,分析产品不要只是分析他们的页面交互方式啊,这样是不够的,一切交互都是要建立在是否方便用户学习、使用,方便解决他们的需求。要&/p&&p&&b&1)分析他们的主要目标用户群是哪些?这些用户群有什么样的特点?&/b&&/p&&div class=&highlight&&&pre&&code class=&language-text&&比如说美团外卖这个APP, 目标用户群应该是学生蓝领白领等中低收入人群,而不是高端收入人群。 这些中低端收入人群有什么特点呢?这些你可以通过网上查找资料,看产品所有人的说法以及其他人的分析
&/code&&/pre&&/div&&br&&p&&b&2)分析他们的核心功能,功能的优先级。分析用户的使用场景,一个功能通常对应多个用户场景,这些场景也是要有优先级的。&/b&&/p&&p&&b&3)然后分析他们各个场景的交互方式,判断这个功能的布局,交互方式是否能够方便用户快速解决他们的核心需求,交互方式是否满足用户使用场景。分析不要贪多,认认真真做好一个app的分析就能收益不少,分析要细致。&/b&&/p&&div class=&highlight&&&pre&&code class=&language-text&&比如说:如果一个app的核心功能需要用户点击好几次才能用到的话,这样的交互设计是有问题的。功能为用户服务,交互为功能场景服务,交互要将功能更好的呈现给用户。
比如说输入密码时,就有不同的交互方式:a.已输入的字符用小黑点隐藏,当前输入字符明文显示后隐藏;b. 直接用...形式隐藏密码;c.提供是否显示密码选项给用户。这几种交互方式有什么优缺点?哪个更能满足主要的用户场景呢?
如果银行APP的输入密码的交互,有一种场景,用户在户外输入密码,旁边可能有人,而且银行密码这个要求安全性很高,所以交互方式应该选择b(直接用...形式隐藏密码),有因为在用户输入密码时,旁边可能有人,为了防止他们故意瞄看记住键盘顺序,从而盗取密码,银行APP的输入密码的交互应该还要加上随机键盘按键顺序,每次输入密码,键盘按键顺序应该变更。
&/code&&/pre&&/div&&br&&p&&b&4)分析产品,不要只单单分析它一个,还要分析的它的竞争对手。国内很多APP是互相抄袭的,所以建议不要只分析国内产品,也要分析国外的产品。&/b&&/p&&p&&b&5)分析出他们交互的优缺点之后,要想想怎么改进啊,以前面试过一些人,很多人只会吐槽,但是说起如何改进起来就是哑口无言啊。。。如果你是UX设计师,你会采用什么样的交互方式?为什么?你的交互方式满足了用户特征吗?你的交互方式对应哪个用户场景啊?&/b&&/p&&p&以上所讲的分析更多是纵向分析,分析要细致,一开始分析的时候的确会有些难。
分析还可以横向分析,比如说很多电商app都有支付功能,你可以挑选出几个具有代表性的电商app,然后横向分析他们支付功能的交互。&/p&&br&&p&&b&&u&2、第二阶段:模仿临摹&/u&&/b&&/p&&p&&b&1)注意:&/b&&/p&&p&【临摹】不是【抄袭】,抄袭是不考虑用户使用场景,不管三七二十一,不考虑任何用户因素,直接把结果照抄。&/p&&p&【临摹】在的目的在于练习。临摹有几个阶段:&/p&&ul&&li&把常用的交互方式的优缺点都复制到你的脑海里,吸收转化成自己的东西。最开始的时候要做到的就是也就是全盘复制,不要去自作聪明做任何改动,可以分析一下GOOGLE和APPLE发布的官方材料。
&/li&&li&在完全掌握了目前最优秀的做法后,就可以根据自己的认识和经验对其进行改进,就是突破既有标准。但如果在还没有掌握号基础之前就想突破,很容易就心浮气躁,反倒不好。
&/li&&li&最后是创新。这个阶段最难,就是自成一派,变成别人的标杆。
&/li&&/ul&&br&&p&&b&2)临摹资源:&/b&
临摹资源有很多,dribbble和behance上面会有很多交互设计时分享他们的整个设计过程,还有可以参考知名院校毕业生的作品集,比如CMU HCID的学生作品集,收获会很多的。同时,还可以看一些设计咨询公司的优秀案例,多个纬度横向、纵向对比分析,然后自己按照优秀的作品集的思路重新做一遍,做完之后,放几天,然后再继续改进。&/p&&p&&b&&u&3、第三阶段:自己从头设计一个产品&/u&&/b&
这个阶段你就可以挖掘身边的需求啊,自己尝试从头设计一个app, 认认真真把所有的设计流程做一遍,市场调研?(虽然这些在公司里大多是产品经理弄的或者老板直接敲定。)目标用户群?(如何划分目标用户),用户群的特点是什么?(时间有限的话可以看一些权威论文),用户需求(如何用户调研,如何获取他们的需求?),用户使用场景?设计?用户测试?迭代改进?等等一系列的东西。&/p&&p&如果你实在不想挖掘需求,可以去app store或者android市场找一些用户量多的或者刚出来很火的app, 看应用市场里app下载页里的app功能描述,然后尝试自己设计这些功能的交互。(感谢评论里的 李走开。)&/p&&p&在实践阶段,不过是分析,还是自己设计,都可以把这些东西放在自己的博客或者Behance或者DRIBBBLE上,将来找工作的时候,都可以是自己的作品集。&/p&&p&&b&4、第四阶段:尝试找实习或者正式工作&/b&
我之前的设计部同事也是半路出家,自学UX设计的,他之前的专业与这个完全没有关系。&/p&&br&&p&&b&&u&三、建立UX人脉圈&/u&&/b&&/p&&img src=&/a28788bbeb_b.jpg& data-rawwidth=&600& data-rawheight=&338& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&/a28788bbeb_r.jpg&&&p&要往UX方向发展,自然少不了这个行业里的人脉,人脉建立可以有以下几个途径,欢迎补充。
1)社交网络:可以在facebook上找一些网页或者组织,当地会有很多UX的人聚会的活动,可以多参与勾搭;twitter上面follow一些人。国内的,在知乎,微博等地方都可以勾搭到相关UX设计的,多给他留言互动, QQ群或者微信群也会有一些线下见面会,多参与。&/p&&p&2)关注一些UX大牛的博客、Behance或者DRIBBBLE,多给他留言互动,久而久之内推什么的都不是问题,同时,自己的个人博客也要持续更新啊,这样和别人搭话也能让别人知道你们的热情。&/p&&p&3)参与一些UX的论坛会议之类的,这些有一些是要收费的,但是各种大牛哦。&/p&&br&&p&啊,写得好累,希望对大家有帮助(收藏数再一次是点赞数的几倍。。。)&/p&&p&&b&微信公众号:aishuojie1, 分享英国本土热衷的户内外活动、吃喝等干货,对英国感兴趣的朋友可以关注:)&/b&&/p&&img src=&/v2-f4bebfa8ae0dd_b.png& data-rawwidth=&1298& data-rawheight=&541& class=&origin_image zh-lightbox-thumb& width=&1298& data-original=&/v2-f4bebfa8ae0dd_r.png&&
UX不等于原型图,很多人一上来就是画原型图也是醉了,前期的用户调研才是最重要。
我之前在国内互联网公司做过产品,后来在英国读HCI专业,下面总结在google找到各种知名公司lead给出的意见,主要分为两点:学习UX + UX设计实践 +建立UX人脉圈。 因为国外UX…
没法祝你好运了。。。&br&&br&遥想当年,微软通知我笔试,然后笔试前一天通知我说他们弄错笔试时间了,以后会再通知。&br&哎。。 ╮( ̄▽  ̄&)╭我也不是智硬,这很明显是HR当初看漏了我的学校现在看清了嘛。。。&br&&br&google找好几个人内推结果发了简历人家不吭声,想想也是,推这种学校的人,不是砸自己招牌吗&br&百度我不想谈&br&腾讯不过我简历,笔试都没得做,这可是一面都要300多人的公司啊。。连我简历都不过&br&阿里笔试我80多分,人还夸我考得很高,然后来来回回被他们轮了4轮,最后被人骂“这种垃圾放进来干什么”,我永远都不会忘记那天酒店出来就下雨了,我在车站等公交车,心情跌落到谷底,我虽然压根不打算进淘宝,但连它都看不起我,难道程序员也是要看学历的的吗?&br&&br&我很清楚地记得一个面试我的小女孩,大概研究生毕业工作了几年了,问了些蠢问题后,见我简历上写过C编译器,就说问你点编译原理的问题吧,结果只能问出函数压栈内存分配heap stack这样的低级问题,我心想你起码应该和我讨论讨论chomsky文法,让我手写自动机,让我谈谈为c语言实现closure和gc吧。。。&br&当时iPhone4刚出来,淘宝的人几乎人手一部,这个女生也不例外,我心想这种水平的人也能用ip4,就是因为学校好就能在淘宝工作,我学得很好为什么连淘宝都进不了,看来软件行业也不比传统行业好到哪里去&br&&br&峰回路转的是过了几天后被X公司要了,人家觉得我是天才,同要的5个研究生都是手拿BAT offer的某985和中科院研究生,从他们那里我知道了腾讯是13-15万,百度才13万,测试每月多&a href=&tel:500-00&/a&。我觉得他们水平是真不济,但是都能通拿bat offer,说明bat只能招到这种水平的人而已&br&&br&当时我只投了这几个公司,因为我觉得别的公司没有投的意义,事实证明就是运气,找工作就是运气,面试也是运气,你说得再好表现得再懂,没多大意义,简历关你都未必能过。&br&就是看学历,没办法,不服气只能念个研究生去,要么就学我绕道走。&br&&br&&b&&u&找工作已然是看命了,烂学校找工作,不认命不行&/u&&/b&&br&&br&&br&&br&+++关于你的技术+++&br&&br&做的东西还行,初具模型,但是这东西只能锦上添花,我认为你的问题在于基础不好。&br&以我为例,我学习了2年,没有做过你说的project,但是我对各种东西理解透彻,水平大概是从来没看过面试书之类的,但可以解所有笔试面试算法题和领域知识问题,对于领域知识本身的理解足够深刻,可以裸解当年流行的大数据题和大数据程序题。&br&&br&你说的lzw压缩解压,看文档就写了,php也不是什么问题。&br&但你说没有突出的成绩,算法能力一般,只能写快排,对系统知识不了解,那你的数据结构、操作系统这些课就算是满分又如何呢?&br&&br&以我为例,我除了C和数据结构是自己考的,其他数据库、操作系统、计算机网络(我可是精熟tcpip和socket编程)、微机原理(我可是能熟练用汇编写程序的学生哟)、计算机组成(我可是能随便乱写模拟器的啊)、编译原理(我可是裸写过编译器的男人)&br&这些课我都是抄室友或者补考过的,所以我觉得考试多少分和懂多少,关系不大,不过你自己也说了就是了。。。。&br&&br&总之,我觉得你对编程有热情,但远远不够,&b&&u&编程水平最重要的体现只在于你对你所用的东西了解有多深,你怎么会对底层原理不感兴趣呢,怎么能容忍自己有那么多盲点呢?&/u&&/b&&br&&br&&br&除了算法导论刷题外,另随手送你两本书,有兴趣可以学学,《程序设计实践》、《编程珠玑》&br&工作后请一定读完csapp和sicp&br&&br&&br&所以我对你的建议就是:&b&&u&不要在乎一城一地的得失,如果你真热爱程序,一定搞懂应该搞懂的知识,被bat拒了一点关系都没有,学好技术再上知乎,找人内推你就是了&/u&&/b&&br&&br&&br&&br&&br&&b&&u&更新&/u&&/b&&br&&b&&u& 我想说几句额外的话,当年李彦宏北大毕业签证被拒北京户口拿不到,命运又何曾公平过?我和他完全比不了,没什么可抱怨的。&/u&&/b&&br&&b&&u&985的学生享受优先,也是因为努力学习的结果,但这就是命,也没什么可抱怨的。&/u&&/b&&br&&br&&br&&b&&u&可最后李彦宏不还是创了百度?&/u&&/b&&br&&br&&br&&b&&u&所以说,遇到困难什么的,都没毕业灰心绝望,许多年后回头看,这都不是个事。&/u&&/b&&br&&b&&u&所以学历不好的同学,事情已然如此,还请多多努力,不要丧失信心,也不要敌视别人。&/u&&/b&
没法祝你好运了。。。 遥想当年,微软通知我笔试,然后笔试前一天通知我说他们弄错笔试时间了,以后会再通知。 哎。。 ╮( ̄▽  ̄")╭我也不是智硬,这很明显是HR当初看漏了我的学校现在看清了嘛。。。 google找好几个人内推结果发了简历人家不吭声,想想也…
作为一个舰队collection第一代玩家这个题私不答不行。&br&&br&私从去年六月开始着任,当时的玩家数大概是三万左右,现在的玩家数接近一百六七十万了吧,每日登陆玩家数也应该有六十万了。
&br&&br&私作为一个见证了这个过程的人,来跟你说说舰队collection为什么火,以及楼主关心的,&b&为什么在中国这么一个八竿子打不着的地方&/b&也会流行。&br&&br&——————————————————————&br&有很多朋友谈到这个游戏有一些敏感问题,私以为&b&知乎上一切绑架问题借题发挥的行为都不该被鼓励,所以这里尽可能只回答题主问的,&/b&不多扯。 大家若是对这个游戏的影响有兴趣,可以另发问题重新讨论。&br&——————————————————————&br&&br&首先,舰娘的人设真的很好,不只是外形,从性格到台词,每一个设定都极好。私跟朋友曾经这么描述过,“&b&舰娘的人设是如此之好,你在一百多个舰娘里甚至找不到一个傲娇&/b&。”对一个小成本网游来说,将一百多个角色全部拖出来,&b&不套用传统的萌系性格,而是根据历史捏他来一个一个的详细做人设&/b&,将角色一一区分开来,赋予每一个角色独到的魅力,甚至于舰队collection第一次“最想结婚的舰娘”投票,全员都有得票,没有一个零票。一百多个角色的设定全部得到认可和喜爱。在这一点上,当下业界没有几个系列能做到。&br&&br&造型上, 如&a data-hash=&00c0e955b83ec1a387c6& href=&///people/00c0e955b83ec1a387c6& class=&member_mention& data-editable=&true& data-title=&@zecy& data-hovercard=&p$b$00c0e955b83ec1a387c6&&@zecy&/a&氏所说的,看板娘岛风的人设&b&可爱中不乏工口,符合市场需求&/b&,&b&首先在pixiv上得到了画师阵营的追捧&/b&,而像pixiv和niconico这样相对狭隘的圈子,很容易&b&发生“echo chamber effect”(回声室效应)&/b&。这个道理很简单,当有一个大手画师画了舰娘,被顶到ranking上面的时候,便有人会产生“这个系列是流行的,有人气的“这样的想法,于是这些人也会去了解和创作舰娘的作品,这一信息又被回馈给大触和其他画师,如此反弹几次,回音不断加强,画作越来越多,点击和评价也越来越高。 &b&信息或想法在一个封闭的小圈子里得到加强 ,导致每个人都产生”舰娘是很流行的“这样的认知,&/b&并逐渐将这一想法通过其他平台扩散到整个业界。若不能理解这个过程,请参考 &a data-hash=&da8fdd045cf05& href=&///people/da8fdd045cf05& class=&member_mention& data-editable=&true& data-title=&@神目狩狼哉& data-hovercard=&p$b$da8fdd045cf05&&@神目狩狼哉&/a& 所说的,回忆一下BRS走向流行的过程。&br&&br&另一方面,&b&舰娘在设定上有着大量大量大量的历史捏他,其数量之多,内涵之丰富,令人落泪&/b&。这一点为其在历史宅和军武宅中赢得了大量人气(当然也有少数人不买帐而转为舰娘黑)&br&举例来说,以下为航空母舰苍龙大破立绘:&br&&img src=&/c4bad888ad88a_b.jpg& data-rawwidth=&800& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&/c4bad888ad88a_r.jpg&&以下是&b&美国海军二战档案&/b&,航空母舰苍龙中弹部位示意图:&br&&img src=&/3e4faa2f609c_b.jpg& data-rawwidth=&160& data-rawheight=&127& class=&content_image& width=&160&&这两个图里航空甲板中弹位置&b&一模一样!一模一样啊!&/b&你要是军武宅,你惊不惊叹,你欢不欢喜,你喜不喜欢这种敬业和用心?&br&&br&再比如重巡洋舰古鹰&br&&img src=&/5d06fa755ff_b.jpg& data-rawwidth=&730& data-rawheight=&441& class=&origin_image zh-lightbox-thumb& width=&730& data-original=&/5d06fa755ff_r.jpg&&(感谢 &a data-hash=&40f728f473314acbb2f127& href=&///people/40f728f473314acbb2f127& class=&member_mention& data-editable=&true& data-title=&@神巫六六& data-hovercard=&p$b$40f728f473314acbb2f127&&@神巫六六&/a& 的指正,
因为私主要是读英文日文,不了解中文里的译名,把サボ島误译为塞班岛,&b&正确翻译为&/b&&b&萨沃岛&/b&,塞班岛为二战中另一岛屿,谢指正)&br&&br&左眼无光,且眼角位置有大片的灼伤痕迹。这个设定来源于萨沃岛海战期间,在夜战中为掩护旗舰青叶,打开探照灯(眼睛)吸引敌人火力,并强行插入青叶身前,以身作盾的举动。青叶因此得以脱离战线,古鹰则遭受猛烈炮轰,总计中弹90发,就此沉眠于萨沃岛底。&br&&br&像这样的典故,并不是只对历史宅和军武宅才适用,对普通的玩家来说,看到人设之后便会产生好奇的念头,去调查的话就会了解到背后的故事,可以说这样一个&b&从游戏中挖掘知识的行为本是是极其富有趣味性和吸引力的&/b&。知道了背景之后,便会产生共感,推动二次创作,比如说这样:&br&&img src=&/9d700eba0c302ec4225cde7ace0e5c01_b.jpg& data-rawwidth=&2500& data-rawheight=&1932& class=&origin_image zh-lightbox-thumb& width=&2500& data-original=&/9d700eba0c302ec4225cde7ace0e5c01_r.jpg&&”&i&加古を目の前で失ったあの日から。もう親友を目の前で失いたくはない、そんな一心で青葉を守るため一人戦う古鷹さん…。&/i& “&br&&br&于是又有了青叶:&br&&img src=&/bf45bf1d1d97a7f088d2da35bf28d88f_b.jpg& data-rawwidth=&1200& data-rawheight=&900& class=&origin_image zh-lightbox-thumb& width=&1200& data-original=&/bf45bf1d1d97a7f088d2da35bf28d88f_r.jpg&&&br&“&i&青葉くんは、大破して錆び付いた船体を背負って、空に向かって信号を打つんですよ。 &/i&&i&&br&「ワレアオバ、ワレアオバ」 &br&&/i&&i&戦争で沈んだ全ての}

我要回帖

更多关于 软件工程专业 知乎 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信