Monday, October 19, 2015

[class: PM Camp@Fast Campus#3] 개발 #1 – 알고 보면 쉬운 개발 용어 (my note is WIP)



2주차
5. 16 토
개발 #1 – 알고 보면 쉬운 개발 용어
다양한 개발 용어를 이해해 보자
  • IP, DNS, Host, Protocol, HTTP
  • Front-end, Back-end, Server/Client,
  • 자주 사용하는 프로그래밍 언어, Ajax
김태곤


  1. Getting familiar with development terms [Taegon Kim@Fancy.com, software engineer]
    1. lesson
      1. communication tips
        1. use numbers instead of descriptive wordings: e.g. move to the right by 15 px vs. move a little to the right
        2. provide detailed and tangible explanation instead of ambiguous and intangible: e.g. latency when pressing on Submit button vs. something wrong with text entry vs.
        3. use png instead of jpg (reason: difficult to pinpoint exact color)
        4. consider big picture (e.g. feasibility, resource, cost) first before making a request
        5. tell animation name and CSS code (link) and mouse over effect (link)
        6. before asking questions:
          1. before asking any questions, read previous conversation history
          2. ask how long will it take to finish a task instead of you can finish this within short period of time
          3. c.f. read Joel on Software (link, amazon link)
      2. image
        1. vector vs. bitmap (raster): vector (e.g. svg, ai format; icon image), bitmap (png, jpg, gif)
        2. 1 pixel: combination of red, green, blue
        3. color: 0~255 color
        4. #0000FF: first 00 (red), second 00, last FF, requiring 3 byte
        5. to express transparency, add another byte: e.g. rgba (255, 255, 255, 0.7)
        6. icon font: link
      3. the Internet and Web
        1. IP address
        2. localhost: 127.0.0.1 (aka my computer)
        3. tracking command: e.g. dig taegon.kim +trace
        4. server-client: relative concept because the server can become a client
      4. developer
        1. role
          1. client side: web publisher, javascript
          2. server side:web application developer, DBA (database administrator), SE (system engineer)
        2. programming
          1. application code by condition
          2. repetitive code
          3. clustered code
        3. classification of programming language
          1. compile language
            1. server side: C/C++, Java
            2. client side: n/a
          2. interpreter language
            1. server side: Python, PHP, Ruby
            2. client side: JavaScript
        4. library and framework
          1. license
            1. GPL: need to make entire codes open source if used any (e.g. Linux related codes)
            2. LGPL: need to make codes regionally open source where modification happened
            3. BSD, MIT: no restriction in usage
        5. server service
          1. some concept: vertical scaling, sharding
          2. service: Baas, Paas, microservice (e.g. address service, paygate service)
        6. tool: e.g. asana.com, slack.com
        7. cookie: data leaving a mark on server
          1. c.f. cookie contains session id
        8. c.f. http: brings header and body info on network
        9. AJAX (asynchronous JavaScript and XML)
          1. can do: text data, file upload (only in recent browsers)
            1. XHR (XMLHttpRequest) 2: allowing file uploads, auto-save
          2. cannot do: ?
          3. AJAX usage: check status at XHR on Chrome browser
        10. JSON (JavaScript Object Notation): A representation of structured data like XML; great for both server and client side developers
        11. API (Application Programming Interface): point of useful chunk of libraries
        12. XML (Extensible Markup Language): markup language that defines a set of rules for encoding documents in a format which is both human-readable and machine-readable.
        13. SPA (Single-Page Application): a web application or web site that fits on a single web page with the goal of providing a more fluid user experience akin to a desktop application <source: Wikipedia>
        14. DOM (Document Object Model): document is referring to HTML doc, used in JavaScript
          1. DOM API: to make web page more dynamic

    1. personal takeaway
      1. understand rudimentary concepts to build web service

No comments:

Post a Comment