Cazinge Week 11

From LMU BioDB 2017
Jump to: navigation, search

Presentation Prep

Unknown Terms

  • RFC 5321
    • A specification of the basic protocol for Internet electronic mail transport. (1)
  • plug-in
    • A software component that adds a specific feature to an existing computer program. (2)
  • documentation
    • The information that describes the product to its users, consisting of product technical manuals and online information. (3)
  • startups
    • A young company that is just beginning to develop, usually small and initially financed and operated by a handful of founders or one individual.(4)
  • bytecode
    • Computer object code that is processed by a program, which converts each generalized machine instruction into a specific machine instruction that the computer's processor will understand. (5)
  • Ajax
    • A client-side script that communicates to and from a server/database without the need for a complete page refresh.(6)
  • Web server
    • A computer that is connected to the Internet, can be accessed through a domain name, and stores a website's component files and delivers them to the end-user's device. (7)
  • Interpreter
    • A program that executes instructions written in a high-level language. (8)
  • Lisp
    • A programming language that was designed for easy manipulation of data strings.(9)
  • PostgreSQL
    • An open source object-relational database system.(10)

Article Outline

  • Software Development encompasses more than just the end-product itself
    • Software development often encompasses more than just building a spec as previously defined.
    • In order to properly carry out their tasks, Software developers need to understand the projects that they're building.
      • For example, Data can be stored, retrieved, accessed, and queried in a language similar to one that humans are generally comfortable with via SQL.
      • Creating schemas that encompass the use-cases of these specifications in a simple/effective manner allows one to create large applications such as Amazon. (5.2)
      • Understanding these projects requires a large repertoire of skills and languages known.
    • Software development projects require communication in order to be conducted efficiently.
      • By having a baseline knowledge in the field of software engineering, one can have meaningful conversations like the one held between programmers A, B, and C. (5.1)
    • In order to work effectively and build efficient projects, developers need to account for and understand all potential edge cases that could cause their programs to malfunction.
    • Portable and extensible languages are often the most popular
      • Java gained the majority of its popularity due to its modularity, extensibility, platform support, and universal presence.
        • Multiple languages and projects were able to be developed with Java as a backbone
          • Jython
          • Jruby
          • Scala
          • Clojure
        • Research students, open source contributors, and hobbyists all contributed to the Java ecosystem indirectly, which benefit the community at large indirectly.
      • Javascript became the language that Java had originally aimed to be with it's applets
        • Extensible NPM package system lent itself towards open source projects, shared code, and universal adoption
        • Optimizations from Google resulted in the V8 engine, making Javascript a practical language for high speed computations.
        • Node.js enabled Javascript as a universal language, covering both general application logic, front-end, and back-end altogether. (5.7)
    • Ford's article educates proper software development best practices through context and historical rather than through diatribe against bad practices
    • He outlines the current status of open science and reproducible research, and we should follow suit making sure that the fruits of our labor are accessible to the Software development community en masse.

Executive Summary

Week 11 (Abridged Summary):

  • As soon as I saw the assignment that my assigned group was given for our contribution to the GRNsight Gene Page assignment I began work on it, as I realized that the scope of the project could be accomplished somewhat succinctly with a proper approach to developing the specific functionality. The first thing that I did was divide the function into 4 helper functions, one dictionary mapping to facilitate retrieving the data, and a final function that was left unimplemented for future filtering and transformations of the data sources. After that, John and I went through the class' documented methods for reaching the final outcome of generating the gene page for a given gene symbol for each of the 4 databases. I was in charge of realizing 3 of them, as well as the scaffolding for the rest of the function, while John handled the last API in order to gain familiarity with the paradigm and working on a project of this scale. Due to my prior understanding of the technology we would use to create this function, I was successfully able to complete each of the 3 sub-functions that I was assigned, enabling users to gain data about any gene across the 3 of the 4 databases that we were assigned to work on. We have yet to interact with the JASPAR API team, but believe that the content left for the core assignment shouldn't be too high maintenance to finish from here. Outside of that, John and I worked collaboratively on the Journal Club presentations via our individual journals and by meeting together outside of class.

Presentation Link

https://xmlpipedb.cs.lmu.edu/biodb/fall2017/index.php/File:JLopezEAzingeJournalClub.pptx

Acknowledgements

I met with my homework partner John Lopez outside of class and worked on the presentation together. While I worked with the person noted above, this individual user entry was completed by me and not copied from another source.

Cazinge (talk) 23:59, 13 November 2017 (PST)

References

LMU BioDB 2017. (2017). Week 11. Retrieved November 10, 2017, from https://xmlpipedb.cs.lmu.edu/biodb/fall2017/index.php/Week_11

Unknown Terms References

  1. Simple Mail Transfer Protocol. (n.d.). Retrieved November 14, 2017, from https://tools.ietf.org/html/rfc5321.html
  2. Plug-in (computing). (2017, November 08). Retrieved November 14, 2017, from https://en.wikipedia.org/wiki/Plug-in_(computing)
  3. What is documentation? - Definition from WhatIs.com. (n.d.). Retrieved November 14, 2017, from http://searchsoftwarequality.techtarget.com/definition/documentation
  4. A. (2012, December 03). What exactly is a startup? Retrieved November 14, 2017, from https://www.investopedia.com/ask/answers/12/what-is-a-startup.asp
  5. What is bytecode? - Definition from WhatIs.com. (n.d.). Retrieved November 14, 2017, from http://whatis.techtarget.com/definition/bytecode
  6. What is Ajax and Where is it Used in Technology? (2017, August 14). Retrieved November 14, 2017, from https://www.seguetech.com/ajax-technology/
  7. What is a web server? (n.d.). Retrieved November 14, 2017, from https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_is_a_web_server
  8. V. (n.d.). Interpreter. Retrieved November 14, 2017, from https://www.webopedia.com/TERM/I/interpreter.htmlFontinelle
  9. What is LISP (list processing)? - Definition from WhatIs.com. (n.d.). Retrieved November 14, 2017, from http://searchmicroservices.techtarget.com/definition/LISP-list-processing
  10. About. (n.d.). Retrieved November 14, 2017, from https://www.postgresql.org/about/Beal

My Links

My User Page

My Electronic Notebook

Home Page

Week 1
Assignment
Individual Journal
Shared Journal
Week 2
Assignment
Individual Journal
Shared Journal
Week 3
Assignment
Individual Journal
Shared Journal
Week 4
Assignment
Individual Journal
Shared Journal
Week 5
Assignment
Individual Journal
Shared Journal
Week 6
Assignment
Individual Journal
Shared Journal
Week 7
Assignment
Individual Journal
Shared Journal
Week 8
Assignment
Individual Journal
Shared Journal
Week 9
Assignment
Individual Journal
Shared Journal
Week 10
Assignment
Individual Journal
Shared Journal
Week 11
Assignment
Individual Journal
Shared Journal
Week 12
Assignment
Individual Journal
Shared Journal
Week 14
Assignment
Individual Journal
Shared Journal
Week 15
Assignment
Individual Journal
Shared Journal