首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何从平面设计转行到UI设计?

    时代的变迁,科技的进步,工具的发展,薪资的差距,促使许多人转行的原因,但平面与界面两者之间有着哪些的差异呢?如果,想要转行又该具备哪些条件呢?...平面、界面设计之间的差异性 平面设计以『视觉』为主轴,强调资讯阅读的可视性以及爆炸的视觉效果,来吸引人们关注,而界面设计除了考虑视觉效果外,还同时需要专注在『使用需求』,一个好的产品讲究界面操作的逻辑性与流畅性...小型公司担任平面设计经常处于单打独斗,讨论的对象通常是老板、客户等(看公司产业性质而定),内容的需求、品味多数以主、客的需求为主;而界面设计则需考虑操作的流程、界面使用平台、界面解析度等,针对侧重点的不同做出相对应的调整...,面对讨论的对象也多了许多,比如RD、PM、UX、老板等,项目的成员相对多元,项目的流程规划也缜密许多,不再是只椅靠『视觉』就可以解决的事,而是必须清楚阐述设计方向、基于哪些论述、论点,以及与竞争对手产品设计上的差异等...生活周遭事物都可以是训练对设计的敏锐度、洞察力的选择,培养设计洞察力首先需换位思考,把自己当作是产品的设计者、生活上的体验家,将产品分解拆解研究它,研究产品的阶层、内容、色彩的搭配与文字间如何呼应、视觉动线等,并清楚了解该产品的目标对象

    52630

    python 递归函数——从入门到懵逼

    目录 递归函数 1、定义:函数在运行的过程中,直接和间接调用了自身,就是递归函数 2、递推到回溯的流程图: 递归函数 1、定义:函数在运行的过程中,直接和间接调用了自身,就是递归函数 python默认的最大递归深度为...1000次 实例如下: import sys # 获取最大递归深度 print(sys.getrecursionlimit()) # 结果 1000 # 修改最大递归深度为2000 sys.setrecursionlimit...递归函数的特性: 必须有一个结束的条件 每一次递归都必须离“结果”更近一步 通常前一次的输出作为后一次的输入 如果没有结束的条件或者递归次数过多会导致内存溢出 2....递归函数执行过程: 递推 一层一层往下推导答案,每一次推导必须离结果更近 回溯 依据递推的结论往回推导最初要求的答案,前一次的输出做为了后一次的输入 3....A说:我的年龄比B大2岁;B说:我的年龄比C大2岁 C说:我的年龄比D大2岁;D说:我3岁 那么从A说的条件到D说他的年龄这个过程为递推,然后3+2+2+2求A的年龄这个过程为回溯。

    57010

    如何在JavaScript中访问暂未存在的嵌套对象

    JavaScript 是个很神奇的东西。但是 JavaScript中的一些东西确实很奇怪,让人摸不着头脑。...其中之一就是当你试图访问嵌套对象时,会遇到这个错误 Cannot read property 'foo' of undefined 在大多数情况下,处理嵌套的对象,通常我们需要安全地访问最内层嵌套的值。...Oliver Steele的嵌套对象访问模式 这是我个人的最爱,因为它使代码看起来干净简单。 我从 stackoverflow 中选择了这种风格,一旦你理解它是如何工作的,它就非常吸引人了。...做法是检查用户是否存在,如果不存在,就创建一个空对象,这样,下一个级别的键将始终从存在的对象访问。 不幸的是,你不能使用此技巧访问嵌套数组。...使用数组Reduce访问嵌套对象 Array reduce 方法非常强大,可用于安全地访问嵌套对象。

    8.1K20

    c语言从入门到实战——函数递归

    因此,在使用递归时,应仔细考虑其效率和适用性。 1. 递归是什么? 递归是学习C语言函数绕不开的一个话题,那什么是递归呢? 递归其实是一种解决问题的方法,在C语言中,递归就是函数自己调用自己。...递归的限制条件 递归在书写的时候,有2个必要条件: 递归存在限制条件,当满足这个限制条件的时候,递归便不再继续。 每次递归调用之后越来越接近这个限制条件。...现在要把这些盘子移到C柱子上,但是移动过程中必须满足以下三个条件: 每次只能移动一个盘子; 盘子只能从大到小依次移动; 一次只能移动一个盘子。...柱子 printf("%c -> %c\n", a, c); return; } hanoi(n-1, a, c, b); // 先把上面 n-1 个盘子从...A 通过 C 移动到 B printf("%c -> %c\n", a, c); // 把最下面的大盘子从 A 移动到 C hanoi(n-1, b, a, c); // 最后把 B 上的

    22910

    从Javascript到Typescript到Node.js

    关于对象 Javascript里所有东西都是对象,数字是Number,数组是Array,字符串是String,函数也是Function对象。而所有对象都基于Object对象。...原型模型 Javascript的一个重要特点就是它是原型模型的(什么是原型模型请参考《设计模式》)。function是一个原型为Function实例的对象,同时可以由它来创建新的对象。...在Javascript对象查找成员的时候,如果当前对象不存在,就会去其原型中查找。按照原型链找到头为止。如果还没找到,就返回undefined。...另外,由于Javascript没有类似protected和private之类的关键字。所以在模拟面向对象继承的时候,只能使用私有成员(通过var申明)和公有成员(使用this....忽略var关键字 有的时候会忽略或者忘记掉var关键字,比如: var a = b = 123; 这行代码会把b写到window对象(浏览器)或global对象(Node.js)中。

    2.4K20

    从找对象到多线程

    从找对象入手加深理解 如果这么说还是不清楚的话,我们以一个找对象的例子来加深理解: 读研了,望着身边的小伙伴一个个都是成双成对,笔者有一个万年单身的好基友就跟一条酸菜鱼似的(又酸又菜又多余),想着要不也找个女朋友吧...于是就创建了一个名为「找对象」的进程。但是学校女生太多了,如果一个一个试的话不知道啥时候才能脱单。这时候,万能的度娘给出了建议,为什么不同时下手呢?...如果他只有这两个线程的话,想要完成「找对象」这个进程,就只能看这两个线程谁的执行效率更高(其实就是看谁先运行完)了。...这么一看,我的好基友貌似很快就可以完成「找对象」这一进程了,因为无论是哪个线程,只要有一个「撩妹」线程结束了,整个进程也就结束了。...亦或是如果不幸被两个妹子都发觉了对方的存在,却又为表大度,你让我我让你,最终导致「找对象」进程无法进行下去,这就叫做「活锁」。

    40640

    JavaScript基本语法:从入门到精通

    网页交互JavaScript允许你创建动态网页,通过添加交互性、验证表单、处理事件和修改DOM(文档对象模型)来改进用户体验。b....(j); // 打印 0 到 4 j++;}let k = 0;do { console.log(k); // 打印 0 到 4 k++;} while (k 对象对象是一种包含键值对的数据结构,用于组织和存储数据。对象可以嵌套,允许创建复杂的数据结构。...小结这是JavaScript基本语法的第二部分,我们已经介绍了注释、变量、数据类型、运算符、条件语句、循环、函数、数组和对象等核心概念。这些基础知识是学习JavaScript编程的重要基础。5....DOM 操作DOM(文档对象模型)是JavaScript与网页互动的关键。它代表网页的结构,并允许你通过JavaScript来操纵网页元素。以下是一些常见的DOM操作:a.

    53266

    python面向对象从入门到精通

    Python是一种功能强大且广泛使用的编程语言,它支持面向对象编程(OOP)。面向对象编程的核心是类的概念,它提供了一种组织代码和数据的强大工具。...一、类的基本概念在Python中,类是一种用户定义的数据类型,用于创建对象的蓝图或模板。通过类,我们可以定义对象的属性和方法,并根据需要创建、使用和销毁对象。...四、多态多态性是面向对象编程的重要特性,它允许相同的方法在不同的对象上表现出不同的行为。多态性通过继承和方法重写实现。...六、实例化和对象的使用在使用类时,我们需要通过实例化创建类的对象。实例化是指根据类的定义创建对象的过程。通过调用类的构造函数,我们可以创建一个新的对象,并将其分配给变量。...通过实例化,我们可以创建对象并使用对象的属性和方法。掌握Python类的使用对于深入理解和应用面向对象编程至关重要。

    28050

    类和对象:从基础到高级

    Python是一种面向对象编程(Object-Oriented Programming, OOP)的语言,这意味着它提供了用类和对象的方式来组织和管理代码的能力。...在实际开发中,类和对象是实现代码模块化、重用性和可扩展性的核心。本文将从零开始,详细讲解Python中类和对象的概念、语法以及高级用法,助你掌握这项核心技能。 1. 什么是类和对象?...**类(Class)**是对象的蓝图或模板。它定义了对象的属性和行为。 **对象(Object)**是类的实例(Instance),通过类实例化而来。...对象是用模具生产出来的“产品”,每个产品有相同的结构,但可以有不同的特性。 2. 定义类和创建对象 2.1 定义类 在Python中,使用class关键字定义类。...一个最简单的类如下: class Person: pass # 空类,暂时不定义任何属性或方法 2.2 创建对象 使用类名加括号即可创建对象。

    16810

    Linux网络数据转发平面的变迁-从内核协议栈到DPDKXDP

    昨晚读了一篇Paper:https://penberg.org/parakernel-hotos19.pdf 大意是说,随着IO设备的进化,它们的存取/传输速率已经超过了CPU到内存的存储/传输速率,再也不再是慢速...其实一开始从名字上将除CPU,内存之外的物件叫做 外设 (某种意义上磁盘也是),并且将其连接到相对慢速的桥片上,背后的假设就是 相对于CPU和内存,这些IO设备是慢速的。...如此一来,内核协议栈就不再参与数据平面的事了,留下来专门处理诸如路由协议,远程登录等控制平面和管理平面的数据流,妥妥的。...自2012年开始我就一直在关注Linux网络协议栈转发平面的性能优化,那个时代所谓的网络优化几乎都是基于Linux内核协议栈的优化,在还没有智能网卡,DPDK也不火爆的时代,能做的只是优化协议栈,当时除了华为等大厂也很少有做这块工作的...,像BAT这种互联网公司开始迭代的第一代云网络也都是从内核协议栈起步的,即便如此也很少有人专门做这块。

    1.9K21
    领券