精华内容
下载资源
问答
  • 包含了 Python 基本规则、Python 语言特点、计算机语言、如何运行 Python、变量赋值,一共五个方面。 光这一张图就能帮你快速掌握 Python 编程基础知识。 包含了模块结构、布局、IO 编程流程、标识符、Python ...

    思维导图算的上是学习神器。这些思维导图无论是用来打基础,还是作为复习手册查漏补缺,都是上上之选。

    其中不仅包含了 Python 的各样基础知识,还包含了模块、面向对象编程等进阶知识。
    在这里插入图片描述
    包含了 Python 的基本规则、Python 语言特点、计算机语言、如何运行 Python、变量赋值,一共五个方面。

    光这一张图就能帮你快速掌握 Python 编程的基础知识。

    在这里插入图片描述
    包含了模块结构、布局、IO 编程流程、标识符、Python 对象、内存管理、动态类型六大模块。
    在这里插入图片描述
    包含了 Python 模块的命名空间、作用域、调入技巧等等。
    在这里插入图片描述
    这张图包含的是 Python 核心,函数。

    不仅介绍了函数的概念,还着重点出了函数的调用方法,甚至还包括装饰器等高阶玩法。

    在这里还是要推荐下我自己建的Python开发学习群:810735403,群里都是学Python开发的,如果你正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2020最新的Python进阶资料和高级开发教程,欢迎进阶中和进想深入Python的小伙伴!

    展开全文
  • 下图是完整故障排查思路,如果想获得更清晰的图片,请在公众号后台(RancherLabs)回复“troubleshooting”。 当希望在Kubernetes中部署一个应用程序,通常需要定义三个组件: Deployment——这是创建名为...
        

    本文将帮助你厘清在Kubernetes中调试 deployment的思路。下图是完整的故障排查思路,如果你想获得更清晰的图片,请在公众号后台(RancherLabs)回复“troubleshooting”。

    当你希望在Kubernetes中部署一个应用程序,你通常需要定义三个组件:

    • Deployment——这是创建名为Pods的应用程序副本的方法

    • Serivce——内部负载均衡器,将流量路由到Pods

    • Ingress——可以描述流量如何从集群外部流向Service

    接下来,我们通过图片快速回顾一下。

    在Kubernetes中,你的应用程序通过两层负载均衡器暴露:内部和外部。

    内部负载均衡器称为Service,而外部负载均衡器则称为Ingress。

    Pod未直接部署,因此,Deployment创建Pod并监视它们。

    假设你想部署一个简单的Hello World应用程序,那么对于此类应用程序,其YAML文件与以下类似:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: my-deployment
      labels:
        track: canary
    spec:
      selector:
        matchLabels:
          any-name: my-app
      template:
        metadata:
          labels:
            any-name: my-app
        spec:
          containers:
          - name: cont1
            image: learnk8s/app:1.0.0
            ports:
            - containerPort: 8080
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: my-service
    spec:
      ports:
      - port: 80
        targetPort: 8080
      selector:
        name: app
    ---
    apiVersion: networking.k8s.io/v1beta1
    kind: Ingress
    metadata:
      name: my-ingress
    spec:
      rules:
      - http:
        paths:
        - backend:
            serviceName: app
            servicePort: 80
          path: /
    

    这个定义很长,容易忽略组件之间的相互关系。

    例如:

    • 你什么时候应该使用80端口,什么时候使用端口8080?

    • 你是否应该为每个服务创建一个新端口,以免它们冲突?

    • 标签(label)名称重要吗?是否应该每一处都一样?

    在进行debug之前,我们先来回顾一下这三个组件之间的关系如何。

    首先,我们从Deployment和Service开始。

    连接Deployment和Service

    实际上,Deployment和Service根本没有连接。相反,该Service直接指向Pod,并完全跳过Deployment。所以,你应该关注的是Pod和Service是如何与彼此关联的。你应该记住三件事:

    1. Service selector至少与Pod的一个标签匹配

    2. Serivce targetPort应该与Pod内的容器的containerPort相匹配

    3. Serviceport可以是任何数字。多个Service可以使用同一个端口,因为它们已经被分配了不同的IP地址

    以下图片总结了如何连接端口:

    考虑由Service暴露的pod

    当你创建一个pod,你应该在你的Pod中为每个容器定义端口containerPort

    当你创建一个Service时,你能够定义一个port和一个targetPort。但你应该将哪一个连接到容器呢?

    targetPortcontainerPort应该能够匹配

    如果你的容器暴露端口3000,那么targetPort应该与该数字相匹配。

    如果你查看了YAML,标签与portstargerPort应该匹配:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: my-deployment
      labels:
        track: canary
    spec:
      selector:
        matchLabels:
          any-name: my-app
      template:
        metadata:
          labels:
            any-name: my-app
        spec:
          containers:
          - name: cont1
            image: learnk8s/app:1.0.0
            ports:
            - containerPort: 8080
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: my-service
    spec:
      ports:
      - port: 80
        targetPort: 8080
      selector:
        any-name: my-app
    

    那么在Deployment顶部的track: canary标签呢?也应该匹配吗?

    那个标签属于deployment,并且Service selector不使用它来路由流量。换言之,你可以安全地将其移除或者给它分配不同的值。

    那么matchLabelsselector呢?它需要与Pod标签匹配并且Deployment使用它来跟踪Pod。

    假设你做了一个正确的更改,你应该如何测试它呢?你可以使用以下命令检查Pod是否拥有正确的标签:

    kubectl get pods --show-labels
    

    或者如果你有属于多个应用程序的Pod:

    kubectl get pods --selector any-name=my-app --show-labels
    

    其中any-name=my-app是标签any-name: my-app。依旧存在问题?你也可以连接到Pod。你可以在kubectl中使用命令port-forward连接到Serivce并测试连接。

    kubectl port-forward service/<service name> 3000:80
    

    其中:

    • service/<service name>是serivce的名称——在当前YAML中,是“my-service”。

    • 3000是你希望在你的电脑上打开的端口

    • 80是Service在port字段中暴露的端口

    如果你能够连接,那么设置就是正确的。如果你无法连接,你很有可能弄错了标签或者端口未匹配。

    连接Service和Ingress

    暴露应用程序的下一步是配置Ingress。Ingress必须知道如何检索Service,然后检索Pod并将流量路由到它们。Ingress通过名称和暴露的端口来检索正确的Service。

    在Ingress和Service中应该匹配两件事:

    1. Ingress的servicePort应该与Service的port匹配

    2. Ingress的serviceName应该与Service的name相匹配

    以下图片将总结如何连接端口:

    你已经知道该服务暴露了一个端口

    Ingress有一个名为servicePort的字段。

    Serviceport和IngressservicePort应该相匹配

    如果你决定分配端口80给该service,你应该同时更改servicePort为80

    实际操作中,你需要查看这些命令行:

    apiVersion: v1
    kind: Service
    metadata:
      name: my-service
    spec:
      ports:
      - port: 80
        targetPort: 8080
      selector:
        any-name: my-app
    ---
    apiVersion: networking.k8s.io/v1beta1
    kind: Ingress
    metadata:
      name: my-ingress
    spec:
      rules:
      - http:
        paths:
        - backend:
            serviceName: my-service
            servicePort: 80
          path: /
    

    你应该如何测试Ingress是否正常运行呢?你可以使用和之前相同的策略,即kubectl port-forward,但不是连接到service,而是连接到Ingress controller。

    首先,使用以下命令为Ingress controller检索Pod名称:

    kubectl get pods --all-namespaces
    NAMESPACE   NAME                              READY STATUS
    kube-system coredns-5644d7b6d9-jn7cq          1/1   Running
    kube-system etcd-minikube                     1/1   Running
    kube-system kube-apiserver-minikube           1/1   Running
    kube-system kube-controller-manager-minikube  1/1   Running
    kube-system kube-proxy-zvf2h                  1/1   Running
    kube-system kube-scheduler-minikube           1/1   Running
    kube-system nginx-ingress-controller-6fc5bcc  1/1   Running
    

    验证Ingress Pod(可能在不同的命名空间)并且描述它以检索端口:

    kubectl describe pod nginx-ingress-controller-6fc5bcc \
     --namespace kube-system \
     | grep Ports
    Ports:         80/TCP, 443/TCP, 18080/TCP
    

    最后,连接到Pod:

    kubectl port-forward nginx-ingress-controller-6fc5bcc 3000:80 --namespace kube-system
    

    此时,每次你在你的电脑上访问端口3000,请求就会被转发到在Ingress controller Pod上的端口80。

    如果你访问 http://localhost:3000 ,你应该能找到提供网页的应用程序。

    简单回顾一下

    现在,我们来快速回顾一下什么端口和标签需要匹配:

    1. Service selector应该匹配Pod的标签

    2. ServicetargerPort应该匹配在Pod内容器的containerPort

    3. Service 端口可以是任意数字。多个Service可以使用同个端口,因为它们已经分配了不同的IP地址

    4. Ingress的servicePort应该匹配在Service中的port

    5. Service的名称应该匹配在Ingress中的serviceName的字段

    了解如何构造YAML只是开始。那么,出了问题时会有什么表现?Pod可能无法启动,或者直接崩溃。

    3步排查K8S Deployment故障

    在我们深入研究有故障的deployment之前,必须有一个明确定义的模型,以了解Kubernetes的工作方式。

    既然在每个deployment中都有那三个组件,你应该从底层开始按顺序调试它们。

    1. 你应该确保你的Pod正在运行

    2. 着重关注使Service将流量路由到Pod

    3. 检查Ingress是否正确配置

    你应该从底层开始排查Deployment故障。首先,检查Pod是否准备就绪并且正在运行

    如果Pod已经准备就绪,你需要检查Service是否可以将流量分配到Pod。

    最后你应该检查Service和Ingress之间的连接。

    1、 故障排查Pod

    在大多数情况下,问题出现在Pod本身。所以你应该确保Pod正在运行并准备就绪。应该如何检查呢?

    kubectl get pods
    NAME                    READY STATUS            RESTARTS  AGE
    app1                    0/1   ImagePullBackOff  0         47h
    app2                    0/1   Error             0         47h
    app3-76f9fcd46b-xbv4k   1/1   Running           1         47h
    

    以上部分,只有最后一个Pod是正在运行并且准备就绪的,而前两个Pod既没有Running也没有Ready。那么,你应该如何定位是什么出了问题呢?

    这里有4个十分有用的命令可以帮助你排查Pod的故障:

    • kubectl logs <pod name>能够帮助检索Pod的容器日志

    • kubectl describe pod <pod name>能够有效地检索与Pod相关的事件列表

    • kubectl get pod <pod name>对于提取存储在Kubernetes中的Pod的YAML定义十分有用

    • kubectl exec -ti <pod name> bash可以用于在Pod其中一个容器中运行一个交互式命令

    你应该使用哪一个呢?实际上,没有一种命令是万能的,你可以根据实际情况结合使用。

    常见的Pod错误

    Pod可能会出现启动和运行时的错误。

    启动错误包括:

    • ImagePullBackoff

    • ImageInspectError

    • ErrImagePull

    • ErrImageNeverPull

    • RegistryUnavailable

    • InvalidImageName

    运行时错误包括:

    • CrashLoopBackOff

    • RunContainerError

    • KillContainerError

    • VerifyNonRootError

    • RunInitContainerError

    • CreatePodSandboxError

    • ConfigPodSandboxError

    • KillPodSandboxError

    • SetupNetworkError

    • TeardownNetworkError

    这些错误中,有些比其他错误更为常见。以下是最常见的错误以及如何修复它们:

    ImagePullBackOff

    当Kubernetes无法检索Pod其中之一的容器镜像时,将出现此错误。

    有三种常见原因:

    • 镜像名称无效——例如,你错误拼写名称或镜像不存在

    • 你给这一镜像指定了一个不存在的tag

    • 你所检索的镜像是私有仓库的,并且Kubernetes没有访问它的凭据

    前两个原因可以通过更正镜像名称和tag解决。最后一个,你需要将凭据添加到“Secret”中的私有镜像仓库中,并在Pod中引用它。

    官方文档可以让你更加清楚:

    https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/

    CrashLoopBackOff

    如果容器无法启动,Kubernetes状态将显示CrashLoopBackOff消息。

    通常情况下,容器在以下场景中无法启动:

    你应该尝试并检索该容器的日志以确定出现故障的原因。

    如果由于你的容器重启过快而无法查看日志,你可以使用以下命令:

    kubectl logs <pod-name> --previous
    

    它将从之前的容器中打印错误信息。

    RunContainerError

    容器不能启动时出现错误,甚至在容器内的应用程序启动之前就无法启动。

    这个问题通常由于错误配置导致的,如:

    • 安装一个不存在的volume,如ConfigMap或Secret

    • 将只读volume安装为可读写

    你应该使用kubectl describe pod <pod-name>来收集和分析错误。

    Pod处于Pending状态

    当你创建一个Pod时,Pod保持在Pending状态。这是为什么呢?假设你的调度组件运行了解,那么有以下几个原因:

    • 集群没有足够的资源来运行Pod,如CPU和内存

    • 当前命名空间有一个ResourceQuota对象并且所创建的Pod会使该命名空间超过资源额度

    • Pod与一个Pending状态的PersistentVolumeClaim绑定。

    那么,最好的选择是使用命令kubectl describe检查事件:

    kubectl describe pod <pod name>
    

    对于由于ResourceQuotas造成的错误,可以使用以下方法检查集群的日志:

    kubectl get events --sort-by=.metadata.creationTimestamp
    

    Pod不处于Ready状态

    如果Pod正在运行但是不Ready,这意味着Readiness探针出现故障。当Readiness探针出现故障时,Pod无法附加到Service上,并且流量无法转发到实例上。

    Readiness探针故障是特定于应用程序的错误,因此使用kubectl describe来检查事件部分,以验证错误。

    2、 排查Service故障

    如果你的Pod正在运行并且准备就绪,但是你依旧无法接收来自应用程序的响应,你应该检查Service是否配置正确。

    Service旨在根据pod的标签将流量路由到Pod。所以第一件事,你需要检查Service target多少个Pod。可以通过检查Service中的Endpoint来完成此步骤:

    kubectl describe service  <service-name>  |  grep Endpoints
    

    一个endpoint是一对```,并且当Service(至少)target一个pod时。至少有一对。

    如果“Endpoint”部分是空的,那么有两种解释:

    1. 任何正在运行的Pod没有正确的label(提示:你需要检查以下你是否在正确的命名空间内)

    2. 在Service的selector标签中有错别字

    如果你看到了endpoint列表,但依旧无法访问你的应用程序,那么你的Service中的targetPort可能是罪魁祸首。

    你应该怎么测试Service?无论Service类型是什么,都可以使用kubectl port-forward连接到它:

    kubectl port-forward service/<service-name> 3000:80
    

    其中:

    • ```是Service的名称

    • 3000是你想要在电脑上打开的端口

    • 80是由Service暴露的端口

    3、 排查Ingress故障

    如果你走到了这个部分,这意味着:

    • Pod正在运行并且准备就绪

    • Service可以分发流量给Pod

    但你依旧无法接收app的响应。那么这很有可能是Ingress配置出现错误。

    由于使用的Ingress controller是集群中的第三方组件,那么根据Ingress controller的类型会由不同的调试技术。但是在深入研究Ingress特定的工具之前,你可以使用一些简单的方法检查。

    Ingress使用serviceNameservicePort连接Service。你应该检查那些是否正确配置。你可以使用以下命令检查Ingress是否正确配置:

    kubectl describe ingress <ingress-name>
    

    如果Backend列是空的,那么配置中肯定存在错误。

    如果你能在Backend列中看到endpoint,但依旧无法访问应用程序,那么可能是以下问题:

    • 你将Ingress暴露于公网的方式

    • 你将集群暴露于公网的方式

    你可以通过直接连接到Ingress Pod将基础设施问题与Ingress隔离开来。

    首先,为你的Ingress Controller检索Pod(可能位于不同的命名空间中):

    kubectl get pods --all-namespaces
    NAMESPACE   NAME                              READY STATUS
    kube-system coredns-5644d7b6d9-jn7cq          1/1   Running
    kube-system etcd-minikube                     1/1   Running
    kube-system kube-apiserver-minikube           1/1   Running
    kube-system kube-controller-manager-minikube  1/1   Running
    kube-system kube-proxy-zvf2h                  1/1   Running
    kube-system kube-scheduler-minikube           1/1   Running
    kube-system nginx-ingress-controller-6fc5bcc  1/1   Running
    

    描述它以检索端口:

    kubectl describe pod nginx-ingress-controller-6fc5bcc
     --namespace kube-system \
     | grep Ports
    

    最后,连接到Pod:

    kubectl port-forward nginx-ingress-controller-6fc5bcc 3000:80 --namespace kube-system
    

    此时,每次你在电脑上访问端口3000,请求将会转发到Pod上的端口80。

    那么,现在能够正常运行了吗?

    如果正常工作,问题就出在基础设施。你应该检查流量如何路由到你的集群。

    如果无法正常工作,问题就在Ingress controller。你应该调试Ingress。

    如果仍然无法使Ingress controller正常工作,则应该开始对其进行调试。市场有许多不同版本的Ingress controller。比较流行的包括Nginx、HAProxy、Traefik等。

    你应该查阅Ingress controller的文档以查找故障排查指南。

    既然Ingress Nginx是最流行的Ingress controller,那么在下一个部分我们将介绍一些相关的技巧。

    调试Ingress Nginx

    Ingress-nginx有kubectl的官方插件,你可以访问以下网址查看:

    https://kubernetes.github.io/ingress-nginx/kubectl-plugin/

    你可以使用kubectl ingress-nginx来进行以下操作:

    • 检查日志、Backend、证书等

    • 连接到Ingress

    • 检查当前的配置

    你还可以尝试以下三个命令:

    • kubectl ingress-nginx lint这是用来检查nginx.conf

    • kubectl ingress-nginx backend来检查Backend(与kubectl describe ingress <ingress-name>类似)

    • kubectl ingress-nginx logs来检查日志

    请注意,你需要使用--namespace <name>来指定正确的命名空间。

    总 结

    如果你毫无头绪,那么在Kubernetes中进行故障排除可能是一项艰巨的任务。

    你应该永远记住以从下至上的顺序解决问题:现检查Pod,然后向上移动堆栈至Service和Ingress。

    而本文中的debug技术在其他地方也是通用的,例如:

    • 出现故障的Jobs和CronJobs

    • StatefulSets和DaemonSets

    希望大家都没有bug!

    展开全文
  • 如何让目录美观实用(博客内链接)

    千次阅读 多人点赞 2012-05-02 17:38:17
    如果你的博客内容较少目录的作用不是很大,但是如果你的博客长篇大论,一个好的目录可以清晰的展现你的思路和内容纲要,不至于让你的观众看着看着想点右上角的叉叉。如果百度百科没有这样的目录,你还有仔细看下去的...

        目录是博客内容高度总结的显示方式,可以直观展现博客表达的脉络,起到提纲挈领的作用。如果你的博客内容较少目录的作用不是很大,但是如果你的博客长篇大论,一个好的目录可以清晰的展现你的思路和内容纲要,不至于让你的观众看着看着想点右上角的叉叉。如果百度百科没有这样的目录,你还有仔细看下去的勇气么?

        其实做到百度百科这样的目录非常简单,稍微有点html基础就行,下面先来看一下一个简单的带链接的目录示例:

    作者简介博客简介内容简介 博客总结

        点击“作者简介”跳转到这里:廊坊师范学院信息技术提高班八期李达。

        点击“博客简介”跳转到这里:通过修改html让目录更美观更实用。

        点击“博客内容“跳转到这里:下面将仔细演示一下修改的过程。

        原理:通过在html中添加内部链接,达到跳转的效果。

    演示:

    1、把光标放置在想要编辑的区域,通过右键---查看源代码进入html编辑区,以谷歌浏览器如图所示:


    2、根据响应区域,右键--Edit as HTML,如图:


    3、在需要跳转到到的地方添加<span id=".jumpto"></span>

    <span id=".author" style="font-size:18px" class="Apple-style-span">点击“<span class="Apple-style-span" style="font-weight: bold;">作者简介</span>”跳转到这里:廊坊师范学院信息技术提高班八期李达。</span>

    4、同理,在需要点击跳转的地方,添加代码<a href="#.jumpto"></a>,其中.jumpto可修改,一致即可。如图

    <a href="#.author" _xhe_href="#.author"><span class="tocnumber"></span><span class="toctext">作者简介</span></a>

        点击“博客总结”跳转到这里:偶尔也写一些内容较多的博客,回头看自己的博客,觉得如果没有一个主旨鲜明的目录的确看的难受,看其他人的博客也有同感。鉴于刚学完基础的html,觉得百度百科的目录不错,自己也试试,效果还是不错的。


    展开全文
  • 景观设计是一个非常综合性的...如果作品集没有逻辑性,不管你的效果图有多么高大上,都不会赢得考官的青睐。那如何才能景观设计具有逻辑性呢?本期克里斯将从以下两个方面展开说明,希望对大家有所帮助哦~01 景...

    4212c2087df3cc46cf22cef8af00da69.png

    景观设计是一个非常综合性的学科,项目的尺度跨度非常大,从很小的景观构筑物、景观装置,到大型的区域性规划、生态规划都需要设计师具备清晰的逻辑性。

    aaecd3d349b36ecfa7c5012673bb7f33.png

    能够在设计过程中梳理设计思路是一个设计师应该具备的基本技能,也是国外院校非常看重一点。如果作品集没有逻辑性,不管你的效果图有多么高大上,都不会赢得考官的青睐。

    那如何才能让景观设计具有逻辑性呢?本期克里斯将从以下两个方面展开说明,希望对大家有所帮助哦~

    01 景观设计的逻辑设计

    逻辑设计就是把一种计划、规划、设想通过视觉的形式通过概念、判断、推理、论证来理解和区分客观世界的思维传达出来的活动过程。

    一个设计的形成一般基于2个因素:一个是主观,即设计者自身;一个是客观,即问题分析。

    1 问题分析

    设计的目的是“解决问题”,当我们开始做一个项目时,首先会通过各种方式发现问题,针对问题有方向的去创建解决方案,最终用最优方案解决问题。

    而发现问题的方法,主要是通过对原有场地的分析,一般包括区位分析、历史文脉、功能分析、地理条件分析、交通流线、周边分析等。

    737dd0e9b47ae949403f981646bd444a.png

    ba1c401a507740fa8ba037ed4d5591e1.png

    e3b1bbbe94c889a179a382d6a8e7f66b.png

    通过对客观条件的分析后,找出问题所在,结合场地特点,找出解决方案。

    比如我们要在某个具有深厚历史背景但存在水环境污染的区域,为当地的留守老人和儿童做一个场地设计,面对这样的一块地,我们需要考虑的场地问题也许可以有:

    ①分析:场地的特质是怎样的?如环境、历史、文化、生态、交通等?

    ②美学:如何合理运用当地传统元素并将其融入场地方案?③功能:如何做一个满足老人/儿童需求的公共空间?④生态:如何解决场地的水污染问题?

    2 设计者自身

    事实上每块场地都具有唯一性,所以并没有统一的标准要求你“必须去分析什么”。这与设计者自身的设计爱好、记忆中的原风景、心理相关。

    d462627dd74fcc51c017c9fc4b3c4dca.png

    而在分析之后提出的设计理念,需要通过怎样的设计手法展现,这也离不开设计者的主观因素。

    通过对客观条件的分析,加上设计者的自身特点,形成一个完整的逻辑分析过程,即提出问题、思考问题、提出解决方案、优化设计。

    02 景观设计的视觉逻辑

    从场地分析、调研、草图、到提出设计理念,这些过程都需要通过视觉形式展现出来。

    想要准确传达出传达设计理念,则要注意视觉展示逻辑。咱们从以下6个方面阐述说明下视觉逻辑。

    1 精心设计的分析,可以让图纸逻辑更有说服力

    以下是ASLA的名为Elevated Ground A 300 Year Vision for a 220-Year-Old Square 的获奖作品。

    c3459b1d708fcc62c31290a67e6428a7.png

    方案从1792年到2012年长达220年的时间里通过不同时期的时间切片,展示了基地现状与背景的三个重要方面:

    ①基地内要素变化的情况(其中分为树木状况、道路场地、植被条件、城市机理);

    ②历史演变的基本情况;

    ③人口变化的现状及预测。

    逻辑借鉴点:

    ①时间轴串联的现状表述逻辑

    ②每个时间节点的现状各要素对应逻辑

    ③逻辑上为将来的设计陈述埋下伏笔

    2 精心编排的分析,可以让逻辑表达更有吸引力

    摩尔广场的设计分析,设计方案的解析从六个方面定量展示了方案的比较优势:

    (1)更丰富的步行体验:增加了36%的步行长度
    (2)更覆盖的林荫区域:增加了250%的林荫空间
    (3)更宽阔的林荫大树:增加了39%的林荫大树

    (4)更好用的休闲座椅:增加了1000%的座椅使用

    (5)更层次的植被区域:增加了345%的植被区域

    以数据定量展示方案优势,这应该说更为理性,更有吸引力!

    5439ea6ee960a7d43ebe42e122706f80.png

    3 展示演变过程更容易传达你的设计理念

    想要让考官看懂你所要表达的,则要通过一系列的图纸解析方案演化过程来展现,而不是单纯地放一张结果图。

    比如我们只看到这样一个道路的设计时,便无法得知其设计理念是如何得来的。

    12d8d0172b78a36a06d945ea85c04330.png

    但如果有以下演化过程,便很容易get到设计的点。

    cd1126653d42d17ef53810125283144d.png

    52618a97325f44c020f5c1c814730ad4.png

    a41763ebf612d6ac8ab7a61a0514f3bc.png

    8ba5b97bc7cb3444ea41600e2ce09911.png

    再如下面的分析透视图:

    a59279004f2ecebc8a30f46af7540706.png

    也展示了方案演变的过程和结果,时刻不忘逻辑陈述。

    b2ca5929d25b6fa745da5a0a2a3af953.png

    4 注意结构逻辑

    对于一个规划师,在景观设计方面,“这个地方有对景”比“这个景具体是什么”重要得多。这句话如何理解:在一个广场空间里放的是一棵大树、一个喷泉还是一个雕塑,本质上是没有区别的。重要的是这个景物有没有设定在对的位置,而这个景在整个用地内又是怎样分布的。

    c9332f57e168b911b09b6e54d7bfd63e.png

    所以,结构是非常重要的。你建立的主次节点、廊道、界面秩序,你组织休憩、活动、观景等空间使用情景,设计中使用到的对称、对景、收放等关系,比起具体的一个位置的刻画方式重要。

    5 注意排版逻辑

    一本作品集中的每一个项目都有很多方式可以对其进行阐述,可以按照正常的进行顺序,也可以按照倒叙的顺序,甚至可以前期分析、中期过程描述、后期呈现的方式来进行排版。

    e16e1a02d86f616c93ac65be5cdc9b72.png

    在展示时,要注意重点,表现出各个项目之间的联系,比如第一个项目展示设计者的基础能力,第二个项目展示设计者的空间想象能力,第三个项目展示设计者的色彩运用能力等等,每一个项目需要表现出设计者的不同擅长的点。

    一般来说第一个项目是最重要的项目,或者两个主要项目加两个次要项目。这一到两个项目往往是最凸显自己设计理念的,让人开门见山地认识到你的个性与设计理念。

    6 注意颜色、字体大小

    设计时使用的颜色、字体大小、解释说明等,对强化视觉逻辑同样非常重要。大家一定不要忽略这些细节哦。

    0c729d6ffa1bae4112b443605928884a.png
    展开全文
  • 临时汇报,让你的发言具有说服力?5. 回应质疑:遭遇突然提问,怎么回答才能滴水不漏?6、会议发言:跨团队沟通,怎么让对方接受我的方案? 简 述: 遇到 “茶壶里面煮饺子” 就不是一件开心的事情了;虽然说,...
  • 之前写过一篇《最重要职场基本功,叫思路清楚》,从正面解释...有东西写成表格确实能问题更清晰,但有些东西是不能用表格来展现。 比如一个项目风险管控措施,不同风险对应流程操作方法是完全不一样
  • 在这个竞争激烈的设计行业里,只满足自己当下的成绩是愚昧的,比你优秀的人还在努力,你怎么可以躺尸呢?作为一名UX设计师,提高自己的...多画图能清晰你的思路和设计理念,从用户或者客户那里收集到的信息和需求用草图
  • 点击上方“五分钟学算法”,选择“星标”公众号重磅干货,第一时间送达转自...然而在某些情况下,把子问题拆成多个会让思路更清晰。如果没用过这个技巧话,不妨跟着今天例题来学习学习。本篇文章内容包括:...
  • (四):为你的游戏建立起一个完整的主框架 在第二部分如何写一个项目建议书中...为了保持清晰的思路,就要先给自己搭一个框架,自己在大量繁杂的工作中不至于迷失了方向。那么从什么角度入手来建立这个框架呢?...
  • 编者按:这篇文章主要探讨了后台产品设计方法与思路,以点餐为例详细说明了如何做好业务逻辑梳理、产品梳理以及原型设计。这段时间,我对后台产品有了初步了解。所以想尝试自己总结一下对后台产品设计和开发...
  • 朋友小叶对我说:“今天我向领导汇报工作,我本想把最近工作中的问题详细的向他汇报,可是刚说几句话,他就打断...语言表达力差的具体表现:表述不清晰:主要是说话者自身的思路混乱。说话没重点:导致对方难以理解...
  • (四):为你的游戏建立起一个完整的主框架在第二部分如何写一个...为了保持清晰的思路,就要先给自己搭一个框架,自己在大量繁杂的工作中不至于迷失了方向。那么从什么角度入手来建立这个框架呢?对于刚入门的策划来
  • 可怕是每个来源提供数据结构并不统一。DOM 事件还好,前端可以自主控制与设计; ajax 获取数据,其结构常常是服务端开发人员说了算,他们面对业务场景跟前端并不相同,他们...
  • 人阅读你的代码,就像阅读优美的文章一样流畅!”——这就是好代码! 把代码当作一篇优美的散文来写!用这样的标准来要求自己,一定会写出好代码,一定会成为一个优秀的程序员。 代码不仅是写给机器编译的,是...
  • 一、写代码之前应该做什么? 先分析这个需求是不是很复杂,如果复杂就需要严格按照下面1、2、...2.让思路更清晰、逻辑更清楚,有助于程序逻辑实现和有效解决实际问题。 3.编码 3.1 扩展性 扩展性应该对编码能力要求
  • 这可能只是一个需求,但是我有了一个强的认知,也就是做任何事情,必须要有一个很清晰的思路。并且,要善于学会从仅有的或者海量的知识里面,快速获取关键点。 今天,咱们不谈技术,只谈谈做事的方式吧。 某天...
  • 摘要:Root Transform是body transform在Y平面...“智哥,自从用了混合树来做人物移动,腰不酸腿不疼,思路更清晰了,一口气能写12小时代码!” “哟,疗效这么好,我看应该再码12个小时” “那也没问题,来看看我
  • 我的一个理由是:写作能让你的思路更清晰,达到复利学习的目的。 如何高效地使用搜索引擎 本文以Google为例 想要高效地使用搜索引擎,其实很简单,只要掌握五点技巧即可。下面将一一介绍,提供最干的货。需要注意...
  • 为了保持清晰的思路,就要先给自己搭一个框架,自己在大量繁杂的工作中不至于迷失了方向。那么从什么角度入手来建立这个框架呢? 对于刚入门的策划来讲,通过任务体系下手是最直接的也是最有效的。任何游
  • 如何混音处理

    2012-04-25 11:41:21
    这里我们讨论如何处理常见三种底鼓: 第一种我称之为“80年代蓬头底鼓”,一定熟悉:强而有力、富含中频、含有重击"砰"声,想得到这种比较怀旧底鼓声音,可以先过滤掉60Hz以下频率,然后根据情况在78-84...
  • 如何提高代码可读性

    2014-11-18 11:14:01
    人阅读你的代码,就像阅读优美的文章一样流畅!”——这就是好代码! 把代码当作一篇优美的散文来写!用这样的标准来要求自己,一定会写出好代码,一定会成为一个优秀的程序员。 代码不仅是写给机器编译的...
  • 在第二部分如何写一个项目建议书中,...为了保持清晰的思路,就要先给自己搭一个框架,自己在大量繁杂的工作中不至于迷失了方向。那么从什么角度入手来建立这个框架呢?对于刚入门的策划来讲,通过任务体系下手是最
  • 要实现这一效果,首先要分析清楚鼠标移动到哪一个元素上触发伪类事件,这里是要鼠标移入到container这个元素上显示左右切换按钮的这样一个效果,那么清晰的思路有了,才能找到下手的切入点,才能好地...
  • 大家都知道,在电脑城有句俗语:"生人...在去接受店家的屠宰之前, 看看这篇文章,或许能让你买电脑时有更清晰的思路,免于被宰!1. CPU对于电脑最重要的CPU,当然是第一个讲!中央处理器(CPU,central processing u...
  • 本文结合工作中的场景来聊聊:基于金字塔原理的结构化思考、如何让你的汇报吸引人、如何向领导争取资源。 01 让你的思考和表达有逻辑性 金字塔原理 金字塔原理是一种重点突出、逻辑清晰、主次分明的逻辑...
  • 软件工程是教会你软件开发之前要做什么,要有哪些步骤,还有如何更好地完成这些步骤的各种方法,让你对软件开发有更深的认识,有更清晰的思路。 不怎么会写程序的同学应该看的是各种编程语言,通过不断地练习让...

空空如也

空空如也

1 2 3 4 5 6
收藏数 107
精华内容 42
热门标签
关键字:

如何让你的思路更清晰