0%

新东方 科研

大数据存储技术

上课时间

️ 项目每周1次课,一次1小时,共8周,【北京时间】每周一上课。

️ 第一次上课时间:
【北京时间】(1月21日)周一晚22:00-23:00

【美东时间】(1月21日)周一早上 9:00-10:00

如果在后期课程时间上同学和导师有调整,我们可以及时沟通协调~如有项目上的其他问题都可以第一时间和我反馈解决


8次固定讨论

预习资料

  1. Runoob教程

    Python教程

    docker 教程

    yaml 入门教程

    json 教程

  2. Anaconda

    https://www.anaconda.com/

  3. Intellij

    https://www.jetbrains.com/idea/

    pycharm 和 vscode都可以

  4. JSON、 YAML

    这部分内容可以自行百度或者谷歌

    • yaml和json区别 - Parallax - 博客园

    • 深入对比TOML,JSON和YAML_行知致简的专栏-CSDN博客

    • What is the difference between YAML and JSON?

    • What is the difference between YAML and JSON? - Stackflow

      YAML

      YAML 是 “YAML Ain’t a Markup Language”(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:”Yet Another Markup Language”(仍是一种标记语言)。

      YAML 的语法和其他高级语言类似,并且可以简单表达清单、散列表,标量等数据形态。它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件、倾印调试内容、文件大纲(例如:许多电子邮件标题格式和YAML非常接近)。

      YAML 的配置文件后缀为 .yml,如:runoob.yml

      JSON

      • JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
      • JSON 是轻量级的文本数据交换格式
      • JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
      • JSON 具有自我描述性,更易理解

      JSON 是存储和交换文本信息的语法,类似 XML。

      JSON 比 XML 更小、更快,更易解析。

  5. RESTful API

    https://restfulapi.net/

    REpresentational State Transfer and an architectural style for distributed hypermedia systems

    A Web API (or Web Service) conforming to the REST architectural style is a REST API.

    符合 REST 体系结构风格的 Web API (或 Web 服务)是 REST API。

    *:大致4个命令

  6. Flask

    https://www.palletsprojects.com/p/flask/

    Flask is a lightweight WSGI web application framework. It is designed to make getting started quick and easy, with the ability to scale up to complex applications. It began as a simple wrapper around Werkzeug and Jinja and has become one of the most popular Python web application frameworks.

    是一个轻量级的 WSGI web 应用框架。它的设计目的是使入门快速和容易,能够扩展到复杂的应用程序。它最初只是一个围绕 Werkzeug 和Jinja的简单包装器,现在已经成为最流行的 Python web 应用框架之一。

    Flask offers suggestions, but doesn’t enforce any dependencies or project layout. It is up to the developer to choose the tools and libraries they want to use. There are many extensions provided by the community that make adding new functionality easy.

    提供了建议,但并不强制任何依赖项或项目布局。这取决于开发人员选择他们想要使用的工具和库。社区提供了许多扩展,使得添加新功能变得容易。

  7. Docker

    https://www.docker.com/

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

    Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

    容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

    Docker 的可移植性和轻量级的特性,还可以使您轻松地完成动态管理的工作负担,并根据业务需求指示,实时扩展或拆除应用程序和服务。

    • Web 应用的自动化打包和发布。
    • 自动化测试和持续集成、发布。
    • 在服务型环境中部署和调整数据库或其他的后台应用。
    • 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。
  8. Kubernetes

    https://kubernetes.io/

    Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications.

    ​ Kubernetes,也称为 K8s,是一个用于自动部署、扩展和管理集装箱化应用程序的开放源码系统。

    It groups containers that make up an application into logical units for easy management and discovery

    ​ 它将组成应用程序的容器分组为逻辑单元,以便于管理和发现

Getting started

Install and Set Up kubectl on Windows

​ The officially supported tool for deploying Kubernetes is kubeadm

02212022

​ “东数西算”:高延时低延时

Lv.5 operator

  1. 配置检查
  2. (不掉线)更新
  3. 实现整个生命周期的管理
  4. 对性能指标进行观测
  5. 自我修复

任务:

  • docker tutorial 深度剖析

​ 讲解流程知识点 image/container,带来什么,image是什么结构,什么文件系统,什么网络,什么volume

*: 多看YouTube上讲的关于docker tutorial的视频,系统学习

  • 整理Movie Recommendation System(算法和数据库) + Web crawler

    Example:2 mins ++

  • Mac安装Docker