{"id":1907,"date":"2019-08-12T14:20:16","date_gmt":"2019-08-12T14:20:16","guid":{"rendered":"http:\/\/blog.soton.ac.uk\/webteam\/?p=1907"},"modified":"2019-08-12T14:20:16","modified_gmt":"2019-08-12T14:20:16","slug":"still-learning-a-lot-denis-internship-adventures-2","status":"publish","type":"post","link":"https:\/\/blog.soton.ac.uk\/webteam\/2019\/08\/12\/still-learning-a-lot-denis-internship-adventures-2\/","title":{"rendered":"Still learning a lot &#8211; Denis\u2019 Internship Adventures #2"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>What has been happening the past 3 weeks:<\/p>\n<p>&nbsp;<\/p>\n<h3>Project work<\/h3>\n<p>The last few weeks have been me jumping from one project to another, as we have been waiting for information, communication or people on leave.<\/p>\n<p>We finally received the schema for the <strong>towing tank<\/strong> project database, which meant that we can now start developing the back-end. My first task was to research graphing technologies that would allow us to make the needed line graphs and then start coding the API. After 2 days of research and trying stuff, as well as getting David\u2019s input, we decided that a library called ApexCharts, that has a wrapper for Vue, is a very good candidate. I then started building the graph functionality into our already existing project (read <strong>tried<\/strong>).\u00a0 I soon found that dotNet Core and Vuejs, don\u2019t play well, and that its not the easiest thing to integrate them. We decided to add both Vuejs and the wrapper inline, which is enough for our project, as we are only using Vue for the graphs. We now have the graphs done, so the next step is starting the API.<\/p>\n<p>Another problem I faced was &#8211; how do we take the averages for the graphs? The problem we faced dealt with how the data was sampled, as entries in the environmental database were only added if there was a recorded change. To get correct reading we need to have more than the data points provided, so we decided to create &#8220;mock data&#8221; in between database entries, to show more accurate graphs.<\/p>\n<p>A lot of the last 2-3 weeks have also been spent working on <strong>QnA<\/strong> and learning Laravel. Working on tidying up code and converting it to be more professional\/reusable\/maintainable has been incredibly eye opening, as it has made me think deeply about the code that I have written in the past. Most of the work on QnA lately has been reducing the code base by introducing gates and policies, creating factories for all models and changing the existing tests accordingly. If next year\u2019s intern is reading this and is still working on QnA &#8211; heed my warning, use the tests (and write your own).<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/encrypted-tbn0.gstatic.com\/images?q=tbn:ANd9GcRSf48GspSs8WYZDIXg7GvJx-HAzcq6mAkpde_8p26mfhJ5RYboJQ\" alt=\"Image result for heed my warning\" \/><\/p>\n<p>The latest thing I\u2019ve been working on is migrating a service from the old ECS servers, as well as adding more security to it. It has to do with the <strong>occupancy screens<\/strong> that are used by the nanofabrication lab in the Mountbatten Building. It has also been a learning experience, as I\u2019m working with another intern that is doing all of the project management.<\/p>\n<p>Something interesting that happened was that last Wednesday, Pat McSweeney, the internship coordinator, took all of us interns to the UoS data centre which was really interesting.<\/p>\n<h3>University vs Industry<\/h3>\n<p>Being about a month and a half into my internship, I started to see a great difference between what students are taught and what you need to do well in a professional environment. The biggest and most noticeable difference for me is the nature of the work professional developers do, as opposed to what work students do. At my\u00a0 course at university, we have strict, well defined problems, the solutions to which can be provided within a short\/well-defined time span, with a very specific(known) set of tools.<\/p>\n<p>That however, is never the case in an industrial environment. In my experience, industry problems are quite complex, multifaceted beasts, whose (perhaps contradictory) requirements change over the developmental process. Another thing I experienced was that usually, the problems developers have don\u2019t even have anything to do with programming and developments altogether. Issues like miscommunication and wait times, be it bureaucracy or confirmation from other people, can stall progress, drastically reducing efficiency. Overall, academic and industry experience are completely different.<\/p>\n<h3>Next few weeks<\/h3>\n<p>In the next few weeks I am aiming to finish the Clean-room Occupancy migration, with some extra security. After that, continuing work on Towing Tank, hopefully finishing all requested functionality within 2 weeks of David coming back.<\/p>\n<p>Thanks for reading!!!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; What has been happening the past 3 weeks: &nbsp; Project work The last few weeks have been me jumping from one project to another, as we have been waiting for information, communication or people on leave. We finally received the schema for the towing tank project database, which meant that we can now start [&hellip;]<\/p>\n","protected":false},"author":99779,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[1],"tags":[138491,428207],"class_list":["post-1907","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-intern","tag-web-development"],"_links":{"self":[{"href":"https:\/\/blog.soton.ac.uk\/webteam\/wp-json\/wp\/v2\/posts\/1907","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.soton.ac.uk\/webteam\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.soton.ac.uk\/webteam\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.soton.ac.uk\/webteam\/wp-json\/wp\/v2\/users\/99779"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.soton.ac.uk\/webteam\/wp-json\/wp\/v2\/comments?post=1907"}],"version-history":[{"count":1,"href":"https:\/\/blog.soton.ac.uk\/webteam\/wp-json\/wp\/v2\/posts\/1907\/revisions"}],"predecessor-version":[{"id":1908,"href":"https:\/\/blog.soton.ac.uk\/webteam\/wp-json\/wp\/v2\/posts\/1907\/revisions\/1908"}],"wp:attachment":[{"href":"https:\/\/blog.soton.ac.uk\/webteam\/wp-json\/wp\/v2\/media?parent=1907"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.soton.ac.uk\/webteam\/wp-json\/wp\/v2\/categories?post=1907"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.soton.ac.uk\/webteam\/wp-json\/wp\/v2\/tags?post=1907"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}