-
Notifications
You must be signed in to change notification settings - Fork 0
/
software.html
104 lines (97 loc) · 6.59 KB
/
software.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="softwarestyles.css">
<meta charset="UTF-8">
<meta name="viewport" content="width=<device-width>, initial-scale=1.0">
<title>Alex Zheng Timeline</title>
</head>
<body>
<div class="page">
<div>
<a href="index.html"><img src="resources/beaver.jpg" id="beaver"></a>
</div>
<div>
<img id="banner" src="resources/roadview.jpg">
</div>
<div>
<ul class="breadcrumb">
<li><a href="timeline.html">My Timeline</a></li>
<li ><a href="hardware.html">Hardware</a></li>
<li id="current"><a>Software</a></li>
<li><a href="firmware.html">Firmware</a></li>
<li><a href="mechanical.html">Mechanical</a></li>
<li><a href="resume.html">Resume</a></li>
<li><a href="pastwebsite.html">Past Personal Website</a></li>
</ul>
</div>
<div class="text">
<h1>
Ontario Ministry of Transportation Dev Co-op
</h1>
<p id="expl">
This is going to be short since going into detail about a co-op job would be too long and not necessary. I learned SQL and SQL servers (esp. Oracle), implemented
Python for scripting purposes, Learned a lot on Jakarata Enterprise Edition and Oracle WebLogic servers. Learned OOP, DI, singletons, interfaces, javaBeans, POJO,
etc.. Learned Git and am now quite familiar with it. A git pull is a git fetch and merge. Wrote wikis and documentation which was honestly really fun to coment
my impact on to the MTO and to be continually there to help my co-workers through clear, informative docuemntation. Learned Azure and CI and CD and developing in
a cloud environment. Worked with the introduction of Mobile Camera Units, which allow remote cities in Ontario to take photos for their driver's license and process
any problems regarding driver's license by giving them connection to our mainframe system. This was a highlight working on setting up camera and sigpads with workstations
and simulating taking photos and their processing; UAT is honestly fun. Considered edge cases such as twins, fraud cases, invalid photos (hair too long, slight face,
unclosed mouth, etc..). Another big part was test cases. I wrote test cases using Nunit for .NET apps and test cases using SoapUI (endpoint testing) for WebLogic servers using
WSDL, XML, and XSD files. Writing these test cases were like solving a puzzle! I made a lot of friends, worked with other students from Waterloo, learned
a lot, e.g networking and security, and loved the environment!
<br><br>
Take a look
<object id="pdf" data="resources/Alex Zheng MTO Timeline.pdf"></object>
</p>
<h1>
SOLIDWORKS Parts Quoting System for 3D-printing
</h1>
<p id="expl">
<a href="https://github.com/al3xzheng/CAD-Quoting-System">
<p>
GitHub Link
</p>
</a>
I created an Add-in in Solidworks that would be able to take inputted files .prt or .ass files and quote the price to 3d print said part of assembly
based on complexity Algorithms via the SolidWorks API. First, how do you inject an application in to another application, you use COM Interop. Component Object
Model Interopability. Using this and DI (dependency injection) principles we can create our add in in Solidworks with the help of Windows Forms UIs, C#, .NET, And
most importantly, the SolidWorks Api. So far i Have created this add-in. See my github. Something that is a big problem is the monster that is the SolidWorks API,
the documentation is extremely hard to understand and seems unnnavigatable. So we use the help of the SolidDNA library which can call the SolidWorks API for us. The only
problem, being that the creator has disabled it... Ideas generation.
</p>
<a id="link" href="https://github.com/al3xzheng/Game">
View On GitHub
</a>
<h1>
<span id="title">
A Game I Created: Spear Knight!
</span>
</h1>
<p id="gamedescription">
This is a PyGame developed top-down shooter game where you try to kill enemies, dodge enemy projectiles, and survive for
as many waves as possible! <br><br>
This game was created from September 2023-December 2023 with Parsia Nejad-Sattary and Sean Yuen as part of a project for our programming (Python)
course. I was responsible for the enemy-fire functions; the tracking of the enemy projectiles to the player periodically. The way it works.
Each enemy's location is stored in a list, so while the round is active, we copy the exact location of each enemy and the player at a
given point in time (simple). Then we run through a for-loop for each enemy and generate a rotated-accordingly projectile directed at the
player. The projectiles are locked in this direction and move towards the player (which the player will dodge).
Ongoing, we have a counter that keeps track of the projectiles that leave the screen or hit the player, once all the projectiles are nullified,
the firing restarts. The complexities of this task were found in its integration in the code as Sean implemented the enemy-follow functions beforehand,
and debugging the occurence when the enemy is killed while the projectile is also nullified. This was very time-consuming to debug. The solution was found
through asking myself "what exactly is the problem to solve?" over and over again. If the enemy is killed and the projectile is out of the screen, the counter would be bugged
and the game wouldn't reset properly.
</p>
<video id="vid" autoplay muted controls>
<source src="resources/Spear Knight Vid.mp4" type="video/mp4">
Your browser does not support the video tag.
<!-- controls loop -->
</video>
<p id="expl">
<br>
<br> <br>
</p>
</div>
</div>
</body>
</html>