Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Learned in the past helps me

wtnabe
February 15, 2014

Learned in the past helps me

Self retrospective and what to learn

wtnabe

February 15, 2014
Tweet

More Decks by wtnabe

Other Decks in Programming

Transcript

  1. Learned in the past
    helps me
    @wtnabe
    Kanazawa.rb meetup #18
    2014-02-15 (Sat) at IT Plaza MUSASHI

    View Slide

  2. My Skills

    View Slide

  3. Recently
    Full-Stack Web Engineer
    from application env to front-end
    Certified Ruby Gold Programmer
    Ruby on Rails / PHP / JavaScript
    TDD and Continuous Integration

    View Slide

  4. Old
    Unix Sysadmin
    Web Development with LL
    Workflow Automation with LL

    View Slide

  5. Very Old
    Text and Data processing with Unix-tools

    View Slide

  6. Unix

    View Slide

  7. as my Lifeline

    View Slide

  8. Unix Philosophy

    View Slide

  9. Basics
    Small / Simple
    Do one thing
    Text file
    Filter
    cf. http://en.wikipedia.org/wiki/Unix_philosophy

    View Slide

  10. Tools
    Un*x have MANY commands
    Each command DO ONE THING well
    You can combine them as FILTER

    View Slide

  11. Learned tools in the past
    df ( disk )
    ls, find, du ( file and directory )
    diff, patch
    expand, unexpand ( tab code )
    cat, split, wc

    View Slide

  12. Learned tools in the past
    sort, uniq, head, tail
    grep, awk
    cal

    View Slide

  13. Especially, Tools for
    Text Processing
    sort, uniq, head, tail, awk

    View Slide

  14. Text Processing

    View Slide

  15. Basics
    Search
    Replace
    Count
    Split and Concatenate
    Sort

    View Slide

  16. Regular Expression
    -- Search --
    Many different REs
    but Majors are POSIX Extended and
    PCRE

    View Slide

  17. AWK
    -- Processing --
    Filter-oriented Programming Language
    C-like and Shell-like Syntax
    Specialized for stdin / stdout

    View Slide

  18. Text Processing
    Most Internet Protocols depend on Text
    born from Unix platform
    Web Development as Text Processing

    View Slide

  19. Demo

    View Slide

  20. Learned lately
    tree, xargs, rlwrap, highlight, colordiff, kramdown, docutils, nkf, git,
    tig, irb, emacs, earthquake, gyunyu, mksgal, bundler, cheat, gisty,
    guard, node.js(npm)

    View Slide

  21. Conclusion

    View Slide

  22. What helps me ?
    Unix Philosophy
    Unix Platforms and Tools
    Basic Text Processing

    View Slide

  23. Recommends
    Small / Simple ( a.k.a. KISS )
    Learn Tools and Philosophy that are
    Maturing and Sustaining
    Keep learning and enjoying !!

    View Slide