SlideShare a Scribd company logo
1 of 98
Download to read offline
Python
   A Comprehensive
Programming Language


                 胡崇偉
         marr@citi.sinica.edu.tw
    Open Source Software Foundry
自由軟體鑄造場

• 營運網站以提供自由軟體專案進駐開發
• 提供系統技術與工具以協助軟體開發
• 研究開放源碼軟體授權條款與法律政策
  議題並提供諮詢
• 媒合促成以自由軟體為基礎的本地成功
  案例
• 報導國內外產業及社群新聞
• 進行人才培育及國際交流活動
Service and Resource




       專案管理
Service and Resource

       共同筆記

檔案下載          版本管理

       專案管理

通信論壇          待辦事項

       統計資訊
Service and Resource

資源目錄          共同筆記          人才資料

       檔案下載          版本管理
授權條款
              專案管理          電子報
 精靈
       通信論壇          待辦事項
研究報告
              統計資訊          推廣光碟
教學文件
軟體自由協會

•   http://www.slat.org/
•   台灣推展軟體自由運動的社團法人
•   執行校園自由軟體應用諮詢中心計畫
•   協助社群代收贊助款項
•   舉辦研討會及推廣活動
Python ?
Python is a
    Dynamic
 Object-Oriented
Programming Language
Run-Time Typing

• Python's run time must work harder than Java's.
• a+b=?
  – inspect the objects a and b to find out their type,
    which is not known at compile time.
  – 7 + 11.0
  – ‘Hello’ + ‘world’
  – (1, 2, 3) + (4, 5, 6)
>>> 是提示符號
Interactive with Interpreter
        Edit



Debug            Compile
                                    Wait


        Deploy              Print          Read



                                    Eval


                           Read-Eval-Print Loop
Built-in DataTypes
•   Number        7, 11.0
                                     elements
                                     elements
•   String        ‘Hello World’
•   List          [7, 11, ‘store’]
•   Tuple         (7, 11, ‘shop’)
•   Dictionary    {‘name’:’marr’, ‘home’:’taipei’}

           keys
MIT to Try Python in CS Courses
Other Features
•   Cross Platform and Porting
•   Excellent Modules
•   Small
•   Efficient
•   Popular
Nokia PyS60
Indexing and Slicing
    0       1   2                 7
[   ↓ ↓ ↓
                                  -6
                                  ↓
                                                 -2 -1
                                                 ↓ ↓
                                                             ]
        I           L o   v   e    P y   t   h    o      n

•   myString = “I Love Python”
•   myString[0] == “I”
•   myString[-1] == “n”
•   myString[7:-2] == “Pyth”
Code Indenting

• No explicit begin or end
• No curly braces


if age > 18:
    print “You are old enough.”
else:
    print “You are too young.”
Function Example

def myFunc(score):
    “””
    document strings
    “””
    import math
    math.sqrt(score) * 10
File Handling

fileobj = open(“myfile”, “r”)
lines = fileobj.readlines()
for line in lines:
    print line
Socket Creation
import socket

s = socket.socket(
    socket.AF_INET,
    socket.SOCK_STREAM)
s.connect(
    ("www.mysite.com", 80))
Twisted - Networking Engine

• A web server, numerous chat
  clients, chat servers, mail servers
  and more.
• Supported protocols: TCP, SSL,
  multicast, HTTP, IMAP and more
• Sample apps: BitTorrent, CIA
  Bot, BuildBot, apt-proxy2
RestructuredText

• http://docutils.sourceforge.net/
• Support Formats: HTML,XML,S5,LaTeX
• rst2html < myRST.txt > myRST.html
Version Control
• Mercurial
GUI Library and Toolkit
Wingware
  IDE
Python Package Index
PyGame
PyGame
Blender
Elephants Dream
SQLAlchemy
from sqlalchemy import *
db =
  create_engine(‘sqlite:///tutorial.db’)
metadata = MetaData(db)
users = Table(‘users’, metadata,
     Column(‘user_id’, Integer,
  primary_key=True),
     Column(‘name’, String(40)),
)
users.create()
i = users.insert()
i.execute(name=‘marr’)
Web Frameworks
Python Hosting
Extending and Embedding
$ swig -python example.i
$ gcc -c example.c example_wrap.c 
      -I/usr/local/include/python2.1
$ ld -shared example.o example_wrap.o -o
  _example.so

>>> import example
>>> example.fact(5)
120
Self Learning – Where to Start
• On-line Tutorial             • Books
  – Google ‘python tutorial’     – Better in English
Video Tutorials

• http://www.showmedo.com/
• http://www.youtube.com/
• http://video.google.com/
• http://www.blip.tv/
Local User Groups

•   http://python.org.tw/
•   http://planet.python.org.tw/
•   Facebook: Python Taiwan
•   Google Group: pythontw
•   OpenFoundry Forums
•   Hemidemi: python
Anytime, Anywhere

           IPython



Google App Engine
http://shell.appspot.com/
Python-based CMS Case Study
Plone …

     a CMS
 Built on Zope
Written in Python
Blog (CoreBlog)
Portal (CIA, USA)
Portal (NASA, USA)
Network Management (ZenOSS)
Issue Tracker (Poi)
Download Installer
• http://plone.org/products/plone
Windows Installer
Windows Installer
Windows Installer
Plone Controller
Filesystem Listing



    •   Python
    •   Zope
    •   Plone
    •   Packages/Products
    •   Software Home
    •   Instance Home
One Database, Many Instances

            HTTP Requests and Responses


port 8080                                     port 8081
             ZEO Client #1    ZEO Client #2




                                              Data.fs
               Instance #1   Instance #2
Front Page
Zope Management Interface (ZMI)
Site Setup
Guest View
Authenticated View
-
    Tip for Trying Out
 Different Browsers
          for
Different Users/Roles
One for Admin, Another for Regular User
Usecase #1


   Create
a New User
Views Available After Login

• Personal Bar




• Content Views
Usecase #2

   Create
New Contents
   (Page)
Default Content Types

 Page            Image

 News Item       File

 Event           Link
Title to ID (Part of the URL)




                 ↓
Visual Editor
Content States
Default State and Workflow
Roles and Permissions

            View   Add   Edit   Review

Manager      ✔     ✔     ✔        ✔

Reviewer     ✔           ✔        ✔

Member       ✔     ✔     ✔

Non-Login    ?
Core Security Mapping
Transaction and Undo
Usecase #3


Manage
Portlets
Usecase #4


    Enable
OpenID Support
Usecase #5


Change Theme
 (to NuPlone)
Free Themes
Better and Super Plone ?
Want More ?


Join the Community
    and Develop !
Starting Points
• http://plone.org/documentation
• http://marrtw.blogspot.com/2009/04/plone3-books.html
SQL Database Connection
Z SQL     Z SQL                 Z SQL           Z SQL     Z SQL    Z SQL
Method    Method                Method          Method    Method   Method




                     MySQL        PgSQL        ODBC
                    Database     Database     Database
                   Connection   Connection   Connection
Database Components
     HTML             WYSWYG Editor
                                        Plone
 DTML               Page Template        Site
                                      Development
                                          and
 Search Interface           Script    Management



            Z SQL Method
                                       Database
                Zope                  Connection


         MySQLDA PsycopgDA ODBCDA     Database
Gadfly                                 Adapter
         MySQL PostgreSQL MSSQL
Designer Friendly Templates
 • Work with WYSIWYG editors
 • Zope Page Template (ZPT)
    – Template Attribute Language (TAL)
    – Macro Expansion Tag Attribute Language (METAL)

              XML Namespace
               TAL statement
            name             body
           Attribute       Attribute   Element
            Name            Value      Content

<title tal:content="here/title">Page Title</title>
Theme Designers ?

•   AJAX / jQuery Support
•   KSS = Kinetic Style Sheets
•   Deliverance
•   Must Read
    – Plone 3 Theming
Repeatable Development
               editing            running with

           buildout.cfg          bin/buildout


installed as
                   downloading      checking into
product/
package                  *.egg        Python
                                      Package
                    *.tar.gz           Index
Build Your Own Project

cd c:
C:plonepythonScriptspaster
 create plone3_buildout
 MyBuildout
cd MyBuildout
vim buildout.cfg
binbuildout.exe
buildout.cfg Sample
[buildout]
http-address = 8080
eggs =
    Plone
    my.package
zcml =
    my.package
debug-mode = on
Summary

  A Comprehensive CMS
  通用型的內容管理系統
The Web CMS Report




                     Ideaware Report
Web CMS 2007
Technology                    Content Production Services
Standards                    Authoring & Transformation
Development                  Aggregation

Access Control               Repository Services

Templating                   Metadata/Taxonomy Management

Page Rendering               Globalization

Usability                    Promotion Path

Internationalization         System Reporting



Content Delivery Services Vendor Intangibles
Personalization
                                  Maintenance & Support
Site Search
                                  Integration & Tech Partnerships
Scaling & Performance
                                  Active User Groups
Multichannel & Syndication
                                  Services & Channel
Content Retention
                                  Product QA
User-Generated Content
                                  Strategy & Roadmap
Micro-Applications
                                  Good Value
Site Analytics
Active Community
Multilingual Support
Open Source Projects




                    ArgoUML



                SchoolTool
Alternative Theming - Deliverance
Developer Baby Steps
• Python Script + External Method
Plone Hosting
Thank You !
Question?
Email to marr.tw@gmail.com

More Related Content

What's hot

Rich internet application development using the dojo toolkit
Rich internet application development using the dojo toolkitRich internet application development using the dojo toolkit
Rich internet application development using the dojo toolkitalexklaeser
 
Dojo - from web page to web apps
Dojo - from web page to web appsDojo - from web page to web apps
Dojo - from web page to web appsyoavrubin
 
XML and Web Services with Groovy
XML and Web Services with GroovyXML and Web Services with Groovy
XML and Web Services with GroovyPaul King
 
전문가토크릴레이 1탄 html5 전망 (전종홍 박사)
전문가토크릴레이 1탄 html5 전망 (전종홍 박사)전문가토크릴레이 1탄 html5 전망 (전종홍 박사)
전문가토크릴레이 1탄 html5 전망 (전종홍 박사)Saltlux zinyus
 
Please Don't Touch the Slow Parts V3
Please Don't Touch the Slow Parts V3Please Don't Touch the Slow Parts V3
Please Don't Touch the Slow Parts V3Federico Galassi
 
Wordcamp Thessaloniki 2011 The Nextweb
Wordcamp Thessaloniki 2011 The NextwebWordcamp Thessaloniki 2011 The Nextweb
Wordcamp Thessaloniki 2011 The NextwebGeorge Kanellopoulos
 
PassKit on iOS 6
PassKit on iOS 6PassKit on iOS 6
PassKit on iOS 6Xamarin
 
[Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...
 [Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr... [Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...
[Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...Srijan Technologies
 
PassKit on iOS6
PassKit on iOS6PassKit on iOS6
PassKit on iOS6Craig Dunn
 
FISL: Content Management Primer
FISL: Content Management PrimerFISL: Content Management Primer
FISL: Content Management PrimerRichard Esplin
 
MongoDB, E-commerce and Transactions
MongoDB, E-commerce and TransactionsMongoDB, E-commerce and Transactions
MongoDB, E-commerce and TransactionsSteven Francia
 
The Fundamentals of HTML5
The Fundamentals of HTML5The Fundamentals of HTML5
The Fundamentals of HTML5DataLeader.io
 
Designing and Implementing Search Solutions
Designing and Implementing Search SolutionsDesigning and Implementing Search Solutions
Designing and Implementing Search SolutionsFindwise
 

What's hot (18)

Rich internet application development using the dojo toolkit
Rich internet application development using the dojo toolkitRich internet application development using the dojo toolkit
Rich internet application development using the dojo toolkit
 
Please dont touch-3.5
Please dont touch-3.5Please dont touch-3.5
Please dont touch-3.5
 
Dojo - from web page to web apps
Dojo - from web page to web appsDojo - from web page to web apps
Dojo - from web page to web apps
 
HTML5 Refresher
HTML5 RefresherHTML5 Refresher
HTML5 Refresher
 
XML and Web Services with Groovy
XML and Web Services with GroovyXML and Web Services with Groovy
XML and Web Services with Groovy
 
전문가토크릴레이 1탄 html5 전망 (전종홍 박사)
전문가토크릴레이 1탄 html5 전망 (전종홍 박사)전문가토크릴레이 1탄 html5 전망 (전종홍 박사)
전문가토크릴레이 1탄 html5 전망 (전종홍 박사)
 
Wt unit 1 ppts web development process
Wt unit 1 ppts web development processWt unit 1 ppts web development process
Wt unit 1 ppts web development process
 
Please Don't Touch the Slow Parts V3
Please Don't Touch the Slow Parts V3Please Don't Touch the Slow Parts V3
Please Don't Touch the Slow Parts V3
 
Wordcamp Thessaloniki 2011 The Nextweb
Wordcamp Thessaloniki 2011 The NextwebWordcamp Thessaloniki 2011 The Nextweb
Wordcamp Thessaloniki 2011 The Nextweb
 
Word camp nextweb
Word camp nextwebWord camp nextweb
Word camp nextweb
 
PassKit on iOS 6
PassKit on iOS 6PassKit on iOS 6
PassKit on iOS 6
 
[Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...
 [Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr... [Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...
[Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...
 
Html5v1
Html5v1Html5v1
Html5v1
 
PassKit on iOS6
PassKit on iOS6PassKit on iOS6
PassKit on iOS6
 
FISL: Content Management Primer
FISL: Content Management PrimerFISL: Content Management Primer
FISL: Content Management Primer
 
MongoDB, E-commerce and Transactions
MongoDB, E-commerce and TransactionsMongoDB, E-commerce and Transactions
MongoDB, E-commerce and Transactions
 
The Fundamentals of HTML5
The Fundamentals of HTML5The Fundamentals of HTML5
The Fundamentals of HTML5
 
Designing and Implementing Search Solutions
Designing and Implementing Search SolutionsDesigning and Implementing Search Solutions
Designing and Implementing Search Solutions
 

Viewers also liked

파이썬+네트워크 20160210
파이썬+네트워크 20160210파이썬+네트워크 20160210
파이썬+네트워크 20160210Yong Joon Moon
 
Python Programming - I. Introduction
Python Programming - I. IntroductionPython Programming - I. Introduction
Python Programming - I. IntroductionRanel Padon
 
Switchable Map APIs with Drupal
Switchable Map APIs with DrupalSwitchable Map APIs with Drupal
Switchable Map APIs with DrupalRanel Padon
 
Network programming Using Python
Network programming Using PythonNetwork programming Using Python
Network programming Using PythonKarim Sonbol
 
Python Programming - IV. Program Components (Functions, Classes, Modules, Pac...
Python Programming - IV. Program Components (Functions, Classes, Modules, Pac...Python Programming - IV. Program Components (Functions, Classes, Modules, Pac...
Python Programming - IV. Program Components (Functions, Classes, Modules, Pac...Ranel Padon
 
Python Programming - XIII. GUI Programming
Python Programming - XIII. GUI ProgrammingPython Programming - XIII. GUI Programming
Python Programming - XIII. GUI ProgrammingRanel Padon
 
Socket Programming Tutorial
Socket Programming TutorialSocket Programming Tutorial
Socket Programming TutorialJignesh Patel
 

Viewers also liked (9)

Python session 8
Python session 8Python session 8
Python session 8
 
Net prog
Net progNet prog
Net prog
 
파이썬+네트워크 20160210
파이썬+네트워크 20160210파이썬+네트워크 20160210
파이썬+네트워크 20160210
 
Python Programming - I. Introduction
Python Programming - I. IntroductionPython Programming - I. Introduction
Python Programming - I. Introduction
 
Switchable Map APIs with Drupal
Switchable Map APIs with DrupalSwitchable Map APIs with Drupal
Switchable Map APIs with Drupal
 
Network programming Using Python
Network programming Using PythonNetwork programming Using Python
Network programming Using Python
 
Python Programming - IV. Program Components (Functions, Classes, Modules, Pac...
Python Programming - IV. Program Components (Functions, Classes, Modules, Pac...Python Programming - IV. Program Components (Functions, Classes, Modules, Pac...
Python Programming - IV. Program Components (Functions, Classes, Modules, Pac...
 
Python Programming - XIII. GUI Programming
Python Programming - XIII. GUI ProgrammingPython Programming - XIII. GUI Programming
Python Programming - XIII. GUI Programming
 
Socket Programming Tutorial
Socket Programming TutorialSocket Programming Tutorial
Socket Programming Tutorial
 

Similar to Python - A Comprehensive Programming Language

Web Development using Ruby on Rails
Web Development using Ruby on RailsWeb Development using Ruby on Rails
Web Development using Ruby on RailsAvi Kedar
 
web2py:Web development like a boss
web2py:Web development like a bossweb2py:Web development like a boss
web2py:Web development like a bossFrancisco Ribeiro
 
How to generate customized java 8 code from your database
How to generate customized java 8 code from your databaseHow to generate customized java 8 code from your database
How to generate customized java 8 code from your databaseSpeedment, Inc.
 
Silicon Valley JUG - How to generate customized java 8 code from your database
Silicon Valley JUG - How to generate customized java 8 code from your databaseSilicon Valley JUG - How to generate customized java 8 code from your database
Silicon Valley JUG - How to generate customized java 8 code from your databaseSpeedment, Inc.
 
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...Alexandr Savchenko
 
"Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa..."Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa...Fwdays
 
Django Overview
Django OverviewDjango Overview
Django OverviewBrian Tol
 
(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery GuideMark Rackley
 
An insight to microsoft platform
An insight to microsoft platformAn insight to microsoft platform
An insight to microsoft platformConfiz
 
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Perficient, Inc.
 
¡El mejor lenguaje para automatizar pruebas!
¡El mejor lenguaje para automatizar pruebas!¡El mejor lenguaje para automatizar pruebas!
¡El mejor lenguaje para automatizar pruebas!Antonio Robres Turon
 
Intro to .NET for Government Developers
Intro to .NET for Government DevelopersIntro to .NET for Government Developers
Intro to .NET for Government DevelopersFrank La Vigne
 
An Introduction to webOS
An Introduction to webOSAn Introduction to webOS
An Introduction to webOSKevin Decker
 
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...Malin Weiss
 

Similar to Python - A Comprehensive Programming Language (20)

Web Development using Ruby on Rails
Web Development using Ruby on RailsWeb Development using Ruby on Rails
Web Development using Ruby on Rails
 
web2py:Web development like a boss
web2py:Web development like a bossweb2py:Web development like a boss
web2py:Web development like a boss
 
piyush_
piyush_piyush_
piyush_
 
How to generate customized java 8 code from your database
How to generate customized java 8 code from your databaseHow to generate customized java 8 code from your database
How to generate customized java 8 code from your database
 
Silicon Valley JUG - How to generate customized java 8 code from your database
Silicon Valley JUG - How to generate customized java 8 code from your databaseSilicon Valley JUG - How to generate customized java 8 code from your database
Silicon Valley JUG - How to generate customized java 8 code from your database
 
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
 
"Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa..."Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa...
 
Django Overview
Django OverviewDjango Overview
Django Overview
 
(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide
 
An insight to microsoft platform
An insight to microsoft platformAn insight to microsoft platform
An insight to microsoft platform
 
Venkata
VenkataVenkata
Venkata
 
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
 
Deep thoughts from the real world of azure
Deep thoughts from the real world of azureDeep thoughts from the real world of azure
Deep thoughts from the real world of azure
 
RavenDB overview
RavenDB overviewRavenDB overview
RavenDB overview
 
¡El mejor lenguaje para automatizar pruebas!
¡El mejor lenguaje para automatizar pruebas!¡El mejor lenguaje para automatizar pruebas!
¡El mejor lenguaje para automatizar pruebas!
 
One to rule them all
One to rule them allOne to rule them all
One to rule them all
 
Node.js
Node.jsNode.js
Node.js
 
Intro to .NET for Government Developers
Intro to .NET for Government DevelopersIntro to .NET for Government Developers
Intro to .NET for Government Developers
 
An Introduction to webOS
An Introduction to webOSAn Introduction to webOS
An Introduction to webOS
 
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
 

More from TsungWei Hu

Odoo Development
Odoo DevelopmentOdoo Development
Odoo DevelopmentTsungWei Hu
 
開源教 教我 Odoo 管理 ERP 和 CRM
開源教 教我 Odoo 管理 ERP 和 CRM開源教 教我 Odoo 管理 ERP 和 CRM
開源教 教我 Odoo 管理 ERP 和 CRMTsungWei Hu
 
Ten Years After: An Integrator's Tale
Ten Years After: An Integrator's TaleTen Years After: An Integrator's Tale
Ten Years After: An Integrator's TaleTsungWei Hu
 
from passion import profession
from passion import professionfrom passion import profession
from passion import professionTsungWei Hu
 
Computer Programming For Everyone
Computer Programming For EveryoneComputer Programming For Everyone
Computer Programming For EveryoneTsungWei Hu
 
ElasticSearch Introduction
ElasticSearch IntroductionElasticSearch Introduction
ElasticSearch IntroductionTsungWei Hu
 
Open Source Technologies for Contents and Maps
Open Source Technologies for Contents and MapsOpen Source Technologies for Contents and Maps
Open Source Technologies for Contents and MapsTsungWei Hu
 
The Zen of Language Choice
The Zen of Language ChoiceThe Zen of Language Choice
The Zen of Language ChoiceTsungWei Hu
 
Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersTsungWei Hu
 
CMS Showdown For NPO
CMS Showdown For NPOCMS Showdown For NPO
CMS Showdown For NPOTsungWei Hu
 
Build Python CMS The Plone Way
Build Python CMS The Plone WayBuild Python CMS The Plone Way
Build Python CMS The Plone WayTsungWei Hu
 
Python for Application Integration and Development
Python for Application Integration and DevelopmentPython for Application Integration and Development
Python for Application Integration and DevelopmentTsungWei Hu
 
Plone -- Evolving Python CMS
Plone -- Evolving Python CMSPlone -- Evolving Python CMS
Plone -- Evolving Python CMSTsungWei Hu
 
World Plone Day 2012 Taipei
World Plone Day 2012 TaipeiWorld Plone Day 2012 Taipei
World Plone Day 2012 TaipeiTsungWei Hu
 
Workteam with oDesk
Workteam with oDeskWorkteam with oDesk
Workteam with oDeskTsungWei Hu
 
Proud Plone on Cloud
Proud Plone on CloudProud Plone on Cloud
Proud Plone on CloudTsungWei Hu
 
Sahana Taiwan Development
Sahana Taiwan DevelopmentSahana Taiwan Development
Sahana Taiwan DevelopmentTsungWei Hu
 
Plone - A Comprehensive Content Management Solution
Plone - A Comprehensive Content Management SolutionPlone - A Comprehensive Content Management Solution
Plone - A Comprehensive Content Management SolutionTsungWei Hu
 
Introduction to Python Programming
Introduction to Python ProgrammingIntroduction to Python Programming
Introduction to Python ProgrammingTsungWei Hu
 

More from TsungWei Hu (20)

Odoo Development
Odoo DevelopmentOdoo Development
Odoo Development
 
開源教 教我 Odoo 管理 ERP 和 CRM
開源教 教我 Odoo 管理 ERP 和 CRM開源教 教我 Odoo 管理 ERP 和 CRM
開源教 教我 Odoo 管理 ERP 和 CRM
 
Plone Zwiki
Plone ZwikiPlone Zwiki
Plone Zwiki
 
Ten Years After: An Integrator's Tale
Ten Years After: An Integrator's TaleTen Years After: An Integrator's Tale
Ten Years After: An Integrator's Tale
 
from passion import profession
from passion import professionfrom passion import profession
from passion import profession
 
Computer Programming For Everyone
Computer Programming For EveryoneComputer Programming For Everyone
Computer Programming For Everyone
 
ElasticSearch Introduction
ElasticSearch IntroductionElasticSearch Introduction
ElasticSearch Introduction
 
Open Source Technologies for Contents and Maps
Open Source Technologies for Contents and MapsOpen Source Technologies for Contents and Maps
Open Source Technologies for Contents and Maps
 
The Zen of Language Choice
The Zen of Language ChoiceThe Zen of Language Choice
The Zen of Language Choice
 
Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and Programmers
 
CMS Showdown For NPO
CMS Showdown For NPOCMS Showdown For NPO
CMS Showdown For NPO
 
Build Python CMS The Plone Way
Build Python CMS The Plone WayBuild Python CMS The Plone Way
Build Python CMS The Plone Way
 
Python for Application Integration and Development
Python for Application Integration and DevelopmentPython for Application Integration and Development
Python for Application Integration and Development
 
Plone -- Evolving Python CMS
Plone -- Evolving Python CMSPlone -- Evolving Python CMS
Plone -- Evolving Python CMS
 
World Plone Day 2012 Taipei
World Plone Day 2012 TaipeiWorld Plone Day 2012 Taipei
World Plone Day 2012 Taipei
 
Workteam with oDesk
Workteam with oDeskWorkteam with oDesk
Workteam with oDesk
 
Proud Plone on Cloud
Proud Plone on CloudProud Plone on Cloud
Proud Plone on Cloud
 
Sahana Taiwan Development
Sahana Taiwan DevelopmentSahana Taiwan Development
Sahana Taiwan Development
 
Plone - A Comprehensive Content Management Solution
Plone - A Comprehensive Content Management SolutionPlone - A Comprehensive Content Management Solution
Plone - A Comprehensive Content Management Solution
 
Introduction to Python Programming
Introduction to Python ProgrammingIntroduction to Python Programming
Introduction to Python Programming
 

Recently uploaded

CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 

Recently uploaded (20)

CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 

Python - A Comprehensive Programming Language