无尽学习者修炼指南 v3.0
当你认准一件事的价值,长期投入;随着时间积累就会慢慢地产生质变。这些年,我就是这样做的——持续在设计与技术交叉领域投入精力。
—— Shadow, 上海
我获得了:能自由地、按照内心的想法,创作软件产品的能力。代码能力对于我来说,和设计一样,都是为了创造出好产品的一种手段而已。
如果你也想自由创作
请继续阅读
1 跨越职业的鸿沟
不知大家在平时工作中会不会有这样的感觉:作为设计师,与开发打交道,难免觉得 ” 巧妇难为无米之炊 “ ;而作为程序员,当自己开发了某个工具之后,为了追求更好的体验,却苦于不能「设计」,很难发挥更多。
以下是设计与技术相互融合的案例 STATMUSE
STATMUSE在技术上组合了
“数据可视化+聊天机器人+语音技术”
产品上,通过AI 扮演篮球解说员,为用户讲解各个球星历年的表现;体验上,AI 聊天机器人更像是一个搜索引擎的升级版,这种减轻聊天界面的设计,非常契合产品的调性。
技术与设计的融合催生了新的体验。设计师认真思考了技术的优势及特性,利用设计手段把技术融入产品体验中。
再看一个设计工具的例子 Framer
这些年,我们在工作中使用的工具一直在演进:从Sketch 、 Pixate,再到 Framer。
Framer 就是一款结合代码与可视化实现的交互设计工具。通过代码,可以完全控制交互效果,设计师不仅停留在画图的层面,更多的可以关注到实现的真实效果。设计工具在进化中影响了使用者融合技术与设计。
2 Infinite Learner
无尽学习者
如今,技术的迭代速度非常快。比如 web 网页的 css 布局方式,就历经了 float 、 flex 、 grid 的进化;移动端 APP 的混合开发也经历了由 IONIC 、 REACT NATIVE 的变迁;机器学习也越来越普及,相关的深度学习、强化学习、迁移学习等,也越来越大众。
技术的变迁,也为用户带来了新体验。具体表现为交互方式的革新、新的设计方法产生。例如,语音识别技术的成熟,对话聊天技术应用的场景越来越多,从可视化的 UI 界面,过渡到了语音的控制。还有文本转语音技术的成熟,使得用户不想看文字的时候,可以选择倾听。
AI产品podcastle.ai
人工智能渗透到各行各业,人与机器如何协同创新,产生了人机协同设计的新理念,比如在香水瓶的设计上,通过简单设定一些条件,机器生成大量的参考,然后设计师再进一步深入设计:
协同创新框架
你认为,人机关系变化是由
设计,还是技术带来的?
宁静技术Calm Technology,倡导技术无缝地融入人类的生活,而不是让人类时时感到技术的存在。通俗点来讲,我们不会消失在电脑空间中,而是电脑将消失在我们的生活。
通过智能手环,界面融入到我们生活当中。我们需要做的可能只是晃动一个手势,几句语音应答而已。
保持好奇心,以开放的心态,持续学习。我自己每天都会在《MIX+人工智能》更新人工智能交叉学科的习得。
516人正在学习AI+泛设计
扫码加入
3 计算机思维是什么?
是写代码吗?
雷军在小米之前,做了10年程序员。京东刘强东在一次讲座上,称自己大三(1995年)的时候,给别人写代码,一个晚上就能赚5万……
但是,写代码是困难的吗?Mixlab群里一位朋友,学习Python,在坚持了2个月左右,最终放弃了。他觉得代码要学习的知识太庞大了,不知如何入手,一旦有新问题解决不了学习进度就卡在那里,从而越学越觉得难。
我认为,代码最难的是逻辑,尤其是复杂的逻辑。
引用一位Oracle程序员在Hacker News上吐槽自己工作的讨论:“Oracle经历长期的产品线迭代,代码异常庞大、逻辑复杂。每新增一个特性或者修复BUG,就需要大量的调试,每天都小心谨慎的进行着日常的工作”。Oracle每次的版本发布都经历数百万次的测试,工作量可想而知。
那么,问题来了
学代码应该学什么 ?
试试回答以下问题,来掌握程序运行的逻辑:
01 如何通过指令给计算机安排任务?
02 计算机如何按我们设定的条件执行任务?
03 计算机是如何执行重复执行任务的?
04 计算机完成任务的时候如何反馈给我们?
学代码有方法吗? 一般来说,初学者有2类:零基础,指的是系统了解过编程语言的;入门级,会一门编程语言,会写一点点代码,但无法自己完成一个项目从0到1构建的。
我的学习心得
如下:
01 最小项目实践+系统地刻意练习
如果是零基础,建议先学一门语言,一步步来,适当增加实践项目的练习,比如DIY一个以图搜图引擎等类似的项目。当你学完这一阶段的入门,不再是0基础之后,就可以尝试了解各种语言的环境安装、最小可运行代码集,以及各种开发工具,尝试各种好玩、复杂的项目了。
02 最小可运行的代码集
主要通过看示例,包括作者提供的示例代码,网上文章提供的示例代码等;
举一个的以图搜图代码示例 turicreat
03 理解功能
理解代码里的每一句的含义,真实的行为,就跟读书一样,知道作者的核思想是什么;比如下面这3句:
第1句 是初始化一个类,
该类可以提取图片的特征向量;
第2句 是通过文件路径打开图片;
第3句 是从图片提取特征向量。
04 关注输入、输出的数据结构
输入是字符串,还是一个列表,还是一个字典?输出的是什么也非常重要。比如输出的时候,有None的可能,那下一段代码对此输出结果引用的时候,就要注意啦。 如果输入_idea为"",输出为None,这个时候写代码的时候就要留意输入跟输出的各种可能。
05 即搜即用
当你掌握以上技巧的时候,就会发现没必要从头到尾全部一口气把代码全部学完,需要的时候再快速翻阅文档,通过示例、输入输出、理解功能这三个点,就可以现学现用啦。配合搜索引擎,我们几乎可以解决任何编程问题。
06 优雅的代码
对于初学者来说,需要关注如何书写优雅的代码,主要表现在:
代码所在位置恰当;
有适当的注释;
适当的缩进和空行;
以及没有重复代码……
这里面的内功修养,离不开设计模式(插入文章链接)和代码重构,还要有非常多的实践与刻意练习。写代码是基本功,锻炼的是逻辑思维能力,跟解决问题的能力。在不久的未来,写代码也是可以机器完成的。pix2code 等论文就提出了一个强大的前端代码生成模型,解释了如何利用 LSTM 与 CNN 将设计原型转化为 HTML 和 CSS 网站。
4 不变的是什么?
学代码,应该更多地关注底层逻辑思维能力。
我自己本身就是一名跨界设计师。(点击阅读)
从事过景观设计、旅游规划、地产设计管理、参数化设计、用户体验设计、数据可视化、互联网产品设计。
每一类设计其实都有不一样的知识,新接触的设计,我一般会了解相关的设计方法,设计的元素具有什么样的特性,经典的案例有哪些,再结合经验上的积累,来进行设计。
我认为其中不变的是
“设计思维”
以下有三种设计思维的模型:
简单的四步模型
探索、生成、评估、交流(1989)
双钻石模型
发现、定义、开发、交付(2006)
设计思维模型
移情、定义和可视化、构思与合作、
原型、测试(2016)
如何把设计思维方法论
转化为自己的能力呢 ?
01 掌握完整的设计过程
一个完整的设计过程应该包含:前期调研、分析问题、概念方案、深化方案、实施。不同的设计类别所涉及的过程相差不大,但作为设计师,应该全链路都有所积累,需要成为“全链路设计师”。
02 刻意练习:设计思维
我一直坚信设计思维是相通的,核心无非是创造更好的用户体验,平衡美与实用功能的关系。说来简单,实际做起来非常难。需要我们不断实践,不断思考,积累经验才能形成很好的设计思维。
1万小时的
练习是适用的
从使用者的角度看问题,真实体验生活;
找出问题的根源,确定需求;
搜集背景资料,认真分析;
用最简单、粗暴的方式解决问题;
融入美学的方式,更优雅地解决问题;
总而言之,重点是培养用户思维。设计是为用户服务的,不管做什么样的设计,与用户站在同一立场是非常重要的。
03 基本功:设计技术
设计工具,就像我们常说的“技与艺”的关系。设计思维是“艺”,决定了设计的水平;设计工具是“技”,辅助设计师更好的表达想法,实现。
“技”,包括手绘、手工艺、CG手段,动画、编程、3D打印、各种设计工具等。人工智能是一种工具,而且会是一种比较炫酷的“技”。
新一代图像编辑器 facet.ai
04 拥抱变化,总结归纳
作为一名设计师,跨界是必须的。而如何快速学习,要求有较高的自学能力,同时随着各种知识的积累,还需要良好的总结归纳能力,不断整理自己的知识体系,才能加深对知识的掌握,形成个人方法论。
跨界创新
我一直在思考怎样才可以为无尽学习者们Infinite Learner ,提供更好的服务?也许是这样一个可以交流的社区:跨界,开放,共享,学习。
欢迎加入
作者:Shadow
主编:CHUN FANG
增长黑客:Chauncy Guo
添加小编加入我们的跨界大本营
欢迎一起来探索未知世界
更多资料请查阅:Mix+人工智能专刊
516人已加入 限时优惠 ????
每期由mixlab社区精选、收录人工智能的相关内容。包括AI产品、AI技术、AI场景、AI投资事件、AI的思维方式等。MIX的主题包括:AR、VR、计算设计、计算广告、智能设计、智能写作、虚拟偶像等。
付费加入星球后,即可免费加入科技前沿外刊群:《新科学家杂志》、《英国金融时报》、《华尔街日报》、《经济学人》、《纽约时报》、《泰晤士报》等当日最新外刊。
转发求支持!
无尽学习者修炼指南 v3.0相关推荐
- 微软出品 Kubernetes 最新学习指南 v3.0
概述 Kubernetes 正在席卷应用开发世界,这是一个不争的事实.预计到 2022 年,全球有超过 75% 的组织将在生产环境中运行容器化应用程序. Kubernetes 正在塑造应用程序开发和管 ...
- matlab norm函数_MATLAB | TAM 211 存活指南 V3.0
点击蓝字 关注我 本文大部分内容为2019年初次接触 TAM 211时所写,后续存在少量修改与增补.叙述时间可能有点错乱,凑合着看吧. 新的学期,我们迎来了 TAM 211 , 静力学的课程.虽说这是 ...
- 下载!微软出品的最新 Kubernetes 学习指南 3.0
点击上方"逆锋起笔",关注领取视频教程 ☞ 程序员进阶必备资源免费送「各种技术!」 ☜ Kubernetes 正在席卷应用开发世界,正在塑造应用程序开发和管理的未来,这是一个不争的 ...
- Kotlin修炼指南(三)——奇技淫巧
Kotlin作为Android开发的首选语言,为开发者提供了大量的语法糖和技巧,让开发者可以专注于需求开发,而将语言所带来的影响减少到最少.Java和Kotlin最大的区别,实际上在于Kotlin的函 ...
- ABP框架 v3.0 已发布!
我们很高兴地宣布,ABP框架和ABP商业版3.0版已经发布.与常规的2周发布一个版本不同的是, 这个版本用了4周的时间.关闭了119个issue,合并了89个pull request 和主框架仓库中的 ...
- Android 百度地图 SDK v3.0.0 (一)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37729091 最近公司要把百度地图集成的项目中,于是我就研究了一天百度地图的SD ...
- .NET Micro Framework开发板用户简明手册(v3.0)
说明:前段时间已经先后发布了<.Net Micro Framework开发板用户简明手册>和< .NET Micro Framework开发板用户简明手册(v2.0)>,分别对 ...
- 树莓派机器人小车(创乐博)修炼指南(一)
树莓派小车修炼指南(一) 主要是小车前期的准备工作 一.拼装小车 详见安装视频 踩坑指南: 可以将所有其他零件安装完毕后再安装轮子(先安装轮子不方便安装电池和电机) 注意第一层金属板的正反亚克力板安装 ...
- 《Java修炼指南:高频源码解析》阅读笔记一Java数据结构的实现集合类
一.Arrays工具类 来自java.util.Arrays,用来处理数组的各种方法. 1.1 List asList(T- a) 用来返回由自定数组支持的固定大小列表,虽然这里返回了一个List,但 ...
最新文章
- Furein平台-比特币现金晋级毕竟在吵什么
- 《C#高级编程》 读书心得1--核心C# 几点你可能没注意,但很基础的小东西。
- visio数据流线文字方向的问题
- 腾讯发现Google Home首个无接触攻破漏洞
- 如何在CRM WebClient UI里打开外部链接
- 工业交换机的价格为什么有高低之分?
- 新扬天电脑所配USB键盘功能键驱动问题注意事项
- php中函数的类型提示和文件读取功能
- java robot api_用java Robot API 模拟实现类似按键精灵功能
- gf(2 4)有限域的乘法c语言实现,有限域GF(2^n)的C语言实现浅析
- javaWeb连接数据库实现简单的登陆注册功能
- 计算机公式里qf是什么,计算公式
- mysql异常-SQLSTATE[HY000]: General error: 1436 Thread stack overrun
- flashfxp 命令行
- seek()方法的使用
- 细水长流+润物无声——2021企业营销数字化转型研究报告
- 链表的头插法和尾插法——头插尾插交替插入
- 多条Precision-Recall(PR)曲线绘制(PR曲线)含python代码
- uniapp微信小程序实现连接低功耗蓝牙打印功能
- 申请软件著作权的流程有哪些?让专业人士带你了解
热门文章
- Dython 容联云的一个测试短信验证码
- java excel 边框颜色_poi生成excel整理(设置边框/字体/颜色/加粗/居中/)
- android canvas画图gc,自定义控件绘图(Canvas,Paint,Region等)篇一
- Ubuntu系统出现kernel panic
- 在线PDF编辑网站http://www.pdfescape.com
- Testin云测平台操作步骤
- 教你简单学会用Python画长草颜团子
- 分享一个自己做的一个3DM手机客户端
- 【整理】Python中的re.search和re.findall之间的区别和联系 + re.finall中带命名的组,不带命名的组,非捕获的组,没有分组四种类型之间的区别
- openwrt查看linux内核,OpenWrt教程-如何升级linux内核版本