I love to study the design of programming languages, and I’ve been coding in Python since 1998. Python is a masterpiece of design. This talk is about the parts of Python that I find are the most beautiful.
Luciano RamalhoThe author of Fluent Python
At the Christmas of 1989, in order to pass the boring holiday, Guido van Rossum decided to find something to do. He chose to implement a programming language. This programming language is Python.
On October 16th, 2000, Python 2.0 was released.
On December 3rd, 2008, Python 3.0 was released.
Nowadays, Python has been widely used in service development, operation and maintenance, scientific calculation, theoretical simulation and many other computer fields. More and more people are falling in love with Python and giving back to the Python Community in their own way. Perhaps Guido himself did not realize that the language he created, would be used in so many fields. In a sense, the language he created has almost changed the computer world.
This year marks the 30th anniversary of Python's birth. We will hold PyCon China 2019 to celebrate the birthday of this great language. The main venue of the conference will be set up in Shanghai, and at the same time, we will also set up sub-venues in Beijing, Hangzhou, Shenzhen, Chengdu, Nanning and so on.
Whether you are an expert in server development, operation and maintenance, big data, artificial intelligence, or other fields, if you have any experience you want to share with Pythonists, welcome to sign up for our keynotes or lightning talks!
I love to study the design of programming languages, and I’ve been coding in Python since 1998. Python is a masterpiece of design. This talk is about the parts of Python that I find are the most beautiful.
Luciano RamalhoThis is a fun session and you will learn how to create a Python Image Classification and Text to Speech solution for vision impaired people scanning fruit and vegetables at a shop checkout. Next, you will learn how to integrate the image classification solution with Python Azure Functions and connect to a real-time web dashboard.
From this session, you will learn how to build a beautiful Python based Internet of Things Image Classification solution using free of charge services from Azure and impress your friends and colleagues.
Since the release of AWS Lambda in 2014, the whole cloud native computing field and industry has accelerated into the serverless era. After nearly five years of iteration, what are the most advanced technologies of AWS serverless now?
In this session, we will understand the latest features of AWS serverless from a point of view of a Python developer, including Lambda Layer's better decomposition and encapsulation for your Python application, Custom Runtime to build a more flexible and rich architecture, and AWS SAR (Serverless Application Repository) to achieve global distribution of code and application, and at the last, we will show you how to make the latest AWS CDK environment from the perspective of Infrastructure Is Code, including infrastructure, local testing and roundly using Python to develop and write AWS Lambda application, become a contemporary serverless master who can fully use Python to achieve one-step development, testing and global deployment.
Firstly review the existing tools and list the common Python program debug methods. The Traditional debug methods have many shortcomings, and some new libraries have inspired us recently. In fact, Python debug can be more intelligent. Intelligent debug refers to the user setting the target variable, and the debug tool automatically tracing the change process of the target variable according to the program execution process. Thereby we can eliminate the trouble of manually stepping through the tools such as pdb and PyCharm. Based on this idea, I will propose a new debug method and tool (also the project I have been working on recently).
laike9mIn this talk we’ll learn how Python debuggers work internally. We’ll learn which bottlenecks and limitations they have, and which improvements were implemented in this area in the past few years. During the talk we’ll consider not only local process debugging, but also remote cases and debugging of different types of files. After that we’ll learn useful techniques for daily use on the example of visual debugger in the PyCharm IDE.
Elizaveta ShashkovaWhat is GIL? Why CPython import GIL and what problem does it solve? Why Python is so slow? How to get rid of the restrictions of GIL? This speech will share every sides of GIL, including its history, principle analysis, how to avoid GIL in application layer and the future about GIL, will the PEP 554 Multiple Interpreters in the Stdlib solve problem of GIL?
Jiayuan ZhangPattern matching, we have been thinking for many years. JIT, we also have been thinking for many years. The current pattern matching library is far less than the language constructs built in other languages; the current JIT is too domain-specific, and limited to numerical calculations or out of the CPython interpreter. We use compilation knowledge to implement JIT implementations that optimize different and use case based on some significant projects (such as llvm, llvmlite); we also introduce how to extend semantics under the current Python syntax.
thautwarmA talk about security in Flask (itsdangerous, JWT, JWS)
Hsiaoming YangAs a micro framework, Flask is very suitable for developing Web API. What is the merits and drawback of Flask comparing to Django REST Framework and APIStar? In order to simplify our work, we will use some tools to help us. What should we choose between several tools and extension like Flask-RESTful、Flask-RESTPlus、Flask-API、Webargs、Marshmallow? Although we usually use REST API to name our Web API, most of them are not "RESTful" enough. Therefore, which kind of Web API is the truly REST API? In this topic speech, we will discuss these questions and introduce how to write a fully functional Web API using Flask.
Grey LiComparing to the API with RESTful style, GraphQL has not been popular since its publication. Many developers still take a wait-and-see attitude. It has been nearly two years since LeetCode migrated all the ports to GraphQL, and our site, which has hundreds of thousands of lines of codes, nearly all of the ports are GraphQL now. This speech will introduce you how LeetCode use GraphQL to relieve development work and how we solve problems about using GraphQL.
Qiyu LiDjango's powerful ORM almost shielded the complexity of SQL. We only need to write Python code and python manage.py makemigrations & migrate, then we can make the data persistent. But what's happened behind these two codes? Why they will fail to execute sometime? When should we execute these code? So in this speech I will talk about:
・ Principles of Django migrations
・ Problems may encounter when using Django migrations, and how to solve them based on principles
・ Practicles of implement Django migrations
・ Other ideas about migrations, how to do database structure versioning, DDL rollback if you make a migrations platform
As a RPC protocol, what are the advantages and disadvantages of thrift?
How are thriftpy and thriftpy2 implemented by pure Python layered to meet different requirements?
Micro-service is the trend of Internet in recent years, so long as we talk about micro-service, RPC protocol will always be involved. The thrift protocol which comes from Facebook and is being maintained by the Apache Foundation, is one of them.
In order to make better use of it, Ele.me reimplemented the thrift protocol using pure Python.
Understanding thriftpy in depth will not only help you better use it. You can also understand the necessary composition of an RPC protocol, and how Python projects support multiple communication protocols and transport protocols through a reasonably layered architecture.
Mars is already open its source code in November 2018(https://github.com/mars-project/mars). Currently, Mars can automatically parallelize and distribute more than 70% of numpy common interfaces and is now implementing the automatic parallelization of pandas interfaces. So, how does Mars do these? What problems did Mars encounter in the evolution process? What is the performance of Mars? What lessons can people who are concerned about system design get from the development of Mars? In this speech, you will get the answers.
Xuye QinWith the continuous improvement of deep learning technology, in order to fasten the operating speed and save the memory usage of deep learning model deployment, using low-precision float (Semi-precision or fixed-point integer) to train deep learning models is gradually being applied in practice. This speech mainly uses the Python front-end of TensorFlow, introduces how to use Python to build low-precision models, apply the models to training, and further derive the models into a format that TensorRT can use and run, then finally complete the deployment of the models. I hope it will be helpful to your work of training and deploying deep learning model.
Xiaojie ZhangThis speech will introduce the theory and practical application of natural language processing in Python, especially the multi-language challenge and legal text processing. I'll try to give the audience a new perspective and inspiration in 30 minutes. The content is divided into 3 segments:
1.Introduction of Python NLP
Introduction of Python as NLP theoretical basis and utility tools.
2.NLP in several languages
NLP tool for other languages, different points of Chinese and Japanese practicals, precautions of NLP in multi-languages.
3.Practical sharing of Python contract risk prediction model
Through the analysis of the model construction process, including result comparisons and article semantic analysis of EDA, Cosine Similarity, BLUE, ROUGE and some other similar algorithms, enhance the ability of the audience to process the legal texts.
We cannot split human and language, NLP is able to process all the phenomenon of languages. I hope you can gain some points and try to use Python NLP in your field.
Last year, I was honored to share the theme of Cloud TPU. I learned that most of the audience was not involved in the field of deep learning. In order to help you get started quickly and keep abreast of the lastest developments in the industry, I prepared a number of practical cases, from mnist('hello word' in deep learning) to CIFAR10, and from ImageNet to BERT/xlnet. I will share the best practice along with the common problems.
Shun WangSpeaking of Python, the most important problem is the performance problem. But in reality, whether Youtube or NetEase, Python is used to support hundreds of millions of DAU. Python is also undoubtedly the first language in the field of machine learning in recent years. So, how to make good use of profiler to precisely locate the performance bottleneck? How to use various black technologies to squeeze the performance limits of languages and machines? I believe that these are the problems that we are more concerned about. In this speech, I will share the best practice of Shannon Technology in the development of Python deep learning service, and taking the BERT-based service as an example, show you how to improve QRS from 1 to 1000.
Xin Liu AEnhance AI development productivity and support automated machine learning. It can quickly determine the optimal algorithm, characteristics and parameters, and create Pipelines to automate the whole life cycle of AI development.
Overall support for open source frameworks, technologies and tools: TensorFlow, CNTK, Caffe2, Keras, MxNET, PyTorch, Scikit-learn, Jupyter notebook, VS Code…
Flexible model management and deployment mode. It can be easily deployed on Azure, on premises and IoT edge by using the latest container technologies and framworks.
Nowadays, machine learning is a very hot research field. Python's easy-to-learn and open source active features make it suitable for machine learning programming. Azure provides SDK and services to data science practitioners, for rapidly preparing data, training and deploying machine learning models to increase productivity and reduce costs.
Dawei WangThis topic will introduce you the current Azure Function, and Python ecology in Azure. As the same time, I will also use examples to show you how to use Azure Function + Python to solve the problems that customers may meet.
Jian ZhaoAccording to the report by Gartner, AIOps will be widely used soon ( about 5 to 10 years), and it will use several Ops platform (like Dev、IT、Net、Sec). In this speech, I'll introduce you about the core features of AIOps, difficult point of it (Data acquisition, data center, intelligent algorithm, automation and etc.) and how to select an open-source program of your project and introduce how Python works in it. This speech will include open-source program Kafka、ELK、K8S、Prometheus、Grafana、Graphite、Ansible、Airflow、Flink、TensorFlow、OpenTelemetry and etc.
Laiqiang DingIn the cloud computing environment, technologies such as microservices and containers have once again increased the complexity of the operating state of the application system. Observability has gradually become an unavoidable problem for software engineers. Logs, indicators, and APM are three important sides of observability. You need to integrate all three aspects into a unified data back-end, so you can search, correlation, indexing, and analysis, and at the same time, use machine learning to reduce the difficulty and cost of manual system troubleshooting analysis. This presentation will also showcase the ways and effects of observability through the Elastic Stack technology stack.
Zheng LiuOver the past year, I built a minimalist DevOps system based on Python and other open source softwares at a start-up to B company. I will share some thoughts and practices emerged in this process.
Yu ZhangAn excellent automated test system can not only help companies optimize the development process, improve product quality, but also can greatly improve test efficiency and save manpower.
Two years ago, in order to solve the problem of automated game testing and improve the efficiency of automated scripting, we opened up Airtest (https://github.com/AirtestProject/Airtest). So far, this framework has helped nearly 40,000 developers and testers all over the world build automated test processes, and also has helped thousands of companies improve product quality and test efficiency.
But Airtest is only a part of our complete ecology. This sharing will be our first time to share the complete practice inside NetEase Games from the perspective of product design and technical architecture, from the underlying test framework to large-scale test cluster construction, from cloud platforms that support global real machine testing to enterprise-level automation solutions.
Quantitative investment in China has developed rapidly in recent years. However, the quantitative investment tools based on C++ set too many thresholds for the majority of small and medium-sized investors. With the advent of Python, more and more investors can enter the field of quantitative investment because of its flexible, understandable, efficient and convenient features. I will introduce Python's application in data processing, strategy research, transaction execution, risk management and other aspects of quantitative investment, involing futures, opitons, ETF and other financial products suitable for quantitative trading.
Xin Liu BPYNQ project is an open source project which starts by Xilinx institute in order to mix Python ecosystem and FPGA hardware programming. This is the world's first try to mix Python and Domain Specific Architecture. Software developers can apply the parallel computing and flexible configuration features of PYNQ to end devices through Python programming, which is suitable for accelerating a wide range of applications. And hardware developers (chip design) can quickly get Python support through the PYNQ framework to accelerate their data analysis, display, etc. Hundreds of hardware-accelerated Overlays have been provided in the PYNQ open source community, including artificial intelligence reasoning, machine vision, video transcoding, data compression, industrial Internet of Things, etc. The report will introduce the practice of using the framework for open source frameworks such as ROS, Ray, OpenCV, analyze the impact of Python language on FPGA devices during programming application development, performance results, etc., and will also introduce the road map for subsequent development of the project.
Jiahua LuGraphics is an interesting subject, so using elegant Python code to implement algorithm is also a lovely diversion. In this speech, I'll share some funny things in the process of using Python to implement a simple software renderer.
Xiao TanOWL is a description language for the management of ontological knowledge, and OwlReady2 is its Python interface, that encapsulates the reasoning engine HermiT and Pellet, and can make reasoning based on description logics (DLs). Using Python's dynamic programming function, a human-machine dialogue system with reasoning ability is realized. In order to use natural language, a grammar parsing module is also built. The system can pass the testing of simple dialogue task.
William SongSince Python3.6, a new instruction system, "Word Instruction" is introduced, it's called the Revolution of Byte Code. In this talk, I would like to show:
* The map between Python script/class/function and Byte Code
* The detailed steps of Python core function PyEval_EvalFrameEx executing the Byte Code of one function
* What changed by the Revolution of Byte Code, and the main benefits we got from it.
Sphinx is a tool which allows developers to write their document in plain text and output several formats like PDF, HTML, etc. Sphinx is written in Python and its original design aim is to help to make Python document. And many projects are using sphinx to write their document, for example, matplotlib, scrapy... Sphinx will highlight Python code in default, but it still supports other programming languages like C and Ruby. Comparing to MarkDown, it is a bit more complicated but with higher flexibility, and can make a more beautiful document. It also supports customize grammar. In my point of view, markdown is a piece of paper and sphinx is a book. If you want to record many things, why not try sphinx?
Zhaoqiang ChenWith the application of Python more and more widely, more and more developers tend to use Python to develop new code.
In many areas, developers used other languages rather than Python in the early days. In Python, overwriting all the code is a big headache. But what if you only need one command to make Python use old language code?
This subject(c2py) provides a solution for C/C++: in most cases, only one or two commands are needed to generate pyd that Python can call directly(or source code for pyd). And it can also automatically generate the type information(pyi file) of all generated Python objects.
Currently, C++ objects that can automatically encapsulated include enum,class/struct/union, function, namespace, typedef/using, #define(only partially recognizable constants), vareables.
Project Address: https://github.com/nanoric/c2py
Fighting Among Python Virtual Environment and Dependency Management Tools
Introduction: Most of us will face multiple difficulties in Python virtual environment and dependency. At first, you may use virtualenv + requirements.txt and probably with virtualenvwrapper; Then, more new things appear. Pipenv claims itself as a new generation of Python project environment and dependency management tools. It wants to replace those things mentioned above, but it seems that it doesn't do well. After that, more competitors come out. Poetry is the best one between them, it is able to manage dependency as Pipenv. What is more, it can even let you not to write setup.py. Is this the end of the story? Of course not, PEP 582, which still in draft stage, is on the sidelines, trying to end all this chaos...
DESCRIPTION
Objects and classes are part of Python since version 1 -- not an afterthought. But all languages implement and support OOP in different ways. "Classic" patterns that make sense elsewhere may not be as useful in Python, and Python provides unique solutions to some familiar problems.
This tutorial is about modern, idiomatic OOP in Python 3.7. Most of the discussion will be relevant to previous versions all the way to Python 2.7, but newer features will be highlighted.
AUDIENCE
This tutorial is for practicing Python developers. Participants are expected to know Python on the level of the official Python Tutorial, to have some practical experience with the language, and to know essential Object Oriented Programming concepts — even if most of their experience with OOP has been with other languages such as Java, C#, C++, PHP, or Ruby.
DESCRIPTION
In the last few years Python gained new ways of coding concurrent computations such as the concurrent.futures package added in version 3.3 and, the asyncio package in 3.4, and the async/await keywords in 3.5 -- introducing new constructs like `async dev`, `async for` and`async with.
In this tutorial we will see examples of all of these features, along with a discussion of fundamental concurrency concepts and issues in the Python runtime, with solutions to problems of I/O-bound and CPU-bound concurrency.
AUDIENCE
This tutorial is for practicing Python developers. Participants are expected to know Python on the level of the official Python Tutorial, to have some practical experience with the language. Experience with threads in Python or other languages is helpful, but not required.
Introduce:
This is a tutorial about web development for Python developers. The target audience should have already learned Python basic syntax, but no need to have web development experience. In this tutorial , I will make a systematical combing and introduction for all the related concepts involved in Python web development stack, incluing HTTP protocol, frontend basics, popular Python web frameworks and other tools. A hands-on coding section is also included in this tutorial. I will start from building development environment, which is the most troublesome part, and then teach you how to develop a simple web application step by step.
After this tutorial, participants will have a global view of the whole Python web development stack and master the basic web development knowledge. At the same time, this tutorial can also help participants to have a clear understanding of the next learning path.
Schedule:
Part 1 Basic Concepts
・ Python web development technology stack
・ HTTP protocol (request and response, URL etc.)
・ The basic of frontend developmnet (HTML, CSS, JavaScript, AJAX etc.)
・ Comparison of Python web frameworks (Flask, Django etc.)
・ Comparison between traditional web applications and web APIs
・ A brief introduction of testing, deployment, continuous integration etc.
Part 2 Coding Time
・ Buliding development environment
・ Running and debugging web application
・ Writing HTML templates
・ Adding web form support
・ Adding database support
Part 3 Q&A
・ Introduce of common learning mistakes and recommended learning path
・ Answering any questions about the code or other relevant topics
Level :Beginner
Audience:
・ Frontend, DevOps, Testing or any Engineers who want to learn web development
・ Programming enthusiasts who want to build website
・ Web development or Python beginners
・ Master basic Python syntax and basic command line knowledge
・ A laptop with Python and web browser installed
DESCRIPTION
Python has a very rich set of tools for big data processing. This course focuses on how to analyze and visualize 50 million scale-level data. On-site students will practice the complete process of big data analysis in the form of actual combat, which from data conditioning, analysis, interactive visualization to final display. Also, on-site students will master how to effectively perform data conditioning (filling, filtering, transforming, enriching, etc.), and how to perform regular statistics, time series analysis, and predictive comparison with algorithms, and how to do interactive analysis and visual display of results. This course will cover a variety of popular Python toolsets, including but not limited to Numpy, Pandas, SeaBorn, Jupyter, Dash, Pyecharts, etc.
AUDIENCE
People who need to do data development, analysis or operations. Can be a general development, IT / business operations staff or data analysis role personnel; need to have a basic programming foundation (not necessarily Python), and understand the general concept of data analysis.
DESCRIPTION
Python is a great tool for crawling. This topic will show you how to use Python to write crawlers to crawl massive amounts of data and combine ElasticSearch for massive (tens of billions of scale) data analysis and visualization. On-site students will practice massive data crawling in the form of actual combat, analyze the complete link of visualization, and also master how to effectively do concurrent data crawling (concurrency, request, coding, JS operation, etc.), how ElasticSearch and Kibana do massive data regular query, statistics, visualization, etc., and how to analyze the massive scale data. This topic covers a variety of popular Python and ELK aggregations, including but not limited to requests, requests-html, scrapy, selenum/webdriver, execjs, elasticsearch, kibana, etc.
AUDIENCE
People who need to do data development, analysis or operations. Can be general development, IT/business operations staff, or data analysis engineers; need to have a basic Python programming foundation and understand the general concepts of data analysis.
DESCRIPTION
This is a tutorial for beginners of Python. The audience needs to understand the basic syntax of Python and understand object-oriented programming. This tutorial is especially useful for people who want to do something personal, but don't know what to do or how to do.
After the tutorial, participants will be familiar with the Python package structure. Learn how to write setup.py, how to create a command line program, and how to publish your own Python library.
This tutorial will use an example to analyze the birth, creation, release, improvement, and perfection of a project.
SCHEDULE
1. Analyze requirements. The author uses Python to create an e-book generation tool as an example to analyze what to do, why to do the project, and how to implement it.
2. Preparatory work. Understand the format of the e-book, and how to analyze the format of the e-book, and what kinds of methods is available.
3. Create project and look for a third-party library that you need to use. Here we will use requests, beautifulsoup, Jinja. We will analyze why these libraries are used and why they are found.
4. Familiar with third-party libraries. Understand the basic usage of these dependencies.
5. Write the project. Creating a book as an example at first, then writing the basic functions. The participants will learn about this: HTTP requests (requests), web page parsing (beautifulsoup), template engine (Jinja).
6. Improve the project. Analyze different web page structures and improve the packaging of your own code, in order to facilitate extension later.
7. Publish the project. Complete the editing of the command line, understand the packaging of Python, write the setup.py, and learn about various publishing tools.
8. Improve the project. Learning how to expand the project, how to write test cases, and how to build a plug-in system.
This tutorial uses a practical example to teach you how to create a Python project from scratch, and this tutorial is suitable for Python beginners and people who interested in e-Books.
Level:Beginner
Let’s dive into methods for debugging remote python in environments such as CircuitPython, Raspberry Pi, Docker containers, remote Linux Servers, and Jupyter Notebooks.
Abstract
If you are anything like me, when you started with Python 'print' was the debugger of choice. But you likely found that was slow, tedious, and didn't cut it for more complex problems.
You’ll learn how to sync code to devices, attach debuggers, and step through your code. And existing (or newly forged) Jupyter fans will learn tips to debug your notebooks.
This fun session covers a range of scenarios and empowers you to supercharge your debugging techniques!
Bring your laptop
This is a hands-on tutorial, you need to bring your own laptop (Linux, macOS, or Windows 10)
Please install "Visual Studio Code Insiders Edition" (https://code.visualstudio.com/insiders/) - It is free and Open Source.
Tutorial Content
PyCon Debugging Tutorial: https://github.com/gloveboxes/PyCon-Hands-on-Lab
RobotFramework is an open-source testing framework based on Python automation for automated testing for continuous integration. RobotFramework is written in a custom scripting language (DSL) but often requires automated test engineers to remember a large number of function names and rules, which is not very convenient to debug. This topic shares a script development tool based on QScintilla+PyQt5 for RobotFramework. It supports syntax highlighting, auto-completion, custom icons, etc. Through this sharing, listeners can learn how to write syntax highlighting, auto-completion, error prompts etc. based on QScintilla, and you can customize the IDE for the DSL field.
Heng CuiExtracting information from nature text and forming structured data can help us understand text and assist decision-making. This topic will share the process of structured information extraction using Python, and introduce some technical practices and engineering experience basing on a case of structured data extraction.
Yi WangThis session will talk about the process of migrating an existing Flask application to AWS Lambda. We will analyze the existing application, decompose it into individual microservices, adapt authentication, frontend, tests, and data model, and finally deploy it to the Cloud. Throughout this step-by-step process, you will learn the benefits of serverless and how it will change the way you think of scalability, availability, security, infrastructure management, and cost optimization.
Lianghong FeiI will talk about how data exploration, data monitoring and data sharing can be done efficiently using Python's data analysis web framework Dash. Especially in data sharing
・ Ability to share more data than ever.
・ To improve the understanding of data by top management and customers, and to reflect their opinions in data analysis.
・ Can accelerate business development.
I will give a presentation with Dash application.
・ Language comparison: Python's advantages in rapid programming and open source tool library
・ Python's Intelligent QA practice and fast interation of strategy
・ Performance bottlenecks and solutions
・ Expectations: the language itself supports more collaborations, high concurrency, muti-core, etc.
Python 中的 AST(Abstract Syntax Tree)是把文本形式源代码转化成具有抽象语法结构的树状表达式。灵活运用 AST 可以在编译成 bytecode 前对源代码二次修改,以达到某些特殊的功能。也可以根据修改后的 AST 对代码进行转义或者二次生成任何具有语法的文本。
Xiangyu HeBased on graph analysis and semi-supervised learning to detect financial anti-fraud, use Python to interact with Neo4j system to store, display and analyze customer transaction graphs.
The content contains:
(1) The introduction of the graph algorithm and the timing of the application (the use of contexts at home and abroad, such as, LinkedIn, paper research, for example, using the Label Propagation method to detect transaction fraud),
(2) Graph algorithm tools available,
(3) Graph algorithm community and resources sharing, etc. (neo4j Chinese community, paper with codes, twiML@AI).
Finally, there will be a simple implementation. After the data is cleaned up on the Python side, we write the nodes, edges, relationship attributes and weights into the graph database, and calculate the importance and visualization of the characters through different defined central degrees, then we can better understand the nature of the graph algorithm.
I will introduce applications and cases of Python in the visual effects industry, including the features of the visual effects industry, the introduce of visual production process, how to transform the pretty cool visual effects shots from creative imagination into the effects that the audience want to see, the gap between domestic visual effects companies and foreign visual effects companies and the application of Python in visual effects production. By sharing this topic, I hope to make more programmers know visual effects technology and join visual effects industry to let the big screen show more wonderful pictures.
Lizhuo Guo站在开发者的角度,在工作中大家最关注的是业务功能是否实现,业务逻辑是否正确,高级别的一些同学的会关注可扩展性等架构层面的问题。然而,大家都有共同特点:在完成工作(编写代码)时,几乎都是正向思维,会假定用户是按产品设计的流程操作的。
例如写用户余额减扣的代码,也只会写 if user.balance >= product.price, 紧接着一句 user.balance -= product.price。实际上这样的语句存在很大的安全隐患。
应用开发者们一般很少去思考自己所编写的代码可能存在的瑕疵和安全漏洞,就算其中有部分同学具有较强的安全意识,对如何编写安全的代码也只是停留在:内存访问别越界,别用 eval 函数,入参要做非法字符校验。
本演讲主题将分享给大家的是,在利用 Python 编写程序的过程中,有哪些不经意的“正常写法”可能存在安全隐患以及改进做法,使代码变得更安全,并介绍两个用于 Python 代码审查的工具。
通过 Python 和 Telegram 搭建一个家用机器人,并介绍一些相关的功能和生态环境。
Zhixiang Xu随着 Python2.x 的停止维护时间(2020年1月1日)越来越近,各大流行 Python 包(Flask,Django,Ipython)也终止了 Python2 版本的支持。遗留项目切换到 Python3 的计划也要提上日程。本次主题演讲主要介绍 Python3 各个版本的新特性,改进,背后的原因,和从 Python2 代码迁移过来时需要注意的点。
Yixian DuPandas 作为最受数据科学家欢迎的分析库,提供了超多的接口来进行数据处理和分析。然而,在很多具体任务过程中,会遇到性能不尽如人意,但又不知如何优化的情况。本次演讲会介绍 Pandas 的常见优化策略,以及 Pandas 背后的实现原理。最后在常见优化手段都不起作用时,可以使用 Mars DataFrame 来并行和分布式加速计算。
Kaisheng He1) BCC(BPF Compiler Collection, 利用扩展的伯克利包过滤器 eBPF 来高效地跟踪内
核和操作应用程序的工具箱)的 Python 前端解析
2) 深入分析 LISA(Linux Integrated System Analysis, 基于 Python 的 Linux 内核交互
式分析和自动化测试利器)项目
3) 脚本化内核调试器 drgn 简介
4) 在开源 ARM 平台(如树莓派4等)上实践 BCC 和 drgn,以及 LISA 项目的扩展设计
议题涉及的主要技术链接:
https://en.wikipedia.org/wiki/Berkeley_Packet_Filter
https://github.com/iovisor/bcc
https://github.com/ARM-software/lisa
https://github.com/osandov/drgn
https://www.raspberrypi.org/products/raspberry-pi-4-model-b/
主题待定
Xinyi Li从个人经历出发,介绍本人在使用 VS Code 进行 Python 项目开发的经验教训以及总结出来的一些最佳实践。内容包括:
1. Python 开发环境的配置(Windows, Mac OS, Linux, Container);
2. 介绍说明使用 VS Code 进行 Python 开发的常用插件和必要配置,包括 Python,Visual Studio IntelliCode,GitLens,Git Graph,gitignore Generator,Live Share,Settings Sync,Project Manager 等个人经常使用的 VS Code 插件;
3. 创建一个示例Flask项目并实现一个短链生成器,并结合之前介绍的插件充分展示VS Code开发Python项目的编码,调试,测试阶段的实践。
Side Project 可以让你实践自己的想法,拓展自己的技术广度,检验自己的能力。在 Side Project 中你必须独立解决问题,这里面有很多挑战,但是乐趣更多!做自己的 Side Project,不用担心老板,同事,可以按照自己的想法做事。这个演讲分享做 Side Project 的一些经验,包括如何找到自己的 Side Project,如何知道可行不可行,如何维护它们等等。
Xintao Lai什么是 PySpark?
为什么选择 PySpark?
使用 PySpark 进行大数据处理?
使用 PySpark 进行机器学习?
本快速演讲主题将分享给大家的是,在利用 PySpark 在大数据处理和机器学习方向的应用,并介绍使用过程中的一些经验总结,优点以及不足的地方。
结合当前主流深度学习框架流行趋势及实际业务情况说明选择 Keras 作为部门深度学习主要框架的原因。随后进行 Keras 的简单介绍,介绍如何使用 Keras 模块进行序贯式及函数式编程来搭建神经网络的过程及实施过程。最后结合公司研发的产品介绍人工智能技术在医学及公共卫生领域的一些应用方向,前景与挑战。
Zhenying Xu随着 DevOps 理念的普及,云服务的开发人员也是测试人员,在快速迭代的过程中保证测试质量和效率变得尤为重要。那么如何设计出一个通用、好用、高效与可靠的云服务测试框架?如何利用好 asyncio 的异步特性?希望通过本次分享,能为大家带来启发。
Binxin Wang对于特定领域的智能问答系统,通过对整个过程的数据处理,对抗样本的干扰,多个模型的融合等,基于 Tensorflow 框架,es 检索数据库等工具,建立了有精准答案和推荐的智能问答系统,当然,也有考虑过一些基于 wide&deep 的推荐思路,最后很好地对单一领域的问答给出较好的结果和客户的满意度。
Fusheng XuThe bursting increase of SRE position shows the great value and vitality of the operation and maintenance system originated from Google. It is a common routine, but you should at least be familiar with core principles such as SLO, monitoring, alarming, trivial reduction and simplification. This speech will also talk about how to transfer them to practical tricks that you can use in your group, including a process specified by the SLO for a typical application system.
Zheng LiuFinancing is a national topic. There are conservative Yu'E Bao, steady stock futures, radical virtual currency and 100 times leveraged foreign exchange speculation. After experiencing various financial management methods, I decide to share the low-risk investment method of using Python in radical investment projects: Quantitative trading of virtual currency in grid trading. We will start from scratch, briefly discuss the principles and methods of grid trading, and describe how to call API interfaces of relevant exchanges, obtain information about investment targets, record transactions, test and run programs correctly through Python, and give the audience a basic concept of quantitative trading, and derives the point of view that programming is fun from making money with programs.
Zagfai・ What is modin? What's the difference between modin and pandas? How to start using modin?
・ Speed: modin V.S. pandas
・ Low-level principles: How to make full use the power of multi-core to parallel the scientific computing?
・ The limitation and community's ambition of modin.
Introduction to distributed crypto exchange architecture implementation, with python implementation.
Introduction to implementation of crypto wallet.
Microsoft has great support for Python from development tools to cloud solutions. The combination of Microsoft Azure Machine Learing Service and Python will catalyze the AI application development. Visual Studio Code also has a good Python extension. It can support AI application development from sever side to cloud side, This course will use Visual Studio Code and Microsoft Azure Machine to construct a modern AI application scenarios based on Python from training, tuning to cloud deployment of model, and using Azure DevOps to complete development managment of CI/CD.
A. Introduction of Visual Studio Code Python Components
1. Python program debugging @Visual Studio Code
2. Visual Studio Code run Jupyer
3. Flask + Docker@Visual Studio Code
B. Python@Azure
1. Microsoft Cloud support of Python
2.Rapidly deploy a Flask + Docker application to Azure
3.Use Azure DevOps to manage Flask development
C. Azure Machine Learning
1. Introduction of Azure Machine Learning Service
2. Example:Training and tuning Python model under Azure Machine Learning Serivce
3. Example: Using Azure Machine Learning Service to rapidly publish a Serverless applicaiton
D. Demonstration
This lecture will introduce the idea of parallel computing and accelerating computing based on FPGA. At the same time, base on Python programming framework PYNQ (Python Productivity for Zynq) of Xilinx ARM SOC, I will tell you in detail the PYNQ development environment and development tool chain based on Ultra96 development board of Avnet, as well as the reference design and related demonstration based on PYNQ framework, including the application of computer vision and artificial intelligence. Finally, I will introduce a series of technology exchange activities planned by Avnet in cooperation with Python community, aiming at promoting the wide application of Python programming in embedded platforms, and promoting the landing of products in the fields of computer vision, artificial intelligence and edge computing.
Zhiyong ChenDependency management is never an easy stuff in Python. Is it enough to only use pip + requirements.txt? Why we need a special tool to manage package and dependencies? This speech will start from basic principle, talk about the aim of pip, virtualenv, pipenv, and will also describe the pain points and solutions in dependency management. For extension, we will talk about the tools beside Pipenv and what problem do they solve in Python package management.
Xi Ming・ How to build a Python package, how to do Python extension with C, C++, and Fortran.
・ How expansion compile wheel on different operating systems, how to compile binary packages target to manylinux for Linux operating system, how to solve the dependency on windows, how to release the package to pypi.org with the help of CI.
There is often a need to write short Python scripts(usually just a function) for myself or other colleagues, it's may be a little bit difficult for those who are not familiar with Python to use them. After a period of time, they will accumulate more fragmentary scripts, which are difficult to manage and inconvenient to use. We can obtain function signature information by using Python 3 Annotations feature, to automatically generate Web UI for common types of parameters. Placing fragmentary functions in a single Python file, and the program parsing the specified scripts files to automatically generate Web UI, it can be used directly by clicking on the input parameters without knowing Python, which greatly reduces the difficulty of use and facilitates centralized management.
Weikang PengWriting cryptocurrency trading system is a interesting thing, Different people have different solutions,
how to choose framework of Python? What is the tips?Glad to discussing about it.
This speech will introduce the theory and practical application of natural language processing in Python, especially the multi-language challenge and legal text processing. I'll try to give the audience a new perspective and inspiration in 30 minutes. The content is divided into 3 segments:
1.Introduction of Python NLP
Introduction of Python as NLP theoretical basis and utility tools.
2.NLP in several languages
NLP tool for other languages, different points of Chinese and Japanese practicals, precautions of NLP in multi-languages.
3.Practical sharing of Python contract risk prediction model
Through the analysis of the model construction process, including result comparisons and article semantic analysis of EDA, Cosine Similarity, BLUE, ROUGE and some other similar algorithms, enhance the ability of the audience to process the legal texts.
We cannot split human and language, NLP is able to process all the phenomenon of languages. I hope you can gain some points and try to use Python NLP in your field.
Python 自诞生以来一直有“胶水语言”的美誉,如今互联网开发进入了云时代,Python 同样是云的“胶水”。这次分享了领先的云平台 AWS 的 Python 应用,充分展示 Python 语言优雅简洁的魅力。通过结合云平台的 Python,几行代码实现云端应用程序,几行代码管理海量基础设施,几行代码连接 IoT 平台,几行代码调用高级人工智能,甚至,你想象过吗,几行代码实现一个卫星地面接收站。
Xiaofeng ZhangPattern matching, we have been thinking for many years. JIT, we also have been thinking for many years. The current pattern matching library is far less than the language constructs built in other languages; the current JIT is too domain-specific, and limited to numerical calculations or out of the CPython interpreter. We use compilation knowledge to implement JIT implementations that optimize different and use case based on some significant projects (such as llvm, llvmlite); we also introduce how to extend semantics under the current Python syntax.
thautwarmGreat code is just one part of a great career in information technology. Over the last three decades I’ve been privileged to work on a wide variety of teams and have benefited from the wisdom of great colleagues, friends and mentors along the way. To encourage you in your own careers, I’ll share some lessons I’ve learned about the other challenges we face as developers: What’s the right answer to “How long will it take”? Should I build a solution, download open-source or buy one? What does my boss want from me? What do my teammates need? How do I get along with other departments?
Jonathan LindstromUnlike promote static type annotation from a practical point of view, this talk will discuss the necessity of Python typing from a typological point of view, the essence of the difference between static language and equivalent dynamic language, and will promote the progressive type system and universal type derivation.
Zhihang LiuAs a micro framework, Flask is very suitable for developing Web API. What is the merits and drawback of Flask comparing to Django REST Framework and APIStar? In order to simplify our work, we will use some tools to help us. What should we choose between several tools and extension like Flask-RESTful、Flask-RESTPlus、Flask-API、Webargs、Marshmallow? Although we usually use REST API to name our Web API, most of them are not "RESTful" enough. Therefore, which kind of Web API is the truly REST API? In this topic speech, we will discuss these questions and introduce how to write a fully functional Web API using Flask.
Grey Li1. To introduce the ecosystem and the using scenarios of MicroPython.
2. To share personal experience of studying MicroPython
3. Display a project about electrocardiogram that detect heart pulse and show it on oled ( Bring the development board to the meeting )
4. Show a project about getting temperature and humidity and upload it to server using micropython, will show the website.
5. MicroPython studying resources sharing
A typical IoT system consists of several models, such as MCU, embed Linux, server, etc. It usually involves lots of programming languages and technical fields. The traditional developing method and the isolation of plenty of technical fields decreased the efficiency of IoT projects implementation.
This topic will introduce a hands-on IoT project to show the technical details from the device layer to the cloud layer. The hands-on IoT project consists of the MCU end device, embed Linux gateway and server software, almost all the components are developed by only one programming language which is Python. With the help of simplicity and abundant libraries of Python, it’s easy for engineers to construct IoT products quickly and smoothly.
知识图谱(KG)是 AI 应用不可或缺的基础资源,近年来受到了各行各业的广泛关注,无论是研究院所、企业、还是开发者个人,都对这项技术有着极大的认知与使用需求。而 Python 作为一门简洁、高效、功能强大的编程语言,对于构建大规模 KG 有着领先的优势。
基于上述,本次分享将围绕以下三个方面进行展开:
一是介绍数据驱动的 KG 构建方法;
二是介绍在 Python 生态中已开发的、面向图数据管理与分析的工具包;
三是以上述一、二中所提到的方法与工具为基础,面向知网学术数据与多媒体新闻文本数据,构建两套完整的知识图谱系统,并详细阐述其中重要的设计思路、算法模型、质量验证标准、可视化展现,以及系统部署。
When the concurrency of the company's system comes up, there are always some data in the database that have not been modified successfully. When the relevant code is used independently, concurrent execution actually finds this problem. Step by step to find the problem, after eliminating the problem of database lock, I focused on the session of SQLAlchemy. Finally, I found that every time I save data, I get a new session, which is the problem after testing.
Qiang Wu随着硬件的不断升级和数据的暴增,使得深度神经网络的训练成为可能。从最早的卷积神经网络 LeNet,后到 AlexNet 的出现,让人们意识到了神经网络的强大,Deep Learning 便开始了爆炸式增长,各种模型层出不穷,性能也愈加强大,也逐渐应用到实践当中。本次演讲将使用 Pytorch 框架和 Yolo 模型对视频进行分析,实现人流量的统计分析,希望能给大家带来一点启示。
Yuan Jiang介绍 MicroPython 的发展史、在硬件开发中的应用;MicroPython的开发环境,主流编辑器和 Mu 开发环境,开发环境的使用;MicroPython 涉及的相关开发板,STM32、ESP8266 等,不同开发板之间的硬件差异,开发板上的基本硬件功能使用,通用 IO口、彩灯控制、传感器使用;物联网硬件和云平台的互联互通、数据存储、数据分析;如何实现 Python 语言的全栈开发; MicroPython 和 Python 开发的异同,如何避免开发误区。
Yingzhang HuangIn the past few years, I have been engaged in work related to operation and maintenance development. The topic starts from the most basic self-build machine room of physical machine, involving asset management, release system, and monitoring system. All of these build on Flask for backend development, of which main tasks are secondary development based on open-source software and to construct automatic Ops system fast. The topic ranges from infrastructure to how to construct the DevOps system, and how to quickly implement CI/CD in Kubernetes environment now.
Xiao Luo根据亲身经历回顾/分享中国大陆环境中程序猿的成长模式, 以及可能的另外途径;
论及:
0: 究竟什么是 Pythonic
1: 为什么中国企业反感35+程序猿?
2: 技术社区和程序猿应该的关系是什么?
3: 个人职业发展的被重启或隐重启
松宇集团近年来着力推进信息化建设,在初期,选择了以 SAP 为核心的企业套装管理软件,随着深入使用,发现并没有完全满足松宇信息化的建设战略,遂决定采用自主研发的方式实现信息化平台的改造升级。在新的架构中,采用了以 FastAPI 框架为核心的后台技术体系。我会介绍一下项目的规划思路、整体架构、初步成果,以及为何选择 Python 和 FastAPI 作为核心技术栈。
Jizhi Shi这是一个开放式主题。会通过一些 PYTHON 的应用场景,展开一系列可讨论的主题,大家就自己感兴趣的内容,进行讨论。
Wei ShenWith the continuous development of Internet technology, improving efficiency has become the core means for enterprises to enhance market competitiveness, and automation is an effective way to improve efficiency and productivity.
Automated tools could automate simple and repetitive tasks. These tools compute how to achieve the goals by performing tasks in the correct, specific order and running each task. This presentation will share how to quickly implement Django builds using automated tools. I hope it could bring some help to everybody in area of continuous build.
Odoo 的发展史以及全球社区开放的应用模块介绍;
基于 Python 的 Odoo 架构技术优势(物联网接入、模块扩展、报表扩展、数据库扩展);
基于 Python 的 Odoo 架构应用优势(国内外电商平台接口、物流接口、社交平台接口等);
基于 Python 的平台信息化建设(行业案例)。