官网链接为 https://kubernetes.io/docs/tutorials/kubernetes-basics/

基础操作环境为minikube

常见基础命令

查看基础的一些信息

  1. # 查看版本
  2. (oracle) cdss_db git:(dameng) kubectl version
  3. Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean", BuildDate:"2018-03-26T16:55:54Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"darwin/amd64"}
  4. Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean", BuildDate:"2018-03-26T16:44:10Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
  5. # 查看节点
  6. (oracle) cdss_db git:(dameng) kubectl get nodes
  7. NAME STATUS ROLES AGE VERSION
  8. minikube Ready master 23h v1.10.0

PODS/DEPLOYMENTS

创建一个pod(由于网络问题,需要提前将image导入到minikube的机器中)

  1. # 创建pod
  2. (oracle) cdss_db git:(dameng) kubectl run kubernetes-bootcamp --image=gcr.io/hello-minikube-zero-install/hello-node:latest --port=8080 --image-pull-policy=Never
  3. deployment.apps "kubernetes-bootcamp" created
  4. # 查看pod
  5. (oracle) cdss_db git:(dameng) kubectl get pods
  6. NAME READY STATUS RESTARTS AGE
  7. kubernetes-bootcamp-85459f8c6c-9jgfl 1/1 Running 0 5s
  8. # 查看deployment
  9. (oracle) cdss_db git:(dameng) kubectl get deployments
  10. NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
  11. kubernetes-bootcamp 1 1 1 1 19m
  12. # 将服务暴露到外网(相对于k8s的内部网)环境
  13. (oracle) cdss_db git:(dameng) kubectl proxy
  14. Starting to serve on 127.0.0.1:8001
  15. # 测试----查看相关的接口
  16. minikube curl 127.0.0.1:8001/version
  17. {
  18. "major": "1",
  19. "minor": "10",
  20. "gitVersion": "v1.10.0",
  21. "gitCommit": "fc32d2f3698e36b93322a3465f63a14e9f0eaead",
  22. "gitTreeState": "clean",
  23. "buildDate": "2018-03-26T16:44:10Z",
  24. "goVersion": "go1.9.3",
  25. "compiler": "gc",
  26. "platform": "linux/amd64"
  27. }%
  28. # 测试----测试对应接口
  29. minikube curl 127.0.0.1:8001/api/v1/namespaces/default/pods/kubernetes-bootcamp-85459f8c6c-9jgfl/proxy/
  30. Hello World!%
  31. # 中止proxy
  32. ctrl+c 即可停止

查看pod的详细信息

  1. # 查看pod信息
  2. ~ kubectl describe pods
  3. Name: kubernetes-bootcamp-85459f8c6c-9jgfl
  4. Namespace: default
  5. Node: minikube/10.0.2.15
  6. Start Time: Tue, 19 Mar 2019 14:04:18 +0800
  7. Labels: pod-template-hash=4101594727
  8. run=kubernetes-bootcamp
  9. Annotations: <none>
  10. Status: Running
  11. IP: 172.17.0.5
  12. Controlled By: ReplicaSet/kubernetes-bootcamp-85459f8c6c
  13. Containers:
  14. kubernetes-bootcamp:
  15. Container ID: docker://9ad04cae7f054805acfe9af452210bca960c44b673c2e837e9c39cf70f40a717
  16. Image: gcr.io/hello-minikube-zero-install/hello-node:latest
  17. Image ID: docker://sha256:40da0f31e97619946d2a9ca662cb9ccef3f9d45508cd3de58a93542ac2108121
  18. Port: 8080/TCP
  19. Host Port: 0/TCP
  20. State: Running
  21. Started: Tue, 19 Mar 2019 14:04:20 +0800
  22. Ready: True
  23. Restart Count: 0
  24. Environment: <none>
  25. Mounts:
  26. /var/run/secrets/kubernetes.io/serviceaccount from default-token-c9lkr (ro)
  27. Conditions:
  28. Type Status
  29. Initialized True
  30. Ready True
  31. PodScheduled True
  32. Volumes:
  33. default-token-c9lkr:
  34. Type: Secret (a volume populated by a Secret)
  35. SecretName: default-token-c9lkr
  36. Optional: false
  37. QoS Class: BestEffort
  38. Node-Selectors: <none>
  39. Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
  40. node.kubernetes.io/unreachable:NoExecute for 300s
  41. Events:
  42. Type Reason Age From Message
  43. ---- ------ ---- ---- -------
  44. Normal Scheduled 26m default-scheduler Successfully assigned kubernetes-bootcamp-85459f8c6c-9jgfl to minikube
  45. Normal SuccessfulMountVolume 26m kubelet, minikube MountVolume.SetUp succeeded for volume "default-token-c9lkr"
  46. Normal Pulled 26m kubelet, minikube Container image "gcr.io/hello-minikube-zero-install/hello-node:latest" already present on machine
  47. Normal Created 26m kubelet, minikube Created container
  48. Normal Started 26m kubelet, minikube Started container
  49. # 查看pod日志
  50. kubectl logs kubernetes-bootcamp-85459f8c6c-9jgfl
  51. # 查看pod环境变量
  52. ~ kubectl exec kubernetes-bootcamp-85459f8c6c-9jgfl env
  53. PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
  54. HOSTNAME=kubernetes-bootcamp-85459f8c6c-9jgfl
  55. KUBERNETES_PORT_443_TCP_ADDR=10.96.0.1
  56. KUBERNETES_SERVICE_HOST=10.96.0.1
  57. KUBERNETES_SERVICE_PORT=443
  58. KUBERNETES_SERVICE_PORT_HTTPS=443
  59. KUBERNETES_PORT=tcp://10.96.0.1:443
  60. KUBERNETES_PORT_443_TCP=tcp://10.96.0.1:443
  61. KUBERNETES_PORT_443_TCP_PROTO=tcp
  62. KUBERNETES_PORT_443_TCP_PORT=443
  63. NODE_VERSION=6.14.2
  64. YARN_VERSION=1.6.0
  65. HOME=/root
  66. # 进入pod的shell环境
  67. ~ kubectl exec -it kubernetes-bootcamp-85459f8c6c-9jgfl bash
  68. root@kubernetes-bootcamp-85459f8c6c-9jgfl:/# ls
  69. bin dev home lib64 mnt proc run server.js sys usr
  70. boot etc lib media opt root sbin srv tmp var

SERVICES

为pod/deployment创建service

  1. # 创建service
  2. minikube kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080
  3. service "kubernetes-bootcamp" exposed
  4. # 查看deployment
  5. minikube kubectl get deployments
  6. NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
  7. kubernetes-bootcamp 1 1 1 1 41m
  8. # 查看service
  9. minikube kubectl get services
  10. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
  11. kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 23h
  12. kubernetes-bootcamp NodePort 10.111.228.62 <none> 8080:32383/TCP 1m
  13. # 查看service相关信息
  14. minikube kubectl describe services/kubernetes-bootcamp
  15. Name: kubernetes-bootcamp
  16. Namespace: default
  17. Labels: run=kubernetes-bootcamp
  18. Annotations: <none>
  19. Selector: run=kubernetes-bootcamp
  20. Type: NodePort
  21. IP: 10.111.228.62
  22. Port: <unset> 8080/TCP
  23. TargetPort: 8080/TCP
  24. NodePort: <unset> 32383/TCP
  25. Endpoints: 172.17.0.5:8080
  26. Session Affinity: None
  27. External Traffic Policy: Cluster
  28. Events: <none>
  29. # 观察到NodePort,为Node相关服务暴露的接口,配合node的ip,可以直接访问
  30. minikube curl 192.168.99.101:32383
  31. Hello World!%

labels的使用

  1. # 使用describe可以查看到对应的labels
  2. minikube kubectl describe deployment
  3. Name: kubernetes-bootcamp
  4. Namespace: default
  5. CreationTimestamp: Tue, 19 Mar 2019 14:04:17 +0800
  6. Labels: run=kubernetes-bootcamp
  7. Annotations: deployment.kubernetes.io/revision=1
  8. Selector: run=kubernetes-bootcamp
  9. Replicas: 1 desired | 1 updated | 1 total | 1 available | 0 unavailable
  10. StrategyType: RollingUpdate
  11. MinReadySeconds: 0
  12. RollingUpdateStrategy: 1 max unavailable, 1 max surge
  13. Pod Template:
  14. Labels: run=kubernetes-bootcamp
  15. Containers:
  16. kubernetes-bootcamp:
  17. Image: gcr.io/hello-minikube-zero-install/hello-node:latest
  18. Port: 8080/TCP
  19. Host Port: 0/TCP
  20. Environment: <none>
  21. Mounts: <none>
  22. Volumes: <none>
  23. Conditions:
  24. Type Status Reason
  25. ---- ------ ------
  26. Available True MinimumReplicasAvailable
  27. Progressing True NewReplicaSetAvailable
  28. OldReplicaSets: <none>
  29. NewReplicaSet: kubernetes-bootcamp-85459f8c6c (1/1 replicas created)
  30. Events:
  31. Type Reason Age From Message
  32. ---- ------ ---- ---- -------
  33. Normal ScalingReplicaSet 44m deployment-controller Scaled up replica set kubernetes-bootcamp-85459f8c6c to 1
  34. # 上面labels为run=kubernetes-bootcamp
  35. # 查看labels对应的pod/service
  36. minikube kubectl get pods -l run=kubernetes-bootcamp
  37. NAME READY STATUS RESTARTS AGE
  38. kubernetes-bootcamp-85459f8c6c-9jgfl 1/1 Running 0 47m
  39. minikube kubectl get services -l run=kubernetes-bootcamp
  40. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
  41. kubernetes-bootcamp NodePort 10.111.228.62 <none> 8080:32383/TCP 7m
  42. # 为pod打新label,使用方法类似于docker的tag命令
  43. minikube kubectl label pod kubernetes-bootcamp-85459f8c6c-9jgfl app=v1
  44. pod "kubernetes-bootcamp-85459f8c6c-9jgfl" labeled
  45. minikube kubectl describe pods kubernetes-bootcamp-85459f8c6c-9jgfl
  46. Name: kubernetes-bootcamp-85459f8c6c-9jgfl
  47. Namespace: default
  48. Node: minikube/10.0.2.15
  49. Start Time: Tue, 19 Mar 2019 14:04:18 +0800
  50. Labels: app=v1
  51. pod-template-hash=4101594727
  52. run=kubernetes-bootcamp
  53. # 查看label对应的pods
  54. minikube kubectl get pods -l app=v1
  55. NAME READY STATUS RESTARTS AGE
  56. kubernetes-bootcamp-85459f8c6c-9jgfl 1/1 Running 0 50m

删除service

  1. # 删除service,可以使用label来删除
  2. ~ kubectl delete service -l run=kubernetes-bootcamp
  3. service "kubernetes-bootcamp" deleted
  4. # 查看service,可以看到被删除
  5. ~ kubectl get services
  6. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
  7. kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 23h
  8. # 服务已经不可用,但pod依然存在
  9. ~ curl 192.168.99.101:32383
  10. curl: (7) Failed to connect to 192.168.99.101 port 32383: Connection refused
  11. ~ kubectl exec -it kubernetes-bootcamp-85459f8c6c-9jgfl bash
  12. root@kubernetes-bootcamp-85459f8c6c-9jgfl:/#
  13. ~ kubectl get pods
  14. NAME READY STATUS RESTARTS AGE
  15. kubernetes-bootcamp-85459f8c6c-9jgfl 1/1 Running 0 54m

动态调整

增加/调整分片

  1. # 查看分片
  2. ~ kubectl get deployments
  3. NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
  4. kubernetes-bootcamp 1 1 1 1 1h
  5. # 增加分片
  6. ~ kubectl scale deployments/kubernetes-bootcamp --replicas=3
  7. deployment.extensions "kubernetes-bootcamp" scaled
  8. # 查看效果
  9. ~ kubectl get deployments
  10. NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
  11. kubernetes-bootcamp 3 3 3 3 1h
  12. # 查看各个pod的信息
  13. ~ kubectl get pods -o wide
  14. NAME READY STATUS RESTARTS AGE IP NODE
  15. kubernetes-bootcamp-85459f8c6c-4x8fd 1/1 Running 0 1m 172.17.0.6 minikube
  16. kubernetes-bootcamp-85459f8c6c-9jgfl 1/1 Running 0 1h 172.17.0.5 minikube
  17. kubernetes-bootcamp-85459f8c6c-rlzbp 1/1 Running 0 1m 172.17.0.7 minikube
  18. # 使用describe命令可以查看其变动(包含event)
  19. ~ kubectl describe deployments/kubernetes-bootcamp
  20. Name: kubernetes-bootcamp
  21. Namespace: default
  22. CreationTimestamp: Tue, 19 Mar 2019 14:04:17 +0800
  23. Labels: run=kubernetes-bootcamp
  24. Annotations: deployment.kubernetes.io/revision=1
  25. Selector: run=kubernetes-bootcamp
  26. Replicas: 3 desired | 3 updated | 3 total | 3 available | 0 unavailable
  27. StrategyType: RollingUpdate
  28. MinReadySeconds: 0
  29. RollingUpdateStrategy: 1 max unavailable, 1 max surge
  30. Pod Template:
  31. Labels: run=kubernetes-bootcamp
  32. Containers:
  33. kubernetes-bootcamp:
  34. Image: gcr.io/hello-minikube-zero-install/hello-node:latest
  35. Port: 8080/TCP
  36. Host Port: 0/TCP
  37. Environment: <none>
  38. Mounts: <none>
  39. Volumes: <none>
  40. Conditions:
  41. Type Status Reason
  42. ---- ------ ------
  43. Progressing True NewReplicaSetAvailable
  44. Available True MinimumReplicasAvailable
  45. OldReplicaSets: <none>
  46. NewReplicaSet: kubernetes-bootcamp-85459f8c6c (3/3 replicas created)
  47. Events:
  48. Type Reason Age From Message
  49. ---- ------ ---- ---- -------
  50. Normal ScalingReplicaSet 2m deployment-controller Scaled up replica set kubernetes-bootcamp-85459f8c6c to 3
  51. # 暴露services,随后查看详细信息
  52. ~ kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080
  53. service "kubernetes-bootcamp" exposed
  54. ~ kubectl get services
  55. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
  56. kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 1d
  57. kubernetes-bootcamp NodePort 10.97.170.139 <none> 8080:30424/TCP 6s
  58. ~ kubectl describe services/kubernetes-bootcamp
  59. Name: kubernetes-bootcamp
  60. Namespace: default
  61. Labels: run=kubernetes-bootcamp
  62. Annotations: <none>
  63. Selector: run=kubernetes-bootcamp
  64. Type: NodePort
  65. IP: 10.97.170.139
  66. Port: <unset> 8080/TCP
  67. TargetPort: 8080/TCP
  68. NodePort: <unset> 30424/TCP
  69. Endpoints: 172.17.0.5:8080,172.17.0.6:8080,172.17.0.7:8080
  70. Session Affinity: None
  71. External Traffic Policy: Cluster
  72. Events: <none>
  73. # 验证服务
  74. ~ curl 192.168.99.101:30424
  75. Hello World!%
  76. # 可以重新调整分片
  77. ~ kubectl scale deployments/kubernetes-bootcamp --replicas=2
  78. deployment.extensions "kubernetes-bootcamp" scaled
  79. ~ kubectl get deployments
  80. NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
  81. kubernetes-bootcamp 2 2 2 2 1h
  82. # 可以查看到变化
  83. ~ kubectl get pods -o wide
  84. NAME READY STATUS RESTARTS AGE IP NODE
  85. kubernetes-bootcamp-85459f8c6c-4x8fd 1/1 Running 0 7m 172.17.0.6 minikube
  86. kubernetes-bootcamp-85459f8c6c-9jgfl 1/1 Running 0 1h 172.17.0.5 minikube
  87. kubernetes-bootcamp-85459f8c6c-rlzbp 1/1 Terminating 0 7m 172.17.0.7 minikube
  88. ~ kubectl get pods
  89. NAME READY STATUS RESTARTS AGE
  90. kubernetes-bootcamp-85459f8c6c-4x8fd 1/1 Running 0 7m
  91. kubernetes-bootcamp-85459f8c6c-9jgfl 1/1 Running 0 1h
  92. kubernetes-bootcamp-85459f8c6c-rlzbp 1/1 Terminating 0 7m

更新服务

  1. # 更新为新的镜像(首先需要导入新的镜像,新镜像返回的内容从hello world变更为hello)
  2. minikube kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=node_hello:2
  3. deployment.apps "kubernetes-bootcamp" image updated
  4. # 查看pods,可以看到过程
  5. minikube kubectl get pods
  6. NAME READY STATUS RESTARTS AGE
  7. kubernetes-bootcamp-85459f8c6c-4x8fd 1/1 Terminating 1 1h
  8. kubernetes-bootcamp-b4d449bd-vlnpd 1/1 Running 0 17m
  9. # services没有发生变化
  10. minikube kubectl get services
  11. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
  12. kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 1d
  13. kubernetes-bootcamp NodePort 10.97.170.139 <none> 8080:30424/TCP 1h
  14. # describe可以看到镜像已经发生变化
  15. minikube kubectl describe pod kubernetes-bootcamp-b4d449bd-vlnpd
  16. Name: kubernetes-bootcamp-b4d449bd-vlnpd
  17. Namespace: default
  18. Node: minikube/10.0.2.15
  19. Start Time: Tue, 19 Mar 2019 16:07:19 +0800
  20. Labels: pod-template-hash=60800568
  21. run=kubernetes-bootcamp
  22. Annotations: <none>
  23. Status: Running
  24. IP: 172.17.0.5
  25. Controlled By: ReplicaSet/kubernetes-bootcamp-b4d449bd
  26. Containers:
  27. kubernetes-bootcamp:
  28. Container ID: docker://fb59d3c98a1ca705640520954198d5bb336167a8fe1e40603e9281e714a997f4
  29. Image: node_hello:2
  30. Image ID: docker://sha256:74a687422f4cb90ac252a35b6e0bef78d5f4a546fa64b63afc672b763ce5e6b2
  31. Port: 8080/TCP
  32. Host Port: 0/TCP
  33. State: Running
  34. Started: Tue, 19 Mar 2019 16:07:20 +0800
  35. Ready: True
  36. Restart Count: 0
  37. Environment: <none>
  38. Mounts:
  39. /var/run/secrets/kubernetes.io/serviceaccount from default-token-c9lkr (ro)
  40. Conditions:
  41. Type Status
  42. Initialized True
  43. Ready True
  44. PodScheduled True
  45. Volumes:
  46. default-token-c9lkr:
  47. Type: Secret (a volume populated by a Secret)
  48. SecretName: default-token-c9lkr
  49. Optional: false
  50. QoS Class: BestEffort
  51. Node-Selectors: <none>
  52. Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
  53. node.kubernetes.io/unreachable:NoExecute for 300s
  54. Events:
  55. Type Reason Age From Message
  56. ---- ------ ---- ---- -------
  57. Normal Scheduled 17m default-scheduler Successfully assigned kubernetes-bootcamp-b4d449bd-vlnpd to minikube
  58. Normal SuccessfulMountVolume 17m kubelet, minikube MountVolume.SetUp succeeded for volume "default-token-c9lkr"
  59. Normal Pulled 17m kubelet, minikube Container image "node_hello:2" already present on machine
  60. Normal Created 17m kubelet, minikube Created container
  61. Normal Started 17m kubelet, minikube Started container

从上面可以看到服务已经更新,可以使用下面的方式验证一下

  1. # 通过describe查看service的nodeport
  2. ~ kubectl describe service kubernetes-bootcamp
  3. Name: kubernetes-bootcamp
  4. Namespace: default
  5. Labels: run=kubernetes-bootcamp
  6. Annotations: <none>
  7. Selector: run=kubernetes-bootcamp
  8. Type: NodePort
  9. IP: 10.97.170.139
  10. Port: <unset> 8080/TCP
  11. TargetPort: 8080/TCP
  12. NodePort: <unset> 30424/TCP
  13. Endpoints: 172.17.0.5:8080
  14. Session Affinity: None
  15. External Traffic Policy: Cluster
  16. Events: <none>
  17. # 返回内容已经变更为hello(之前为hello world)
  18. minikube curl 192.168.99.101:30424
  19. Hello%
  20. # 也可以通过下面命令来验证更新结果
  21. ~ kubectl rollout status deployments/kubernetes-bootcamp
  22. deployment "kubernetes-bootcamp" successfully rolled out

k8s官网 基础知识入门教程的更多相关文章

  1. Linux基础知识入门

    [Linux基础]Linux基础知识入门及常见命令.   前言:最近刚安装了Linux系统, 所以学了一些最基本的操作, 在这里把自己总结的笔记记录在这里. 1,V8:192.168.40.10V1: ...

  2. Hibernate入门1. Hibernate基础知识入门

    Hibernate入门1. Hibernate基础知识入门 20131127 前言: 之前学习过Spring框架的知识,但是不要以为自己就可以说掌握了Spring框架了.这样一个庞大的Spring架构 ...

  3. HTML基础知识自学教程

    HTML 是用来描述网页的一套标记标签,是我们在web前端开发中的基础.下面PHP程序员雷雪松主要结合自己的经验给大家分享下HTML的基础知识,以及在自学过程中一些比较常用的和重要的HTML知识点. ...

  4. redis最基础的入门教程

      Redis最基础入门教程 简介 Redis 简介 Redis 优势 Redis与其他key-value存储有什么不同? 字符串(Strings) 哈希(Hash) 列表(List) 集合(Sets ...

  5. vultr vps官网改版免费注册教程(最新优惠码)

    本站强烈推荐的,国外超高性价比vps服务器Vultr官方网站最近更新了,导致一些朋友心生茫然,今天写个简易教程给大家. 首先是打开vultr官网,免费注册一个vultr账号.填写邮箱地址.密码,非常简 ...

  6. 1 python大数据挖掘系列之基础知识入门

    preface Python在大数据行业非常火爆近两年,as a pythonic,所以也得涉足下大数据分析,下面就聊聊它们. Python数据分析与挖掘技术概述 所谓数据分析,即对已知的数据进行分析 ...

  7. Git教程(1)官网及官方中文教程

    1,Git官网 http://www.git-scm.com/ 2,官方中文教程 http://git-scm.com/book/zh/v2

  8. git官网和安装使用教程链接

    git官网 https://git-scm.com/download/win git安装教程 https://www.cnblogs.com/wj-1314/p/7993819.html

  9. Oracle 基础知识入门

    前记: 近来项目用到Oracle数据库,大学学了点,后面基本忘记得差不多了,虽然基本语法跟sql 差不多,但是oracle知识是非常多的. 这里简单说点基础知识,希望后面补上更多的关于ORacle知识 ...

随机推荐

  1. position 属性的值的比较

    可取的四个值:static/relative/absolute/fixed static:默认值,top/right/bottom/left 无作用,z-index无效 relative:相对于原来的 ...

  2. bzoj 泛做

    3003 这个题是这样的,对序列差分后,每个取反操作就是给两个端点的值取反,然后背包之后再状压就好了 4128 这题棒棒的QAQBSGS 23333 4176 这个杜教筛呃呃呃大爷链接 3028 我要 ...

  3. 潭州课堂25班:Ph201805201 django 项目 第九课 图片验证码前台实现,判断用户是否注册功能实现 (课堂笔记)

    u胎代码实现 : 针对每一个 app 写个 js 脚本, 先给 users 的 app 应用创建个 js:在指定目录下的 js 文件夹下,创建 users 文件夹,下创建 suth.js ,图片验证 ...

  4. shell脚本6--循环,比较

    for循环 for var in list; do commands;#使用变量$var done example: for i in {a..z}; do actions; done; 后者 for ...

  5. 微信公众号开发之通过获取token等信息

    <?php /** * 发送post请求 * @param string $url * @param string $param * @return bool|mixed */ function ...

  6. mysql连接查询(A表某字段 like B表字段)

    假设有A.B两表 A表中有个字段column_aa B表中有个字段column_bb 如果需要查询出B表中字段column_bb like A表中column_aa字段的纪录,可以使用如下语句 sel ...

  7. Pycharm安装pygame游戏库遇到的问题

    正常情况下: 点file-settings-project-project interprter 点右上角的+号,搜索pygame 点击下方 install Package即可 成功 第二种,如果提示 ...

  8. C#_02.13_基础三_.NET类基础

    C#_02.13_基础三_.NET类基础 一.类概述: 类是一个能存储数据和功能并执行代码的数据结构,包含数据成员和函数成员.(有什么和能够干什么) 运行中的程序是一组相互作用的对象的集合. 二.为类 ...

  9. GMA Round 1 逃亡

    传送门 逃亡 你在森林中,遇到了一只老虎.此时此刻,老虎在(0,0)的位置,你在(2,1)的位置. 你开始沿着一条林间小路逃亡,移动向量是$(\frac{\sqrt{6}}{2},\frac{\sqr ...

  10. JAVA自学笔记17

    JAVA自学笔记17 1.Map接口 1)概述 将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射到一个值.可以存储键值对的元素 2)与Collection接口的不同: ①Map是双列的 ...