| Week |
Log |
| Week1, Semester 1/2016 |
1.kick-off meeting on Monday, potential project briefs sent out via Email by Mano.
2.Made a list of project preference and gave it to Mano.
|
| Week2, Semester 1/2016 |
Had first meeting for my BTech 451 project with project structure and details given out. |
| Week3, Semester 1/2016 |
Had another meeting with Mano. In this meeting, I was told to have an overview about my task. Four things have done throughout the week:
1.Had a look at PHP, and saw how HTML was generated from PHP scripts.
2.Had a look at how LinkPad worked. It compiled small C# fragments and gave the results quickly.
3.Had a look at HTML parser.
4.Did some research on reflection and dynamic assembly loading in .NET
|
| Week4, Semester 1/2016 |
Had a FaceTime with Mano as the regular meeting could not be hold in Easter break.
I attended a few tutorials about scripting language and knew the c# code can be compiled on the fly. |
| Week5, Semester 1/2016 |
Had a regular meeting with Mano after break, I have made good progress on the my program which was used to test whether
C# can be treated like a scripting language, and my program could sucessfully compile C# code within an assembly at runtime.
|
| Week6, Semester 1/2016 |
Had another meeting with Mano in this week, I was told to extend my program by using One dynamic link library(.DLL) which contains some
implementations written by other people, and I did some researches about functionalities given by Reflection in .NET Framework. After
having some extent knowledge about scripting language, I used my program to load an assembly that contains some C# code, and then executed
them as part of my program, it did invoke a type’s method at runtime.
|
| Week7, Semester 1/2016 |
Had a regular meeting with Mano and showed my progress, I received some C# code examples from Mano and I learnt a command line option parser by them. |
| Week8, Semester 1/2016 |
Mid-break, no meeting. I started to prepare for introduction seminar and learnt about HTML parser. |
| Week9, Semester 1/2016 |
I did some research on HTML parser, I found HTML Agility Pack is an agile HTML parser that builds a read/write DOM and supports plain XPath,
and I tried to using it to indentify the fragments in the HTML file and figure out the location which line and which characters |
| Week10, Semester 1/2016 |
Had a FaceTime with Mano as there was no time to arrange a meeting, it was good to find out that C# code fragments embedded in
HTML file could be enclosed within some special symbols and regarded as "Processing Instructions (PIs)".
|
| Week11, Semester 1/2016 |
Had another meeting in this week. I have checked out that HMTL Agility Pack could not identify "PIs". Then I treated HTML files as XML files
and use XML parser, but there still had errors during parsing. I showed Mano my progress and discussed the potential alternative plans and
next steps of the project. |
| Week12, Semester 1/2016 |
No meeting in last week of this semester. I started to prepare my mid-year report and final exams.
|
| Week1, Semester 2/2016 |
In this week, we discussed about the second plan, As the HTML Agility Pack does not provide an ability to extract C# fragment codes with format of Processing Instruction (PI) from a HTML
file. There may have two alternative ways to resolve this issue, which are creating an own HTML parser based on the requirements given by my project, or introducing a
new tag like into HTML file. |
| Week2, Semester 2/2016 |
I have been coding for the past week. Still trying to get my own HTML parser completed. After discussing with Mano,
we thought first choice was time consuming and could not guarantee the stability of its own, we prefered to take the second solution.
|
| Week3, Semester 2/2016 |
I have create some sample HTML files with embedded C# code fragments which were enclosed within new tags, and I found they could be extracted
out by using HTML Agility Pack without errors.
|
| Week4, Semester 2/2016 |
Had a regular meeting with Mano. I was told that there is another issue may occur during the parsing step, some special characters need to be
escaped in HTML (e.g. <, >, &) and therefore if they appear in code fragments, they need to be escaped too. They may mix-up the view of HTML parser, and errors will appear.
|
| Week5, Semester 2/2016 |
I still struggled with parsing HTML, since the extracted code fragments could not be invoked rightly at runtime.
|
| Week6, Semester 2/2016 |
After having a meeting with Mano, I started to merge all steps that I have already studied and finished, then integrated them into a real application.
|
| Week7, Semester 2/2016 |
I was still working on my program. I also did some tests using my own examples and worked on this section of my report.
|
| Week8, Semester 2/2016 |
Had a brief discussion with my supervisor about the last step of my coding. The last step is to replace all C# code fragments within HTML file, which
means my engine enables to re-edit HTML and replace certain texts inside it. So the idea is having a HTML template with some certain texts that are going to be
replaced by other texts, in this project, the certain text are the inner texts of some specified HTML tags.
|
| Week9, Semester 2/2016 |
I have almost finish my coding, and I had a meeting with Mano this week, we discussed about how to wirte some effective tests
for evaluation of my program.
|
| Week10, Semester 2/2016 |
Had a meeting and showed my supervisor my progress about evaluation, and I was told that my project was well but I had to
consider the self-independence of my program, since introducing an external dependency sometimes brings with it a legal security risk.
I tried to base our work on existing standard library packages, it would be better and safer.
|
| Week11, Semester 2/2016 |
This week I had a brief meeting with my supervisor. We discussed about my report and how I should present for final seminar.
I started to prepare the final report and seminar.
|
| Week12, Semester 2/2016 |
Still working on my final report and presentation.
|