Blog 6) React Hooks

What have i learnt?

React Hooks are a new addition that joined the React family in version 16.8

Hooks allow the developer to use React features without the use of classes.

The beauty of Hooks are that they are optional, backwards comparable, don’t break your code

Why have i learnt it?

Even though Hooks are not required they do offer the ability to make complex components become more manageable by breaking down the component into smaller parts and bundle the related parts into their own groups.

How have i learnt it?

React is well documented and is really easy to learn though both tutorials and practical exercises.

What do you know now that you didn’t know before?

Hooks. When i first started to code with React I used a lot of components that reliable on props to call information into the components so that they could be rendered in the view. Classes where not to difficult to use but unfortunately trying to follow the data that is being used by each class and component can be confusing the m

What is the point?

Hooks may be new to the React family but as more developers start to incorporate them into their projects it will become a useful skill to have under our belt making us more valuable to potential employees

What will i do to fill in any gaps in my understanding?

There is only so much time we can spend in class learning React which has only scratch the surface as to what the language has to offer. With the addition of Hooks it is vital that we continue to learn through online tutorials and side projects.

Blog 5) SDV602 Documentation for Unity and Android

Unity background and strengths

When Unity was first created there was a total of 3 people:

Nicholas Francis, Joachim Ante and David Helgason formed the entirety of the company created Unity exclusively for Mac. Fast Track to the present and the company has expanded into a global success with a growing number of staff

Nicholas Francis cannot be seen in the Employee roster as he left the company to run a Indie company that uses Unity as its development platform.[1]

Unity Strengths and Weaknesses

Build once, deploy whenever and wherever– This means that once you have created the game or application it will have cross platform support thanks to Mono in the C#.

Flexible deployment across other platforms– The list of platforms that Unity3D supports is highly impressive and even expanding as seen below

[2]

Unity3D Editor is easy to learn– The Editor is completely customizable with the editor windows able to be adjusted and moved according to the developer(s) needs or preferences. the Editor supports a drop and drag element that makes development a breeze.

Renders in both 2D and 3D– Even though Unity is a robust Editor that is capable of creating large scale 3D games, it also offers developers(s) the freedom to create 2D games and textbase games suited for Mobile devices.

Solo developers

Unity3D was created with the small developers in mind, and throughout the years the company may have grown with new missions and objectives but regardless of the growth and expanse of the company they still remain true to the small developers offering full free tutorials along with assets to get developers started in game creation.

If you try and find some games that where created either by solo or small group developers you will be shocked to discover that Minecraft was first developed by a solo developer Marus “Notch”Persson who created the original game back in 2009 and later sold his creation to Microsoft for a nice small sum of $2.5 billion dollars.[3]

Unity3d has broken the walls for game development allowing small part time developers the opportunity to create their dream with little restrictions. WELL DONE UNITY3D.

Demonstrate your current understanding of

Heritage and Philosophy of C#

Back in 1999 a group led by Anders Hejlsberg created a language dubbed “Cool” which stood for C-like Object Oriented Language At first Microsoft was going to keep the name but sadly to trademark restrictions the name had to changed to c#.

compared to Java at the time C# took a different approach to implementing generics; In the C# the generics are objects while in java generics are seen as a language syntax feature.

Over the years the language has expanded to meet the ever change needs of the populous and many extensions have been added to the C# family. Such a library would have to be the System.Linq which is responsible for creating connections with databases.[4]

Visual Studio is an Editor that makes coding more user friendly by providing a area to work with the use of a GUI (Graph User Interface). Visual Studio supports a wide range of languages and offers the user to drop and drag features such as buttons and text input fields without the need to code all the design and event handling systems to make the button look or function as a button.

When it comes to the way of Unity3D Visual studio along with C# are the preferred Editor and Language. With the System settings of Unity3D a user can change the the default editor(Visual Studio) to a Editor of their choice.

Windows platform

Unity3D is a powerful development tool that can be used in Windows, Mac and Linux Operating Systems. In regards to working with Unity It is advisable to have 8gigs or higher of Ram as the program takes a lot of memory resources while in use. The nice feature while working with the Editor is that you can have multiple projects running side by side if you wanted to test features or connectivity if you so wish to test multiplayer features.

by Default Unity3D uses Visual Studio but you can change this to your preferred editor such as Visual Studio Code

[2]

Android OS

In order to build or run applications on Android you will need to setup the environment. First you will need to Android Build Support platform module.

Second, you will need to install the Android Software Development Kit(SDK) and the Native Development Kit(NDK). Once you have successfully installed and configured the 2 Developer Kits you will need to set your Android device into developer mode before your Unity application will run on Android.

A great example of a world crazed game made in Unity3d for mobile devices would have to be Poemon Go. This game took the world by storm when it came out and is still being updated with new content and limited time events such as Halloween.

Pokemon Go is a game where you find small creatures and capture them as pets that you can use in battles.

Android Strengths

  1. Free for users to run their applications on Mobile devices Once they have correctly setup the environment.

2. You are able to test your application directly on the Mobile device during the development stages.

3. Sqlite database is a c-language that is small and yet fast enough to run on Mobile devices. Due to its performance the Sqlite database is widely used world wide and thanks to its file format it is stable, cross-platform and backwards comparable.

You are able to create the database and accosted tables through code or through a GUI such as Sqlite manager.

If you wanted to use the Sqlite manager to create your database there is no need to understand any quires, as Sqlite manager has a drop and drag feature to create tables more easily.

Android Weaknesses

One of the weaknesses for Android is that in order to execute Unity3D made applications on your Mobile device you will need to Install and configure 1)Android Software Development Kit(SDK) 2)Native Development Kit(NDK) and finally Android Build Support platform module

Below is the specification requirements for Mobile devices to run Unity3d applications. This will be regarded as a weakness as you Mobile device needs to meet these requirements

[2]

Bibliography

[1]. Brodkin, J. (2013, June 3). How Unity3D Became a Game-Development Beast. Retrieved from Dice.com: https://insights.dice.com/2013/06/03/how-unity3d-become-a-game-development-beast/

[2]. Unity.com. (n.d.). Build once, deploy anywhere . Retrieved from Unity.com: https://unity.com/features/multiplatform

[3]. Scully, E. (2020, August 1). Best Games Made By One Person – The Top Video Games Created By a Single Developer. Retrieved from careerkarma.com: https://careerkarma.com/blog/games-made-by-one-person/

[4]. csharpschool.com. (2018, October 5). The Simple and COOL History of C#. Retrieved from csharpschool.com: https://www.csharpschool.com/blog/the-simple-and-cool-history-of-csharp

Lab 16: Introduction to Digital Forensics

  • Identification

The first step is to identify the potential resources /devices as well as identify the owners of said devices. It is important to get the correct permission in order to obtain the information needed for the investigation. If this step is not done correctly the data collect can be void as it was obtained unlawfully.

  • Preservation

In order to maintain the integrity of the data collected it is important to document all the evidence found as well as how it was collected. Pictures of the crime scene need to be correctly labeled and stored to maintain integrity of the data.

  • Collection

When it comes to collecting data from devices the data being collected needs to be specific to the crime involved and cannot be unrelated. The manner of data collection from digital devices can either be copying the device’s content, creating images of the device so that the information can be reviewed at a latter date and finally printing out data into hard copies. In order to maintain a proper book keeping system recording time stamps along with before and after pictures of the collection process will help safe guard the officer in charge from any potential unlawful data collection breaches.

  • Analysis

In this step the data collected is reviewed and educated assumptions are made based on the data found. If the data has been corrupted a team of forensic officers will try reclaim as much of corrupted data as they can in order to use the data to build a case.

an example of this would be officers reviewing footage of a bank robbery where the build evidence from the data provided from the bank’s camera footage.

  • Presentation

For this step the finds of their investigation are presented to the courts. It is important to note that in order to make sure the findings are understood correctly the presentation language should be in layperson’s terms.

Blog 5) Connecting to a Database with Node.js

What have i learnt?

We have started looking at how Web applications connect to a database in order to store the information gathered from registered users.

Why have i learnt this?

In order to become a great software developer one needs to have skills in both front and back end development. By gaining knowledge as a full stack developer means that companies can have you work where they need you. It is not uncommon for developers to work in teams on a project, with each team tasked to work on a particular aspect of the Web application. Having the skills to work in both makes you more desirable to a potential Employer.

How have i learnt this?

For our Assessment 2 we are required to connect to a database using Node.js. In order to achieve this goal we have followed the tutorial laid out by http://www.mysqltutorial.org/mysql-nodejs/

This well documented tutorial provided the knowledge to successfully gain access to the desired database we created in

What do you know now that you did not know before?

How a database connects to a database using node.js.

What is the point?

Any application that collects data needs to have a place to store the data in a meaningful manner, and for a web application there is no exception. It is important to have a great system in place that will store and keep the data that has been collect for the purposes of running the application. The best way to achieve this is by having your web application connect to the database of your choosing via code typically found in a connect.js file.

What will i do to remember this learning?

I found the best way to learn something new is by repatriation. The manner i will enforce the knowledge i have gained is by creating small applications that will have a database connected through the back end of the system.

What new understanding have i gained?

As i have only done font end development in the passed for web based applications gaining knowledge focused more on the back end is a great way to expand my experience and knowledge to become a full stack developer.

What are the real World applications?

As most companies may require their staff to work were needed having the knowledge to work in all aspects of the development process will make you as an employee, invaluable to the company.

What will i do to fill in any gaps in my understanding?

For the course we used mysql workbench for our database needs but in reality there are a wide range of similar products both paid and unpaid that offer database needs for Web applications such as

https://aws.amazon.com/rds/?trk=ps_a131L000005v526QAA&trkCampaign=pac_ps_Q2_519_RDS_PDP_P_NonBrand&sc_channel=ps&sc_campaign=pac_q2-5-2019_paidsearch_RDS_OpenSource_AU&sc_outcome=PaaS_Digital_Marketing&sc_geo=APAC&sc_country=ANZ&sc_publisher=Google&sc_category=Database&sc_detail=%2Bdatabases&sc_content=database_bmm&sc_matchtype=b&sc_segment=435692029095&sc_medium=PAC-PaaS-P|PS-GO|Non-Brand|Desktop|PA|Database|RDS|ANZ|EN|Text&s_kwcid=AL!4422!3!435692029095!b!!g!!%2Bdatabases&ef_id=Cj0KCQjw8fr7BRDSARIsAK0Qqr6liV-YjNT-zy92BbqXKRPuvS-TNw8mSOy_BSqSfHo7z6PgxURWgg0aAs1zEALw_wcB:G:s&s_kwcid=AL!4422!3!435692029095!b!!g!!%2Bdatabases

All of these database solutions offer needs to their clients and it is up to the company or the client as to which solution should be used for the current project.

As the course focuses on MySql for its database needs i Will need to do some further research and practice on the other popular solutions such as MariaDB and SQL Sever. This will be achieved by completing courses offered by Linkedin and http://www.codecademy.com.

Blog 4) Assessment 1 Creating 5 webpages using Reactjs

What have i learnt?

React.js is a popular JavaScript library that was developed by Facebook for creating user interfaces for web applications. React.js makes use of components in order to create blocks of code that can be reused and manipulated in order to produce a difference set of outcomes via the use of props and hooks.

Why have i learnt it?

React.js is in high demand and is popular amongst developers. This could be due to the easy nature of the framework that offers code re-use, and thanks to React.js not being browser specific means that it eliminates possible performance issues.

How have i learnt this?

Resources provided in class by the tutor, Linkedin and a lesser extend Youtube.

What do i know now that i did not know before?

I have heard of the framework Reactjs being tossed around the classroom by those who are knowledgeable in the field and i have always wanted to learn more about such a popular and well used framework in the hopes of creating my own apps using the framework in both front and back end.

What is the point?

The point of expanding my knowledge of different frameworks that are being utilized in the real world in a wide variety of projects will help remind me that learning never ends and that in the world of software development there will always be a new way of doing things.

What will i do to remember this learning?

In order to remember the learning i have gained in class i will practice using Reactjs by creating some small side projects that not only furthers my understanding of the framework, but to challenge myself and push my knowledge beyond that of the scope of my assessments.

What new understanding have i gained?

For the first assessment we had to create 5 pages that had some form of navigation to them. Unlike some of the websites we created in the first year that used <a> tags to navigate to each page. Reactjs on the other hand uses <link> tags for the navigation process which links to a page’s jsx file that renders the desired page on the fly.

What are the real world applications?

As a popular framework for web applications chances are that when we become qualified software developers we have a high chance of running into Reactjs at some point due to its growing popularity in the field.

What will i do to fill in the gaps in my understanding?

reactjs.org website hosts a range of well written documentation on the subject of React.js. This will be a good first contact regarding any further information needed regarding the framework.

Blog 2) SQLite with Unity

What have i learnt?

Sqlite is a open source database that is widely use for a wide range of applications across the world. The database is powerful but small enough to work on mobile devices with ease and is self contained meaning that it does not require a server to operate such as other similar databases.

The database is stable,cross-platform and backwards compatible. SQLite is a c based library that makes this database a great choice for applications developed in the Unity environment.

Why have i learnt this?

This database is widely used by a large number of both well known and not so known companies throughout the world. As potential software developers we need to be aware of such popular software that may find its way into a work flow.

How have i learnt this?

So far we have some resources provided to us though the Nmit online web application known as Moodle. Through Moodle we have some great documentation and useful youtube tutorials that we can follow. The lecture has provided a demonstration on the installation and configuration on Sqlite with Unity development engine where we are developing an application of our choosing.

What is the point?

The point is to demonstrate that there are a number of great software available for all to use, regardless of the size of the project or for what purpose.

What will i do to remember this learning?

The best way to retain information especially if it is new, is to apply the knowledge to a practical exercise. For our milestone 2 we have to apply a database to the Unity application we are currently development as all software needs to have a connection to a database regardless if it is a game or web based program.

What are the real world applications?

Having the knowledge to attach a database to a wide range of applications developed for all platforms opens the possibility to deploy those applications outside of the local scope of the host machine that they were created on.

Lab 15: Backup and Recovery

  • Summaries the backup and restore functions of Windows Server Backup you used in the lab.

Backup process

I needed to connect to a virtual machine named PlabDC01 from there i went to the powershell and inputted some required commands to create a partition and that we needed to clean before being able to use it.

After the installation process had completed i repeated the steps for another virtual machine named PLABDM01

One i completed setting up the backups for both machines through the tools dropdown menu i navigated back to the first virtual machine and from the tools dropdown menu i clicked on server backup and followed the steps through the backup wizard. After i setup a scheduled i ran the backup process.

Recover process

for the recover process i navigated to back to the backup window through the tools dropdown and right clicked on the desired drive. I then selected recover. This step took a few minutes and required a restart/login

  • Discuss the protection Windows Server Backup provides.

In today’s climate data has become the most valuable resource and companies need to take the appropriate steps to ensure that the data they hold is safe guarded. This is achieved through regular data backup that take place daily and automatically as to avoid any potential human error. As there are a number of disasters that are out of the control of the company such as fire and earthquakes it is advisable to have the backups stored offside and in a different country or region of the country.

This is to ensure that if the company were to suffer any natural disasters and the building suffered damages the data backups stores are kept out of harms way.

Blog 3) Node.js

What have i learnt

Node.js is a development tool that allows a developers the possibility to execute javascript console commands outside of the web browser. Thanks to Node.js developers are able to create code for both back-end and front-end without the need to learn a different language, this is thanks to npm having a large library base that are open source and free to use

Why have i learnt this

Node.js is widely adopted by developers thanks to its powerful use in application development.

How have i learnt this

Moodle resouces provide a great starting point to learn Node.js as it highlights official documentation provided by the Node.js website.

Additionally there are a wide range of tutorials and useful links provided by Moodle.

We had a crack at creating the typical “Hello World ” application using Node. js

First we had to create a variable that will hold the html

Secondly we needed to create a server for the Node.js to operate from

We crated a main.js method that needed to be called to start the server. After the server has loaded you can see the output of the application.

What do you know now that you didn’t know before

I had no idea that it was possible to create both front-end and back-end strictly using Javascript only. Having the opportunity to access such a wide range of packages through the npm library has opened my eyes to the potential possibilities offered by Node.js.

What is the point

The point of learning Node.js is due its it wide use in the work-place and by exposing ourselves to a wider range of tools that we as potential developers could add to our knowledge utility belt

What will i do to remember this

There is only so much you can learn in the classroom. In order to further my understanding of Node.js i will be completing some online courses provided by Linkedin as well as follow some useful tutorials provided by creators on Youtube.

Lab 14: Data Encryption

Summaries the functions of BitLocker you used in the lab (Just focus on BitLocker not GPO). Discuss the protection BitLocker provides the user. How the Recovery Key should be stored securely.

BitLocker was used to Lock a drive specified by myself. This was achieved by first creating a partisan drive which i named D:

through a gpo we enabled the option to use Bitlocker on the windows 8 machine. Once the partition drive was created all you needed to do was to right click on the drive and select BitLocker. In the setup of bitlocker we selected password protection and created a password. At the same time we also created and stored a recovery key for the drive and stored it within the documents folder.

The drive displayed a lock icon and depending if you restated the computer or not the drive got locked requiring either the password to gain access or by selecting the more options tab and selecting unlock with the recovery key. Both methods unlocked the drive for use.

To lock the drive all you needed to do was to restart or power off the computer.

For the storage of the recovery key I would not store on the same computer but instead store it on a lockable external drive or usb.

Lab 13: Implementing a Network Policy Server

  • The authentication method used  

For this lab we setup a RADIUS authentication for users for the purpose of gaining access to the server remotely from outside the network

  • The security policy that was created 

we created a VPN that only accepted requests from 10.10.0.100 – 10.10.0.120

We then had to great a policy named IT_NetworkPolicy that gave access to the windows user group Globalit

  • The accounting method used (i.e Logs)

The report that was created is a method of monitoring the access of a user while they are connected to the network. This is in the form of a log report that records the users activities.

We had to download a 3rd party program called IAS log viewer that provided a good platform for viewing the activities of the user by providing a easy to read GUI

Design a site like this with WordPress.com
Get started