My DevOps Story
Write Up Book: The Use of Knowledge in Society
About Linfeng Wang
Hi, here is Linfeng Wang. A CS master student in NYU. We gonna use DevOps method to build a DevOps concern website to introduce and practice DevOps. Sounds like a philosophy of life and nature. I responsible for coding in a group of ~10, and here is what I do in those weeks.
This week we(Tingjun Zhang and I) are allocated for task "Integred NYU Class, Stack and Trello to our website". We had the open source LMS(Learning Management System) called Sakai, which is the basement of NYU Classes. We also get some help from our NYU Classes developer Jeff Pasch. He give us the particular API that NYU Classes uses. I also successful got JSON from our NYU Classes with the condition of complete and maintaining NYU Multi-Factor Authentication in advance.
This week I finally find out what wrong about my python. My python 3 get crashed sometimes and it only happens at specific situation. And I rebuild all my environment before this week task. Then I tried to build a new program(script) for stack. Because it is an individual part, I don't think I could commit this part and let others confuse about and rewrite what I just uploaded. In another word, it is not a part could use agile method, it should be the smallest unsplitable unit in our task.
We could automatically forward all information from NYU Class to slack as a general announcement through IFTTT as long as we(now is my NYU account) could get notification email from LMS system.
And you also could text “/class” command in Slack, but it would be denied since 1. Our Django website is not built so I have no where to place my Django script(I would try on AWS Lamda) and 2. LMS only have API for check, so we could not push a new one from Slack.
I write the document about how to use this integration and how it works. Also, we find out and fix those bugs in html checker.
Go to Mountain View to have an interview.
Rewrite url checker and html_checker code and push them to production. The problem of submodule solved. Also, about the new feature of html checker. There are a large amount of rules for html and now we gonna imple a few of it.
Search and conclude the initial simple rule of html. Mainly reference to HTML5 Tutorial and HTML5 Style Guide and Coding Conventions. Base on those rules, I write a graph of logic and pseudocode, then write a java code of basic logic test code, after that I send to Tingjun to implement it in htmlchecker in python.
Our colleges reported two bug to us. One is about "../" to jump out(it should be a warning now), the other is "html_checker.html does not exist". And it turns out that somehow the command of “submodule” in the script of “make local” doesn’t work automatically. We also have reported this problem to build team.
Change some warnings to none and remove flags. As my team member(tingjun) solve utils submodule problem, we could start new nested checker using a simple two stacks structure.
The nested checker part is finished. It only have four tags now. But easy to extend due to the priority settings. The start flag stack and end flag stack would record the order of it and if some other tag nested in "< p >", so far we ignore it.
Contact with unit test member and do unit test. Thinking of writing a document of html checker if someone(like a test guy) could easily know what we have done.
Update the document of html_checker and url_checker.
© 2018 Linfeng Wang