It is the slides for COSCUP[1] 2013 Hands-on[2], "Learning Python from Data".
It aims for using examples to show the world of Python. Hope it will help you with learning Python.
[1] COSCUP: http://coscup.org/
[2] COSCUP Hands-on: http://registrano.com/events/coscup-2013-hands-on-mosky
It was the talk, titled "Graph-Tool: The Efficient Network Analyzing Tool for Python", at PyCon APAC 2014 [1] and PyCon SG 2014 [2]. It introduces you to Graph-Tool by mass code snippets.
[1] https://tw.pycon.org/2014apac
[2] https://pycon.sg/
Writing concurrent program is hard; maintaining concurrent program even is a nightmare. Actually, a pattern which helps us to write good concurrent code is available, that is, using “channels” to communicate.
This talk will share the channel concept with common libraries, like threading and multiprocessing, to make concurrent code elegant.
It's the talk at PyCon TW 2017 [1] and PyCon APAC/MY 2017 [2].
[1]: https://tw.pycon.org/2017
[2]: https://pycon.my/pycon-apac-2017-program-schedule/
It is mainly about the multithreading and the multiprocessing in Python, and *in Python's flavor*.
It's also the share at Taipei.py [1].
[1] http://www.meetup.com/Taipei-py/events/220452029/
It is the slides for SITCON[1] 2013 Workshop[2]: "Git - The Version Control System You Must Know".
[1]: http://sitcon.org/
[2]: http://www.openfoundry.org/tw/activities/details/415-the-open-source-way-coder
Clime is a Python library which lets you convert any module into a multi-command CLI program without any configuration.
It is a short tour of Clime.
The full documentation of Clime: http://clime.mosky.tw/.
Python is a great programming language. It is a complete tutorial of using this programming language.
This slides is split into two parts, and it is the first part. Another part is at: http://www.slideshare.net/moskytw/programming-with-python-adv.
It was the talk, titled "Graph-Tool: The Efficient Network Analyzing Tool for Python", at PyCon APAC 2014 [1] and PyCon SG 2014 [2]. It introduces you to Graph-Tool by mass code snippets.
[1] https://tw.pycon.org/2014apac
[2] https://pycon.sg/
Writing concurrent program is hard; maintaining concurrent program even is a nightmare. Actually, a pattern which helps us to write good concurrent code is available, that is, using “channels” to communicate.
This talk will share the channel concept with common libraries, like threading and multiprocessing, to make concurrent code elegant.
It's the talk at PyCon TW 2017 [1] and PyCon APAC/MY 2017 [2].
[1]: https://tw.pycon.org/2017
[2]: https://pycon.my/pycon-apac-2017-program-schedule/
It is mainly about the multithreading and the multiprocessing in Python, and *in Python's flavor*.
It's also the share at Taipei.py [1].
[1] http://www.meetup.com/Taipei-py/events/220452029/
It is the slides for SITCON[1] 2013 Workshop[2]: "Git - The Version Control System You Must Know".
[1]: http://sitcon.org/
[2]: http://www.openfoundry.org/tw/activities/details/415-the-open-source-way-coder
Clime is a Python library which lets you convert any module into a multi-command CLI program without any configuration.
It is a short tour of Clime.
The full documentation of Clime: http://clime.mosky.tw/.
Python is a great programming language. It is a complete tutorial of using this programming language.
This slides is split into two parts, and it is the first part. Another part is at: http://www.slideshare.net/moskytw/programming-with-python-adv.
Sphinx autodoc - automated api documentation - PyCon.KR 2015Takayuki Shimizukawa
Using the automated documentation feature of Sphinx, you can make with ease the extensive documentation of Python program.
You just write python function documents (docstrings), Sphinx organizes them into the document, can be converted to a variety of formats.
In this session, I'll explain a documentation procedure that uses with sphinx autodoc and autosummary extensions.
pyconjp2015_talk_Translation of Python Program__Renyuan Lyu
Translation of Python Program into non-English Languages for Learners without English Proficiency,
a talk at Pycon Japan 2015, by Renyuan Lyu from Taiwan
OSCON2014 : Quick Introduction to System Tools Programming with GoChris McEniry
OSCON2014 Tutorial : Quick Introduction to System Tools Programming with Go
Every day, sysadmins are required to work with tools which, while powerful, tend to need to be merged with other languages. Many times, tools are chained together out of necessity by attempting to parse and munge outputs to inputs by making many inefficient calls to string processing command line tools. While effective, this approach is not usable in many situations due to the frequency of the run of the operation, or due to the footprint of the solution. Sometimes, it’s necessary to build your own tool, and the busy sysadmin needs one that is readily available.
Go’s powerful yet simple language makes it an excellent tool for harried sysadmins with limited time. Go’s toolset makes it easy to build and deploy simple small tools to targeted situations.
This tutorial provides an introduction to Go with a focus on using it for everyday sysadmins tooling. A example of working from iostat is used to show a practical approach to learning the language.
Sphinx autodoc - automated api documentation - PyCon.MY 2015Takayuki Shimizukawa
Using the automated documentation feature of Sphinx, you can make with ease the extensive documentation of Python program.
You just write python function documents (docstrings), Sphinx organizes them into the document, can be converted to a variety of formats.
In this session, I'll explain a documentation procedure that uses with sphinx autodoc and autosummary extensions.
Easy contributable internationalization process with Sphinx @ pyconmy2015Takayuki Shimizukawa
Sphinx can extract paragraphs from sphinx document and store them into gettext format translation catalog files.
Gettext format translation catalog is easy to translate from one language to other languages.
Also Sphinx support internationalization by using such catalog files.
You can use your favorite editors or services to translate your sphinx docs.
In this session, I'll explain 3 things; (1) entire process to translate sphinx docs. (2) automation mechanism for the process. (3) tips, tricks and traps for writing docs and translating.
This presentation will give developers an introduction and practical experience
of using MongoDB with the Go language. MongoDB Chief Developer Advocate &
Gopher Steve Francia presents plainly what you need to know about using MongoDB
with Go.
As an emerging language Go is able to start fresh without years of relational database dependencies. Application and library developers are able to build applications using the excellent Mgo MongoDB driver and the reliable go sql package for relational database. Find out why some people claim Go and MongoDB are a “pair made in heaven” and “the best database driver they’ve ever used” in this talk by Gustavo Niemeyer, the author of the mgo driver, and Steve Francia, the drivers team lead at MongoDB Inc.
We will cover:
Connecting to MongoDB in various configurations
Performing basic operations in Mgo
Marshaling data to and from MongoDB
Asynchronous & Concurrent operations
Pre-fetching batches for seamless performance
Using GridFS
How MongoDB uses Mgo internally
Python is a great programming language. It is a complete tutorial of using this programming language.
This slides is split into two parts, and it is the second part. Another part is at: http://www.slideshare.net/moskytw/programming-with-python-basic.
In your code base, to understand a random line, how many lines do you need to read back? Cloud you make it zero?
This talk will start with the impact of the maintainability, define the maintainability as “to understand a random line, the lines you need to read back”, show the practicing techniques to make it zero, or nearly zero, and finally, reach the goal: boost the maintainability.
It's the revision of “Beyond the Style Guides” [1] and the talk at PyCon TW 2016 [2], PyCon APAC/KR 2016 [3], and GDG DevFest Taipei 2016 [4].
[1]: https://speakerdeck.com/mosky/beyond-the-style-guides
[2]: https://tw.pycon.org/2016
[3]: https://www.pycon.kr/2016apac/
[4]: https://devfest-taipei-3cbee.firebaseapp.com/
Sphinx autodoc - automated api documentation - PyCon.KR 2015Takayuki Shimizukawa
Using the automated documentation feature of Sphinx, you can make with ease the extensive documentation of Python program.
You just write python function documents (docstrings), Sphinx organizes them into the document, can be converted to a variety of formats.
In this session, I'll explain a documentation procedure that uses with sphinx autodoc and autosummary extensions.
pyconjp2015_talk_Translation of Python Program__Renyuan Lyu
Translation of Python Program into non-English Languages for Learners without English Proficiency,
a talk at Pycon Japan 2015, by Renyuan Lyu from Taiwan
OSCON2014 : Quick Introduction to System Tools Programming with GoChris McEniry
OSCON2014 Tutorial : Quick Introduction to System Tools Programming with Go
Every day, sysadmins are required to work with tools which, while powerful, tend to need to be merged with other languages. Many times, tools are chained together out of necessity by attempting to parse and munge outputs to inputs by making many inefficient calls to string processing command line tools. While effective, this approach is not usable in many situations due to the frequency of the run of the operation, or due to the footprint of the solution. Sometimes, it’s necessary to build your own tool, and the busy sysadmin needs one that is readily available.
Go’s powerful yet simple language makes it an excellent tool for harried sysadmins with limited time. Go’s toolset makes it easy to build and deploy simple small tools to targeted situations.
This tutorial provides an introduction to Go with a focus on using it for everyday sysadmins tooling. A example of working from iostat is used to show a practical approach to learning the language.
Sphinx autodoc - automated api documentation - PyCon.MY 2015Takayuki Shimizukawa
Using the automated documentation feature of Sphinx, you can make with ease the extensive documentation of Python program.
You just write python function documents (docstrings), Sphinx organizes them into the document, can be converted to a variety of formats.
In this session, I'll explain a documentation procedure that uses with sphinx autodoc and autosummary extensions.
Easy contributable internationalization process with Sphinx @ pyconmy2015Takayuki Shimizukawa
Sphinx can extract paragraphs from sphinx document and store them into gettext format translation catalog files.
Gettext format translation catalog is easy to translate from one language to other languages.
Also Sphinx support internationalization by using such catalog files.
You can use your favorite editors or services to translate your sphinx docs.
In this session, I'll explain 3 things; (1) entire process to translate sphinx docs. (2) automation mechanism for the process. (3) tips, tricks and traps for writing docs and translating.
This presentation will give developers an introduction and practical experience
of using MongoDB with the Go language. MongoDB Chief Developer Advocate &
Gopher Steve Francia presents plainly what you need to know about using MongoDB
with Go.
As an emerging language Go is able to start fresh without years of relational database dependencies. Application and library developers are able to build applications using the excellent Mgo MongoDB driver and the reliable go sql package for relational database. Find out why some people claim Go and MongoDB are a “pair made in heaven” and “the best database driver they’ve ever used” in this talk by Gustavo Niemeyer, the author of the mgo driver, and Steve Francia, the drivers team lead at MongoDB Inc.
We will cover:
Connecting to MongoDB in various configurations
Performing basic operations in Mgo
Marshaling data to and from MongoDB
Asynchronous & Concurrent operations
Pre-fetching batches for seamless performance
Using GridFS
How MongoDB uses Mgo internally
Python is a great programming language. It is a complete tutorial of using this programming language.
This slides is split into two parts, and it is the second part. Another part is at: http://www.slideshare.net/moskytw/programming-with-python-basic.
In your code base, to understand a random line, how many lines do you need to read back? Cloud you make it zero?
This talk will start with the impact of the maintainability, define the maintainability as “to understand a random line, the lines you need to read back”, show the practicing techniques to make it zero, or nearly zero, and finally, reach the goal: boost the maintainability.
It's the revision of “Beyond the Style Guides” [1] and the talk at PyCon TW 2016 [2], PyCon APAC/KR 2016 [3], and GDG DevFest Taipei 2016 [4].
[1]: https://speakerdeck.com/mosky/beyond-the-style-guides
[2]: https://tw.pycon.org/2016
[3]: https://www.pycon.kr/2016apac/
[4]: https://devfest-taipei-3cbee.firebaseapp.com/
It's a talk about how to write understandable code from understanding human brain at Taipei.py [1] and PyCon HK 2015 [2].
[1]: http://www.meetup.com/Taipei-py/events/222174472/
[2]: http://2015.pycon.hk/
ZIPCodeTW: Find Taiwan ZIP Code by Address FuzzilyMosky Liu
It was a lightning talk at PyCon APAC 2014 [1]. It introduces the tool to find ZIP code, ZIPCodeTW [2].
[1] http://tw.pycon.org/2014apac/
[2] http://zipcode.mosky.tw
Outlines the vision and philosophy for Wakari.io with a basic overview of popular python data analysis packages. Most of the talk is conducted in Wakari and is not visible on these slides. 90 minutes for PyData NYC, November 8th 2013.
Social networks are not new, even though websites like Facebook and Twitter might make you want to believe they are; and trust me- I’m not talking about Myspace! Social networks are extremely interesting models for human behavior, whose study dates back to the early twentieth century. However, because of those websites, data scientists have access to much more data than the anthropologists who studied the networks of tribes!
Because networks take a relationship-centered view of the world, the data structures that we will analyze model real world behaviors and community. Through a suite of algorithms derived from mathematical Graph theory we are able to compute and predict behavior of individuals and communities through these types of analyses. Clearly this has a number of practical applications from recommendation to law enforcement to election prediction, and more.
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 coretimohund
This presentation shows, how we use travis-ci.org and scrutinizer-ci.com to keep our extension uptodate with the TYPO3 core. Beside that we show what could be next for EXT:solr in the next year.
The PyConTW (http://tw.pycon.org) organizer wishes to improve the quality and quantity of the programming cummunities in Taiwan. Though Python is their core tool and methodology, they know it's worth to learn and communicate with wide-ranging communities. Understanding cultures and ecosystem of a language takes me about three to six months. This six-hour course wraps up what I - an experienced Java developer - have learned from Python ecosystem and the agenda of the past PyConTW.
你可以在以下鏈結找到中文內容:
http://www.codedata.com.tw/python/python-tutorial-the-1st-class-1-preface
LESSON 3B. FOCUS: FOR LOOPS, NESTED LOOPS, TASKS AND CHALLENGES.
Introduction to, with examples, For loops. Challenges and tasks included with solutions (predict the output). Compare ‘while’ and ‘for’ loops. Use the break statement and explore how it works in different scenarios. Learn about Nested Loops. Learn about the need for initialisation (set starting value). Create your own for loops. Create the beginnings of an arithmetic quiz using a random function and for loops. Big ideas discussion: Is the universe digital. A program? Introducing Gottfried Leibniz and Konrad Zuse. Includes a suggested videos, ‘Big ideas’ discussion, and HW/research projects section.
Space ships, bridges, buildings have been reduced to rubble, banking errors occurred worth billions of dollars, all because of a simple error.
We’ll be talking about the importance of automated testing, types of testing, how to make and maintain tests, and ultimately how to use all of this to automatically deploy your project, with a small demo in the end.
Using Buildout to Develop and Deploy Python ProjectsClayton Parker
Buildout gives you a way to manage, build and deploy your Python project with ease. Large Python projects such as Plone use it to distribute repeatable development environments. Buildout allows you to easily get up and running with your project versus the traditional method of installing all the dependancies and manually configuring your applications instance for each environment. The buildout community is rapidly growing with a large repository of recipes that allow you to extend it's functionality. This talk will show you the basics of using buildout and how to make it a vital part of your project's life cycle.
( ** Python Certification Training: https://www.edureka.co/python ** )
This Edureka PPT on Advanced Python tutorial covers all the important aspects of using Python for advanced use-cases and purposes. It establishes all of the concepts like system programming , shell programming, pipes and forking to show how wide of a spectrum Python offers to the developers.
Python Tutorial Playlist: https://goo.gl/WsBpKe
Blog Series: http://bit.ly/2sqmP4s
Follow us to never miss an update in the future.
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Christian Strappazzon - Presentazione Python Milano - Codemotion Milano 2017Codemotion
PyMI: siamo un gruppo di Sviluppatrici, Sviluppatori, Appassionati e Appassionate di Python a Milano. Ci incontriamo una volta al mese in Mikamai/LinkMe. Abbiamo degli eventi ricorrenti e molto apprezzati: "Pillole di Python" e "PyBirra". * Presentazione del gruppo * Python Blueprint: the language, the tools, the packages and the ecosystem.
MoSQL: More than SQL, but Less than ORM @ PyCon APAC 2013Mosky Liu
It is the slides of the talk, "MoSQL: More than SQL, but Less than ORM", at PyCon APAC 2013. It introduces MoSQL after v0.6.
About MoSQL:
MoSQL is a Python library which lets you use common Python’s data structures to build SQLs.
http://mosql.mosky.tw/
** Please visit https://speakerdeck.com/mosky/mosql-more-than-sql-but-less-than-orm-at-pycon-apac-2013 for the newer slide. :)
It is the slides of the talk, "MoSQL: More than SQL, but Less than ORM", at PyCon TW 2013.
About MoSQL:
MoSQL is a Python library which lets you use common Python’s data structures to build SQLs, and provides a convenient model of result set.
http://mosql.mosky.tw/
Advanced Flow Concepts Every Developer Should KnowPeter Caitens
Tim Combridge from Sensible Giraffe and Salesforce Ben presents some important tips that all developers should know when dealing with Flows in Salesforce.
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
Science gateways allow science and engineering communities to access shared data, software, computing services, and instruments. Science gateways have gained a lot of traction in the last twenty years, as evidenced by projects such as the Science Gateways Community Institute (SGCI) and the Center of Excellence on Science Gateways (SGX3) in the US, The Australian Research Data Commons (ARDC) and its platforms in Australia, and the projects around Virtual Research Environments in Europe. A few mature frameworks have evolved with their different strengths and foci and have been taken up by a larger community such as the Globus Data Portal, Hubzero, Tapis, and Galaxy. However, even when gateways are built on successful frameworks, they continue to face the challenges of ongoing maintenance costs and how to meet the ever-expanding needs of the community they serve with enhanced features. It is not uncommon that gateways with compelling use cases are nonetheless unable to get past the prototype phase and become a full production service, or if they do, they don't survive more than a couple of years. While there is no guaranteed pathway to success, it seems likely that for any gateway there is a need for a strong community and/or solid funding streams to create and sustain its success. With over twenty years of examples to draw from, this presentation goes into detail for ten factors common to successful and enduring gateways that effectively serve as best practices for any new or developing gateway.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Hivelance Technology
Cryptocurrency trading bots are computer programs designed to automate buying, selling, and managing cryptocurrency transactions. These bots utilize advanced algorithms and machine learning techniques to analyze market data, identify trading opportunities, and execute trades on behalf of their users. By automating the decision-making process, crypto trading bots can react to market changes faster than human traders
Hivelance, a leading provider of cryptocurrency trading bot development services, stands out as the premier choice for crypto traders and developers. Hivelance boasts a team of seasoned cryptocurrency experts and software engineers who deeply understand the crypto market and the latest trends in automated trading, Hivelance leverages the latest technologies and tools in the industry, including advanced AI and machine learning algorithms, to create highly efficient and adaptable crypto trading bots
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Why React Native as a Strategic Advantage for Startup Innovation.pdfayushiqss
Do you know that React Native is being increasingly adopted by startups as well as big companies in the mobile app development industry? Big names like Facebook, Instagram, and Pinterest have already integrated this robust open-source framework.
In fact, according to a report by Statista, the number of React Native developers has been steadily increasing over the years, reaching an estimated 1.9 million by the end of 2024. This means that the demand for this framework in the job market has been growing making it a valuable skill.
But what makes React Native so popular for mobile application development? It offers excellent cross-platform capabilities among other benefits. This way, with React Native, developers can write code once and run it on both iOS and Android devices thus saving time and resources leading to shorter development cycles hence faster time-to-market for your app.
Let’s take the example of a startup, which wanted to release their app on both iOS and Android at once. Through the use of React Native they managed to create an app and bring it into the market within a very short period. This helped them gain an advantage over their competitors because they had access to a large user base who were able to generate revenue quickly for them.
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
2. THIS SLIDE
• The online version is at
https://speakerdeck.com/mosky/learning-python-from-data.
• The examples are at
https://github.com/moskytw/learning-python-from-data-examples.
2
5. MOSKY
• I am working at Pinkoi.
• I've taught Python for 100+ hours.
3
6. MOSKY
• I am working at Pinkoi.
• I've taught Python for 100+ hours.
• A speaker at
COSCUP 2014, PyCon SG 2014, PyCon APAC 014,
OSDC 2014, PyCon APAC 2013, COSCUP 2014, ...
3
7. MOSKY
• I am working at Pinkoi.
• I've taught Python for 100+ hours.
• A speaker at
COSCUP 2014, PyCon SG 2014, PyCon APAC 014,
OSDC 2014, PyCon APAC 2013, COSCUP 2014, ...
• The author of the Python packages:
MoSQL, Clime, ZIPCodeTW, ...
3
8. MOSKY
• I am working at Pinkoi.
• I've taught Python for 100+ hours.
• A speaker at
COSCUP 2014, PyCon SG 2014, PyCon APAC 014,
OSDC 2014, PyCon APAC 2013, COSCUP 2014, ...
• The author of the Python packages:
MoSQL, Clime, ZIPCodeTW, ...
• http://mosky.tw/
3
12. SCHEDULE
•Warm-up
• Packages - Install the packages we need.
• CSV - Download a CSV from the Internet and handle it.
4
13. SCHEDULE
•Warm-up
• Packages - Install the packages we need.
• CSV - Download a CSV from the Internet and handle it.
• HTML - Parse a HTML source code and write a Web crawler.
4
14. SCHEDULE
•Warm-up
• Packages - Install the packages we need.
• CSV - Download a CSV from the Internet and handle it.
• HTML - Parse a HTML source code and write a Web crawler.
• SQL - Save data into a SQLite database.
4
15. SCHEDULE
•Warm-up
• Packages - Install the packages we need.
• CSV - Download a CSV from the Internet and handle it.
• HTML - Parse a HTML source code and write a Web crawler.
• SQL - Save data into a SQLite database.
• The End
4
21. 2 OR 3?
• Use Python 3!
• But it actually depends on the libs you need.
7
22. 2 OR 3?
• Use Python 3!
• But it actually depends on the libs you need.
• https://python3wos.appspot.com/
7
23. 2 OR 3?
• Use Python 3!
• But it actually depends on the libs you need.
• https://python3wos.appspot.com/
•We will go ahead with Python 2.7,
but I will also introduce the changes in Python 3.
7
25. THE ONLINE RESOURCES
• The Python Official Doc
• http://docs.python.org
• The Python Tutorial
• The Python Standard
Library
8
26. THE ONLINE RESOURCES
• The Python Official Doc
• http://docs.python.org
• The Python Tutorial
• The Python Standard
Library
• My Past Slides
• Programming with Python
- Basic
• Programming with Python
- Adv.
8
33. PREPARATION
• Did you say "hello" to Python?
• If no, visit
• http://www.slideshare.net/moskytw/programming-with-python-
basic.
10
34. PREPARATION
• Did you say "hello" to Python?
• If no, visit
• http://www.slideshare.net/moskytw/programming-with-python-
basic.
• If yes, open your Python shell.
10
36. MATH & VARS
2 + 3
2 - 3
2 * 3
2 / 3, -2 / 3
!
(1+10)*10 / 2
!
2.0 / 3
!
2 % 3
!
2 ** 3
x = 2
!
y = 3
!
z = x + y
!
print z
!
'#' * 10
12
37. FOR
for i in [0, 1, 2, 3, 4]:
print i
!
items = [0, 1, 2, 3, 4]
for i in items:
print i
!
for i in range(5):
print i
!
!
!
chars = 'SAHFI'
for i, c in enumerate(chars):
print i, c
!
!
words = ('Samsung', 'Apple',
'HP', 'Foxconn', 'IBM')
for c, w in zip(chars, words):
print c, w
13
38. IF
for i in range(1, 10):
if i % 2 == 0:
print '{} is divisible by 2'.format(i)
elif i % 3 == 0:
print '{} is divisible by 3'.format(i)
else:
print '{} is not divisible by 2 nor 3'.format(i)
14
39. WHILE
while 1:
n = int(raw_input('How big pyramid do you want? '))
if n <= 0:
print 'It must greater than 0: {}'.format(n)
continue
break
15
40. TRY
while 1:
!
try:
n = int(raw_input('How big pyramid do you want? '))
except ValueError as e:
print 'It must be a number: {}'.format(e)
continue
!
if n <= 0:
print 'It must greater than 0: {}'.format(n)
continue
!
break
16
41. LOOP ... ELSE
for n in range(2, 100):
for i in range(2, n):
if n % i == 0:
break
else:
print '{} is a prime!'.format(n)
17
53. GET PIP - WIN *
• Follow the steps in http://stackoverflow.com/questions/
4750806/how-to-install-pip-on-windows.
25
54. GET PIP - WIN *
• Follow the steps in http://stackoverflow.com/questions/
4750806/how-to-install-pip-on-windows.
• Or just use easy_install to install.
The easy_install should be found at C:Python27Scripts.
25
55. GET PIP - WIN *
• Follow the steps in http://stackoverflow.com/questions/
4750806/how-to-install-pip-on-windows.
• Or just use easy_install to install.
The easy_install should be found at C:Python27Scripts.
• Or find the Windows installer on Python Package Index.
25
58. 3-RD PARTY PACKAGES
• requests - Python HTTP for Humans
• lxml - Pythonic XML processing library
26
59. 3-RD PARTY PACKAGES
• requests - Python HTTP for Humans
• lxml - Pythonic XML processing library
• uniout - Print the object representation in readable chars.
26
60. 3-RD PARTY PACKAGES
• requests - Python HTTP for Humans
• lxml - Pythonic XML processing library
• uniout - Print the object representation in readable chars.
• clime - Convert module into a CLI program w/o any config.
26
64. FILE
save_path = 'school_list.csv'
!
with open(save_path, 'w') as f:
f.write(requests.get(url).content)
!
with open(save_path) as f:
print f.read()
!
with open(save_path) as f:
for line in f:
print line,
30
65. DEF
from os.path import basename
!
def save(url, path=None):
!
if not path:
path = basename(url)
!
with open(path, 'w') as f:
f.write(requests.get(url).content)
31
66. CSV
import csv
from os.path import exists
!
if not exists(save_path):
save(url, save_path)
!
with open(save_path) as f:
for row in csv.reader(f):
print row
32
67. + UNIOUT
import csv
from os.path import exists
import uniout # You want this!
!
if not exists(save_path):
save(url, save_path)
!
with open(save_path) as f:
for row in csv.reader(f):
print row
33
68. NEXT
with open(save_path) as f:
next(f) # skip the unwanted lines
next(f)
for row in csv.reader(f):
print row
34
69. DICT READER
with open(save_path) as f:
next(f)
next(f)
for row in csv.DictReader(f):
print row
!
# We now have a great output. :)
35
70. DEF AGAIN
def parse_to_school_list(path):
school_list = []
with open(path) as f:
next(f)
next(f)
for school in csv.DictReader(f):
school_list.append(school)
!
return school_list[:-2]
36
71. + COMPREHENSION
def parse_to_school_list(path='schools.csv'):
with open(path) as f:
next(f)
next(f)
school_list = [school for school in
csv.DictReader(f)][:-2]
!
return school_list
37
73. PYTHONIC
school_list = parse_to_school_list(save_path)
!
# hmmm ...
!
for school in shcool_list:
print shcool['School Name']
!
# It is more Pythonic! :)
!
print [school['School Name'] for school in school_list]
39
74. GROUP BY
from itertools import groupby
!
# You MUST sort it.
keyfunc = lambda school: school['County']
school_list.sort(key=keyfunc)
!
for county, schools in groupby(school_list, keyfunc):
for school in schools:
print '%s %r' % (county, school)
print '---'
40
75. DOCSTRING
'''It contains some useful function for paring data
from government.'''
!
def save(url, path=None):
'''It saves data from `url` to `path`.'''
...
!
--- Shell ---
!
$ pydoc csv_docstring
41
76. CLIME
if __name__ == '__main__':
import clime.now
!
--- shell ---
!
$ python csv_clime.py
usage: basename <p>
or: parse-to-school-list <path>
or: save [--path] <url>
!
It contains some userful function for parsing data from
government.
42
83. XPATH
titles = root.xpath('/html/head/title')
print titles[0].text
!
title_texts = root.xpath('/html/head/title/text()')
print title_texts[0]
!
as_ = root.xpath('//a')
print as_
print [a.get('href') for a in as_]
49
84. MD5
from hashlib import md5
!
message = 'There should be one-- and preferably
only one --obvious way to do it.'
!
print md5(message).hexdigest()
!
# Actually, it is noting about HTML.
50
85. DEF GET
from os import makedirs
from os.path import exists, join
!
def get(url, cache_dir_path='cache/'):
!
if not exists(cache_dir_path):
makedirs(cache_dir)
!
cache_path = join(cache_dir_path,
md5(url).hexdigest())
!
...
51
86. DEF FIND_URLS
def find_urls(content):
root = etree.HTML(content)
return [
a.attrib['href'] for a in root.xpath('//a')
if 'href' in a.attrib
]
52
93. TABLE
CREATE TABLE schools (
id TEXT PRIMARY KEY,
name TEXT,
county TEXT,
address TEXT,
phone TEXT,
url TEXT,
type TEXT
);
!
DROP TABLE schools;
59
94. CRUD
INSERT INTO schools (id, name) VALUES ('1', 'The
First');
INSERT INTO schools VALUES (...);
!
SELECT * FROM schools WHERE id='1';
SELECT name FROM schools WHERE id='1';
!
UPDATE schools SET id='10' WHERE id='1';
!
DELETE FROM schools WHERE id='10';
60
99. FETCH
...
cur.execute('select * from schools')
!
print cur.fetchone()
!
# or
print cur.fetchall()
!
# or
for row in cur:
print row
...
65
100. TEXT FACTORY
# SQLite only: Let you pass the 8-bit string as parameter.
!
...
!
conn = sqlite3.connect(db_path)
conn.text_factory = str
!
...
66
101. ROW FACTORY
# SQLite only: Let you convert tuple into dict. It is
`DictCursor` in some other connectors.
!
def dict_factory(cursor, row):
d = {}
for idx, col in enumerate(cursor.description):
d[col[0]] = row[idx]
return d
!
...
con.row_factory = dict_factory
...
67
104. MORE
• Python DB API 2.0
• MySQLdb - MySQL connector for Python
68
105. MORE
• Python DB API 2.0
• MySQLdb - MySQL connector for Python
• Psycopg2 - PostgreSQL adapter for Python
68
106. MORE
• Python DB API 2.0
• MySQLdb - MySQL connector for Python
• Psycopg2 - PostgreSQL adapter for Python
• SQLAlchemy - the Python SQL toolkit and ORM
68
107. MORE
• Python DB API 2.0
• MySQLdb - MySQL connector for Python
• Psycopg2 - PostgreSQL adapter for Python
• SQLAlchemy - the Python SQL toolkit and ORM
• MoSQL - Build SQL from common Python data structure.
68
110. THE END
• You learned how to ...
• make a HTTP request
69
111. THE END
• You learned how to ...
• make a HTTP request
• load a CSV file
69
112. THE END
• You learned how to ...
• make a HTTP request
• load a CSV file
• parse a HTML file
69
113. THE END
• You learned how to ...
• make a HTTP request
• load a CSV file
• parse a HTML file
• write a Web crawler
69
114. THE END
• You learned how to ...
• make a HTTP request
• load a CSV file
• parse a HTML file
• write a Web crawler
• use SQL with SQLite
69
115. THE END
• You learned how to ...
• make a HTTP request
• load a CSV file
• parse a HTML file
• write a Web crawler
• use SQL with SQLite
• and lot of techniques today. ;)
69