Foss Sthlm #1 - curl

3,225 views

Published on

Slides in Swedish with a quick overview of curl, libcurl and the cURL projcet in general.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,225
On SlideShare
0
From Embeds
0
Number of Embeds
185
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Ada95, Basic, C++, Ch, Cocoa, D, Dylan, Eiffel, Euphoria, Falcon, Ferite, Gambas, glib/GTK+, Haskell, Java, Lisp, Lua, Mono, .NET, Object-Pascal, O'caml, Pascal, Perl, PHP, Postgres, Python, R, Rexx, RPG, Ruby, Scheme, S-Lang, Smalltalk, SP-Forth, SPL, Tcl, Visual Basic, Visual Foxpro, Q, wxWidgets, XBLite och fler!
  • Foss Sthlm #1 - curl

    1. 1. Alla gillar curl
    2. 2. cURL <ul><li>curl
    3. 3. libcurl
    4. 4. Överför data med internet-protokoll: FTP, FTPS, HTTP, HTT PS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, POP3, IMAP, SMTP, RTSP och FILE </li></ul>
    5. 5. användare <ul><li>Linux, Mac OS X, AIX, IRIX, Solaris, *BSD, UnixWare, HP-UX
    6. 6. Adobe, AOL, Apple, Bwin, Canonical, CERN, Cisco, Garmin, Google, Facebook, F-Secure, IBM, Linden Lab, Motorola, MacAfee, Nortel, Neuros, Oracle, Panasonic, Polaroid, RSA Inc, SAS Institute, SEB, Siemens, Sony, Spotify, Sun, Symantec, SwissCom, Vmware, Voddler, Yahoo, Zimbra etc
    7. 7. OpenOffice.org, git, Firefox3, Gnash, gimp, libtorrent, Boinc, Xen, Gizmo, metadl, curl-loader, grip, UnrealIRCd, Aegis, Cmake, slapt-get, Xine, AlsaPlayer, xmms2, EmBrowser, OpenVRML </li></ul>
    8. 8. automatik <ul><li>136 flaggor...
    9. 9. Som kan anges i en config-fil och ...
    10. 10. Som modifierar hur curl beter sig
    11. 11. Upprepa överföringar (utan GUI)
    12. 12. 'man curl' är din vän </li></ul>
    13. 13. kommandoraden <ul><li>curl http://curl.haxx.se/ -o storehere
    14. 14. curl ftp://curl.haxx.se/ -o storehere
    15. 15. curl https://curl.haxx.se / -o storehere
    16. 16. curl sftp://curl.haxx.se/ -u me:pwd -o storehere
    17. 17. curl scp://curl.haxx.se/ -o storehere
    18. 18. curl tftp://curl.haxx.se/ -o storehere
    19. 19. curl -T uploadfile ftp://curl.haxx.se/tohere/
    20. 20. curl -T uploadfile https://curl.haxx.se/tohere/ </li></ul>
    21. 21. libcurl <ul><li>Samma grej fast ett bibliotek
    22. 22. API för överföring av data
    23. 23. C89 för portabilitet: 40 bindings
    24. 24. Innehållsagnostisk
    25. 25. Blocking eller non-blocking
    26. 26. Abstraherar protokoll-detaljer
    27. 27. Hög prestanda (c10k+ etc)
    28. 28. Tredjeparts-bibliotek för subfunktioner </li></ul>
    29. 29. Varför nyttja libcurl? <ul><li>Fritt, öppet och gratis
    30. 30. Tråd-säkert
    31. 31. Ipv6-kompatibelt
    32. 32. Feature-packat
    33. 33. Bra supportat och underhållet
    34. 34. Snabbt!
    35. 35. Bra dokumenterat
    36. 36. Mycket portabelt </li></ul>
    37. 37. Enkelt! <ul><li>En libcurl-applikation kan vara riktigt enkel: </li></ul>int main(void) { CURL *curl; CURLcode result; curl = curl_easy_init (); if(curl) { curl_easy_setopt (curl, CURLOPT_URL, &quot; http://curl.haxx.se &quot;); /* set more options here... */ result = curl_easy_ perform (curl); curl_easy_cleanup (curl); } return 0; }
    38. 38. Projektet <ul><li>Jag började 1997
    39. 39. Många drive-by, scratch-an-itch
    40. 40. Liten “core”
    41. 41. >700 contributors
    42. 42. MIT
    43. 43. Mailing lists!
    44. 44. #curl
    45. 45. Oberoende </li></ul>
    46. 46. Releaser <ul><li>Varannan månad
    47. 47. 25 buggfixar
    48. 48. 8 förändringar
    49. 49. 20 personer
    50. 50. På trunk </li></ul>
    51. 51. Sa jag portabelt? <ul><li>Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HPUX, IRIX, AIX, Tru64, Linux, UnixWare, HURD, Windows, Amiga, OS/2, BeOs, Mac OS X, Ultrix, QNX, OpenVMS, RISC OS, Novell NetWare, DOS, MVS, VxWorks, Windows CE, OS/400, CellOS (PS3), iPhone, Symbian, Android ...
    52. 52. Alpha, HP-PA, HP3000, MIPS, PowerPC, POWER, SuperH4, Sparc, ARM, i386, ia64, m68k, s390, NiosII, Microblaze...
    53. 53. Inget annat transfer-lib är ens i närheten
    54. 54. automatbyggen och tester
    55. 55. Beror på att användare rapporterar problem </li></ul>
    56. 56. bindningar <ul>Ada95, Basic, C++, Ch, Cocoa, D, Dylan, Eiffel, Euphoria, Falcon, Ferite, Gambas, glib/GTK+, Haskell, Java, Lisp, Lua, Mono, .NET, Object-Pascal, O'caml, Pascal, Perl, PHP, Postgres, Python, R, Rexx, RPG, Ruby, Scheme, S-Lang, Smalltalk, SP-Forth, SPL, Tcl, Visual Basic, Visual Foxpro, Q, wxWidgets, XBLite och fler! </ul><ul><li>alla större miljöer har bindningar
    57. 57. Underhålls utanför cURL-projektet
    58. 58. Pycurl och PHP/CURL populära </li></ul>
    59. 59. curl vs wget <ul><li>libcurl
    60. 60. pipes
    61. 61. return codes
    62. 62. single-shot
    63. 63. many protocols
    64. 64. more portable
    65. 65. more SSL libraries
    66. 66. more HTTP auth
    67. 67. bidirectional </li></ul><ul><li>command line
    68. 68. recursive fetch
    69. 69. older
    70. 70. much less developer activity
    71. 71. HTTP 1.0
    72. 72. GPL
    73. 73. GNU </li></ul>curl wget
    74. 74. ! Hjälpa till! <ul><li>Buggrapporter!
    75. 75. Dokumentera!
    76. 76. Support på mail och IRC!
    77. 77. Fixa enkla buggar!
    78. 78. Fixa svåra buggar!
    79. 79. Lägg till nya features! </li></ul>
    80. 80. curl.haxx.se

    ×